Commit fbcd5cb19fbe706bbc017dd72548e706c3271838
1 parent
24fb58525d
Exists in
master
修改host和apiKey; 修复默认选中后图片没有默认保存导致的问题
Showing
3 changed files
with
27 additions
and
17 deletions
Show diff stats
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 | } |
build.gradle
| 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 | } |