From 966fac9c66298c9c171b4e9bbf19247324ab5689 Mon Sep 17 00:00:00 2001 From: houxg Date: Mon, 26 Dec 2016 18:39:30 +0800 Subject: [PATCH] =?UTF-8?q?fix=20#18=20by=20update=20ImageSelector?= =?UTF-8?q?=E2=80=99s=20version?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 2 +- .../leamonax/ui/edit/EditorFragment.java | 2 + img-selector/.gitignore | 1 - img-selector/build.gradle | 35 -- img-selector/proguard-rules.pro | 17 - img-selector/src/main/AndroidManifest.xml | 14 - .../com/yuyh/library/imgsel/ImageLoader.java | 14 - .../yuyh/library/imgsel/ImgSelActivity.java | 240 ----------- .../com/yuyh/library/imgsel/ImgSelConfig.java | 217 ---------- .../yuyh/library/imgsel/ImgSelFragment.java | 373 ------------------ .../imgsel/adapter/FolderListAdapter.java | 102 ----- .../imgsel/adapter/ImageListAdapter.java | 112 ------ .../imgsel/adapter/PreviewAdapter.java | 109 ----- .../com/yuyh/library/imgsel/bean/Folder.java | 36 -- .../com/yuyh/library/imgsel/bean/Image.java | 35 -- .../yuyh/library/imgsel/common/Callback.java | 21 - .../yuyh/library/imgsel/common/Constant.java | 19 - .../imgsel/common/OnFolderChangeListener.java | 12 - .../imgsel/common/OnItemClickListener.java | 14 - .../yuyh/library/imgsel/utils/FileUtils.java | 306 -------------- .../yuyh/library/imgsel/utils/LogUtils.java | 176 --------- .../library/imgsel/utils/StatusBarCompat.java | 59 --- .../imgsel/widget/CustomViewPager.java | 52 --- .../widget/DividerGridItemDecoration.java | 172 -------- .../imgsel/widget/SquareRelativeLayout.java | 34 -- .../src/main/res/drawable-hdpi/ic_album.png | Bin 965 -> 0 bytes .../src/main/res/drawable-hdpi/ic_back.png | Bin 1283 -> 0 bytes .../src/main/res/drawable-hdpi/ic_checked.png | Bin 1899 -> 0 bytes .../res/drawable-hdpi/ic_default_image.png | Bin 3426 -> 0 bytes .../res/drawable-hdpi/ic_folder_selected.png | Bin 1417 -> 0 bytes .../main/res/drawable-hdpi/ic_take_photo.png | Bin 2075 -> 0 bytes .../src/main/res/drawable-hdpi/ic_uncheck.png | Bin 1987 -> 0 bytes .../src/main/res/drawable-mdpi/ic_album.png | Bin 956 -> 0 bytes .../src/main/res/drawable-mdpi/ic_back.png | Bin 1162 -> 0 bytes .../src/main/res/drawable-mdpi/ic_checked.png | Bin 1555 -> 0 bytes .../res/drawable-mdpi/ic_default_image.png | Bin 2544 -> 0 bytes .../res/drawable-mdpi/ic_folder_selected.png | Bin 1257 -> 0 bytes .../main/res/drawable-mdpi/ic_take_photo.png | Bin 1666 -> 0 bytes .../src/main/res/drawable-mdpi/ic_uncheck.png | Bin 1617 -> 0 bytes .../src/main/res/drawable-xhdpi/ic_album.png | Bin 976 -> 0 bytes .../src/main/res/drawable-xhdpi/ic_back.png | Bin 1401 -> 0 bytes .../main/res/drawable-xhdpi/ic_checked.png | Bin 2208 -> 0 bytes .../res/drawable-xhdpi/ic_default_image.png | Bin 4196 -> 0 bytes .../res/drawable-xhdpi/ic_folder_selected.png | Bin 1619 -> 0 bytes .../main/res/drawable-xhdpi/ic_take_photo.png | Bin 2489 -> 0 bytes .../main/res/drawable-xhdpi/ic_uncheck.png | Bin 2465 -> 0 bytes .../src/main/res/drawable-xxhdpi/ic_album.png | Bin 993 -> 0 bytes .../src/main/res/drawable-xxhdpi/ic_back.png | Bin 1682 -> 0 bytes .../main/res/drawable-xxhdpi/ic_checked.png | Bin 2841 -> 0 bytes .../res/drawable-xxhdpi/ic_default_image.png | Bin 6312 -> 0 bytes .../drawable-xxhdpi/ic_folder_selected.png | Bin 1943 -> 0 bytes .../res/drawable-xxhdpi/ic_take_photo.png | Bin 3313 -> 0 bytes .../main/res/drawable-xxhdpi/ic_uncheck.png | Bin 3384 -> 0 bytes .../main/res/drawable-xxxhdpi/ic_album.png | Bin 1178 -> 0 bytes .../src/main/res/drawable-xxxhdpi/ic_back.png | Bin 2823 -> 0 bytes .../main/res/drawable-xxxhdpi/ic_checked.png | Bin 4989 -> 0 bytes .../res/drawable-xxxhdpi/ic_default_image.png | Bin 12539 -> 0 bytes .../drawable-xxxhdpi/ic_folder_selected.png | Bin 3088 -> 0 bytes .../res/drawable-xxxhdpi/ic_take_photo.png | Bin 5902 -> 0 bytes .../main/res/drawable-xxxhdpi/ic_uncheck.png | Bin 6522 -> 0 bytes .../src/main/res/layout/activity_img_sel.xml | 57 --- .../src/main/res/layout/fragment_img_sel.xml | 49 --- .../src/main/res/layout/item_img_sel.xml | 25 -- .../main/res/layout/item_img_sel_folder.xml | 68 ---- .../res/layout/item_img_sel_take_photo.xml | 22 -- .../main/res/layout/item_pager_img_sel.xml | 26 -- .../src/main/res/values-v19/styles.xml | 9 - .../src/main/res/values-v21/styles.xml | 8 - .../src/main/res/values-w820dp/dimens.xml | 6 - img-selector/src/main/res/values/colors.xml | 6 - img-selector/src/main/res/values/dimens.xml | 5 - img-selector/src/main/res/values/ids.xml | 4 - img-selector/src/main/res/values/strings.xml | 14 - img-selector/src/main/res/values/styles.xml | 17 - settings.gradle | 3 +- 75 files changed, 4 insertions(+), 2489 deletions(-) delete mode 100644 img-selector/.gitignore delete mode 100644 img-selector/build.gradle delete mode 100644 img-selector/proguard-rules.pro delete mode 100644 img-selector/src/main/AndroidManifest.xml delete mode 100644 img-selector/src/main/java/com/yuyh/library/imgsel/ImageLoader.java delete mode 100644 img-selector/src/main/java/com/yuyh/library/imgsel/ImgSelActivity.java delete mode 100644 img-selector/src/main/java/com/yuyh/library/imgsel/ImgSelConfig.java delete mode 100644 img-selector/src/main/java/com/yuyh/library/imgsel/ImgSelFragment.java delete mode 100644 img-selector/src/main/java/com/yuyh/library/imgsel/adapter/FolderListAdapter.java delete mode 100644 img-selector/src/main/java/com/yuyh/library/imgsel/adapter/ImageListAdapter.java delete mode 100644 img-selector/src/main/java/com/yuyh/library/imgsel/adapter/PreviewAdapter.java delete mode 100644 img-selector/src/main/java/com/yuyh/library/imgsel/bean/Folder.java delete mode 100644 img-selector/src/main/java/com/yuyh/library/imgsel/bean/Image.java delete mode 100644 img-selector/src/main/java/com/yuyh/library/imgsel/common/Callback.java delete mode 100644 img-selector/src/main/java/com/yuyh/library/imgsel/common/Constant.java delete mode 100644 img-selector/src/main/java/com/yuyh/library/imgsel/common/OnFolderChangeListener.java delete mode 100644 img-selector/src/main/java/com/yuyh/library/imgsel/common/OnItemClickListener.java delete mode 100644 img-selector/src/main/java/com/yuyh/library/imgsel/utils/FileUtils.java delete mode 100644 img-selector/src/main/java/com/yuyh/library/imgsel/utils/LogUtils.java delete mode 100644 img-selector/src/main/java/com/yuyh/library/imgsel/utils/StatusBarCompat.java delete mode 100644 img-selector/src/main/java/com/yuyh/library/imgsel/widget/CustomViewPager.java delete mode 100644 img-selector/src/main/java/com/yuyh/library/imgsel/widget/DividerGridItemDecoration.java delete mode 100644 img-selector/src/main/java/com/yuyh/library/imgsel/widget/SquareRelativeLayout.java delete mode 100644 img-selector/src/main/res/drawable-hdpi/ic_album.png delete mode 100644 img-selector/src/main/res/drawable-hdpi/ic_back.png delete mode 100644 img-selector/src/main/res/drawable-hdpi/ic_checked.png delete mode 100644 img-selector/src/main/res/drawable-hdpi/ic_default_image.png delete mode 100644 img-selector/src/main/res/drawable-hdpi/ic_folder_selected.png delete mode 100644 img-selector/src/main/res/drawable-hdpi/ic_take_photo.png delete mode 100644 img-selector/src/main/res/drawable-hdpi/ic_uncheck.png delete mode 100644 img-selector/src/main/res/drawable-mdpi/ic_album.png delete mode 100644 img-selector/src/main/res/drawable-mdpi/ic_back.png delete mode 100644 img-selector/src/main/res/drawable-mdpi/ic_checked.png delete mode 100644 img-selector/src/main/res/drawable-mdpi/ic_default_image.png delete mode 100644 img-selector/src/main/res/drawable-mdpi/ic_folder_selected.png delete mode 100644 img-selector/src/main/res/drawable-mdpi/ic_take_photo.png delete mode 100644 img-selector/src/main/res/drawable-mdpi/ic_uncheck.png delete mode 100644 img-selector/src/main/res/drawable-xhdpi/ic_album.png delete mode 100644 img-selector/src/main/res/drawable-xhdpi/ic_back.png delete mode 100644 img-selector/src/main/res/drawable-xhdpi/ic_checked.png delete mode 100644 img-selector/src/main/res/drawable-xhdpi/ic_default_image.png delete mode 100644 img-selector/src/main/res/drawable-xhdpi/ic_folder_selected.png delete mode 100644 img-selector/src/main/res/drawable-xhdpi/ic_take_photo.png delete mode 100644 img-selector/src/main/res/drawable-xhdpi/ic_uncheck.png delete mode 100644 img-selector/src/main/res/drawable-xxhdpi/ic_album.png delete mode 100644 img-selector/src/main/res/drawable-xxhdpi/ic_back.png delete mode 100644 img-selector/src/main/res/drawable-xxhdpi/ic_checked.png delete mode 100644 img-selector/src/main/res/drawable-xxhdpi/ic_default_image.png delete mode 100644 img-selector/src/main/res/drawable-xxhdpi/ic_folder_selected.png delete mode 100644 img-selector/src/main/res/drawable-xxhdpi/ic_take_photo.png delete mode 100644 img-selector/src/main/res/drawable-xxhdpi/ic_uncheck.png delete mode 100644 img-selector/src/main/res/drawable-xxxhdpi/ic_album.png delete mode 100644 img-selector/src/main/res/drawable-xxxhdpi/ic_back.png delete mode 100644 img-selector/src/main/res/drawable-xxxhdpi/ic_checked.png delete mode 100644 img-selector/src/main/res/drawable-xxxhdpi/ic_default_image.png delete mode 100644 img-selector/src/main/res/drawable-xxxhdpi/ic_folder_selected.png delete mode 100644 img-selector/src/main/res/drawable-xxxhdpi/ic_take_photo.png delete mode 100644 img-selector/src/main/res/drawable-xxxhdpi/ic_uncheck.png delete mode 100644 img-selector/src/main/res/layout/activity_img_sel.xml delete mode 100644 img-selector/src/main/res/layout/fragment_img_sel.xml delete mode 100644 img-selector/src/main/res/layout/item_img_sel.xml delete mode 100644 img-selector/src/main/res/layout/item_img_sel_folder.xml delete mode 100644 img-selector/src/main/res/layout/item_img_sel_take_photo.xml delete mode 100644 img-selector/src/main/res/layout/item_pager_img_sel.xml delete mode 100644 img-selector/src/main/res/values-v19/styles.xml delete mode 100644 img-selector/src/main/res/values-v21/styles.xml delete mode 100644 img-selector/src/main/res/values-w820dp/dimens.xml delete mode 100644 img-selector/src/main/res/values/colors.xml delete mode 100644 img-selector/src/main/res/values/dimens.xml delete mode 100644 img-selector/src/main/res/values/ids.xml delete mode 100644 img-selector/src/main/res/values/strings.xml delete mode 100644 img-selector/src/main/res/values/styles.xml diff --git a/app/build.gradle b/app/build.gradle index 95239bd..dda2f3e 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -104,7 +104,7 @@ dependencies { compile 'com.github.bumptech.glide:glide:3.7.0' compile 'jp.wasabeef:glide-transformations:2.0.1' compile 'com.android.support:support-v13:24.1.0' - compile project(':img-selector') + compile 'com.yuyh.imgsel:library:1.3.2' compile 'com.facebook.stetho:stetho:1.4.1' compile 'com.github.houxg:FlexLayout:1.2' diff --git a/app/src/main/java/org/houxg/leamonax/ui/edit/EditorFragment.java b/app/src/main/java/org/houxg/leamonax/ui/edit/EditorFragment.java index b51bfd8..1990580 100644 --- a/app/src/main/java/org/houxg/leamonax/ui/edit/EditorFragment.java +++ b/app/src/main/java/org/houxg/leamonax/ui/edit/EditorFragment.java @@ -170,7 +170,9 @@ public class EditorFragment extends Fragment implements Editor.EditorListener { @OnClick(R.id.btn_img) void handleInsertImage() { + //TODO: request camera permission ImgSelConfig config = new ImgSelConfig.Builder( + getActivity(), new com.yuyh.library.imgsel.ImageLoader() { @Override public void displayImage(Context context, String path, ImageView imageView) { diff --git a/img-selector/.gitignore b/img-selector/.gitignore deleted file mode 100644 index 796b96d..0000000 --- a/img-selector/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/build diff --git a/img-selector/build.gradle b/img-selector/build.gradle deleted file mode 100644 index ffb8bce..0000000 --- a/img-selector/build.gradle +++ /dev/null @@ -1,35 +0,0 @@ -apply plugin: 'com.android.library' -version = "1.2.0" // 版本号 - -android { - compileSdkVersion 24 - buildToolsVersion '25.0.1' - resourcePrefix "imgsel" - - defaultConfig { - minSdkVersion 14 - targetSdkVersion 23 - versionCode 7 - versionName "1.2.0" - } - - lintOptions { - abortOnError false - } - - buildTypes { - release { - minifyEnabled false - proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' - } - } -} - -dependencies { - compile fileTree(include: ['*.jar'], dir: 'libs') - compile 'com.android.support:appcompat-v7:23.4.0' - compile 'com.android.support:support-v4:23.4.0' - compile 'com.android.support:recyclerview-v7:23.4.0' - - compile 'com.yuyh.easyadapter:library:1.0.0' -} diff --git a/img-selector/proguard-rules.pro b/img-selector/proguard-rules.pro deleted file mode 100644 index fdc3650..0000000 --- a/img-selector/proguard-rules.pro +++ /dev/null @@ -1,17 +0,0 @@ -# Add project specific ProGuard rules here. -# By default, the flags in this file are appended to flags specified -# in D:\AndroidDev\sdk/tools/proguard/proguard-android.txt -# You can edit the include path and order by changing the proguardFiles -# directive in build.gradle. -# -# For more details, see -# http://developer.android.com/guide/developing/tools/proguard.html - -# Add any project specific keep options here: - -# If your project uses WebView with JS, uncomment the following -# and specify the fully qualified class name to the JavaScript interface -# class: -#-keepclassmembers class fqcn.of.javascript.interface.for.webview { -# public *; -#} diff --git a/img-selector/src/main/AndroidManifest.xml b/img-selector/src/main/AndroidManifest.xml deleted file mode 100644 index 9bb2542..0000000 --- a/img-selector/src/main/AndroidManifest.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/img-selector/src/main/java/com/yuyh/library/imgsel/ImageLoader.java b/img-selector/src/main/java/com/yuyh/library/imgsel/ImageLoader.java deleted file mode 100644 index 9345716..0000000 --- a/img-selector/src/main/java/com/yuyh/library/imgsel/ImageLoader.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yuyh.library.imgsel; - -import android.content.Context; -import android.widget.ImageView; - -import java.io.Serializable; - -/** - * @author yuyh. - * @date 2016/8/5. - */ -public interface ImageLoader extends Serializable { - void displayImage(Context context, String path, ImageView imageView); -} \ No newline at end of file diff --git a/img-selector/src/main/java/com/yuyh/library/imgsel/ImgSelActivity.java b/img-selector/src/main/java/com/yuyh/library/imgsel/ImgSelActivity.java deleted file mode 100644 index 93abc6d..0000000 --- a/img-selector/src/main/java/com/yuyh/library/imgsel/ImgSelActivity.java +++ /dev/null @@ -1,240 +0,0 @@ -package com.yuyh.library.imgsel; - -import android.Manifest; -import android.app.Activity; -import android.content.Intent; -import android.content.pm.PackageManager; -import android.net.Uri; -import android.os.Build; -import android.os.Bundle; -import android.provider.MediaStore; -import android.support.annotation.NonNull; -import android.support.v4.app.ActivityCompat; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentActivity; -import android.support.v4.content.ContextCompat; -import android.view.View; -import android.view.WindowManager; -import android.widget.Button; -import android.widget.ImageView; -import android.widget.RelativeLayout; -import android.widget.TextView; -import android.widget.Toast; - -import com.yuyh.library.imgsel.common.Callback; -import com.yuyh.library.imgsel.common.Constant; -import com.yuyh.library.imgsel.utils.FileUtils; -import com.yuyh.library.imgsel.utils.StatusBarCompat; - -import java.io.File; -import java.util.ArrayList; - -public class ImgSelActivity extends FragmentActivity implements View.OnClickListener, Callback { - - public static final String INTENT_RESULT = "result"; - private static final int IMAGE_CROP_CODE = 1; - private static final int STORAGE_REQUEST_CODE = 1; - - private ImgSelConfig config; - - private RelativeLayout rlTitleBar; - private TextView tvTitle; - private Button btnConfirm; - private ImageView ivBack; - private String cropImagePath; - - private ImgSelFragment fragment; - - private ArrayList result = new ArrayList<>(); - - public static void startActivity(Activity activity, ImgSelConfig config, int RequestCode) { - Intent intent = new Intent(activity, ImgSelActivity.class); - Constant.config = config; - activity.startActivityForResult(intent, RequestCode); - } - - public static void startActivity(Fragment fragment, ImgSelConfig config, int RequestCode) { - Intent intent = new Intent(fragment.getActivity(), ImgSelActivity.class); - Constant.config = config; - fragment.startActivityForResult(intent, RequestCode); - } - - public static void startActivity(android.app.Fragment fragment, ImgSelConfig config, int RequestCode) { - Intent intent = new Intent(fragment.getActivity(), ImgSelActivity.class); - Constant.config = config; - fragment.startActivityForResult(intent, RequestCode); - } - - @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - setContentView(R.layout.activity_img_sel); - Constant.imageList.clear(); - config = Constant.config; - - // Android 6.0 checkSelfPermission - if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) - != PackageManager.PERMISSION_GRANTED) { - ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, - STORAGE_REQUEST_CODE); - } else { - fragment = ImgSelFragment.instance(); - getSupportFragmentManager().beginTransaction() - .add(R.id.fmImageList, fragment, null) - .commit(); - } - - initView(); - if (!FileUtils.isSdCardAvailable()) { - Toast.makeText(this, getString(R.string.sd_disable), Toast.LENGTH_SHORT).show(); - } - } - - private void initView() { - rlTitleBar = (RelativeLayout) findViewById(R.id.rlTitleBar); - tvTitle = (TextView) findViewById(R.id.tvTitle); - - btnConfirm = (Button) findViewById(R.id.btnConfirm); - btnConfirm.setOnClickListener(this); - - ivBack = (ImageView) findViewById(R.id.ivBack); - ivBack.setOnClickListener(this); - - if (config != null) { - if (config.backResId != -1) { - ivBack.setImageResource(config.backResId); - } - - if (config.statusBarColor != -1) { - StatusBarCompat.compat(this, config.statusBarColor); - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT - && Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { - getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); - } - } - rlTitleBar.setBackgroundColor(config.titleBgColor); - tvTitle.setTextColor(config.titleColor); - tvTitle.setText(config.title); - btnConfirm.setBackgroundColor(config.btnBgColor); - btnConfirm.setTextColor(config.btnTextColor); - if (config.multiSelect) { - btnConfirm.setText(String.format(getString(R.string.confirm), Constant.imageList.size(), config.maxNum)); - } else { - btnConfirm.setText(getString(R.string.confirm_single)); - } - } - } - - @Override - public void onClick(View v) { - int id = v.getId(); - if (id == R.id.btnConfirm) { - if (Constant.imageList != null && !Constant.imageList.isEmpty()) { - exit(); - } - } else if (id == R.id.ivBack) { - finish(); - } - } - - @Override - public void onSingleImageSelected(String path) { - if (config.needCrop) { - crop(path); - } else { - Constant.imageList.add(path); - exit(); - } - } - - @Override - public void onImageSelected(String path) { - btnConfirm.setText(String.format(getString(R.string.confirm), Constant.imageList.size(), config.maxNum)); - } - - @Override - public void onImageUnselected(String path) { - btnConfirm.setText(String.format(getString(R.string.confirm), Constant.imageList.size(), config.maxNum)); - } - - @Override - public void onCameraShot(File imageFile) { - if (imageFile != null) { - if (config.needCrop) { - crop(imageFile.getAbsolutePath()); - } else { - Constant.imageList.add(imageFile.getAbsolutePath()); - exit(); - } - } - } - - @Override - public void onPreviewChanged(int select, int sum, boolean visible) { - if (visible) { - tvTitle.setText(select + "/" + sum); - } else { - tvTitle.setText(config.title); - } - } - - private void crop(String imagePath) { - File file = new File(FileUtils.createRootPath(this) + "/" + System.currentTimeMillis() + ".jpg"); - - cropImagePath = file.getAbsolutePath(); - Intent intent = new Intent("com.android.camera.action.CROP"); - intent.setDataAndType(Uri.fromFile(new File(imagePath)), "image/*"); - intent.putExtra("crop", "true"); - intent.putExtra("aspectX", config.aspectX); - intent.putExtra("aspectY", config.aspectY); - intent.putExtra("outputX", config.outputX); - intent.putExtra("outputY", config.outputY); - intent.putExtra("return-data", false); - intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file)); - startActivityForResult(intent, IMAGE_CROP_CODE); - } - - @Override - protected void onActivityResult(int requestCode, int resultCode, Intent data) { - if (requestCode == IMAGE_CROP_CODE && resultCode == RESULT_OK) { - Constant.imageList.add(cropImagePath); - exit(); - } - super.onActivityResult(requestCode, resultCode, data); - } - - public void exit() { - Intent intent = new Intent(); - result.clear(); - result.addAll(Constant.imageList); - intent.putStringArrayListExtra(INTENT_RESULT, result); - setResult(RESULT_OK, intent); - Constant.imageList.clear(); - finish(); - } - - @Override - public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { - super.onRequestPermissionsResult(requestCode, permissions, grantResults); - switch (requestCode) { - case STORAGE_REQUEST_CODE: - if (grantResults.length >= 1 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { - getSupportFragmentManager() - .beginTransaction() - .add(R.id.fmImageList, ImgSelFragment.instance(), null) - .commitAllowingStateLoss(); - } else { - Toast.makeText(this, getString(R.string.permission_denied), Toast.LENGTH_SHORT).show(); - } - break; - default: - break; - } - } - - @Override - public void onBackPressed() { - if (!fragment.hidePreview()) - super.onBackPressed(); - } -} diff --git a/img-selector/src/main/java/com/yuyh/library/imgsel/ImgSelConfig.java b/img-selector/src/main/java/com/yuyh/library/imgsel/ImgSelConfig.java deleted file mode 100644 index c24603a..0000000 --- a/img-selector/src/main/java/com/yuyh/library/imgsel/ImgSelConfig.java +++ /dev/null @@ -1,217 +0,0 @@ -package com.yuyh.library.imgsel; - -import android.graphics.Color; -import android.os.Environment; - -import com.yuyh.library.imgsel.utils.FileUtils; - -import java.io.Serializable; - -/** - * @author yuyh. - * @date 2016/8/5. - */ -public class ImgSelConfig { - - /** - * 是否需要裁剪 - */ - public boolean needCrop; - - /** - * 是否多选 - */ - public boolean multiSelect; - - /** - * 最多选择图片数 - */ - public int maxNum = 9; - - /** - * 第一个item是否显示相机 - */ - public boolean needCamera; - - public int statusBarColor = -1; - - /** - * 返回图标资源 - */ - public int backResId = -1; - - /** - * 标题 - */ - public String title; - - /** - * 标题颜色 - */ - public int titleColor; - - /** - * titlebar背景色 - */ - public int titleBgColor; - - /** - * 确定按钮文字颜色 - */ - public int btnTextColor; - - /** - * 确定按钮背景色 - */ - public int btnBgColor; - - /** - * 拍照存储路径 - */ - public String filePath; - - /** - * 自定义图片加载器 - */ - public ImageLoader loader; - - /** - * 裁剪输出大小 - */ - public int aspectX = 1; - public int aspectY = 1; - public int outputX = 500; - public int outputY = 500; - - public ImgSelConfig(Builder builder) { - this.needCrop = builder.needCrop; - this.multiSelect = builder.multiSelect; - this.maxNum = builder.maxNum; - this.needCamera = builder.needCamera; - this.statusBarColor = builder.statusBarColor; - this.backResId = builder.backResId; - this.title = builder.title; - this.titleBgColor = builder.titleBgColor; - this.titleColor = builder.titleColor; - this.btnBgColor = builder.btnBgColor; - this.btnTextColor = builder.btnTextColor; - this.filePath = builder.filePath; - this.loader = builder.loader; - this.aspectX = builder.aspectX; - this.aspectY = builder.aspectY; - this.outputX = builder.outputX; - this.outputY = builder.outputY; - } - - public static class Builder implements Serializable { - - private boolean needCrop = false; - private boolean multiSelect = true; - private int maxNum = 9; - private boolean needCamera = true; - public int statusBarColor = -1; - private int backResId = -1; - private String title; - private int titleColor; - private int titleBgColor; - private int btnTextColor; - private int btnBgColor; - private String filePath; - private ImageLoader loader; - - private int aspectX = 1; - private int aspectY = 1; - private int outputX = 400; - private int outputY = 400; - - public Builder(ImageLoader loader) { - this.loader = loader; - - if (FileUtils.isSdCardAvailable()) - filePath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/Camera"; - else - filePath = Environment.getRootDirectory().getAbsolutePath() + "/Camera"; - - title = "图片"; - titleBgColor = Color.parseColor("#3F51B5"); - titleColor = Color.WHITE; - - btnBgColor = Color.TRANSPARENT; - btnTextColor = Color.WHITE; - - FileUtils.createDir(filePath); - } - - public Builder needCrop(boolean needCrop) { - this.needCrop = needCrop; - return this; - } - - public Builder multiSelect(boolean multiSelect) { - this.multiSelect = multiSelect; - return this; - } - - public Builder maxNum(int maxNum) { - this.maxNum = maxNum; - return this; - } - - public Builder needCamera(boolean needCamera) { - this.needCamera = needCamera; - return this; - } - - public Builder statusBarColor(int statusBarColor) { - this.statusBarColor = statusBarColor; - return this; - } - - public Builder backResId(int backResId) { - this.backResId = backResId; - return this; - } - - public Builder title(String title) { - this.title = title; - return this; - } - - public Builder titleColor(int titleColor) { - this.titleColor = titleColor; - return this; - } - - public Builder titleBgColor(int titleBgColor) { - this.titleBgColor = titleBgColor; - return this; - } - - public Builder btnTextColor(int btnTextColor) { - this.btnTextColor = btnTextColor; - return this; - } - - public Builder btnBgColor(int btnBgColor) { - this.btnBgColor = btnBgColor; - return this; - } - - private Builder filePath(String filePath) { - this.filePath = filePath; - return this; - } - - public Builder cropSize(int aspectX, int aspectY, int outputX, int outputY) { - this.aspectX = aspectX; - this.aspectY = aspectY; - this.outputX = outputX; - this.outputY = outputY; - return this; - } - - public ImgSelConfig build() { - return new ImgSelConfig(this); - } - } -} diff --git a/img-selector/src/main/java/com/yuyh/library/imgsel/ImgSelFragment.java b/img-selector/src/main/java/com/yuyh/library/imgsel/ImgSelFragment.java deleted file mode 100644 index 112516d..0000000 --- a/img-selector/src/main/java/com/yuyh/library/imgsel/ImgSelFragment.java +++ /dev/null @@ -1,373 +0,0 @@ -package com.yuyh.library.imgsel; - - -import android.app.Activity; -import android.content.Intent; -import android.database.Cursor; -import android.graphics.Color; -import android.graphics.drawable.ColorDrawable; -import android.net.Uri; -import android.os.Bundle; -import android.provider.MediaStore; -import android.support.annotation.Nullable; -import android.support.v4.app.Fragment; -import android.support.v4.app.LoaderManager; -import android.support.v4.content.CursorLoader; -import android.support.v4.content.Loader; -import android.support.v4.view.ViewPager; -import android.support.v7.widget.GridLayoutManager; -import android.support.v7.widget.ListPopupWindow; -import android.support.v7.widget.RecyclerView; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.view.WindowManager; -import android.widget.Button; -import android.widget.Toast; - -import com.yuyh.library.imgsel.adapter.FolderListAdapter; -import com.yuyh.library.imgsel.adapter.ImageListAdapter; -import com.yuyh.library.imgsel.adapter.PreviewAdapter; -import com.yuyh.library.imgsel.bean.Folder; -import com.yuyh.library.imgsel.bean.Image; -import com.yuyh.library.imgsel.common.Callback; -import com.yuyh.library.imgsel.common.Constant; -import com.yuyh.library.imgsel.common.OnFolderChangeListener; -import com.yuyh.library.imgsel.common.OnItemClickListener; -import com.yuyh.library.imgsel.utils.FileUtils; -import com.yuyh.library.imgsel.utils.LogUtils; -import com.yuyh.library.imgsel.widget.CustomViewPager; -import com.yuyh.library.imgsel.widget.DividerGridItemDecoration; - -import java.io.File; -import java.util.ArrayList; -import java.util.List; - - -public class ImgSelFragment extends Fragment implements View.OnClickListener, ViewPager.OnPageChangeListener { - - private RecyclerView rvImageList; - private Button btnAlbumSelected; - private View rlBottom; - private CustomViewPager viewPager; - - private ImgSelConfig config; - private Callback callback; - private List folderList = new ArrayList<>(); - private List imageList = new ArrayList<>(); - - private ListPopupWindow folderPopupWindow; - private ImageListAdapter imageListAdapter; - private FolderListAdapter folderListAdapter; - private PreviewAdapter previewAdapter; - - private boolean hasFolderGened = false; - private static final int LOADER_ALL = 0; - private static final int LOADER_CATEGORY = 1; - private static final int REQUEST_CAMERA = 5; - - private File tempFile; - - public static ImgSelFragment instance() { - ImgSelFragment fragment = new ImgSelFragment(); - Bundle bundle = new Bundle(); - fragment.setArguments(bundle); - return fragment; - } - - @Override - public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - View view = inflater.inflate(R.layout.fragment_img_sel, container, false); - rvImageList = (RecyclerView) view.findViewById(R.id.rvImageList); - btnAlbumSelected = (Button) view.findViewById(R.id.btnAlbumSelected); - btnAlbumSelected.setOnClickListener(this); - rlBottom = view.findViewById(R.id.rlBottom); - viewPager = (CustomViewPager) view.findViewById(R.id.viewPager); - viewPager.addOnPageChangeListener(this); - return view; - } - - @Override - public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { - super.onViewCreated(view, savedInstanceState); - config = Constant.config; - try { - callback = (Callback) getActivity(); - } catch (Exception e) { - - } - - rvImageList.setLayoutManager(new GridLayoutManager(rvImageList.getContext(), 3)); - rvImageList.addItemDecoration(new DividerGridItemDecoration(rvImageList.getContext())); - if (config.needCamera) - imageList.add(new Image()); - - imageListAdapter = new ImageListAdapter(getActivity(), imageList, config); - imageListAdapter.setShowCamera(config.needCamera); - imageListAdapter.setMutiSelect(config.multiSelect); - rvImageList.setAdapter(imageListAdapter); - imageListAdapter.setOnItemClickListener(new OnItemClickListener() { - @Override - public int onCheckedClick(int position, Image image) { - return checkedImage(position, image); - } - - @Override - public void onImageClick(int position, Image image) { - if (config.needCamera && position == 0) { - showCameraAction(); - } else { - if (config.multiSelect) { - viewPager.setAdapter((previewAdapter = new PreviewAdapter(getActivity(), imageList, config))); - previewAdapter.setListener(new OnItemClickListener() { - @Override - public int onCheckedClick(int position, Image image) { - return checkedImage(position, image); - } - - @Override - public void onImageClick(int position, Image image) { - hidePreview(); - } - }); - if (config.needCamera) { - callback.onPreviewChanged(position, imageList.size() - 1, true); - } else { - callback.onPreviewChanged(position + 1, imageList.size(), true); - } - viewPager.setCurrentItem(config.needCamera ? position - 1 : position); - viewPager.setVisibility(View.VISIBLE); - } else { - if (callback != null) { - callback.onSingleImageSelected(image.path); - } - } - } - } - }); - - folderListAdapter = new FolderListAdapter(getActivity(), folderList, config); - - getActivity().getSupportLoaderManager().initLoader(LOADER_ALL, null, mLoaderCallback); - } - - private int checkedImage(int position, Image image) { - if (image != null) { - if (Constant.imageList.contains(image.path)) { - Constant.imageList.remove(image.path); - if (callback != null) { - callback.onImageUnselected(image.path); - } - } else { - if (config.maxNum <= Constant.imageList.size()) { - Toast.makeText(getActivity(), String.format(getString(R.string.maxnum), config.maxNum), Toast.LENGTH_SHORT).show(); - return 0; - } - - Constant.imageList.add(image.path); - if (callback != null) { - callback.onImageSelected(image.path); - } - } - return 1; - } - return 0; - } - - private LoaderManager.LoaderCallbacks mLoaderCallback = new LoaderManager.LoaderCallbacks() { - - private final String[] IMAGE_PROJECTION = { - MediaStore.Images.Media.DATA, - MediaStore.Images.Media.DISPLAY_NAME, - MediaStore.Images.Media.DATE_ADDED, - MediaStore.Images.Media._ID}; - - @Override - public Loader onCreateLoader(int id, Bundle args) { - if (id == LOADER_ALL) { - CursorLoader cursorLoader = new CursorLoader(getActivity(), - MediaStore.Images.Media.EXTERNAL_CONTENT_URI, IMAGE_PROJECTION, - null, null, IMAGE_PROJECTION[2] + " DESC"); - return cursorLoader; - } else if (id == LOADER_CATEGORY) { - CursorLoader cursorLoader = new CursorLoader(getActivity(), - MediaStore.Images.Media.EXTERNAL_CONTENT_URI, IMAGE_PROJECTION, - IMAGE_PROJECTION[0] + " like '%" + args.getString("path") + "%'", null, IMAGE_PROJECTION[2] + " DESC"); - return cursorLoader; - } - return null; - } - - @Override - public void onLoadFinished(Loader loader, Cursor data) { - if (data != null) { - int count = data.getCount(); - if (count > 0) { - List tempImageList = new ArrayList<>(); - data.moveToFirst(); - do { - String path = data.getString(data.getColumnIndexOrThrow(IMAGE_PROJECTION[0])); - String name = data.getString(data.getColumnIndexOrThrow(IMAGE_PROJECTION[1])); - long dateTime = data.getLong(data.getColumnIndexOrThrow(IMAGE_PROJECTION[2])); - Image image = new Image(path, name, dateTime); - if (!image.path.endsWith("gif")) - tempImageList.add(image); - if (!hasFolderGened) { - File imageFile = new File(path); - File folderFile = imageFile.getParentFile(); - Folder folder = new Folder(); - folder.name = folderFile.getName(); - folder.path = folderFile.getAbsolutePath(); - folder.cover = image; - if (!folderList.contains(folder)) { - List imageList = new ArrayList<>(); - imageList.add(image); - folder.images = imageList; - folderList.add(folder); - } else { - Folder f = folderList.get(folderList.indexOf(folder)); - f.images.add(image); - } - } - - } while (data.moveToNext()); - - imageList.clear(); - if (config.needCamera) - imageList.add(new Image()); - imageList.addAll(tempImageList); - - - imageListAdapter.notifyDataSetChanged(); - - if (Constant.imageList != null && Constant.imageList.size() > 0) { - //adapter.setDefaultSelected(resultList); - } - - folderListAdapter.notifyDataSetChanged(); - - hasFolderGened = true; - } - } - } - - @Override - public void onLoaderReset(Loader loader) { - - } - }; - - private void createPopupFolderList(int width, int height) { - folderPopupWindow = new ListPopupWindow(getActivity()); - folderPopupWindow.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT)); - folderPopupWindow.setAdapter(folderListAdapter); - folderPopupWindow.setContentWidth(width); - folderPopupWindow.setWidth(width); - folderPopupWindow.setHeight(height); - folderPopupWindow.setAnchorView(rlBottom); - folderPopupWindow.setModal(true); - folderListAdapter.setOnFloderChangeListener(new OnFolderChangeListener() { - @Override - public void onChange(int position, Folder folder) { - folderPopupWindow.dismiss(); - if (position == 0) { - getActivity().getSupportLoaderManager().restartLoader(LOADER_ALL, null, mLoaderCallback); - btnAlbumSelected.setText(getString(R.string.all_images)); - } else { - imageList.clear(); - if (config.needCamera) - imageList.add(new Image()); - imageList.addAll(folder.images); - imageListAdapter.notifyDataSetChanged(); - - btnAlbumSelected.setText(folder.name); - } - } - }); - } - - @Override - public void onClick(View v) { - if (v.getId() == btnAlbumSelected.getId()) { - if (folderPopupWindow == null) { - WindowManager wm = getActivity().getWindowManager(); - int width = wm.getDefaultDisplay().getWidth(); - createPopupFolderList(width / 3 * 2, width / 3 * 2); - } - - if (folderPopupWindow.isShowing()) { - folderPopupWindow.dismiss(); - } else { - folderPopupWindow.show(); - int index = folderListAdapter.getSelectIndex(); - index = index == 0 ? index : index - 1; - folderPopupWindow.getListView().setSelection(index); - } - } - } - - private void showCameraAction() { - if (config.maxNum <= Constant.imageList.size()) { - Toast.makeText(getActivity(), String.format(getString(R.string.maxnum), config.maxNum), Toast.LENGTH_SHORT).show(); - return; - } - Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); - if (cameraIntent.resolveActivity(getActivity().getPackageManager()) != null) { - tempFile = new File(FileUtils.createRootPath(getActivity()) + "/" + System.currentTimeMillis() + ".jpg"); - LogUtils.e(tempFile.getAbsolutePath()); - FileUtils.createFile(tempFile); - cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(tempFile)); - startActivityForResult(cameraIntent, REQUEST_CAMERA); - } else { - Toast.makeText(getActivity(), getString(R.string.open_camera_failure), Toast.LENGTH_SHORT).show(); - } - } - - @Override - public void onActivityResult(int requestCode, int resultCode, Intent data) { - if (requestCode == REQUEST_CAMERA) { - if (resultCode == Activity.RESULT_OK) { - if (tempFile != null) { - if (callback != null) { - callback.onCameraShot(tempFile); - } - } - } else { - if (tempFile != null && tempFile.exists()) { - tempFile.delete(); - } - } - } - super.onActivityResult(requestCode, resultCode, data); - } - - @Override - public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { - - } - - @Override - public void onPageSelected(int position) { - if (config.needCamera) { - callback.onPreviewChanged(position + 1, imageList.size() - 1, true); - } else { - callback.onPreviewChanged(position + 1, imageList.size(), true); - } - } - - @Override - public void onPageScrollStateChanged(int state) { - - } - - public boolean hidePreview() { - if (viewPager.getVisibility() == View.VISIBLE) { - viewPager.setVisibility(View.GONE); - callback.onPreviewChanged(0, 0, false); - imageListAdapter.notifyDataSetChanged(); - return true; - } else { - return false; - } - } -} diff --git a/img-selector/src/main/java/com/yuyh/library/imgsel/adapter/FolderListAdapter.java b/img-selector/src/main/java/com/yuyh/library/imgsel/adapter/FolderListAdapter.java deleted file mode 100644 index 66cdac0..0000000 --- a/img-selector/src/main/java/com/yuyh/library/imgsel/adapter/FolderListAdapter.java +++ /dev/null @@ -1,102 +0,0 @@ -package com.yuyh.library.imgsel.adapter; - -import android.content.Context; -import android.view.View; -import android.widget.ImageView; - -import com.yuyh.easyadapter.abslistview.EasyLVAdapter; -import com.yuyh.easyadapter.abslistview.EasyLVHolder; -import com.yuyh.library.imgsel.ImgSelConfig; -import com.yuyh.library.imgsel.R; -import com.yuyh.library.imgsel.bean.Folder; -import com.yuyh.library.imgsel.common.OnFolderChangeListener; - -import java.util.List; - -/** - * @author yuyh. - * @date 2016/8/5. - */ -public class FolderListAdapter extends EasyLVAdapter { - - private Context context; - private List folderList; - private ImgSelConfig config; - - private int selected = 0; - private OnFolderChangeListener listener; - - public FolderListAdapter(Context context, List folderList, ImgSelConfig config) { - super(context, folderList, R.layout.item_img_sel_folder); - this.context = context; - this.folderList = folderList; - this.config = config; - } - - @Override - public void convert(EasyLVHolder holder, final int position, Folder folder) { - if (position == 0) { - holder.setText(R.id.tvFolderName, "所有图片") - .setText(R.id.tvImageNum, "共" + getTotalImageSize() + "张"); - ImageView ivFolder = holder.getView(R.id.ivFolder); - if (folderList.size() > 0) { - config.loader.displayImage(context, folder.cover.path, ivFolder); - } - } else { - holder.setText(R.id.tvFolderName, folder.name) - .setText(R.id.tvImageNum, "共" + folder.images.size() + "张"); - ImageView ivFolder = holder.getView(R.id.ivFolder); - if (folderList.size() > 0) { - config.loader.displayImage(context, folder.cover.path, ivFolder); - } - } - - if (selected == position) { - holder.setVisible(R.id.indicator, true); - } else { - holder.setVisible(R.id.indicator, false); - } - - holder.getConvertView().setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - setSelectIndex(position); - } - }); - } - - public void setData(List folders) { - folderList.clear(); - if (folders != null && folders.size() > 0) { - folderList.addAll(folders); - } - notifyDataSetChanged(); - } - - private int getTotalImageSize() { - int result = 0; - if (folderList != null && folderList.size() > 0) { - for (Folder folder : folderList) { - result += folder.images.size(); - } - } - return result; - } - - public void setSelectIndex(int position) { - if (selected == position) - return; - if(listener != null) - listener.onChange(position, folderList.get(position)); - selected = position; - notifyDataSetChanged(); - } - - public int getSelectIndex() { - return selected; - } - - public void setOnFloderChangeListener(OnFolderChangeListener listener) { - this.listener = listener; - } -} diff --git a/img-selector/src/main/java/com/yuyh/library/imgsel/adapter/ImageListAdapter.java b/img-selector/src/main/java/com/yuyh/library/imgsel/adapter/ImageListAdapter.java deleted file mode 100644 index 3a6ebeb..0000000 --- a/img-selector/src/main/java/com/yuyh/library/imgsel/adapter/ImageListAdapter.java +++ /dev/null @@ -1,112 +0,0 @@ -package com.yuyh.library.imgsel.adapter; - -import android.content.Context; -import android.view.View; -import android.widget.ImageView; - -import com.yuyh.easyadapter.recyclerview.EasyRVAdapter; -import com.yuyh.easyadapter.recyclerview.EasyRVHolder; -import com.yuyh.library.imgsel.ImgSelConfig; -import com.yuyh.library.imgsel.R; -import com.yuyh.library.imgsel.bean.Image; -import com.yuyh.library.imgsel.common.Constant; -import com.yuyh.library.imgsel.common.OnItemClickListener; - -import java.util.List; - -/** - * @author yuyh. - * @date 2016/8/5. - */ -public class ImageListAdapter extends EasyRVAdapter { - - private boolean showCamera; - private boolean mutiSelect; - - private ImgSelConfig config; - private Context context; - private OnItemClickListener listener; - - public ImageListAdapter(Context context, List list, ImgSelConfig config) { - super(context, list, R.layout.item_img_sel, R.layout.item_img_sel_take_photo); - this.context = context; - this.config = config; - } - - @Override - protected void onBindData(final EasyRVHolder viewHolder, final int position, final Image item) { - - if (position == 0 && showCamera) { - ImageView iv = viewHolder.getView(R.id.ivTakePhoto); - iv.setImageResource(R.drawable.ic_take_photo); - iv.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (listener != null) - listener.onImageClick(position, item); - } - }); - return; - } - - if (mutiSelect) { - viewHolder.getView(R.id.ivPhotoCheaked).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (listener != null) { - int ret = listener.onCheckedClick(position, item); - if (ret == 1) { // 局部刷新 - if (Constant.imageList.contains(item.path)) { - viewHolder.setImageResource(R.id.ivPhotoCheaked, R.drawable.ic_checked); - } else { - viewHolder.setImageResource(R.id.ivPhotoCheaked, R.drawable.ic_uncheck); - } - } - } - } - }); - } - - viewHolder.setOnItemViewClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (listener != null) - listener.onImageClick(position, item); - } - }); - - final ImageView iv = viewHolder.getView(R.id.ivImage); - config.loader.displayImage(context, item.path, iv); - - if (mutiSelect) { - viewHolder.setVisible(R.id.ivPhotoCheaked, true); - if (Constant.imageList.contains(item.path)) { - viewHolder.setImageResource(R.id.ivPhotoCheaked, R.drawable.ic_checked); - } else { - viewHolder.setImageResource(R.id.ivPhotoCheaked, R.drawable.ic_uncheck); - } - } else { - viewHolder.setVisible(R.id.ivPhotoCheaked, false); - } - } - - public void setShowCamera(boolean showCamera) { - this.showCamera = showCamera; - } - - public void setMutiSelect(boolean mutiSelect) { - this.mutiSelect = mutiSelect; - } - - @Override - public int getItemViewType(int position) { - if (position == 0 && showCamera) { - return 1; - } - return 0; - } - - public void setOnItemClickListener(OnItemClickListener listener) { - this.listener = listener; - } -} diff --git a/img-selector/src/main/java/com/yuyh/library/imgsel/adapter/PreviewAdapter.java b/img-selector/src/main/java/com/yuyh/library/imgsel/adapter/PreviewAdapter.java deleted file mode 100644 index e14de7e..0000000 --- a/img-selector/src/main/java/com/yuyh/library/imgsel/adapter/PreviewAdapter.java +++ /dev/null @@ -1,109 +0,0 @@ -package com.yuyh.library.imgsel.adapter; - -import android.app.Activity; -import android.support.v4.view.PagerAdapter; -import android.view.View; -import android.view.ViewGroup; -import android.widget.ImageView; - -import com.yuyh.library.imgsel.ImgSelConfig; -import com.yuyh.library.imgsel.R; -import com.yuyh.library.imgsel.bean.Image; -import com.yuyh.library.imgsel.common.Constant; -import com.yuyh.library.imgsel.common.OnItemClickListener; - -import java.util.List; - -/** - * @author yuyh. - * @date 2016/9/28. - */ -public class PreviewAdapter extends PagerAdapter { - - private Activity activity; - private List images; - private ImgSelConfig config; - private OnItemClickListener listener; - - public PreviewAdapter(Activity activity, List images, ImgSelConfig config) { - this.activity = activity; - this.images = images; - this.config = config; - } - - @Override - public int getCount() { - if (config.needCamera) - return images.size() - 1; - else - return images.size(); - } - - @Override - public View instantiateItem(ViewGroup container, final int position) { - View root = View.inflate(activity, R.layout.item_pager_img_sel, null); - final ImageView photoView = (ImageView) root.findViewById(R.id.ivImage); - final ImageView ivChecked = (ImageView) root.findViewById(R.id.ivPhotoCheaked); - - displayImage(photoView, images.get(config.needCamera ? position + 1 : position).path); - if (config.multiSelect) { - - ivChecked.setVisibility(View.VISIBLE); - final Image image = images.get(config.needCamera ? position + 1 : position); - if (Constant.imageList.contains(image.path)) { - ivChecked.setImageResource(R.drawable.ic_checked); - } else { - ivChecked.setImageResource(R.drawable.ic_uncheck); - } - - ivChecked.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (listener != null) { - int ret = listener.onCheckedClick(position, image); - if (ret == 1) { // 局部刷新 - if (Constant.imageList.contains(image.path)) { - ivChecked.setImageResource(R.drawable.ic_checked); - } else { - ivChecked.setImageResource(R.drawable.ic_uncheck); - } - } - } - } - }); - - photoView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - if (listener != null) { - listener.onImageClick(position, images.get(position)); - } - } - }); - } else { - ivChecked.setVisibility(View.GONE); - } - - container.addView(root, ViewGroup.LayoutParams.MATCH_PARENT, - ViewGroup.LayoutParams.MATCH_PARENT); - return root; - } - - private void displayImage(ImageView photoView, String path) { - config.loader.displayImage(activity, path, photoView); - } - - @Override - public boolean isViewFromObject(View view, Object object) { - return view == object; - } - - @Override - public void destroyItem(ViewGroup container, int position, Object object) { - container.removeView((View) object); - } - - public void setListener(OnItemClickListener listener) { - this.listener = listener; - } -} diff --git a/img-selector/src/main/java/com/yuyh/library/imgsel/bean/Folder.java b/img-selector/src/main/java/com/yuyh/library/imgsel/bean/Folder.java deleted file mode 100644 index f9a8a87..0000000 --- a/img-selector/src/main/java/com/yuyh/library/imgsel/bean/Folder.java +++ /dev/null @@ -1,36 +0,0 @@ -package com.yuyh.library.imgsel.bean; - -import java.util.List; - -/** - * Folder bean - * Created by Yancy on 2015/12/2. - */ -public class Folder { - - public String name; - public String path; - public Image cover; - public List images; - - public boolean isAll = false; - - public Folder(){ - - } - - public Folder(boolean isAll){ - this.isAll = isAll; - } - - @Override - public boolean equals(Object o) { - try { - Folder other = (Folder) o; - return this.path.equalsIgnoreCase(other.path); - } catch (ClassCastException e) { - e.printStackTrace(); - } - return super.equals(o); - } -} \ No newline at end of file diff --git a/img-selector/src/main/java/com/yuyh/library/imgsel/bean/Image.java b/img-selector/src/main/java/com/yuyh/library/imgsel/bean/Image.java deleted file mode 100644 index c51a408..0000000 --- a/img-selector/src/main/java/com/yuyh/library/imgsel/bean/Image.java +++ /dev/null @@ -1,35 +0,0 @@ -package com.yuyh.library.imgsel.bean; - -/** - * Image bean - * Created by Yancy on 2015/12/2. - */ -public class Image { - - public String path; - public String name; - public long time; - - public boolean isCamera = false; - - public Image(String path, String name, long time) { - this.path = path; - this.name = name; - this.time = time; - } - - public Image(){ - isCamera = true; - } - - @Override - public boolean equals(Object o) { - try { - Image other = (Image) o; - return this.path.equalsIgnoreCase(other.path); - } catch (ClassCastException e) { - e.printStackTrace(); - } - return super.equals(o); - } -} \ No newline at end of file diff --git a/img-selector/src/main/java/com/yuyh/library/imgsel/common/Callback.java b/img-selector/src/main/java/com/yuyh/library/imgsel/common/Callback.java deleted file mode 100644 index 098a31f..0000000 --- a/img-selector/src/main/java/com/yuyh/library/imgsel/common/Callback.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.yuyh.library.imgsel.common; - -import java.io.File; -import java.io.Serializable; - -/** - * @author yuyh. - * @date 2016/8/5. - */ -public interface Callback extends Serializable { - - void onSingleImageSelected(String path); - - void onImageSelected(String path); - - void onImageUnselected(String path); - - void onCameraShot(File imageFile); - - void onPreviewChanged(int select, int sum, boolean visible); -} diff --git a/img-selector/src/main/java/com/yuyh/library/imgsel/common/Constant.java b/img-selector/src/main/java/com/yuyh/library/imgsel/common/Constant.java deleted file mode 100644 index 1e10fb6..0000000 --- a/img-selector/src/main/java/com/yuyh/library/imgsel/common/Constant.java +++ /dev/null @@ -1,19 +0,0 @@ -package com.yuyh.library.imgsel.common; - -import com.yuyh.library.imgsel.ImgSelConfig; - -import java.util.ArrayList; - -/** - * @author yuyh. - * @date 2016/8/5. - */ -public class Constant { - - public static ImgSelConfig config; - - public static int screenWidth = 0; - - public static ArrayList imageList = new ArrayList<>(); - -} diff --git a/img-selector/src/main/java/com/yuyh/library/imgsel/common/OnFolderChangeListener.java b/img-selector/src/main/java/com/yuyh/library/imgsel/common/OnFolderChangeListener.java deleted file mode 100644 index 946690c..0000000 --- a/img-selector/src/main/java/com/yuyh/library/imgsel/common/OnFolderChangeListener.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.yuyh.library.imgsel.common; - -import com.yuyh.library.imgsel.bean.Folder; - -/** - * @author yuyh. - * @date 2016/8/5. - */ -public interface OnFolderChangeListener { - - void onChange(int position, Folder folder); -} diff --git a/img-selector/src/main/java/com/yuyh/library/imgsel/common/OnItemClickListener.java b/img-selector/src/main/java/com/yuyh/library/imgsel/common/OnItemClickListener.java deleted file mode 100644 index 84f3a00..0000000 --- a/img-selector/src/main/java/com/yuyh/library/imgsel/common/OnItemClickListener.java +++ /dev/null @@ -1,14 +0,0 @@ -package com.yuyh.library.imgsel.common; - -import com.yuyh.library.imgsel.bean.Image; - -/** - * @author yuyh. - * @date 2016/8/5. - */ -public interface OnItemClickListener { - - int onCheckedClick(int position, Image image); - - void onImageClick(int position, Image image); -} diff --git a/img-selector/src/main/java/com/yuyh/library/imgsel/utils/FileUtils.java b/img-selector/src/main/java/com/yuyh/library/imgsel/utils/FileUtils.java deleted file mode 100644 index 50a01a7..0000000 --- a/img-selector/src/main/java/com/yuyh/library/imgsel/utils/FileUtils.java +++ /dev/null @@ -1,306 +0,0 @@ -package com.yuyh.library.imgsel.utils; - -import android.content.Context; -import android.content.res.AssetManager; -import android.os.Environment; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; -import java.io.FileReader; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.nio.channels.FileChannel; -import java.text.DecimalFormat; - -/** - * @author yuyh. - * @date 16/4/9. - */ -public class FileUtils { - - private static final String TAG = FileUtils.class.getSimpleName(); - - /** - * 创建根缓存目录 - * - * @return - */ - public static String createRootPath(Context context) { - String cacheRootPath = ""; - if (isSdCardAvailable()) { - // /sdcard/Android/data//cache - cacheRootPath = context.getExternalCacheDir().getPath(); - } else { - // /data/data//cache - cacheRootPath = context.getCacheDir().getPath(); - } - return cacheRootPath; - } - - public static boolean isSdCardAvailable() { - return Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState()); - } - - /** - * 递归创建文件夹 - * - * @param dirPath - * @return 创建失败返回"" - */ - public static String createDir(String dirPath) { - try { - File file = new File(dirPath); - if (file.getParentFile().exists()) { - LogUtils.i("----- 创建文件夹" + file.getAbsolutePath()); - file.mkdir(); - return file.getAbsolutePath(); - } else { - createDir(file.getParentFile().getAbsolutePath()); - LogUtils.i("----- 创建文件夹" + file.getAbsolutePath()); - file.mkdir(); - } - } catch (Exception e) { - e.printStackTrace(); - } - return dirPath; - } - - /** - * 递归创建文件夹 - * - * @param file - * @return 创建失败返回"" - */ - public static String createFile(File file) { - try { - if (file.getParentFile().exists()) { - LogUtils.i("----- 创建文件" + file.getAbsolutePath()); - file.createNewFile(); - return file.getAbsolutePath(); - } else { - createDir(file.getParentFile().getAbsolutePath()); - file.createNewFile(); - LogUtils.i("----- 创建文件" + file.getAbsolutePath()); - } - } catch (Exception e) { - e.printStackTrace(); - } - return ""; - } - - public static String getImageCachePath(String path){ - return createDir(path); - } - - /** - * 获取图片缓存目录 - * - * @return 创建失败, 返回"" - */ - public static String getImageCachePath(Context context) { - String path = createDir(createRootPath(context) + File.separator + "img" + File.separator); - return path; - } - - /** - * 获取图片裁剪缓存目录 - * - * @return 创建失败, 返回"" - */ - public static String getImageCropCachePath(Context context) { - String path = createDir(createRootPath(context) + File.separator + "imgCrop" + File.separator); - return path; - } - - /** - * 将内容写入文件 - * - * @param filePath eg:/mnt/sdcard/demo.txt - * @param content 内容 - */ - public static void writeFileSdcard(String filePath, String content, boolean isAppend) { - try { - FileOutputStream fout = new FileOutputStream(filePath, isAppend); - byte[] bytes = content.getBytes(); - fout.write(bytes); - fout.close(); - } catch (Exception e) { - e.printStackTrace(); - } - } - - /** - * 打开Asset下的文件 - * - * @param context - * @param fileName - * @return - */ - public static InputStream openAssetFile(Context context, String fileName) { - AssetManager am = context.getAssets(); - InputStream is = null; - try { - is = am.open(fileName); - } catch (IOException e) { - e.printStackTrace(); - } - return is; - } - - /** - * 获取Raw下的文件内容 - * - * @param context - * @param resId - * @return 文件内容 - */ - public static String getFileFromRaw(Context context, int resId) { - if (context == null) { - return null; - } - - StringBuilder s = new StringBuilder(); - try { - InputStreamReader in = new InputStreamReader(context.getResources().openRawResource(resId)); - BufferedReader br = new BufferedReader(in); - String line; - while ((line = br.readLine()) != null) { - s.append(line); - } - return s.toString(); - } catch (IOException e) { - e.printStackTrace(); - return null; - } - } - - /** - * 文件拷贝 - * - * @param src 源文件 - * @param desc 目的文件 - */ - public static void fileChannelCopy(File src, File desc) { - FileInputStream fi = null; - FileOutputStream fo = null; - try { - fi = new FileInputStream(src); - fo = new FileOutputStream(desc); - FileChannel in = fi.getChannel();//得到对应的文件通道 - FileChannel out = fo.getChannel();//得到对应的文件通道 - in.transferTo(0, in.size(), out);//连接两个通道,并且从in通道读取,然后写入out通道 - } catch (IOException e) { - e.printStackTrace(); - } finally { - try { - if (fo != null) fo.close(); - if (fi != null) fi.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - } - - /** - * 转换文件大小 - * - * @param fileLen 单位B - * @return - */ - public static String formatFileSizeToString(long fileLen) { - DecimalFormat df = new DecimalFormat("#.00"); - String fileSizeString = ""; - if (fileLen < 1024) { - fileSizeString = df.format((double) fileLen) + "B"; - } else if (fileLen < 1048576) { - fileSizeString = df.format((double) fileLen / 1024) + "K"; - } else if (fileLen < 1073741824) { - fileSizeString = df.format((double) fileLen / 1048576) + "M"; - } else { - fileSizeString = df.format((double) fileLen / 1073741824) + "G"; - } - return fileSizeString; - } - - /** - * 删除指定文件 - * - * @param file - * @return - * @throws IOException - */ - public static boolean deleteFile(File file) throws IOException { - return deleteFileOrDirectory(file); - } - - /** - * 删除指定文件,如果是文件夹,则递归删除 - * - * @param file - * @return - * @throws IOException - */ - public static boolean deleteFileOrDirectory(File file) throws IOException { - try { - if (file != null && file.isFile()) { - return file.delete(); - } - if (file != null && file.isDirectory()) { - File[] childFiles = file.listFiles(); - // 删除空文件夹 - if (childFiles == null || childFiles.length == 0) { - return file.delete(); - } - // 递归删除文件夹下的子文件 - for (int i = 0; i < childFiles.length; i++) { - deleteFileOrDirectory(childFiles[i]); - } - return file.delete(); - } - } catch (Exception e) { - e.printStackTrace(); - } - return false; - } - - /*** - * 获取文件扩展名 - * - * @param filename 文件名 - * @return - */ - public static String getExtensionName(String filename) { - if ((filename != null) && (filename.length() > 0)) { - int dot = filename.lastIndexOf('.'); - if ((dot > -1) && (dot < (filename.length() - 1))) { - return filename.substring(dot + 1); - } - } - return filename; - } - - /** - * 获取文件内容 - * - * @param path - * @return - */ - public static String getFileOutputString(String path) { - try { - BufferedReader bufferedReader = new BufferedReader(new FileReader(path), 8192); - StringBuilder sb = new StringBuilder(); - String line = null; - while ((line = bufferedReader.readLine()) != null) { - sb.append("\n").append(line); - } - bufferedReader.close(); - return sb.toString(); - } catch (IOException e) { - e.printStackTrace(); - } - return null; - } -} diff --git a/img-selector/src/main/java/com/yuyh/library/imgsel/utils/LogUtils.java b/img-selector/src/main/java/com/yuyh/library/imgsel/utils/LogUtils.java deleted file mode 100644 index 0118b26..0000000 --- a/img-selector/src/main/java/com/yuyh/library/imgsel/utils/LogUtils.java +++ /dev/null @@ -1,176 +0,0 @@ -package com.yuyh.library.imgsel.utils; - -import android.content.Context; -import android.util.Log; - -import java.io.BufferedWriter; -import java.io.File; -import java.io.FileWriter; -import java.io.IOException; -import java.text.SimpleDateFormat; -import java.util.Calendar; -import java.util.Date; - -/** - * Log工具类,可控制Log输出开关、保存Log到文件、过滤输出等级 - * - * @author yuyh. - * @date 16/4/9. - */ -public class LogUtils { - private static Boolean LOG_SWITCH = true; // 日志文件总开关 - private static Boolean LOG_TO_FILE = false; // 日志写入文件开关 - private static String LOG_TAG = "TAG"; // 默认的tag - private static char LOG_TYPE = 'v';// 输入日志类型,v代表输出所有信息,w则只输出警告... - private static int LOG_SAVE_DAYS = 7;// sd卡中日志文件的最多保存天数 - - private final static SimpleDateFormat LOG_FORMAT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");// 日志的输出格式 - private final static SimpleDateFormat FILE_SUFFIX = new SimpleDateFormat("yyyy-MM-dd");// 日志文件格式 - private static String LOG_FILE_PATH; // 日志文件保存路径 - private static String LOG_FILE_NAME;// 日志文件保存名称 - - public static void init(Context context) { // 在Application中初始化 - LOG_FILE_PATH = FileUtils.createRootPath(context); - LOG_FILE_NAME = "Log"; - } - - /**************************** Warn *********************************/ - public static void w(Object msg) { - w(LOG_TAG, msg); - } - - public static void w(String tag, Object msg) { - w(tag, msg, null); - } - - public static void w(String tag, Object msg, Throwable tr) { - log(tag, msg.toString(), tr, 'w'); - } - - /*************************** Error ********************************/ - public static void e(Object msg) { - e(LOG_TAG, msg); - } - - public static void e(String tag, Object msg) { - e(tag, msg, null); - } - - public static void e(String tag, Object msg, Throwable tr) { - log(tag, msg.toString(), tr, 'e'); - } - - /*************************** Debug ********************************/ - public static void d(Object msg) { - d(LOG_TAG, msg); - } - - public static void d(String tag, Object msg) {// 调试信息 - d(tag, msg, null); - } - - public static void d(String tag, Object msg, Throwable tr) { - log(tag, msg.toString(), tr, 'd'); - } - - /**************************** Info *********************************/ - public static void i(Object msg) { - i(LOG_TAG, msg); - } - - public static void i(String tag, Object msg) { - i(tag, msg, null); - } - - public static void i(String tag, Object msg, Throwable tr) { - log(tag, msg.toString(), tr, 'i'); - } - - /************************** Verbose ********************************/ - public static void v(Object msg) { - v(LOG_TAG, msg); - } - - public static void v(String tag, Object msg) { - v(tag, msg, null); - } - - public static void v(String tag, Object msg, Throwable tr) { - log(tag, msg.toString(), tr, 'v'); - } - - /** - * 根据tag, msg和等级,输出日志 - * - * @param tag - * @param msg - * @param level - */ - private static void log(String tag, String msg, Throwable tr, char level) { - if (LOG_SWITCH) { - if ('e' == level && ('e' == LOG_TYPE || 'v' == LOG_TYPE)) { // 输出错误信息 - Log.e(tag, msg, tr); - } else if ('w' == level && ('w' == LOG_TYPE || 'v' == LOG_TYPE)) { - Log.w(tag, msg, tr); - } else if ('d' == level && ('d' == LOG_TYPE || 'v' == LOG_TYPE)) { - Log.d(tag, msg, tr); - } else if ('i' == level && ('d' == LOG_TYPE || 'v' == LOG_TYPE)) { - Log.i(tag, msg, tr); - } else { - Log.v(tag, msg, tr); - } - if (LOG_TO_FILE) - log2File(String.valueOf(level), tag, msg + tr == null ? "" : "\n" + Log.getStackTraceString(tr)); - } - } - - /** - * 打开日志文件并写入日志 - * - * @return - **/ - private synchronized static void log2File(String mylogtype, String tag, String text) { - Date nowtime = new Date(); - String date = FILE_SUFFIX.format(nowtime); - String dateLogContent = LOG_FORMAT.format(nowtime) + ":" + mylogtype + ":" + tag + ":" + text; // 日志输出格式 - File destDir = new File(LOG_FILE_PATH); - if (!destDir.exists()) { - destDir.mkdirs(); - } - File file = new File(LOG_FILE_PATH, LOG_FILE_NAME + date); - try { - FileWriter filerWriter = new FileWriter(file, true); - BufferedWriter bufWriter = new BufferedWriter(filerWriter); - bufWriter.write(dateLogContent); - bufWriter.newLine(); - bufWriter.close(); - filerWriter.close(); - } catch (IOException e) { - e.printStackTrace(); - } - } - - /** - * 删除指定的日志文件 - */ - public static void delFile() {// 删除日志文件 - String needDelFiel = FILE_SUFFIX.format(getDateBefore()); - File file = new File(LOG_FILE_PATH, needDelFiel + LOG_FILE_NAME); - if (file.exists()) { - file.delete(); - } - } - - /** - * 得到LOG_SAVE_DAYS天前的日期 - * - * @return - */ - private static Date getDateBefore() { - Date nowtime = new Date(); - Calendar now = Calendar.getInstance(); - now.setTime(nowtime); - now.set(Calendar.DATE, now.get(Calendar.DATE) - LOG_SAVE_DAYS); - return now.getTime(); - } -} diff --git a/img-selector/src/main/java/com/yuyh/library/imgsel/utils/StatusBarCompat.java b/img-selector/src/main/java/com/yuyh/library/imgsel/utils/StatusBarCompat.java deleted file mode 100644 index c5d61d4..0000000 --- a/img-selector/src/main/java/com/yuyh/library/imgsel/utils/StatusBarCompat.java +++ /dev/null @@ -1,59 +0,0 @@ -package com.yuyh.library.imgsel.utils; - -import android.annotation.TargetApi; -import android.app.Activity; -import android.content.Context; -import android.graphics.Color; -import android.os.Build; -import android.view.View; -import android.view.ViewGroup; - -public class StatusBarCompat { - private static final int INVALID_VAL = -1; - private static final int COLOR_DEFAULT = Color.parseColor("#20000000"); - - @TargetApi(Build.VERSION_CODES.LOLLIPOP) - public static void compat(Activity activity, int statusColor) { - - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { - if (statusColor != INVALID_VAL) { - activity.getWindow().setStatusBarColor(statusColor); - } - return; - } - - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT && Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { - int color = COLOR_DEFAULT; - ViewGroup contentView = (ViewGroup) activity.findViewById(android.R.id.content); - if (statusColor != INVALID_VAL) { - color = statusColor; - } - View statusBarView = contentView.getChildAt(0); - //改变颜色时避免重复添加statusBarView - if (statusBarView != null && statusBarView.getMeasuredHeight() == getStatusBarHeight(activity)) { - statusBarView.setBackgroundColor(color); - return; - } - statusBarView = new View(activity); - ViewGroup.LayoutParams lp = new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, - getStatusBarHeight(activity)); - statusBarView.setBackgroundColor(color); - contentView.addView(statusBarView, lp); - } - - } - - public static void compat(Activity activity) { - compat(activity, INVALID_VAL); - } - - - public static int getStatusBarHeight(Context context) { - int result = 0; - int resourceId = context.getResources().getIdentifier("status_bar_height", "dimen", "android"); - if (resourceId > 0) { - result = context.getResources().getDimensionPixelSize(resourceId); - } - return result; - } -} \ No newline at end of file diff --git a/img-selector/src/main/java/com/yuyh/library/imgsel/widget/CustomViewPager.java b/img-selector/src/main/java/com/yuyh/library/imgsel/widget/CustomViewPager.java deleted file mode 100644 index 93e5997..0000000 --- a/img-selector/src/main/java/com/yuyh/library/imgsel/widget/CustomViewPager.java +++ /dev/null @@ -1,52 +0,0 @@ -package com.yuyh.library.imgsel.widget; - -import android.content.Context; -import android.support.v4.view.ViewPager; -import android.util.AttributeSet; -import android.view.MotionEvent; - -public class CustomViewPager extends ViewPager { - - private boolean isLocked; - - public CustomViewPager(Context context) { - super(context); - isLocked = false; - } - - public CustomViewPager(Context context, AttributeSet attrs) { - super(context, attrs); - isLocked = false; - } - - @Override - public boolean onInterceptTouchEvent(MotionEvent ev) { - if (!isLocked) { - try { - return super.onInterceptTouchEvent(ev); - } catch (IllegalArgumentException e) { - e.printStackTrace(); - return false; - } - } - return false; - } - - @Override - public boolean onTouchEvent(MotionEvent event) { - return !isLocked && super.onTouchEvent(event); - } - - public void toggleLock() { - isLocked = !isLocked; - } - - public void setLocked(boolean isLocked) { - this.isLocked = isLocked; - } - - public boolean isLocked() { - return isLocked; - } - -} \ No newline at end of file diff --git a/img-selector/src/main/java/com/yuyh/library/imgsel/widget/DividerGridItemDecoration.java b/img-selector/src/main/java/com/yuyh/library/imgsel/widget/DividerGridItemDecoration.java deleted file mode 100644 index 94caf92..0000000 --- a/img-selector/src/main/java/com/yuyh/library/imgsel/widget/DividerGridItemDecoration.java +++ /dev/null @@ -1,172 +0,0 @@ -package com.yuyh.library.imgsel.widget; - -import android.content.Context; -import android.content.res.TypedArray; -import android.graphics.Canvas; -import android.graphics.Rect; -import android.graphics.drawable.Drawable; -import android.support.v7.widget.GridLayoutManager; -import android.support.v7.widget.RecyclerView; -import android.support.v7.widget.RecyclerView.LayoutManager; -import android.support.v7.widget.RecyclerView.State; -import android.support.v7.widget.StaggeredGridLayoutManager; -import android.view.View; - -public class DividerGridItemDecoration extends RecyclerView.ItemDecoration -{ - - private static final int[] ATTRS = new int[] { android.R.attr.listDivider }; - private Drawable mDivider; - - public DividerGridItemDecoration(Context context) - { - final TypedArray a = context.obtainStyledAttributes(ATTRS); - mDivider = a.getDrawable(0); - a.recycle(); - } - - @Override - public void onDraw(Canvas c, RecyclerView parent, State state) - { - - drawHorizontal(c, parent); - drawVertical(c, parent); - - } - - private int getSpanCount(RecyclerView parent) - { - // 列数 - int spanCount = -1; - LayoutManager layoutManager = parent.getLayoutManager(); - if (layoutManager instanceof GridLayoutManager) - { - - spanCount = ((GridLayoutManager) layoutManager).getSpanCount(); - } else if (layoutManager instanceof StaggeredGridLayoutManager) - { - spanCount = ((StaggeredGridLayoutManager) layoutManager) - .getSpanCount(); - } - return spanCount; - } - - public void drawHorizontal(Canvas c, RecyclerView parent) - { - int childCount = parent.getChildCount(); - for (int i = 0; i < childCount; i++) - { - final View child = parent.getChildAt(i); - final RecyclerView.LayoutParams params = (RecyclerView.LayoutParams) child - .getLayoutParams(); - final int left = child.getLeft() - params.leftMargin; - final int right = child.getRight() + params.rightMargin - + mDivider.getIntrinsicWidth(); - final int top = child.getBottom() + params.bottomMargin; - final int bottom = top + mDivider.getIntrinsicHeight(); - mDivider.setBounds(left, top, right, bottom); - mDivider.draw(c); - } - } - - public void drawVertical(Canvas c, RecyclerView parent) - { - final int childCount = parent.getChildCount(); - for (int i = 0; i < childCount; i++) - { - final View child = parent.getChildAt(i); - - final RecyclerView.LayoutParams params = (RecyclerView.LayoutParams) child - .getLayoutParams(); - final int top = child.getTop() - params.topMargin; - final int bottom = child.getBottom() + params.bottomMargin; - final int left = child.getRight() + params.rightMargin; - final int right = left + mDivider.getIntrinsicWidth(); - - mDivider.setBounds(left, top, right, bottom); - mDivider.draw(c); - } - } - - private boolean isLastColum(RecyclerView parent, int pos, int spanCount, - int childCount) - { - LayoutManager layoutManager = parent.getLayoutManager(); - if (layoutManager instanceof GridLayoutManager) - { - if ((pos + 1) % spanCount == 0)// 如果是最后一列,则不需要绘制右边 - { - return true; - } - } else if (layoutManager instanceof StaggeredGridLayoutManager) - { - int orientation = ((StaggeredGridLayoutManager) layoutManager) - .getOrientation(); - if (orientation == StaggeredGridLayoutManager.VERTICAL) - { - if ((pos + 1) % spanCount == 0)// 如果是最后一列,则不需要绘制右边 - { - return true; - } - } else - { - childCount = childCount - childCount % spanCount; - if (pos >= childCount)// 如果是最后一列,则不需要绘制右边 - return true; - } - } - return false; - } - - private boolean isLastRaw(RecyclerView parent, int pos, int spanCount, - int childCount) - { - LayoutManager layoutManager = parent.getLayoutManager(); - if (layoutManager instanceof GridLayoutManager) - { - childCount = childCount - childCount % spanCount; - if (pos >= childCount)// 如果是最后一行,则不需要绘制底部 - return true; - } else if (layoutManager instanceof StaggeredGridLayoutManager) - { - int orientation = ((StaggeredGridLayoutManager) layoutManager) - .getOrientation(); - // StaggeredGridLayoutManager 且纵向滚动 - if (orientation == StaggeredGridLayoutManager.VERTICAL) - { - childCount = childCount - childCount % spanCount; - // 如果是最后一行,则不需要绘制底部 - if (pos >= childCount) - return true; - } else - // StaggeredGridLayoutManager 且横向滚动 - { - // 如果是最后一行,则不需要绘制底部 - if ((pos + 1) % spanCount == 0) - { - return true; - } - } - } - return false; - } - - @Override - public void getItemOffsets(Rect outRect, int itemPosition, - RecyclerView parent) - { - int spanCount = getSpanCount(parent); - int childCount = parent.getAdapter().getItemCount(); - if (isLastRaw(parent, itemPosition, spanCount, childCount))// 如果是最后一行,则不需要绘制底部 - { - outRect.set(0, 0, mDivider.getIntrinsicWidth(), 0); - } else if (isLastColum(parent, itemPosition, spanCount, childCount))// 如果是最后一列,则不需要绘制右边 - { - outRect.set(0, 0, 0, mDivider.getIntrinsicHeight()); - } else - { - outRect.set(0, 0, mDivider.getIntrinsicWidth(), - mDivider.getIntrinsicHeight()); - } - } -} \ No newline at end of file diff --git a/img-selector/src/main/java/com/yuyh/library/imgsel/widget/SquareRelativeLayout.java b/img-selector/src/main/java/com/yuyh/library/imgsel/widget/SquareRelativeLayout.java deleted file mode 100644 index 601767e..0000000 --- a/img-selector/src/main/java/com/yuyh/library/imgsel/widget/SquareRelativeLayout.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.yuyh.library.imgsel.widget; - -import android.content.Context; -import android.util.AttributeSet; -import android.widget.RelativeLayout; - -public class SquareRelativeLayout extends RelativeLayout { - - public SquareRelativeLayout(Context context, AttributeSet attrs, - int defStyle) { - super(context, attrs, defStyle); - } - - public SquareRelativeLayout(Context context, AttributeSet attrs) { - super(context, attrs); - } - - public SquareRelativeLayout(Context context) { - super(context); - } - - @Override - protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { - setMeasuredDimension(getDefaultSize(0, widthMeasureSpec), - getDefaultSize(0, heightMeasureSpec)); - - int childWidthSize = getMeasuredWidth(); - // 高度和宽度一样 - heightMeasureSpec = widthMeasureSpec = MeasureSpec.makeMeasureSpec( - childWidthSize, MeasureSpec.EXACTLY); - super.onMeasure(widthMeasureSpec, heightMeasureSpec); - } - -} \ No newline at end of file diff --git a/img-selector/src/main/res/drawable-hdpi/ic_album.png b/img-selector/src/main/res/drawable-hdpi/ic_album.png deleted file mode 100644 index baf9d71491d81356f0e32b82e0470977fd97e3d4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 965 zcmaJ=O^ee&7!Hb}#o|E}RL~&{;)>0rY11~bacz=zw`xl12DW%IO{Q(=CKHpXO?z8! z{s8a73VKrXBq-=r1o7m-lP9mM|G-JV)`K-LnRkZgdEU=?+-z*7Qx{SU!=&q5dW-I- zlXc=a{onZZmw5evlLt{=&&BnmU;`FuH4dVb6@nNuzf-T8N$(M#Eo(s4tp>wNfP7*CLxYC|VsnBnnF-ou%LfOIbgfmx&e(##R8c9G|4L02;>s zp`N!yN2G-g_WR3#_TPVWA(58*+t|hJlSqqUxaA;z@yQpHbj|qzj;7K){kR;h_nNv&kFRZ$gHU9IR+Ew9#cnowJC zb!-nk0vqi$fpw@($T)Rc}}O#Lagf*GyeYU^XoJNPJQIxzJGr4w|ZuMAAWfw sU51yAU2E>8%%?}rzPL3re;l0Tnf*IIU+tM+ev4 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 diff --git a/img-selector/src/main/res/drawable-hdpi/ic_take_photo.png b/img-selector/src/main/res/drawable-hdpi/ic_take_photo.png deleted file mode 100644 index 7463196b9caa6e44323df8e98e7f66f15fa066fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2075 zcmaJ?c~nz(8hv32h%6Qn#UeZsR)s7CLXr|7Bw)e-4IyBV z2f2wm9qhK+0RZ5@VY7J1$VOg@EgJd$`P;rSWN?FH1aPui2J1yy2w+InVhH3YMVSx} z5=ry^atjIv083v5UjPdd;%O4K5+_>5;0#I)!UllwNP|Ws$%bH13}q@*bj;JsS1_PL zO2_O9O&}y_n2=n-&euZ8`H6f zAe9cgs=$JD60Jf5E7U4*Sy3cb=fZRhlIibPP-@=Es&sG5gcJ;K5NYs49AWuNtH6YW z{|{9v-=TFd5BekD|0%5F=V>5357Mb~wGyOpGVF3F4UMUVM6g=RSF3YYtH_nBVYN=K z)__drO4UIBT?&;{t=9#ta1s(|9F-0hsU#4GMaLj2IE6w=3#Kw+DHKK+l@iS$5@SN6 znN(slg&9T;A+ktRM(`?^rIzF>Ar-vJmHxq{tjS%rgHnS;WQJ@XO8puV$}qAr4xezOyc}cxQe{g*aY|SUVRJO9cR{N)C&` zH;m5i-oxfITs-#dKQ|B(d?Dm#uOMuDPyJH7Me=Qr9^Op9U0dU{7sht)lc|8h_cH7= zUg=+Z{q1V$&5z?M>MQnrekS$xa8G30Dc!|PQC&;#%;3Oydcg#9aqz1tYaF4S(Q3^!pB<*ubxXXU=fQ5S$3l=?~1#SK!ZyH_r_Cy?@?&dL7AG+UPPWM+I7kCqq#wwfn3EjQ!= zzI^U9Inr75c;IHR??|y}-|hp)4%J1WE;KDDtG(u$E=>bQi=lh7ey_m1A~I&|9y90t ziDJ`UcVQ%;zg2Mb&@b8-7oEDHyL3EYGo98N?mc#-^~Vn_AJ~mfaci3Balf%Gel$I8 ze!-Q-l%V~qVeKd>KzQS&qO)9fojkr!^k`T6{W3vIk$b$Xr6I}@yRE9o&A5;_e@#m~ z87KVOC$Fr(ef+)RHz}!D+eLm2McEAe$t50L$+>`MWT*rOO*)I;HrZ{i*i@pIpK)e1 zQimH+vhCisx&LDft^{Jlqy^2kW!I{=(<7{;fG(_FAcP z>A8&?t|>0t{nN4bAL&Uq9A!gKUmW(IKaf@hc5<@Xj^vLNd6LoWomCt=)^2L+Y&*RV zNR@oQ@q5zoo42=o`eZBwW@UHv4xDs7*dull{~-A4mh&4&p%>||p@d8bxjHj@xao!YZoy%SrNHNP4FAZLiI+pM zk&;18!CaEecsFiy!?pF(zr^@YtQqiBEOl4jg~ZFhYfele>x*b%$$tP4>nWrF diff --git a/img-selector/src/main/res/drawable-hdpi/ic_uncheck.png b/img-selector/src/main/res/drawable-hdpi/ic_uncheck.png deleted file mode 100644 index 8853b2797a2d611b4b61a93b8f2028b2506526a9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1987 zcmaJ?dsGuw9u7r7h{1Xas1eyTiWS*p5|WSyL?k3&TEim&iL48RWC&wOCMJUk&_ZOl z3sw=Ru0+bBvISNf16UrG0^+u!wn)mFDj=X(Ulm$WTvv$NouJtMvFw~PbMNn-@B4nw zduC63Yz)o|?}fo&aKg=eF}j93-^K3em-B2$hb}7-ffSLznTSEA12K^bI0GaI)iNb0 z24#xeofkor;kph=lp<2m7LFWNlVwf}*{If{Y*Z}5sFlf8AVSChm5_!@eDLKNA^}ox ziOCERMWl@av!Km+I#7}qn<&py$=M2G#7086k%J1TK}1F{spCYwxUFqw4b?+GCkDg&U<02+l9LgUaW9C`@h z)k8$R=@gk9F+cj1FVx}^vk*kf0RV%+KsM0Guuch3*=#mI2?0VvNGO7&&($C@BT1uQ zGq1o0^>Q7gMIcy1a4O0&;2eZYL?eBff?E4pR-=DaCbVFHQKki`WQsGTd7w!2|DkI2 zYqTB_gTKc6KZW&)xmpkqgL*heCr2BXxyI>A%Zbu~G6dEo!f^I{72~sD1lDK4T0&IR zT-6BclOc@)Ht2)qI3f{8sL>-bjT{v6xkOZj3_%JGlNn79WrVQUY!-`36);#KECHKM zjbu?nsZmiZ`aG8p%X8GA2ASt7e&wRoU4ZKx2elUU%m;PQE>IDzgVlt&v^mhiv4k$D z_lm1nI2PuDTmTIQa5nch&7MC(C&;;dJ-VpzdiX&NI`KMmwBtUb7Gf}qXhMEuqH%b# zO0`)cTXCKnrqt+F`l@leWpcyln)O9RUUtjT+S*^MrI@U1KKlI~F+;r5gf!zN6gEeQf7PwQC>O zQPw_gPVZS_cA=%a_nB5wTr-`7tM6Zgd@xmoYkT^Jfl<_WVoN7Ywdd?eV^4Z> z+1-7Iw(MVC8~51-@g`4?h?t@m_e%y7-_D<~N~7<#?wASRZh1a+rn~9sctX{UzLE1` z+XdC-_coVYsP%t3o2t=Rl6ja8W6+bVbkLwCs)okx~d6^o{y zG1FML3c3d9#z$|zAv%Ot9cc*%8Xq58o$Ci_4i@B>OZ_|bFUIx=fAE_A&>s28y}*-% z(yl$$k;`4P*u4(|ym-Uqdy8nQptD_$0>>b9{cjS+=s-^2aP<%C2fHiU>-Lv-=2QmS z8hr08yByfs-L#{}#HcT`-2BNkv+c^pt}$(G(^{hYEwi|IsJ8(or9t1+oQ{7|_{A!X z@ss}qBbJ^Mb%C>|0!_H?F2k{IWABVqwoHn}Wknunc`rXH!28SVmWCq_b;E|g;@-KN zCYcyN>L&VEs(V?gi$AyYvTlF6t)pytwZu`rdtJ-83oyF7BCmXxcGL48eSQ{hdTV&f zRB7!&;ty9SEAl$>@rHMfiUP{U-Qq?~xHkJa<231e&^IMH`&NP{V7%{<-E50=yG;VD zSMY=R6H_!}h4NTI&$?^UgL_jZM`QEZ_YRB;7&9wIO~?KEqt*V6-kz!U_Z1T!eb}va zt#v`EJyS)>-{CQjpVfaJ(_^=V>gzu(c=*rTTeb#=|J&8uLp5OQ#hN=$-8jBV%g@f+ zeP{J^%ax`n)AHPI`%>1uGo`{0^l5$&`QT)bIWfx(tA1qO;25c!vNK4s8-HPzHSarHRXe+HN!53~rlqMJ z?ZsyDyERpRG)I2XmSmBvGSjc}!X{@VunmECV)7x~)#*2e9=?wRs)CixGmj-th`nDYPRDa)AlEO1@$ml2; z*ic`(%_A+K^fuuue99lP@pNceO98WaGNHBp+$C4{hrKPwiU*nuOK!pec^~;bh!Y4L zgpF}p?`q!h{+Rq-w(AAG9k#l#(!ybD%9H7fD+T^=OYkz`r~b1wdBdE*wV~~;m6^dw zafjVG2U&kgkB)7iC%@b9(B-5xh3@)d>6-+-%pj$c-y!1=Hqx@AFspK xJ42~hOVZb?pBCbtRC@g8hQ7S6+RB^77+1`p2~tqln8W1!tqKLPd@C=#=)bG0G*JKm diff --git a/img-selector/src/main/res/drawable-mdpi/ic_album.png b/img-selector/src/main/res/drawable-mdpi/ic_album.png deleted file mode 100644 index cada6a95ac4448b4e7a030fe4df95009ac58d855..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 956 zcmaJ=KX21O95q5z5YY*N1k=ft5TM3qJ8@iFajV2mX(Sv)Zq#OAz_BlhmD*?Q3wDBp z5E}>vSXmJg3zW4L0wx3u-T4SCd;tc|X_7J!JotWhdhh-I+`Grk#?9s2l^nw`%k?e8 zqH7lC&MwjaGx6vHT`rSan{4AQN$dzQ6&H69sQY#gS;%%rcfX=C!<@eAwc4a@-clXx zb9RQ|Qa_|@hAD5Pq3sM10Ugxy0*(E3_>l#ktFgP1$(x~$`rg(!Lfhj;%NY+G#br0v zK{-{afRBg`QhzUq)l_3Ax+;ycW5|LDgbXzHxTv<-1UilokhoIb;Y%`*6;6<3xhSs! zkryP$7hr+Uiv_jFt3?q^KbB^T+^%XFo6}r$r?GuPLKVU!Nw}oI;iv}%MNuFxLQ%|9 zL_Qt`#7^@;yfRZTQ0zorNIV>XOwsP(A<2V8wIF}9L>6qxiU}}d@;P|Yi8PGKU z5B2>yIwlr6srR44acdMJXrUMnBZppGcO^>|s(OTMf}o^Xo`xtSgOkY+YeY-OSC80_ymPTKn+9nb-7Ltk#W6EB*2G+xv42fBw_{i!b*Ns_XloUoOGl o7p&(`TCdoPZ?|6H_V+Po~;1FfglShD4M^`1)8S=jZArg4F0$^BXQ!4Z zB&DWj=GiK}-@RW+Av48RDcsc8z_-9TH6zobswg$M$}c3jDm&RSMakYy!KT6rXh3di zNuokUZcbjYRfVk**jy_h8zii+qySb@l5ML5aa4qFfP!;=QL2Keo|$g4ftk62xuu?= zskym{xsHO7fuX6sfw8`^fv%CUm5G6siID;nC;@FNN=dT{a&d#&1?1T(Wt5Z@Sn2DR zmzV368|&p4rRy77T3YHG80i}s=>k>g7FXt#Bv$C=6)VF`a7isrF3Kz@$;{7F0GXJW zlwVq6s|0i@#0$9vaAWg|p}_xAZy=|3= z+bu3Q&4cPq!RZ!9SDbqFfsWA!MJ`fg!-Rk-2*iXZT_6XZ_*3(MDZU7pwEuXR)&jG| zFHaZ8kcwMLKmPx>XBME z$F?=hNo6&DOo@sLc8yCi%>_O`xO{*ibOXERG{n_MlQ0d_5>gTe~DWM4fr{{b& diff --git a/img-selector/src/main/res/drawable-mdpi/ic_checked.png b/img-selector/src/main/res/drawable-mdpi/ic_checked.png deleted file mode 100644 index 4e4136e68104512b4d97333b86d2a706d9c1dfcf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1555 zcmeAS@N?(olHy`uVBq!ia0vp^8X(NU1|)m_?Z^dEk|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ*9U+nAI{vB1$5BeXNr6bM+EIYV;~{3xK*A7;Nk-3KEmEQ%e+* zQqwc@Y?a>c-mj#PnPRIHZt82`Ti~3Uk?B!Ylp0*+7m{3+ootz+WN)WnQ(*-(AUCxn zQK2F?C$HG5!d3}vt`(3C64qBz04piUwpD^SD#ABF!8yMuRl!uxOgGuU%v{0TQqR!T z+}y-mN5ROz&{W^RSl`${*T~q)#K6kLNC66zfVLH-q*(>IxIyg#@@$ndN=gc>^!3Zj z%k|2Q_413-^$jg8E%gnI^o@*kfhu&1EAvVcD|GXUm0>2hq!uR^WfqiV=I1GZOiWD5 zFD$Tv3bSNU;+l1ennz|zM-B0$V)JVzP|XC=H|jx7ncO3BHWAB;NpiyW)Z+ZoqGVvir744~DzI`cN=+=uFAB-e&w+(vKt_H^esM;Afr7I$IMft0!ZY(y z^2>`g!FqgstvvIJOA_;vQ$1a5m4K$`WoD*W89Q4TIlEdITUt0d8XCHqS{j=gxtf?* zIyySLnOHcR!SuT1Czs}?=9R$orXcj1;M5CB4!H$Dn_W_iGRsm^+=}vZ6~NxM%Eav! zL!9P8^`_uU~2Ys zaSW-r^=5{@he)8z@%`4;yZt0txILHa{AOp%u6M9fjm+TQ>NMS9iNdRdidDhW^<$^9o2;8^2KJ{&|>W}Ot!b{RFvDKNmSGn%; zKgDjy&lKS=rSMj8e~a^f&r7nGBwmVSUOMkCGCx`FBm4JhjnOeqf6iI-2OeVc=~Q(- z6~<7^boSGYkcfsPOP`5Z%sSms-vSOZ)cD-eSh%9)xbV$}-=314*52CHUd(T}6Mw&+ z%sNA5>E9re+^*zDKBiJxkCw(}-g9PVE~{8`+4Ma(}oe>wO&l3P6fb;j+5 zi)N>JrB1*6l10xv^x;EwX7RR98*<*?t2=baK>l0(7It~w7t4BIx0{39OAfC5 z{4-pbyH&<)eYk-^W<_M&|*1ed?d5Ciem7+9 z=~zW+w>v`V2lXzMFzm?urqMEW#dFufVzVzr@mni>WUE`M)CJR>rI$}E7j?+pXY%%$ z;k@%x6}DRyX5KnJab>f!E3c>eUxmG@ccaf`KYy>r@GJ6Syu4rniv;63lLPTgJPaHX VC)e?*6&wN;)1Iz=F6*2UngE*qNoN26 diff --git a/img-selector/src/main/res/drawable-mdpi/ic_default_image.png b/img-selector/src/main/res/drawable-mdpi/ic_default_image.png deleted file mode 100644 index 8baf850137d1e3aff665f346e63e2b51ceb91d8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2544 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 diff --git a/img-selector/src/main/res/drawable-xhdpi/ic_album.png b/img-selector/src/main/res/drawable-xhdpi/ic_album.png deleted file mode 100644 index 387306eb97e5681ea4df7f64abee8c80017f0776..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 976 zcmaJ=&ui0A91l!n4tn$AKzL*z3O4U0O&ar9oNLp%!cs<8SdXU3TN}6J#pG>Gd-O7f z>@NNR%0L9q1@$B-9z5tpZyvqWvnOA=wiB@nyu9~)d_JG=&v(34zn@!LUJ?W$SKF`} ze7~Bl#moGEa(q3mF?rPz#(6X%NTjKl(sc1!3Wa-)ym#y@_2K zNKS^4(jek&L0DZ&Bgfq%475qd4^442d@BOqGsPXvMs`#tU4LT`lkGvh=??Z>!xPu; zg4Gmrfq*avq``ie;M5eyx|pA{Ybb&-gzcH)Sx_x|3zTV0fF>35E-LCkHzZlpbydF& z6eMd96<`77l>$}~RuwS$MD8v2c5%b1PJD686uXQ?7{Xq!C-n*vjXO{_3licXszFjM4_o}~~(Gubeil!+G%rcMN931ulwfwp}y zGzezsgf+-{y#EzWn*E5t21)2a?DEF#u4JwvT#kvuXxyZ9e_F+@E@d?7(g>8x2BEC|sveCf%r(I|UkwMyN3ReJFF4`+um9RL6T diff --git a/img-selector/src/main/res/drawable-xhdpi/ic_back.png b/img-selector/src/main/res/drawable-xhdpi/ic_back.png deleted file mode 100644 index e4d8522917168b0f8a6283e0b1a5a6b9347840a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1401 zcmeAS@N?(olHy`uVBq!ia0vp^5DSr z1<%~X^wgl##FWaylc_cg49seoArU1JzCKpT`MG+DAT@dwxdlMo3=B5*6$OdO*{LN8 zNvY|XdA3ULckfqH$V{%1*XSQL?vFu&J;D8jzb> zlBiITo0C^;Rbi_HHrEQs1_|pcDS(xfWZNo192Makpx~Tel&WB=XQrEMU}mmhZmDNz zYHn^~uA^XNU}&muV61O!plf7oWny4uVx#~CNh+i#(Mch>H3D2mX`VkM*2oZxQ#zd*s+860W~8sV9F zDf#8anqWP?zE+-j#U+V($*G<$wn{)#^fEJ3tc)BDO)Z_Aj4Umj91RU!O`S{(T$~*p zoh)6AjGZkF&0%_7@{>z*Q}aq-dQ%X3jdAJ)C5PMspv^9+MVV!(DQ-pixe8!!TV>*Q zivdpapn6kqyTuTvUVWfr^g)q}6xlE#UdFMRQzOE@#g4yIpe2V}lUO z+n`8IB{R(s7e`&4941E=$3N1s@0-Ot3e$wXpKT3JDf@o!?#Y^a8s|SxadtbP`h&rJ z!R4htRVu#My*@DYr_PDW`l+Rf`#AR5?!C73+39(ayA|GC-@&vd>dbaW(YvpY+i;la zKJ(n?{*!YBn`U=q(|$i7i@93t^Nx2ri_S_r-b(nxnzStav|&EmbGFa^0$Xk4PwkPt zBXK7FV8u%DEwOJHC7XXLcTBmwcNzEJ2lo>E-ZDSsQ$I%?q}q-nOExd*(RWl`I+wK;`!+tCb7(DOX|8VcX5(jfLH63 zxTy*&mN=d2Np-hk`FcrD=^0P8)=L%>Pv(wH-_QxyMKh+d2_!$bDNw|{YYF2Kg9?L| z6vy=@4KI?7=W5h=NI8@gZ-3!(*FuX|;nsnziY;tMrkFT<6tFdId9ou%gjIkyM)$SL zBuyX#G2S954g>-uf&`Ec3Pjts z-T^%@7@gJPut+45yMZBuBxHfshOCglC>w+E@KV46VKRsSabSX2$|Q_jy-oncA|_!Y zo$JVjSzw~rKV1ffrU!=!)02g6B7&DE;Gtlk0um4r018QpRL)Q^2{XD36l;$u1YpJl zNoErM3@Vb#16Ys@1n6WJ2ce^jE8yxzrqW$qon7q#nj@7?ade_MIXcjs7|xCiXBsg3 z5KwP2Q9Ogs_MP>G?wEu`1c4b8N?KYPIn9X-$r313H#awmBaK3%IiMB}@@-N?pm31N ziE|2UP%e~-VMGi`0j;7S4oXFs1T@k=Q;@)4WTo=iGNA>dCfP_)hcuV&93p%bKqUq%<*d>MXFicY)?9c_X|>TL{0Z)pJAJ52HT zZEAf(YaK=?PRuWulvHT%k_14$XYu#H5aqxv(`FV#p;Dz&; z%Es6Qlhyn|yTgm%V=u?-$J6h>`grP1s%}%;TDWYN=ejXpv&U77Oa65yyEhWV+RN8= zPd+d3n^Io|LzIk%OBTjwj(4soJ7o)qy+X`Ymo}?1%9SrHr-=uU;q!VK!Nq~Xqk8a; zB*g>xW>)^_>X-eaig&6v~$G_?AxxF?X}zciIskPZSKCYBax{oo7Q%+>Mjya z(+d(be(>C z_?(btRha6MS3g;hQvE|#(8?2SXGgk~y#8MOfHd>|JDSB;PV6gvy|i=C=kBX>MsKVR zc4s}6ww3=aHun){6gl2@HZO(pNoVa3RXRFLudkE%#3oxeDF^7cll%wYH4@(4i=Qqt z+mhu@9?D((lmv(T{IPGUC^z_4zg@|o+8NfjFgvC$G>$*`ZKbY%`o@Typ@Vjf;f$lQ zTt9X2KJ3HJ6{kY&(gqGWAQ&`cw|2!PD;04G{q;J?e8hmI2o#^$&)GatHkh% z2~w((9O3<7fHZ~e+ue0F{E2et1KX~nXphvy_DI)QO+Z6y>;P`tyK;}bIAx~vMDaT*CkWGZ_S98&Z203`_m0Q zYBQ$6(qcfrgA(KP<$lqED5C>d8VcgFQBbgAnyA8Te%rkK26k7I_Mahu6U;vEvnA&b DrVoY$ diff --git a/img-selector/src/main/res/drawable-xhdpi/ic_default_image.png b/img-selector/src/main/res/drawable-xhdpi/ic_default_image.png deleted file mode 100644 index 5beee31b2544e004ab67ccb1ce7d4503bfd509cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4196 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 diff --git a/img-selector/src/main/res/drawable-xxhdpi/ic_checked.png b/img-selector/src/main/res/drawable-xxhdpi/ic_checked.png deleted file mode 100644 index 15b15cf91965d7791af5f168044a61303c7710dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2841 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 VKJ8n&QL{g*ZVXTQ8RyWX{{T~Ms^|a! diff --git a/img-selector/src/main/res/drawable-xxhdpi/ic_default_image.png b/img-selector/src/main/res/drawable-xxhdpi/ic_default_image.png deleted file mode 100644 index 4577822c31293574112e520dcadfe4156f53c3d9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6312 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 MF=htEXWVc67n!!g>;M1& diff --git a/img-selector/src/main/res/drawable-xxhdpi/ic_folder_selected.png b/img-selector/src/main/res/drawable-xxhdpi/ic_folder_selected.png deleted file mode 100644 index a005bd2916635d9cc991f02c4553d69fd3545372..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1943 zcmaJ?c~ld39*18F0D|)J@)&s>h6&R`EIywPG1(BCO(zg^bG{LWEp(%K z?Yx2nF{?2>it9~Az@Z4MOu4uaBr^S_1OvJtYc#)X6VWip0;3R%!E}@~50uM)8)`5t zpv`z9^1pn4RoI-Ik0MYaVm9SsYGQDiYaO9bK@^6-xCu)(nR4d4sL+{klUZj%fvBjt zt^w3ky-{PzGq0QD$mIf=(Tu}JH6oJ;K|+P0*J}i9o>Usn6-V>K#Ud6<$`!F$EQvTw z#1574CH!dVJXc~;=Nb?rKF`%GaHE)uavgRsphRQ|g6Vf6nrO^q0OraT=oimLvZ&rm zu4d6(#L`8%5RnYz81DZKd;W@WkYl@GUE;7{e#A&P9wV$BOaW&}q*q*J5>c{c;C{6{ zCOKhM*O?KeMntKgi?b6xFKw0FkRjIk@l0N4;pmmJe@K zowyP5uy;t3K*z^(%EThLc^0;Js=qyE*52ukyc;nUl^MyI?3w-Yok{-ev!P8jv(%EV z0)=b;9=9o%TIUTz%YDXtbuOjT1z}Xu3!rOM3ETJhxxj~xE@ecd)E*pmk0F&Mj?q!OMT{e+!MV?!LC}UiZ?+%1g}IwT-zQ)f^w&P0y3d{y`eq>7!l$U`b8! zixuqwUi&j{Z>g0I3)9}{Zu2w)vdw+>f!Ocy9zY~S!6Q|<0kZnTwSseAjB z4|fmN)Ty`@XKyklJLG{)5Mye-J9 zrE>$VJCHP37&7G4o052X*Zy-6%3|Hwcb1Q(ZS>uW24<1_zUw&|Qnt4&d{i_OA8qEv z9R3qCG#qNrfZyfCpSTgTBJQ51_}i;4lN-1C7t2NiYoP8^VzlZm#*C_kifk!EqnVuw zYiK}44m`64ZP)RwL3U?&0`sPFTsp1;yM{$aB~H&`GdS@@o%-9P%c;I_V|dq!61HZB66H9x3VmHFK1*Fn2JBR_iO_x6dsWn?=Xc#wA1 z|C{_Nf$Hqrn{Qd3?(m5KX^*yj(c6F6>yBsehhI}yY|U%RDpkJyLVF}6XQ1(iFWl|f z{;fsQ%CzMHM%M!Mmcsq#XpNutjJB0E!binh-2P^>#?ngQfQG`fs&U5Q^74NNRSpS5 zTv|G^_T7C_XQ(*ylkQ+eicKqh>m5siR}aUCbfZb|I?k+j5TN8Um2ct8+$!L zd3)b<>(5Zm_`Eo=MUQEHUjm6o`|C#g+tF|xq}Sfkmp%Hj#I{tRtNo*x@QT=^Z6Cp-|xl> P9luJMbhG3$v9jpD7UTz= diff --git a/img-selector/src/main/res/drawable-xxhdpi/ic_take_photo.png b/img-selector/src/main/res/drawable-xxhdpi/ic_take_photo.png deleted file mode 100644 index ada53a4312e25f487b9222c21d3d5f81a47fc19a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3313 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 agaC>nrgpEE1O@i~WsJ_4A&T@aUHuP$HQCz$ diff --git a/img-selector/src/main/res/drawable-xxxhdpi/ic_album.png b/img-selector/src/main/res/drawable-xxxhdpi/ic_album.png deleted file mode 100644 index 032fcd3cb783a06b9a4933a53f6c3a8c0670845f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1178 zcmeAS@N?(olHy`uVBq!ia0vp^HXzKw1|+Ti+$;i8k|nMYCBgY=CFO}lsSJ)O`AMk? zp1FzXsX?iUDV2pMQ-L~|)iOgON+NuHtdjF{^%6m9^eS=-fVzQ(*;f=KCTFLXC?ut( zXXe=|z2CiGNg*@ERw>-n*TA>HIW;5GqpB!1xXLdixhgx^GDXSWPQj+a3TQxXYDuC( zMQ%=Bu~mhw64+cTAR8pCucQE0Qj%?}1aVY^Z-9bxeo?A|sh*i`vVobog1M!hp{cpK ziMft~k%6J9zJam6v4O6Uv6YE|m5Gr86et00D@sYT3UYCS+6CmEg{v+u2}(t{7puX=A(aKG z`a!A1`K3k4z=%sz23b{LGzDQJXe=B4D9 z7i)s``1)FT<`tJD<|U_ky4WfKP0`EDOtCUDH+OV&baJ({aB?&>bTxG{HFUHvH*s@x zwKO%bFmi$Eb;(aI%}vcKf$2>_=yk)X7nB@w3xGDeq!wkCrKY$Q<>xAZy=|3=+bzyG z&4cPq!R;0ooO<dK}gn%gs#DphZAP1iKQ}ci+z6hAKV|Bi!FfcH3dAc}; zRNQ)U-jnZ8fPk~(iK7pnHR?>5G3n1j_S=6|yzgBrjlJ%@Fwa}{P4V}oLS@$8syVD5 z*u!N1G>5YNKf0=^d}G%G=QUD4L{_up9a_~edn4BaJss;E(x-Xk4sB{`-`Mj&Q%AZ& z>NJbl!A%WkH}E6`>sZ~8>E9mmP>|%-kTB zp!G&)2A?(avLk&>nH!Z8vU2oi$lYe1c3@jm>IU5e%{P(}eAO(|j=XD3-T42&r5pJh mY`)3HF#TqlelX9LMS|hydAprl6aVUhN()a{KbLh*2~7ZtbB?P3 diff --git a/img-selector/src/main/res/drawable-xxxhdpi/ic_back.png b/img-selector/src/main/res/drawable-xxxhdpi/ic_back.png deleted file mode 100644 index e28db108296400d022630961b91c23f1dbf05cc9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2823 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 diff --git a/img-selector/src/main/res/drawable-xxxhdpi/ic_default_image.png b/img-selector/src/main/res/drawable-xxxhdpi/ic_default_image.png deleted file mode 100644 index 290f2699f9721d97ac8251492e77f000cf9f78b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12539 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 NI?2PAaM3+F^FIbrG{gV^ diff --git a/img-selector/src/main/res/drawable-xxxhdpi/ic_take_photo.png b/img-selector/src/main/res/drawable-xxxhdpi/ic_take_photo.png deleted file mode 100644 index e268bfa8b5c8a74d75fde5d8a783d463764f9acf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5902 zcmaJ_c_7pO|9@}p`-m>rD3SXXg*ihh)y9x9Ggr3B<~~|TZjp$h>7rTL2)UADBsnU} z5T$aoToFFG`pxJ2`Fy^=KYpLz{@7l}^YM5-U(e@rulMu$PIW$YTtslcAOHX&4)!)@ z0RRNyj3@YcIo|=$0A_TN7qnWM_*fCM^jJV)Ii77 zKo9cQM~R~?)Ys4Stc~4Yx;Qg4r2rx^#8g{5A|gU7LSG9X>aVS9Vq&7Lqo=K>r^%7f zBt+qes7Os5;lSSvHW&grG%$o1h{r*87*Rg>Frt|f$I|~C0UPoUEspS)n>Y^BjzooM z>uTxj9O-XCC#U~k6pQ^wnm{~@`LDhICousQ6@t+|iy`2{LeZSS`5o9%6=G@~ia`;Zsu}1%j z-AM;*2uHIGCNwY{<7*d+$3p%*wrSwM+oJ!ke1Bnm|J@dYf5mEZjM3f+?*9t*-%Fef z+8O?nx}3>B$&bNtGCq`(+S*YMKLEh4cn2FxSmelTvCvaEyuQl<{6mTVyn?Z+jql!X ziV9a;#nh4_&sE-hn7`jK@9v~#v~b(oB#C@er3JE#=);G*HTvCvDzZEc z9aqfZ*Mp3iqwqMH4+Z}4@9+z-9(c={u?Nu!iq|bX`N`CM_xG2rmj~fz1NQ8;8>)D6 zM)#!vB!I7%vJ5}&p@2GG#=5&+&$eR5v2ym{+Y_iXkBZT)biL%oN4?r^YoV88Mw67e z#hXfSlt2oDa*uWoCp#(c^{IplG`J}2Ja(^$!p@Ql>pE8QxkT)RD7ZXl_;j1cEkA0? zsp^;(1s8E>=1YF&dAJ4D-p*nnQ37EJ7)rLoEOxzL{0jA2NJs4~fD@IQGQTBC4-a&0 z`08*lm`-`pIC(@`y$bERAcN!w0aQQ$+ z7kFKipDgv$xtJt!Ws-Zr8bT6GozrEfid~$Lv1H@G*pk>qmckLwRSprQ8t64 z?@W~OZmAMQ1Qd{#7)3cfzVjI!XFn_jE)Ut1*`3Er*&`0Uf6pGZtJxBfAV6R*3S=Oq06;+2nxyb{KEVD3 zZZ~wWk%uJpvld_{ivib2Pnx#CBwukTa7`H3LOy^P?rnL5#2RMJ7VMMOzYHXZEn&!k2<|~ERiu46HxKJ|>4iUjJ-fb|OS50rPzE3O{u$`(`21pFKN^uEa-r#Te5y3Jb78%Mp`F#4h?hd&ucHs<>4U)K#Pgb^ z`67+A%Z&9Y81n|_+PER0F132GG~7voW^UTPAi}#qyBzU=1Lwt*N)8(vGN{Wjfhd;0_Dktb1!8GSN4=lexR%;vQNUZ zGt6cuh60AxceSj3xH(am2?a3iK?3PRp$)}j@2oH8u#Ys3X}!G%V$$R1j2)3;mmX)U zMBd?0$;QmKFx{IlWAj_%-B$G^X=Np_ZCwkj%B7XN7-Yhi zwK!VPExC~CBHXayU)3M(duYhOD@?Jy<$4P$Qt18RU~IY>G)_6utzTKPR*ZPKe%c86 z+jYg3+1W8vRh(oTxv>QI=FR*3{ySB;&AC%E?AW( zysfQrmsjHB+FI#`7-RD9m<@jmP!q^X-ubJ@`PQc$ z)h&n350QYhwkXOTN%IIAy#1Wa*Zhhiof39QaKX&};L6c@A`eI^F(1oyn1yUpdUlc6 zE~9fAN6bFEXssXv1(?z?a<}h3yV;yp%WUm>!y`>+q+8rDI3XT(|;cLmSAMk*6c_}5lgZqIGb&QHgm|*b@5f#%%~d_+NRX33W?nsEU@D3vy5SO z(OSkb2n#-F+aX+6Jh=RQ>;cPLT_;#m9>P zR>YbK0Cfr_Oj){Em||qz_!G5gjFvyDnQN(jq9jgcVK-LT$wz!){uct0n{X1eAy3E z<~$*pp6&;BPhEV?_tsd5r-z>`x~R^)o-?way3U<{9NiQn&n06`px*|9wCikwzsJIj zHL{bV>Q&#XQb%mtje%PfY1HfU=6dB zNp5Fc3!NIR&>#QyVnas-`G`!T068cX4tvFZKbtYu&2sq6bi3=k4+N904K;l4P^Qo| z|Fxs&^0+!R?GTCbqU856xl*}Xzhtwg0yP)YcgcDH1c*~Dvz4kY7@oz`v_}x1}F9KenuF2kKXEKKe zMmLfGB~tEEMu*9l4R2~+*50_PzOKFEP`o3xPO2ACEZ3_ngXVSyxk*1NMscR?jz*pQ zWN_6XE17V|b|?pNS#nw`*N~$L{yCK&E6kV*jymnoxfcX;E=e2cgar5H@3nnZ(&+~- zmz3crC%1^Gx9>eb5_HUPy}v~>@fhzDP5~UdmnBA6Jh!Tq?LIbs(Lra zD9%2$lViVum5i*70|57R1(%n)dFJZc0n&Nf5+jJz-r*`GE16)sLnJjlRV$g*+n4#? z{F3+%O=#sf;DIm%E#czdbvHLt7hF!7m3UMf#c>&ZeaFXYOQNaO2ROdZu9p~@`GV#= z4U8Y82et6eeb5f>ewms%uCn5%Ks`hX-FxsBe3@=4Grw%UWAfKonMcK5K4C_icYV?6 zfSL{;C$fIjzT{gByFpZiBixt&adR}had=n%AWe&g%kDc{!MMZ@A zth9zGctC-g?$Vr*Ulz%ROaf=#MLXB8bo3-_mV> z8%gMc;}U9Xj!ldZNa)oV`9!%`4G?HhE1Hs(#TqY2LdT%J|9 zOHI)zq|VjY$tF?c; zm;~BK=;LOYzn-D;KF)It3pBs;Nk|{Lvj2TV(a?vU6=el|Zs$}JqgH&i2}OwZ{N4Fa z$j*+=SA07coV1Jjx{$!gRuOym?1D~R!&Uk(@W;n$Er_P%%Kb6QEd@dFui;qbIZrFY z=GCPO%z#v{&5v2(Rqyao8w}y{hb&T2E_p1|yx7Zf53E;kO@q;WV0xE1w{tTsOm4w( z;K^f8x*SvN9S?RXC8kEvax{iwZpW$DSMJ_of40F|%-2a>x-X;VGcG%YeDKLffm10l zGj}P^H;~^So5E_B%8b8|T$`fX%(Zx}pc*a%X|2KzuHLc5Nkz=O1=cI=57)y4T8`__ z@Pbu$Z&a8U(zf=%IOU5J_G{fukIi(8PBVuqnOD}9Y62{pk{6EjS0o>b9Uo}B3j0_P zX-Flsrge|5rg`l0>H?U0aQt)0*CZbwuKA<;&R>lKeJpclLC3X!_Qzh}9SS`>VGTTJ zs|~na)EdT0bUhjoRFuSX9m6ocg?+sD@Hcs*x+y8<#aNMNJSV!VB})X%in>===J(ww z){axlu>$?>`Iu0%#uMdKRzW48PtIcjo0q>5X6Hlih-CKq<~yekk0E}atWP@axRhfxD=o&3(Uxha8ajjlLCgK3r>6E4z>N{gcT)_nSj&Ooz7fX~kcN0_qKQ{a+i9 zE@KBLVAmQCeynjygtgr0^jP9FSt$=F6OZ80O5DEB+|Kixu&@NFvip>{`dP)wIVHS{NJabXOFxtJ%@e^MD)Tu8lX|8JW4JL5 zS^7y1?*e7Jf;@zqSe9p+OQtO?Ow=iCZLZ#Xo5PgZG9ng#Om_cKD{Zd6nRwM%qW)x< zk#)nWvne^AMT)apSpg#(c^C`l@yTOPR#;R1+72aRnMZqmC5eGxFseKqo4Xm_Z9eoc zH@UYq_SDyS`N0%~SMQ%qsg$B`<3km+ z?dr+Z=Ss2s3-UKJAgI_rmaLAeX1lc0X)$NR9R7-DLOuPBJyuuE+hQh6eldQRZ( zCEor=^WE@y32~_N@nm~e|DZ>kgq4e1D7WWHz;YYWJ2eV7F2|i~M$o?3 zY3}MOKXrDijHYv)(~woUg;fUC_GG>6e*Ez<|4lg_VqVW~@v2!)hb38M*#^2?YuFn8 zMcW~y(XS33KF?CrI_ebe+K>z+bhdZC2ok$HxxJA6$DQmGUD==LqYpunj>y@GpxltA zACS_Yhe4bUQ<`P67XJC$Ig0!k3(7QaP{QV!D3jWeYpW^*Y{74y%l9()~AP{ zRFZp}l??#dc?^Srl>N|t6c=#tlZg;nA)L{)cekOra8! z*ZF(kb>`w$9?f4EptM(g4(`vYi@l9DEFE3mBX&K+*ReWjm)e|EqWK>p12lw*LWT5m ns~YDvnI|9N8y3GkNgyC?}YyWiWs5I diff --git a/img-selector/src/main/res/drawable-xxxhdpi/ic_uncheck.png b/img-selector/src/main/res/drawable-xxxhdpi/ic_uncheck.png deleted file mode 100644 index 78874d5e244a36cb6f54f0da46e3570dc0b8bea9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6522 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 diff --git a/img-selector/src/main/res/layout/activity_img_sel.xml b/img-selector/src/main/res/layout/activity_img_sel.xml deleted file mode 100644 index 95f6b8b..0000000 --- a/img-selector/src/main/res/layout/activity_img_sel.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - - - - - - - -