Commit fbcd5cb19fbe706bbc017dd72548e706c3271838

Authored by shixianjie
1 parent 24fb58525d
Exists in master

修改host和apiKey; 修复默认选中后图片没有默认保存导致的问题

app/src/main/java/com/hjx/parent/adapter/ImageAdapter.java
1 package com.hjx.parent.adapter; 1 package com.hjx.parent.adapter;
2 2
3 import android.content.Context; 3 import android.content.Context;
4 import android.content.Intent; 4 import android.content.Intent;
5 import android.graphics.Bitmap; 5 import android.graphics.Bitmap;
6 import android.graphics.BitmapFactory; 6 import android.graphics.BitmapFactory;
7 import android.graphics.Rect; 7 import android.graphics.Rect;
8 import android.graphics.RectF; 8 import android.graphics.RectF;
9 import android.util.Log; 9 import android.util.Log;
10 import android.util.SparseArray; 10 import android.util.SparseArray;
11 import android.view.LayoutInflater; 11 import android.view.LayoutInflater;
12 import android.view.View; 12 import android.view.View;
13 import android.view.ViewGroup; 13 import android.view.ViewGroup;
14 import android.widget.ImageView; 14 import android.widget.ImageView;
15 import android.widget.RelativeLayout; 15 import android.widget.RelativeLayout;
16 16
17 import androidx.annotation.NonNull; 17 import androidx.annotation.NonNull;
18 import androidx.recyclerview.widget.RecyclerView; 18 import androidx.recyclerview.widget.RecyclerView;
19 19
20 import com.google.gson.Gson; 20 import com.google.gson.Gson;
21 import com.hjx.parent.ImageActivity; 21 import com.hjx.parent.ImageActivity;
22 import com.hjx.parent.ImageSelectActivity; 22 import com.hjx.parent.ImageSelectActivity;
23 import com.hjx.parent.R; 23 import com.hjx.parent.R;
24 import com.hjx.parent.databinding.ItemImageBinding; 24 import com.hjx.parent.databinding.ItemImageBinding;
25 import com.prws.common.bean.ImageBean; 25 import com.prws.common.bean.ImageBean;
26 import com.prws.common.utils.CommonUtil; 26 import com.prws.common.utils.CommonUtil;
27 27
28 import java.util.List; 28 import java.util.List;
29 29
30 public class ImageAdapter extends RecyclerView.Adapter<ImageAdapter.ImageHolder> { 30 public class ImageAdapter extends RecyclerView.Adapter<ImageAdapter.ImageHolder> {
31 public SparseArray<ItemImageBinding> viewArray = new SparseArray<>(); 31 public SparseArray<ItemImageBinding> viewArray = new SparseArray<>();
32 32
33 private List<ImageBean> list; 33 private List<ImageBean> list;
34 private ImageActivity context; 34 private ImageActivity context;
35 35
36 36
37 public ImageAdapter(ImageActivity context, List<ImageBean> list) { 37 public ImageAdapter(ImageActivity context, List<ImageBean> list) {
38 this.context = context; 38 this.context = context;
39 this.list = list; 39 this.list = list;
40 } 40 }
41 41
42 @NonNull 42 @NonNull
43 @Override 43 @Override
44 public ImageHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { 44 public ImageHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
45 ItemImageBinding itemImageBinding = ItemImageBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false); 45 ItemImageBinding itemImageBinding = ItemImageBinding.inflate(LayoutInflater.from(parent.getContext()), parent, false);
46 return new ImageHolder(itemImageBinding); 46 return new ImageHolder(itemImageBinding);
47 } 47 }
48 48
49 @Override 49 @Override
50 public void onBindViewHolder(@NonNull ImageHolder holder, int position) { 50 public void onBindViewHolder(@NonNull ImageHolder holder, int position) {
51 viewArray.put(position, holder.binding); 51 viewArray.put(position, holder.binding);
52 52
53 ImageBean imageBean = list.get(position); 53 ImageBean imageBean = list.get(position);
54 Bitmap bitmap = BitmapFactory.decodeFile(imageBean.getPath()); 54 Bitmap bitmap = BitmapFactory.decodeFile(imageBean.getPath());
55 float imageHeight = bitmap.getHeight(); 55 float imageHeight = bitmap.getHeight();
56 float imageWidth = bitmap.getWidth(); 56 float imageWidth = bitmap.getWidth();
57 float viewHeight = CommonUtil.getScreenHeight(context) - CommonUtil.dpToPx(context, 250); 57 float viewHeight = CommonUtil.getScreenHeight(context) - CommonUtil.dpToPx(context, 250);
58 float viewWidth = CommonUtil.getScreenWidth(context) - CommonUtil.dpToPx(context, 60); 58 float viewWidth = CommonUtil.getScreenWidth(context) - CommonUtil.dpToPx(context, 60);
59 59
60 RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(holder.binding.ivPic.getLayoutParams()); 60 RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(holder.binding.ivPic.getLayoutParams());
61 if (imageHeight / imageWidth > viewHeight / viewWidth) { 61 if (imageHeight / imageWidth > viewHeight / viewWidth) {
62 if (viewHeight > imageHeight) { 62 if (viewHeight > imageHeight) {
63 layoutParams.height = (int) imageHeight; 63 layoutParams.height = (int) imageHeight;
64 layoutParams.width = (int) imageWidth; 64 layoutParams.width = (int) imageWidth;
65 } else { 65 } else {
66 layoutParams.height = (int) viewHeight; 66 layoutParams.height = (int) viewHeight;
67 layoutParams.width = (int) ((float) (imageWidth / imageHeight) * viewHeight); 67 layoutParams.width = (int) ((float) (imageWidth / imageHeight) * viewHeight);
68 } 68 }
69 } else { 69 } else {
70 if (viewWidth > imageWidth) { 70 if (viewWidth > imageWidth) {
71 layoutParams.height = (int) imageHeight; 71 layoutParams.height = (int) imageHeight;
72 layoutParams.width = (int) imageWidth; 72 layoutParams.width = (int) imageWidth;
73 } else { 73 } else {
74 layoutParams.height = (int) ((float) (imageHeight / imageWidth) * viewWidth); 74 layoutParams.height = (int) ((float) (imageHeight / imageWidth) * viewWidth);
75 layoutParams.width = (int) viewWidth; 75 layoutParams.width = (int) viewWidth;
76 } 76 }
77 } 77 }
78 layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT); 78 layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT);
79 holder.binding.ivPic.setLayoutParams(layoutParams); 79 holder.binding.ivPic.setLayoutParams(layoutParams);
80 holder.binding.ivPic.setImageBitmap(bitmap); 80 holder.binding.ivPic.setImageBitmap(bitmap);
81 81
82 82
83 RelativeLayout.LayoutParams layoutParams1 = new RelativeLayout.LayoutParams(holder.binding.rlPic.getLayoutParams()); 83 RelativeLayout.LayoutParams layoutParams1 = new RelativeLayout.LayoutParams(holder.binding.rlPic.getLayoutParams());
84 if (imageHeight / imageWidth > viewHeight / viewWidth) { 84 if (imageHeight / imageWidth > viewHeight / viewWidth) {
85 if (viewHeight > imageHeight) { 85 if (viewHeight > imageHeight) {
86 layoutParams1.height = (int) imageHeight; 86 layoutParams1.height = (int) imageHeight;
87 layoutParams1.width = (int) imageWidth; 87 layoutParams1.width = (int) imageWidth;
88 } else { 88 } else {
89 layoutParams1.height = (int) viewHeight; 89 layoutParams1.height = (int) viewHeight;
90 layoutParams1.width = (int) ((float) (imageWidth / imageHeight) * viewHeight); 90 layoutParams1.width = (int) ((float) (imageWidth / imageHeight) * viewHeight);
91 } 91 }
92 } else { 92 } else {
93 if (viewWidth > imageWidth) { 93 if (viewWidth > imageWidth) {
94 layoutParams1.height = (int) imageHeight; 94 layoutParams1.height = (int) imageHeight;
95 layoutParams1.width = (int) imageWidth; 95 layoutParams1.width = (int) imageWidth;
96 } else { 96 } else {
97 layoutParams1.height = (int) ((float) (imageHeight / imageWidth) * viewWidth); 97 layoutParams1.height = (int) ((float) (imageHeight / imageWidth) * viewWidth);
98 layoutParams1.width = (int) viewWidth; 98 layoutParams1.width = (int) viewWidth;
99 } 99 }
100 } 100 }
101 Log.i("figLoaction", "height=" + layoutParams1.height + " width=" + layoutParams1.width); 101 Log.i("figLoaction", "height=" + layoutParams1.height + " width=" + layoutParams1.width);
102 layoutParams1.addRule(RelativeLayout.CENTER_IN_PARENT); 102 layoutParams1.addRule(RelativeLayout.CENTER_IN_PARENT);
103 holder.binding.rlPic.setLayoutParams(layoutParams1); 103 holder.binding.rlPic.setLayoutParams(layoutParams1);
104 if (imageBean.getCuts() != null && imageBean.getCuts().size() > 0) { 104 if (imageBean.getCuts() != null && imageBean.getCuts().size() > 0) {
105 holder.binding.rlPic.removeAllViews(); 105 holder.binding.rlPic.removeAllViews();
106 for (int i = 0; i < imageBean.getCuts().size(); i++) { 106 for (int i = 0; i < imageBean.getCuts().size(); i++) {
107 View view = LayoutInflater.from(context).inflate(R.layout.layout_select, null); 107 View view = LayoutInflater.from(context).inflate(R.layout.layout_select, null);
108 Rect rect; 108 Rect rect;
109 if (imageBean.getCuts().get(i).getRect1() != null) { 109 if (imageBean.getCuts().get(i).getRect1() != null) {
110 rect = imageBean.getCuts().get(i).getRect1(); 110 rect = imageBean.getCuts().get(i).getRect1();
111 } else { 111 } else {
112 rect = CommonUtil.getRect(imageBean.getCuts().get(i).getRect(), bitmap, layoutParams1.height, layoutParams1.width); 112 rect = CommonUtil.getRect(imageBean.getCuts().get(i).getRect(), bitmap, layoutParams1.height, layoutParams1.width);
113 imageBean.getCuts().get(i).setRect1(rect); 113 imageBean.getCuts().get(i).setRect1(rect);
114 } 114 }
115 Log.i("figLoaction", new Gson().toJson(rect)); 115 Log.i("figLoaction", new Gson().toJson(rect));
116 RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(rect.right - rect.left, rect.bottom - rect.top); 116 RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(rect.right - rect.left, rect.bottom - rect.top);
117 params.setMargins(rect.left, rect.top, 0, 0); 117 params.setMargins(rect.left, rect.top, 0, 0);
118 holder.binding.rlPic.addView(view, params); 118 holder.binding.rlPic.addView(view, params);
119 RelativeLayout rl_add = view.findViewById(R.id.rl_add); 119 RelativeLayout rl_add = view.findViewById(R.id.rl_add);
120 ImageView iv_state = view.findViewById(R.id.iv_state); 120 ImageView iv_state = view.findViewById(R.id.iv_state);
121 ImageView iv_edit = view.findViewById(R.id.iv_edit); 121 ImageView iv_edit = view.findViewById(R.id.iv_edit);
122 int finalI = i; 122 int finalI = i;
123 if (imageBean.getCuts().get(i).isSelect()) { 123 if (imageBean.getCuts().get(i).isSelect()) {
124 rl_add.setBackgroundResource(R.drawable.bg_cut_select); 124 rl_add.setBackgroundResource(R.drawable.bg_cut_select);
125 iv_state.setImageResource(R.mipmap.ic_selected); 125 iv_state.setImageResource(R.mipmap.ic_selected);
126 } else { 126 } else {
127 rl_add.setBackgroundResource(R.drawable.bg_cut_unselect); 127 rl_add.setBackgroundResource(R.drawable.bg_cut_unselect);
128 iv_state.setImageResource(R.mipmap.ic_add); 128 iv_state.setImageResource(R.mipmap.ic_add);
129 } 129 }
130 rl_add.setOnClickListener(new View.OnClickListener() { 130
131 @Override 131 rl_add.setOnClickListener(v -> {
132 public void onClick(View v) { 132 ImageBean.Cut cut = imageBean.getCuts().get(finalI);
133 Bitmap b = Bitmap.createBitmap(bitmap, v.getLeft() * bitmap.getWidth() / holder.binding.ivPic.getWidth(), v.getTop() * bitmap.getHeight() / holder.binding.ivPic.getHeight(), (v.getRight() - v.getLeft()) * bitmap.getWidth() / holder.binding.ivPic.getWidth(), (v.getBottom() - v.getTop()) * bitmap.getHeight() / holder.binding.ivPic.getHeight()); 133 if (cut.isSelect()) {
134 if (imageBean.getCuts().get(finalI).isSelect()) { 134 cut.setSelect(false);
135 imageBean.getCuts().get(finalI).setSelect(false); 135 rl_add.setBackgroundResource(R.drawable.bg_cut_unselect);
136 rl_add.setBackgroundResource(R.drawable.bg_cut_unselect); 136 iv_state.setImageResource(R.mipmap.ic_add);
137 iv_state.setImageResource(R.mipmap.ic_add); 137 } else {
138 } else { 138 cut.setSelect(true);
139 imageBean.getCuts().get(finalI).setSelect(true); 139 rl_add.setBackgroundResource(R.drawable.bg_cut_select);
140 imageBean.getCuts().get(finalI).setBitmap(b); 140 iv_state.setImageResource(R.mipmap.ic_selected);
141 rl_add.setBackgroundResource(R.drawable.bg_cut_select); 141 if (cut.getBitmap() == null) {
142 iv_state.setImageResource(R.mipmap.ic_selected); 142 Bitmap b = Bitmap.createBitmap(bitmap, v.getLeft() * bitmap.getWidth() / holder.binding.ivPic.getWidth(), v.getTop() * bitmap.getHeight() / holder.binding.ivPic.getHeight(), (v.getRight() - v.getLeft()) * bitmap.getWidth() / holder.binding.ivPic.getWidth(), (v.getBottom() - v.getTop()) * bitmap.getHeight() / holder.binding.ivPic.getHeight());
143 cut.setBitmap(b);
143 } 144 }
144 context.refreshNum();
145 } 145 }
146 context.refreshNum();
146 }); 147 });
148 rl_add.postDelayed(() -> {
149 ImageBean.Cut cut = imageBean.getCuts().get(finalI);
150 if (cut.isSelect() && cut.getBitmap() == null) {
151 View v = rl_add;
152 Bitmap b = Bitmap.createBitmap(bitmap, v.getLeft() * bitmap.getWidth() / holder.binding.ivPic.getWidth(), v.getTop() * bitmap.getHeight() / holder.binding.ivPic.getHeight(), (v.getRight() - v.getLeft()) * bitmap.getWidth() / holder.binding.ivPic.getWidth(), (v.getBottom() - v.getTop()) * bitmap.getHeight() / holder.binding.ivPic.getHeight());
153 cut.setBitmap(b);
154 }
155 }, 300);
156
147 iv_edit.setOnClickListener(new View.OnClickListener() { 157 iv_edit.setOnClickListener(new View.OnClickListener() {
148 @Override 158 @Override
149 public void onClick(View v) { 159 public void onClick(View v) {
150 Intent intent = new Intent(context, ImageSelectActivity.class); 160 Intent intent = new Intent(context, ImageSelectActivity.class);
151 intent.putExtra("rect", rect); 161 intent.putExtra("rect", rect);
152 intent.putExtra("path", imageBean.getPath()); 162 intent.putExtra("path", imageBean.getPath());
153 intent.putExtra("position", finalI); 163 intent.putExtra("position", finalI);
154 context.startActivityForResult(intent, 1001); 164 context.startActivityForResult(intent, 1001);
155 } 165 }
156 }); 166 });
157 } 167 }
158 } else { 168 } else {
159 holder.binding.rlPic.removeAllViews(); 169 holder.binding.rlPic.removeAllViews();
160 } 170 }
161 } 171 }
162 172
163 @Override 173 @Override
164 public int getItemCount() { 174 public int getItemCount() {
165 return list.size(); 175 return list.size();
166 } 176 }
167 177
168 static class ImageHolder extends RecyclerView.ViewHolder { 178 static class ImageHolder extends RecyclerView.ViewHolder {
169 ItemImageBinding binding; 179 ItemImageBinding binding;
170 180
171 public ImageHolder(@NonNull ItemImageBinding itemView) { 181 public ImageHolder(@NonNull ItemImageBinding itemView) {
172 super(itemView.getRoot()); 182 super(itemView.getRoot());
173 binding = itemView; 183 binding = itemView;
174 } 184 }
175 } 185 }
176 } 186 }
1 buildscript { 1 buildscript {
2 2
3 3
4 ext { 4 ext {
5 5
6 6
7 androidId = [ 7 androidId = [
8 compileSdkVersion: 32, 8 compileSdkVersion: 32,
9 minSdkVersion : 26, 9 minSdkVersion : 26,
10 targetSdkVersion : 32, 10 targetSdkVersion : 32,
11 versionCode : 1, 11 versionCode : 1,
12 versionName : "0.0.1" 12 versionName : "0.0.1"
13 13
14 14
15 ] 15 ]
16 16
17 17
18 url = [ 18 url = [
19 server_url : "http://192.168.3.144:8088", //http 请求指令 19 server_url : "http://192.168.0.21:8088", //http 请求指令
20 server_url_online: "https://mgr.hjx.com", //http 请求指令 20 server_url_online: "https://mgr.hjx.com", //http 请求指令
21 ] 21 ]
22 22
23 23
24 dependencies = [ 24 dependencies = [
25 appcompat : 'androidx.appcompat:appcompat:1.0.0', 25 appcompat : 'androidx.appcompat:appcompat:1.0.0',
26 constraint : 'androidx.constraintlayout:constraintlayout:1.1.3', 26 constraint : 'androidx.constraintlayout:constraintlayout:1.1.3',
27 cardview : 'androidx.cardview:cardview:1.0.0', 27 cardview : 'androidx.cardview:cardview:1.0.0',
28 recyclerview : 'androidx.recyclerview:recyclerview:1.0.0', 28 recyclerview : 'androidx.recyclerview:recyclerview:1.0.0',
29 material : 'com.google.android.material:material:1.0.0', 29 material : 'com.google.android.material:material:1.0.0',
30 // 依赖RxAndroid 2X 的依赖库 30 // 依赖RxAndroid 2X 的依赖库
31 // 增加RxJava 2X 的依赖库 31 // 增加RxJava 2X 的依赖库
32 rxandroid : 'io.reactivex.rxjava2:rxandroid:2.0.1', 32 rxandroid : 'io.reactivex.rxjava2:rxandroid:2.0.1',
33 rxjava : 'io.reactivex.rxjava2:rxjava:2.0.7', 33 rxjava : 'io.reactivex.rxjava2:rxjava:2.0.7',
34 34
35 // 以下需要使用Retrofit 35 // 以下需要使用Retrofit
36 //retrofit 36 //retrofit
37 retrofit : 'com.squareup.retrofit2:retrofit:2.1.0', 37 retrofit : 'com.squareup.retrofit2:retrofit:2.1.0',
38 //Gson converter 38 //Gson converter
39 converter : 'com.squareup.retrofit2:converter-gson:2.1.0', 39 converter : 'com.squareup.retrofit2:converter-gson:2.1.0',
40 //RxJava2 Adapter 40 //RxJava2 Adapter
41 retrofit2 : 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0', 41 retrofit2 : 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0',
42 //okhttp 42 //okhttp
43 okhttp : 'com.squareup.okhttp3:okhttp:3.8.1', 43 okhttp : 'com.squareup.okhttp3:okhttp:3.8.1',
44 logging : 'com.squareup.okhttp3:logging-interceptor:3.4.1', 44 logging : 'com.squareup.okhttp3:logging-interceptor:3.4.1',
45 // utils : 'com.github.wang-developer:AndroidUtilsDemo:1.0.6', 45 // utils : 'com.github.wang-developer:AndroidUtilsDemo:1.0.6',
46 commons_lang : 'org.apache.commons:commons-lang3:3.7', 46 commons_lang : 'org.apache.commons:commons-lang3:3.7',
47 commons_compress: 'org.apache.commons:commons-compress:1.19', 47 commons_compress: 'org.apache.commons:commons-compress:1.19',
48 commons_c_lang : 'commons-lang:commons-lang:2.3', 48 commons_c_lang : 'commons-lang:commons-lang:2.3',
49 commons_codec : 'commons-codec:commons-codec:1.7', 49 commons_codec : 'commons-codec:commons-codec:1.7',
50 eventbus : 'org.greenrobot:eventbus:3.2.0', 50 eventbus : 'org.greenrobot:eventbus:3.2.0',
51 eventbus2 : 'org.simple:androideventbus:1.0.5.1', 51 eventbus2 : 'org.simple:androideventbus:1.0.5.1',
52 glide : 'com.github.bumptech.glide:glide:4.6.1', 52 glide : 'com.github.bumptech.glide:glide:4.6.1',
53 permissions : 'com.github.getActivity:XXPermissions:18.5', 53 permissions : 'com.github.getActivity:XXPermissions:18.5',
54 orcode : 'cn.yipianfengye.android:zxing-library:2.2' 54 orcode : 'cn.yipianfengye.android:zxing-library:2.2'
55 // push : 'com.umeng.sdk:push:4.1.0', 55 // push : 'com.umeng.sdk:push:4.1.0',
56 // litepal : 'org.litepal.android:java:3.0.0', 56 // litepal : 'org.litepal.android:java:3.0.0',
57 57
58 58
59 // AlivcFFmpeg : 'com.aliyun.video.android:AlivcFFmpeg:2.0.0', 59 // AlivcFFmpeg : 'com.aliyun.video.android:AlivcFFmpeg:2.0.0',
60 60
61 // 61 //
62 // basequickadapter : 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.34', 62 // basequickadapter : 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.34',
63 // SwipeDelMenuLayout: 'com.github.mcxtzhang:SwipeDelMenuLayout:V1.3.0', 63 // SwipeDelMenuLayout: 'com.github.mcxtzhang:SwipeDelMenuLayout:V1.3.0',
64 // flycoTabLayout : 'com.flyco.tablayout:FlycoTabLayout_Lib:2.1.2@aar' 64 // flycoTabLayout : 'com.flyco.tablayout:FlycoTabLayout_Lib:2.1.2@aar'
65 65
66 66
67 ] 67 ]
68 } 68 }
69 69
70 70
71 repositories { 71 repositories {
72 maven { url 'https://maven.aliyun.com/repository/gradle-plugin' } 72 maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
73 maven { url 'https://maven.aliyun.com/repository/public' } 73 maven { url 'https://maven.aliyun.com/repository/public' }
74 maven { url 'https://maven.aliyun.com/repository/google' } 74 maven { url 'https://maven.aliyun.com/repository/google' }
75 maven { url 'https://repo.huaweicloud.com/repository/maven-public/' } 75 maven { url 'https://repo.huaweicloud.com/repository/maven-public/' }
76 //maven { url 'https://mirrors.cloud.tencent.com/nexus/repository/maven-public/' } 76 //maven { url 'https://mirrors.cloud.tencent.com/nexus/repository/maven-public/' }
77 77
78 google() 78 google()
79 mavenCentral() 79 mavenCentral()
80 gradlePluginPortal() 80 gradlePluginPortal()
81 maven { url "https://jitpack.io" } 81 maven { url "https://jitpack.io" }
82 } 82 }
83 dependencies { 83 dependencies {
84 classpath 'com.android.tools.build:gradle:4.2.2' 84 classpath 'com.android.tools.build:gradle:4.2.2'
85 classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4' 85 classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4'
86 classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1' 86 classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'
87 classpath 'com.jakewharton:butterknife-gradle-plugin:10.2.3' 87 classpath 'com.jakewharton:butterknife-gradle-plugin:10.2.3'
88 //classpath "com.alibaba:arouter-register:1.0.2" 88 //classpath "com.alibaba:arouter-register:1.0.2"
89 // NOTE: Do not place your application dependencies here; they belong 89 // NOTE: Do not place your application dependencies here; they belong
90 // in the individual module build.gradle files 90 // in the individual module build.gradle files
91 } 91 }
92 92
93 93
94 } 94 }
95 95
96 96
97 allprojects { 97 allprojects {
98 repositories { 98 repositories {
99 maven { url 'https://maven.aliyun.com/repository/public' } 99 maven { url 'https://maven.aliyun.com/repository/public' }
100 maven { url 'https://maven.aliyun.com/repository/google' } 100 maven { url 'https://maven.aliyun.com/repository/google' }
101 maven { url 'https://repo.huaweicloud.com/repository/maven-public/' } 101 maven { url 'https://repo.huaweicloud.com/repository/maven-public/' }
102 //maven { url 'https://mirrors.cloud.tencent.com/nexus/repository/maven-public/' } 102 //maven { url 'https://mirrors.cloud.tencent.com/nexus/repository/maven-public/' }
103 103
104 google() 104 google()
105 mavenCentral() 105 mavenCentral()
106 maven { url "https://jitpack.io" } 106 maven { url "https://jitpack.io" }
107 } 107 }
108 } 108 }
109 task clean(type: Delete) { 109 task clean(type: Delete) {
110 delete rootProject.buildDir 110 delete rootProject.buildDir
111 } 111 }
112 112
libs/common/build.gradle
1 apply plugin: 'com.android.library' 1 apply plugin: 'com.android.library'
2 2
3 3
4 def androidId = rootProject.ext.androidId 4 def androidId = rootProject.ext.androidId
5 def support = rootProject.ext.dependencies 5 def support = rootProject.ext.dependencies
6 def url = rootProject.ext.url 6 def url = rootProject.ext.url
7 7
8 8
9 android { 9 android {
10 compileSdkVersion androidId.compileSdkVersion 10 compileSdkVersion androidId.compileSdkVersion
11 11
12 12
13 defaultConfig { 13 defaultConfig {
14 minSdkVersion androidId.minSdkVersion 14 minSdkVersion androidId.minSdkVersion
15 targetSdkVersion androidId.targetSdkVersion 15 targetSdkVersion androidId.targetSdkVersion
16 versionCode androidId.versionCode 16 versionCode androidId.versionCode
17 versionName androidId.versionName 17 versionName androidId.versionName
18 18
19 testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" 19 testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
20 20
21 buildConfigField("String", "APIKey", "\"oj9XT8AOeTeLkdqaEX7RJA0N\"") 21 buildConfigField("String", "APIKey", "\"oj9XT8AOeTeLkdqaEX7RJA0N\"")
22 buildConfigField("String", "SecretKey", "\"AfUFmACkfbd0RMuk11qbw1TW5LtxtJHK\"") 22 buildConfigField("String", "SecretKey", "\"AfUFmACkfbd0RMuk11qbw1TW5LtxtJHK\"")
23 buildConfigField("String", "APIKey1", "\"oj9XT8AOeTeLkdqaEX7RJA0N\"") 23 buildConfigField("String", "APIKey1", "\"eCa3YzEjTBBiNjlXcNnjnldP\"")
24 buildConfigField("String", "SecretKey1", "\"AfUFmACkfbd0RMuk11qbw1TW5LtxtJHK\"") 24 buildConfigField("String", "SecretKey1", "\"KnZPmjF0ZzmxWV964mzmm6yuDljnETLt\"")
25 } 25 }
26 26
27 buildTypes { 27 buildTypes {
28 debug { 28 debug {
29 minifyEnabled false 29 minifyEnabled false
30 buildConfigField("String", "SERVER_URL", "\"${url.server_url}\"") 30 buildConfigField("String", "SERVER_URL", "\"${url.server_url}\"")
31 proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' 31 proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
32 } 32 }
33 release { 33 release {
34 minifyEnabled false 34 minifyEnabled false
35 buildConfigField("String", "SERVER_URL", "\"${url.server_url_online}\"") 35 buildConfigField("String", "SERVER_URL", "\"${url.server_url_online}\"")
36 proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' 36 proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
37 } 37 }
38 } 38 }
39 39
40 compileOptions { 40 compileOptions {
41 sourceCompatibility JavaVersion.VERSION_1_8 41 sourceCompatibility JavaVersion.VERSION_1_8
42 targetCompatibility JavaVersion.VERSION_1_8 42 targetCompatibility JavaVersion.VERSION_1_8
43 } 43 }
44 } 44 }
45 45
46 dependencies { 46 dependencies {
47 implementation fileTree(include: ['*.jar'], dir: 'libs') 47 implementation fileTree(include: ['*.jar'], dir: 'libs')
48 48
49 49
50 support.each { k, v -> implementation v } 50 support.each { k, v -> implementation v }
51 51
52 // 抓包, OkHttp拦截 52 // 抓包, OkHttp拦截
53 def chuckerVersion = "3.5.2" 53 def chuckerVersion = "3.5.2"
54 debugImplementation("com.github.chuckerteam.chucker:library:$chuckerVersion") { 54 debugImplementation("com.github.chuckerteam.chucker:library:$chuckerVersion") {
55 exclude module: 'lifecycle-viewmodel-ktx' 55 exclude module: 'lifecycle-viewmodel-ktx'
56 } 56 }
57 releaseImplementation("com.github.chuckerteam.chucker:library-no-op:$chuckerVersion") { 57 releaseImplementation("com.github.chuckerteam.chucker:library-no-op:$chuckerVersion") {
58 exclude module: 'lifecycle-viewmodel-ktx' 58 exclude module: 'lifecycle-viewmodel-ktx'
59 } 59 }
60 60
61 implementation 'com.jakewharton:butterknife:10.2.3' 61 implementation 'com.jakewharton:butterknife:10.2.3'
62 annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.3' 62 annotationProcessor 'com.jakewharton:butterknife-compiler:10.2.3'
63 } 63 }