diff --git a/.gitignore b/.gitignore
index 39b6783..82edc91 100644
--- a/.gitignore
+++ b/.gitignore
@@ -63,3 +63,6 @@ fastlane/Preview.html
fastlane/screenshots
fastlane/test_output
fastlane/readme.md
+/.idea/compiler.xml
+/.idea/jarRepositories.xml
+/.idea/misc.xml
diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..26d3352
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,3 @@
+# Default ignored files
+/shelf/
+/workspace.xml
diff --git a/.idea/deploymentTargetSelector.xml b/.idea/deploymentTargetSelector.xml
new file mode 100644
index 0000000..b268ef3
--- /dev/null
+++ b/.idea/deploymentTargetSelector.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/migrations.xml b/.idea/migrations.xml
new file mode 100644
index 0000000..f8051a6
--- /dev/null
+++ b/.idea/migrations.xml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
deleted file mode 100644
index 99202cc..0000000
--- a/.idea/misc.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
index 20f0892..11ab2b3 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -2,9 +2,15 @@
-
-
-
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/runConfigurations.xml b/.idea/runConfigurations.xml
deleted file mode 100644
index 7f68460..0000000
--- a/.idea/runConfigurations.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index 60e722d..e8ca8a1 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -1,13 +1,16 @@
apply plugin: 'com.android.application'
android {
- compileSdkVersion 27
+ namespace 'com.lcw.demo.imagepicker'
+ compileSdk 34
defaultConfig {
applicationId "com.lcw.demo.imagepicker"
- minSdkVersion 16
- targetSdkVersion 27
+ minSdkVersion 26
+ targetSdkVersion 34
versionCode 228
versionName "2.2.8"
+ //noinspection ChromeOsAbiSupport
+ ndk.abiFilters 'arm64-v8a'
}
buildTypes {
release {
@@ -15,19 +18,22 @@ android {
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
-
- lintOptions {
+ lint {
abortOnError false
}
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_17
+ targetCompatibility JavaVersion.VERSION_17
+ }
}
+group = 'io.ruibu'
+version = '1.0.0'
+
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
- implementation 'com.android.support:appcompat-v7:27.1.1'
- implementation 'com.github.bumptech.glide:glide:4.9.0'
- annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
-
-// implementation 'com.lcw.library:imagepicker:2.2.7'
+ implementation 'androidx.appcompat:appcompat:1.7.0-alpha03'
+ implementation 'com.github.bumptech.glide:glide:4.16.0'
+ annotationProcessor 'com.github.bumptech.glide:compiler:4.16.0'
implementation project(':imagepicker')
-
-}
+}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 3ad03e5..96d325f 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -1,6 +1,5 @@
-
+
-
+
diff --git a/app/src/main/java/com/lcw/demo/imagepicker/GlideLoader.java b/app/src/main/java/com/lcw/demo/imagepicker/GlideLoader.java
index 8bf60f7..024ebfd 100644
--- a/app/src/main/java/com/lcw/demo/imagepicker/GlideLoader.java
+++ b/app/src/main/java/com/lcw/demo/imagepicker/GlideLoader.java
@@ -36,7 +36,6 @@ public void loadImage(ImageView imageView, String imagePath) {
public void loadPreImage(ImageView imageView, String imagePath) {
//大图加载
Glide.with(imageView.getContext()).load(imagePath).apply(mPreOptions).into(imageView);
-
}
@Override
@@ -44,4 +43,4 @@ public void clearMemoryCache() {
//清理缓存
Glide.get(MApplication.getContext()).clearMemory();
}
-}
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/lcw/demo/imagepicker/MApplication.java b/app/src/main/java/com/lcw/demo/imagepicker/MApplication.java
index 0140603..d830a0c 100644
--- a/app/src/main/java/com/lcw/demo/imagepicker/MApplication.java
+++ b/app/src/main/java/com/lcw/demo/imagepicker/MApplication.java
@@ -21,4 +21,4 @@ public void onCreate() {
public static MApplication getContext() {
return mApplication;
}
-}
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/lcw/demo/imagepicker/MainActivity.java b/app/src/main/java/com/lcw/demo/imagepicker/MainActivity.java
index ad2c5f1..283efb2 100644
--- a/app/src/main/java/com/lcw/demo/imagepicker/MainActivity.java
+++ b/app/src/main/java/com/lcw/demo/imagepicker/MainActivity.java
@@ -2,18 +2,16 @@
import android.content.Intent;
import android.os.Bundle;
-import android.support.v7.app.AppCompatActivity;
-import android.view.View;
import android.widget.TextView;
+import androidx.appcompat.app.AppCompatActivity;
+
import com.lcw.library.imagepicker.ImagePicker;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
-
private TextView mTextView;
-
private static final int REQUEST_SELECT_IMAGES_CODE = 0x01;
private ArrayList mImagePaths;
@@ -22,35 +20,33 @@ protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mTextView = findViewById(R.id.tv_select_images);
- findViewById(R.id.bt_select_images).setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- ImagePicker.getInstance()
- .setTitle("标题")//设置标题
- .showCamera(true)//设置是否显示拍照按钮
- .showImage(true)//设置是否展示图片
- .showVideo(true)//设置是否展示视频
- .filterGif(false)//设置是否过滤gif图片
- .setMaxCount(9)//设置最大选择图片数目(默认为1,单选)
- .setSingleType(true)//设置图片视频不能同时选择
- .setImagePaths(mImagePaths)//设置历史选择记录
- .setImageLoader(new GlideLoader())//设置自定义图片加载器
- .start(MainActivity.this, REQUEST_SELECT_IMAGES_CODE);//REQEST_SELECT_IMAGES_CODE为Intent调用的requestCode
- }
+ findViewById(R.id.bt_select_images).setOnClickListener(v -> {
+ ImagePicker.getInstance()
+ .setTitle("标题")//设置标题
+ .showCamera(true)//设置是否显示拍照按钮
+ .showImage(true)//设置是否展示图片
+ .showVideo(true)//设置是否展示视频
+ .filterGif(false)//设置是否过滤gif图片
+ .setMaxCount(9)//设置最大选择图片数目(默认为1,单选)
+ .setSingleType(true)//设置图片视频不能同时选择
+ .setImagePaths(mImagePaths)//设置历史选择记录
+ .setImageLoader(new GlideLoader())//设置自定义图片加载器
+ .start(MainActivity.this, REQUEST_SELECT_IMAGES_CODE);//REQEST_SELECT_IMAGES_CODE为Intent调用的requestCode
});
-
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+ super.onActivityResult(requestCode, resultCode, data);
+
if (requestCode == REQUEST_SELECT_IMAGES_CODE && resultCode == RESULT_OK) {
mImagePaths = data.getStringArrayListExtra(ImagePicker.EXTRA_SELECT_IMAGES);
- StringBuffer stringBuffer = new StringBuffer();
+ StringBuilder stringBuffer = new StringBuilder();
stringBuffer.append("当前选中图片路径:\n\n");
for (int i = 0; i < mImagePaths.size(); i++) {
- stringBuffer.append(mImagePaths.get(i) + "\n\n");
+ stringBuffer.append(mImagePaths.get(i)).append("\n\n");
}
mTextView.setText(stringBuffer.toString());
}
}
-}
+}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 5e94926..86aaeef 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -19,5 +19,4 @@
android:layout_marginTop="20dp"
android:textColor="@color/text_color_white" />
-
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index 49b6d1c..c34f7c6 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,16 +1,12 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
-
repositories {
google()
- jcenter()
+ mavenCentral()
}
dependencies {
- classpath 'com.android.tools.build:gradle:3.1.2'
- classpath 'com.novoda:bintray-release:0.8.0'
-
-
+ classpath 'com.android.tools.build:gradle:8.4.0-alpha07'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
@@ -19,16 +15,6 @@ buildscript {
allprojects {
repositories {
google()
- jcenter()
- }
-
- tasks.withType(Javadoc) {
- options.addStringOption('Xdoclint:none', '-quiet')
- options.addStringOption('encoding', 'UTF-8')
+ mavenCentral()
}
-
-}
-
-task clean(type: Delete) {
- delete rootProject.buildDir
-}
+}
\ No newline at end of file
diff --git a/gradle.properties b/gradle.properties
index 743d692..9cccaed 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -11,3 +11,5 @@ org.gradle.jvmargs=-Xmx1536m
# This option should only be used with decoupled projects. More details, visit
# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
# org.gradle.parallel=true
+android.useAndroidX=true
+android.nonFinalResIds=false
\ No newline at end of file
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index c459843..fe39203 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -3,4 +3,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.6.all.zip
\ No newline at end of file
diff --git a/imagepicker/build.gradle b/imagepicker/build.gradle
index 642bf65..c7d6232 100644
--- a/imagepicker/build.gradle
+++ b/imagepicker/build.gradle
@@ -1,35 +1,27 @@
apply plugin: 'com.android.library'
-apply plugin: 'com.novoda.bintray-release'
-
-publish {
- userOrg = 'lichenwei'
- groupId = 'com.lcw.library'
- artifactId = 'imagepicker'
- publishVersion = '2.2.8'
- desc = 'Android image picker library'
- website = 'https://github.com/Lichenwei-Dev/ImagePicker'
-}
android {
- compileSdkVersion 27
+ namespace 'com.lcw.library.imagepicker'
+ compileSdk 34
defaultConfig {
- minSdkVersion 16
- targetSdkVersion 27
- versionCode 228
- versionName "2.2.8"
+ minSdkVersion 26
+ targetSdkVersion 34
+ //noinspection ChromeOsAbiSupport
+ ndk.abiFilters 'arm64-v8a'
}
-
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
-
- lintOptions {
+ lint {
abortOnError false
}
-
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_17
+ targetCompatibility JavaVersion.VERSION_17
+ }
}
repositories {
@@ -39,6 +31,6 @@ repositories {
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
- implementation 'com.android.support:appcompat-v7:27.1.1'
- implementation 'com.android.support:recyclerview-v7:27.1.1'
-}
+ implementation 'androidx.appcompat:appcompat:1.7.0-alpha03'
+ implementation 'androidx.recyclerview:recyclerview:1.3.2'
+}
\ No newline at end of file
diff --git a/imagepicker/src/main/AndroidManifest.xml b/imagepicker/src/main/AndroidManifest.xml
index 3613136..21d7d45 100644
--- a/imagepicker/src/main/AndroidManifest.xml
+++ b/imagepicker/src/main/AndroidManifest.xml
@@ -1,10 +1,13 @@
-
+
-
-
+
+
+
+
@@ -28,4 +31,4 @@
-
+
\ No newline at end of file
diff --git a/imagepicker/src/main/java/com/lcw/library/imagepicker/ImagePicker.java b/imagepicker/src/main/java/com/lcw/library/imagepicker/ImagePicker.java
index bf7fffe..cac5aa1 100644
--- a/imagepicker/src/main/java/com/lcw/library/imagepicker/ImagePicker.java
+++ b/imagepicker/src/main/java/com/lcw/library/imagepicker/ImagePicker.java
@@ -153,4 +153,4 @@ public void start(Activity activity, int requestCode) {
activity.startActivityForResult(intent, requestCode);
}
-}
+}
\ No newline at end of file
diff --git a/imagepicker/src/main/java/com/lcw/library/imagepicker/activity/BaseActivity.java b/imagepicker/src/main/java/com/lcw/library/imagepicker/activity/BaseActivity.java
index ace5b90..902a57d 100644
--- a/imagepicker/src/main/java/com/lcw/library/imagepicker/activity/BaseActivity.java
+++ b/imagepicker/src/main/java/com/lcw/library/imagepicker/activity/BaseActivity.java
@@ -2,12 +2,13 @@
import android.os.Build;
import android.os.Bundle;
-import android.support.annotation.Nullable;
-import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AppCompatActivity;
+
import com.lcw.library.imagepicker.R;
/**
@@ -44,7 +45,6 @@ protected void onCreate(@Nullable Bundle savedInstanceState) {
getData();
}
-
protected abstract int bindLayout();
protected void initConfig() {
@@ -55,6 +55,4 @@ protected void initConfig() {
protected abstract void initListener();
protected abstract void getData();
-
-
-}
+}
\ No newline at end of file
diff --git a/imagepicker/src/main/java/com/lcw/library/imagepicker/activity/ImagePickerActivity.java b/imagepicker/src/main/java/com/lcw/library/imagepicker/activity/ImagePickerActivity.java
index 2e819d0..5e0a44a 100644
--- a/imagepicker/src/main/java/com/lcw/library/imagepicker/activity/ImagePickerActivity.java
+++ b/imagepicker/src/main/java/com/lcw/library/imagepicker/activity/ImagePickerActivity.java
@@ -10,11 +10,6 @@
import android.os.Environment;
import android.os.Handler;
import android.provider.MediaStore;
-import android.support.annotation.NonNull;
-import android.support.v4.app.ActivityCompat;
-import android.support.v4.content.FileProvider;
-import android.support.v7.widget.GridLayoutManager;
-import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;
import android.view.View;
import android.view.WindowManager;
@@ -23,6 +18,12 @@
import android.widget.TextView;
import android.widget.Toast;
+import androidx.annotation.NonNull;
+import androidx.core.app.ActivityCompat;
+import androidx.core.content.FileProvider;
+import androidx.recyclerview.widget.GridLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
import com.lcw.library.imagepicker.ImagePicker;
import com.lcw.library.imagepicker.R;
import com.lcw.library.imagepicker.adapter.ImageFoldersAdapter;
@@ -102,13 +103,11 @@ public void run() {
}
};
-
/**
* 大图预览页相关
*/
private static final int REQUEST_SELECT_IMAGES_CODE = 0x01;//用于在大图预览页中点击提交按钮标识
-
/**
* 拍照相关
*/
@@ -120,13 +119,11 @@ public void run() {
*/
private static final int REQUEST_PERMISSION_CAMERA_CODE = 0x03;
-
@Override
protected int bindLayout() {
return R.layout.activity_imagepicker;
}
-
/**
* 初始化配置
*/
@@ -147,7 +144,6 @@ protected void initConfig() {
}
}
-
/**
* 初始化布局控件
*/
@@ -184,8 +180,6 @@ protected void initView() {
mImagePickerAdapter = new ImagePickerAdapter(this, mMediaFileList);
mImagePickerAdapter.setOnItemClickListener(this);
mRecyclerView.setAdapter(mImagePickerAdapter);
-
-
}
/**
@@ -232,7 +226,6 @@ public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
updateImageTime();
}
});
-
}
/**
@@ -243,7 +236,7 @@ protected void getData() {
//进行权限的判断
boolean hasPermission = PermissionUtil.checkPermission(this);
if (!hasPermission) {
- ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE}, REQUEST_PERMISSION_CAMERA_CODE);
+ ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA, Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_MEDIA_IMAGES}, REQUEST_PERMISSION_CAMERA_CODE);
} else {
startScannerTask();
}
@@ -277,7 +270,6 @@ public void onRequestPermissionsResult(int requestCode, @NonNull String[] permis
}
}
-
/**
* 开启扫描任务
*/
@@ -307,7 +299,6 @@ private void startScannerTask() {
CommonExecutor.getInstance().execute(mediaLoadTask);
}
-
/**
* 处理媒体数据加载成功后的UI渲染
*/
@@ -342,7 +333,6 @@ public void onDismiss() {
}
}
-
/**
* 隐藏时间
*/
@@ -488,15 +478,16 @@ private void updateCommitButton() {
mTvCommit.setText(getString(R.string.confirm));
return;
}
+
if (selectCount < mMaxCount) {
mTvCommit.setEnabled(true);
mTvCommit.setText(String.format(getString(R.string.confirm_msg), selectCount, mMaxCount));
return;
}
+
if (selectCount == mMaxCount) {
mTvCommit.setEnabled(true);
mTvCommit.setText(String.format(getString(R.string.confirm_msg), selectCount, mMaxCount));
- return;
}
}
@@ -566,6 +557,7 @@ public void onImageFolderChange(View view, int position) {
*/
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
+ super.onActivityResult(requestCode, resultCode, data);
if (resultCode == RESULT_OK) {
if (requestCode == REQUEST_CODE_CAPTURE) {
//通知媒体库刷新
@@ -599,7 +591,6 @@ private void commitSelection() {
finish();
}
-
@Override
protected void onResume() {
super.onResume();
@@ -622,5 +613,4 @@ protected void onDestroy() {
e.printStackTrace();
}
}
-
-}
+}
\ No newline at end of file
diff --git a/imagepicker/src/main/java/com/lcw/library/imagepicker/activity/ImagePreActivity.java b/imagepicker/src/main/java/com/lcw/library/imagepicker/activity/ImagePreActivity.java
index 1e46528..32ce1b6 100644
--- a/imagepicker/src/main/java/com/lcw/library/imagepicker/activity/ImagePreActivity.java
+++ b/imagepicker/src/main/java/com/lcw/library/imagepicker/activity/ImagePreActivity.java
@@ -4,14 +4,15 @@
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.net.Uri;
-import android.support.v4.content.FileProvider;
-import android.support.v4.view.ViewPager;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
+import androidx.core.content.FileProvider;
+import androidx.viewpager.widget.ViewPager;
+
import com.lcw.library.imagepicker.R;
import com.lcw.library.imagepicker.adapter.ImagePreViewAdapter;
import com.lcw.library.imagepicker.data.MediaFile;
@@ -33,7 +34,6 @@
* Email: lichenwei.me@foxmail.com
*/
public class ImagePreActivity extends BaseActivity {
-
public static final String IMAGE_POSITION = "imagePosition";
private List mMediaFileList;
private int mPosition = 0;
@@ -46,7 +46,6 @@ public class ImagePreActivity extends BaseActivity {
private ImageView mIvPreCheck;
private ImagePreViewAdapter mImagePreViewAdapter;
-
@Override
protected int bindLayout() {
return R.layout.activity_pre_image;
@@ -64,7 +63,6 @@ protected void initView() {
@Override
protected void initListener() {
-
findViewById(R.id.iv_actionBar_back).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@@ -144,7 +142,6 @@ public void onClick(View v) {
startActivity(intent);
}
});
-
}
@Override
@@ -165,7 +162,6 @@ protected void getData() {
* 更新确认按钮状态
*/
private void updateCommitButton() {
-
int maxCount = SelectionManager.getInstance().getMaxCount();
//改变确定按钮UI
@@ -183,7 +179,6 @@ private void updateCommitButton() {
if (selectCount == maxCount) {
mTvCommit.setEnabled(true);
mTvCommit.setText(String.format(getString(R.string.confirm_msg), selectCount, maxCount));
- return;
}
}
@@ -211,5 +206,4 @@ private void setIvPlayShow(MediaFile mediaFile) {
mIvPlay.setVisibility(View.GONE);
}
}
-
-}
+}
\ No newline at end of file
diff --git a/imagepicker/src/main/java/com/lcw/library/imagepicker/adapter/ImageFoldersAdapter.java b/imagepicker/src/main/java/com/lcw/library/imagepicker/adapter/ImageFoldersAdapter.java
index 235c84a..25d1bc6 100644
--- a/imagepicker/src/main/java/com/lcw/library/imagepicker/adapter/ImageFoldersAdapter.java
+++ b/imagepicker/src/main/java/com/lcw/library/imagepicker/adapter/ImageFoldersAdapter.java
@@ -1,8 +1,7 @@
package com.lcw.library.imagepicker.adapter;
+import android.annotation.SuppressLint;
import android.content.Context;
-import android.support.annotation.NonNull;
-import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
@@ -10,7 +9,9 @@
import android.widget.ImageView;
import android.widget.TextView;
-import com.lcw.library.imagepicker.ImagePicker;
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.RecyclerView;
+
import com.lcw.library.imagepicker.R;
import com.lcw.library.imagepicker.data.MediaFolder;
import com.lcw.library.imagepicker.manager.ConfigManager;
@@ -25,12 +26,10 @@
* Email: lichenwei.me@foxmail.com
*/
public class ImageFoldersAdapter extends RecyclerView.Adapter {
-
private Context mContext;
private List mMediaFolderList;
private int mCurrentImageFolderIndex;
-
public ImageFoldersAdapter(Context context, List mediaFolderList, int position) {
this.mContext = context;
this.mMediaFolderList = mediaFolderList;
@@ -44,8 +43,7 @@ public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
}
@Override
- public void onBindViewHolder(@NonNull ViewHolder holder, final int position) {
-
+ public void onBindViewHolder(@NonNull ViewHolder holder, @SuppressLint("RecyclerView") final int position) {
final MediaFolder mediaFolder = mMediaFolderList.get(position);
String folderCover = mediaFolder.getFolderCover();
String folderName = mediaFolder.getFolderName();
@@ -88,7 +86,6 @@ public int getItemCount() {
}
class ViewHolder extends RecyclerView.ViewHolder {
-
private ImageView mImageCover;
private TextView mFolderName;
private TextView mImageSize;
@@ -115,4 +112,4 @@ public void setOnImageFolderChangeListener(ImageFoldersAdapter.OnImageFolderChan
public interface OnImageFolderChangeListener {
void onImageFolderChange(View view, int position);
}
-}
+}
\ No newline at end of file
diff --git a/imagepicker/src/main/java/com/lcw/library/imagepicker/adapter/ImagePickerAdapter.java b/imagepicker/src/main/java/com/lcw/library/imagepicker/adapter/ImagePickerAdapter.java
index e75c006..a447088 100644
--- a/imagepicker/src/main/java/com/lcw/library/imagepicker/adapter/ImagePickerAdapter.java
+++ b/imagepicker/src/main/java/com/lcw/library/imagepicker/adapter/ImagePickerAdapter.java
@@ -1,9 +1,8 @@
package com.lcw.library.imagepicker.adapter;
+import android.annotation.SuppressLint;
import android.content.Context;
import android.graphics.Color;
-import android.support.annotation.NonNull;
-import android.support.v7.widget.RecyclerView;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
@@ -11,6 +10,9 @@
import android.widget.ImageView;
import android.widget.TextView;
+import androidx.annotation.NonNull;
+import androidx.recyclerview.widget.RecyclerView;
+
import com.lcw.library.imagepicker.R;
import com.lcw.library.imagepicker.data.ItemType;
import com.lcw.library.imagepicker.data.MediaFile;
@@ -30,19 +32,16 @@
* Email: lichenwei.me@foxmail.com
*/
public class ImagePickerAdapter extends RecyclerView.Adapter {
-
private Context mContext;
private List mMediaFileList;
private boolean isShowCamera;
-
public ImagePickerAdapter(Context context, List mediaFiles) {
this.mContext = context;
this.mMediaFileList = mediaFiles;
this.isShowCamera = ConfigManager.getInstance().isShowCamera();
}
-
@Override
public int getItemViewType(int position) {
if (isShowCamera) {
@@ -83,7 +82,6 @@ public MediaFile getMediaFile(int position) {
return mMediaFileList.get(position);
}
-
@NonNull
@Override
public BaseHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
@@ -103,9 +101,8 @@ public BaseHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
return null;
}
-
@Override
- public void onBindViewHolder(@NonNull BaseHolder holder, final int position) {
+ public void onBindViewHolder(@NonNull BaseHolder holder, @SuppressLint("RecyclerView") final int position) {
int itemType = getItemViewType(position);
MediaFile mediaFile = getMediaFile(position);
switch (itemType) {
@@ -139,7 +136,6 @@ public void onClick(View view) {
}
}
-
/**
* 绑定数据(图片、视频)
*
@@ -147,7 +143,6 @@ public void onClick(View view) {
* @param mediaFile
*/
private void bindMedia(MediaHolder mediaHolder, MediaFile mediaFile) {
-
String imagePath = mediaFile.getPath();
if (!TextUtils.isEmpty(imagePath)) {
//选择状态(仅是UI表现,真正数据交给SelectionManager管理)
@@ -181,14 +176,12 @@ private void bindMedia(MediaHolder mediaHolder, MediaFile mediaFile) {
((VideoHolder) mediaHolder).mVideoDuration.setText(duration);
}
}
-
}
/**
* 图片Item
*/
class ImageHolder extends MediaHolder {
-
public ImageView mImageGif;
public ImageHolder(View itemView) {
@@ -201,7 +194,6 @@ public ImageHolder(View itemView) {
* 视频Item
*/
class VideoHolder extends MediaHolder {
-
TextView mVideoDuration;
VideoHolder(View itemView) {
@@ -214,7 +206,6 @@ class VideoHolder extends MediaHolder {
* 媒体Item
*/
class MediaHolder extends BaseHolder {
-
SquareImageView mImageView;
ImageView mImageCheck;
@@ -229,7 +220,6 @@ class MediaHolder extends BaseHolder {
* 基础Item
*/
class BaseHolder extends RecyclerView.ViewHolder {
-
SquareRelativeLayout mSquareRelativeLayout;
BaseHolder(View itemView) {
@@ -238,7 +228,6 @@ class BaseHolder extends RecyclerView.ViewHolder {
}
}
-
/**
* 接口回调,将点击事件向外抛
*/
@@ -253,4 +242,4 @@ public interface OnItemClickListener {
void onMediaCheck(View view, int position);
}
-}
+}
\ No newline at end of file
diff --git a/imagepicker/src/main/java/com/lcw/library/imagepicker/adapter/ImagePreViewAdapter.java b/imagepicker/src/main/java/com/lcw/library/imagepicker/adapter/ImagePreViewAdapter.java
index d0d644b..f619e72 100644
--- a/imagepicker/src/main/java/com/lcw/library/imagepicker/adapter/ImagePreViewAdapter.java
+++ b/imagepicker/src/main/java/com/lcw/library/imagepicker/adapter/ImagePreViewAdapter.java
@@ -1,11 +1,12 @@
package com.lcw.library.imagepicker.adapter;
import android.content.Context;
-import android.support.annotation.NonNull;
-import android.support.v4.view.PagerAdapter;
import android.view.View;
import android.view.ViewGroup;
+import androidx.annotation.NonNull;
+import androidx.viewpager.widget.PagerAdapter;
+
import com.lcw.library.imagepicker.data.MediaFile;
import com.lcw.library.imagepicker.manager.ConfigManager;
import com.lcw.library.imagepicker.view.PinchImageView;
@@ -21,7 +22,6 @@
* Email: lichenwei.me@foxmail.com
*/
public class ImagePreViewAdapter extends PagerAdapter {
-
private Context mContext;
private List mMediaFileList;
@@ -67,4 +67,4 @@ public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Obj
container.removeView(imageView);
viewCache.add(imageView);
}
-}
+}
\ No newline at end of file
diff --git a/imagepicker/src/main/java/com/lcw/library/imagepicker/data/ItemType.java b/imagepicker/src/main/java/com/lcw/library/imagepicker/data/ItemType.java
index 2f699cc..b5cbc73 100644
--- a/imagepicker/src/main/java/com/lcw/library/imagepicker/data/ItemType.java
+++ b/imagepicker/src/main/java/com/lcw/library/imagepicker/data/ItemType.java
@@ -11,4 +11,4 @@ public class ItemType {
public static final int ITEM_TYPE_CAMERA = 1;
public static final int ITEM_TYPE_IMAGE = 2;
public static final int ITEM_TYPE_VIDEO = 3;
-}
+}
\ No newline at end of file
diff --git a/imagepicker/src/main/java/com/lcw/library/imagepicker/data/MediaFile.java b/imagepicker/src/main/java/com/lcw/library/imagepicker/data/MediaFile.java
index ffab5b5..8536a6c 100644
--- a/imagepicker/src/main/java/com/lcw/library/imagepicker/data/MediaFile.java
+++ b/imagepicker/src/main/java/com/lcw/library/imagepicker/data/MediaFile.java
@@ -8,7 +8,6 @@
* Email: lichenwei.me@foxmail.com
*/
public class MediaFile {
-
private String path;
private String mime;
private Integer folderId;
@@ -63,5 +62,4 @@ public long getDateToken() {
public void setDateToken(long dateToken) {
this.dateToken = dateToken;
}
-}
-
+}
\ No newline at end of file
diff --git a/imagepicker/src/main/java/com/lcw/library/imagepicker/data/MediaFolder.java b/imagepicker/src/main/java/com/lcw/library/imagepicker/data/MediaFolder.java
index 99fbbdd..0dfbf34 100644
--- a/imagepicker/src/main/java/com/lcw/library/imagepicker/data/MediaFolder.java
+++ b/imagepicker/src/main/java/com/lcw/library/imagepicker/data/MediaFolder.java
@@ -10,7 +10,6 @@
* Email: lichenwei.me@foxmail.com
*/
public class MediaFolder {
-
private int folderId;
private String folderName;
private String folderCover;
@@ -63,6 +62,4 @@ public ArrayList getMediaFileList() {
public void setMediaFileList(ArrayList mediaFileList) {
this.mediaFileList = mediaFileList;
}
-
-
-}
+}
\ No newline at end of file
diff --git a/imagepicker/src/main/java/com/lcw/library/imagepicker/executors/CommonExecutor.java b/imagepicker/src/main/java/com/lcw/library/imagepicker/executors/CommonExecutor.java
index 49d01b8..e29ec2f 100644
--- a/imagepicker/src/main/java/com/lcw/library/imagepicker/executors/CommonExecutor.java
+++ b/imagepicker/src/main/java/com/lcw/library/imagepicker/executors/CommonExecutor.java
@@ -1,6 +1,6 @@
package com.lcw.library.imagepicker.executors;
-import android.support.annotation.NonNull;
+import androidx.annotation.NonNull;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
@@ -44,5 +44,4 @@ public static CommonExecutor getInstance() {
public void execute(Runnable runnable) {
mExecutorService.execute(runnable);
}
-
-}
+}
\ No newline at end of file
diff --git a/imagepicker/src/main/java/com/lcw/library/imagepicker/listener/MediaLoadCallback.java b/imagepicker/src/main/java/com/lcw/library/imagepicker/listener/MediaLoadCallback.java
index 3ccc419..c74ed9d 100644
--- a/imagepicker/src/main/java/com/lcw/library/imagepicker/listener/MediaLoadCallback.java
+++ b/imagepicker/src/main/java/com/lcw/library/imagepicker/listener/MediaLoadCallback.java
@@ -12,6 +12,5 @@
* Email: lichenwei.me@foxmail.com
*/
public interface MediaLoadCallback {
-
void loadMediaSuccess(List mediaFolderList);
-}
+}
\ No newline at end of file
diff --git a/imagepicker/src/main/java/com/lcw/library/imagepicker/loader/AbsMediaScanner.java b/imagepicker/src/main/java/com/lcw/library/imagepicker/loader/AbsMediaScanner.java
index 8749f64..01f23ef 100644
--- a/imagepicker/src/main/java/com/lcw/library/imagepicker/loader/AbsMediaScanner.java
+++ b/imagepicker/src/main/java/com/lcw/library/imagepicker/loader/AbsMediaScanner.java
@@ -83,5 +83,4 @@ public ArrayList queryMedia() {
}
return list;
}
-
-}
+}
\ No newline at end of file
diff --git a/imagepicker/src/main/java/com/lcw/library/imagepicker/loader/ImageScanner.java b/imagepicker/src/main/java/com/lcw/library/imagepicker/loader/ImageScanner.java
index 44f5a15..165098e 100644
--- a/imagepicker/src/main/java/com/lcw/library/imagepicker/loader/ImageScanner.java
+++ b/imagepicker/src/main/java/com/lcw/library/imagepicker/loader/ImageScanner.java
@@ -1,21 +1,14 @@
package com.lcw.library.imagepicker.loader;
+import android.annotation.SuppressLint;
import android.content.Context;
import android.database.Cursor;
import android.net.Uri;
import android.provider.MediaStore;
-import android.support.annotation.WorkerThread;
-import com.lcw.library.imagepicker.R;
import com.lcw.library.imagepicker.data.MediaFile;
-import com.lcw.library.imagepicker.data.MediaFolder;
import com.lcw.library.imagepicker.manager.ConfigManager;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
/**
* 媒体库扫描类(图片)
* Create by: chenWei.li
@@ -24,12 +17,10 @@
* Email: lichenwei.me@foxmail.com
*/
public class ImageScanner extends AbsMediaScanner {
-
public ImageScanner(Context context) {
super(context);
}
-
@Override
protected Uri getScanUri() {
return MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
@@ -77,12 +68,11 @@ protected String getOrder() {
*/
@Override
protected MediaFile parse(Cursor cursor) {
-
- String path = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DATA));
- String mime = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.MIME_TYPE));
- Integer folderId = cursor.getInt(cursor.getColumnIndex(MediaStore.Images.Media.BUCKET_ID));
- String folderName = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.BUCKET_DISPLAY_NAME));
- long dateToken = cursor.getLong(cursor.getColumnIndex(MediaStore.Images.Media.DATE_TAKEN));
+ @SuppressLint("Range") String path = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.DATA));
+ @SuppressLint("Range") String mime = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.MIME_TYPE));
+ @SuppressLint("Range") Integer folderId = cursor.getInt(cursor.getColumnIndex(MediaStore.Images.Media.BUCKET_ID));
+ @SuppressLint("Range") String folderName = cursor.getString(cursor.getColumnIndex(MediaStore.Images.Media.BUCKET_DISPLAY_NAME));
+ @SuppressLint("Range") long dateToken = cursor.getLong(cursor.getColumnIndex(MediaStore.Images.Media.DATE_TAKEN));
MediaFile mediaFile = new MediaFile();
mediaFile.setPath(path);
@@ -93,6 +83,4 @@ protected MediaFile parse(Cursor cursor) {
return mediaFile;
}
-
-
-}
+}
\ No newline at end of file
diff --git a/imagepicker/src/main/java/com/lcw/library/imagepicker/loader/MediaHandler.java b/imagepicker/src/main/java/com/lcw/library/imagepicker/loader/MediaHandler.java
index f247f46..f59db1c 100644
--- a/imagepicker/src/main/java/com/lcw/library/imagepicker/loader/MediaHandler.java
+++ b/imagepicker/src/main/java/com/lcw/library/imagepicker/loader/MediaHandler.java
@@ -21,7 +21,6 @@
* Email: lichenwei.me@foxmail.com
*/
public class MediaHandler {
-
public static final int ALL_MEDIA_FOLDER = -1;//全部媒体
public static final int ALL_VIDEO_FOLDER = -2;//全部视频
@@ -36,7 +35,6 @@ public static List getImageFolder(Context context, ArrayList getVideoFolder(Context context, ArrayList getVideoFolder(Context context, ArrayList getMediaFolder(Context context, ArrayList imageFileList, ArrayList videoFileList) {
-
//根据媒体所在文件夹Id进行聚类(相册)
Map mediaFolderMap = new HashMap<>();
@@ -135,8 +131,6 @@ public int compare(MediaFolder o1, MediaFolder o2) {
}
});
-
return mediaFolderList;
}
-
-}
+}
\ No newline at end of file
diff --git a/imagepicker/src/main/java/com/lcw/library/imagepicker/loader/VideoScanner.java b/imagepicker/src/main/java/com/lcw/library/imagepicker/loader/VideoScanner.java
index 4d8ce05..8784991 100644
--- a/imagepicker/src/main/java/com/lcw/library/imagepicker/loader/VideoScanner.java
+++ b/imagepicker/src/main/java/com/lcw/library/imagepicker/loader/VideoScanner.java
@@ -1,20 +1,12 @@
package com.lcw.library.imagepicker.loader;
+import android.annotation.SuppressLint;
import android.content.Context;
import android.database.Cursor;
import android.net.Uri;
import android.provider.MediaStore;
-import android.support.annotation.WorkerThread;
-import android.util.Log;
-import com.lcw.library.imagepicker.R;
import com.lcw.library.imagepicker.data.MediaFile;
-import com.lcw.library.imagepicker.data.MediaFolder;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
/**
* 媒体库扫描类(视频)
@@ -24,9 +16,7 @@
* Email: lichenwei.me@foxmail.com
*/
public class VideoScanner extends AbsMediaScanner {
-
public static final int ALL_IMAGES_FOLDER = -1;//全部图片
-
private Context mContext;
public VideoScanner(Context context) {
@@ -74,13 +64,12 @@ protected String getOrder() {
*/
@Override
protected MediaFile parse(Cursor cursor) {
-
- String path = cursor.getString(cursor.getColumnIndex(MediaStore.Video.Media.DATA));
- String mime = cursor.getString(cursor.getColumnIndex(MediaStore.Video.Media.MIME_TYPE));
- Integer folderId = cursor.getInt(cursor.getColumnIndex(MediaStore.Video.Media.BUCKET_ID));
- String folderName = cursor.getString(cursor.getColumnIndex(MediaStore.Video.Media.BUCKET_DISPLAY_NAME));
- long duration = cursor.getLong(cursor.getColumnIndex(MediaStore.Video.Media.DURATION));
- long dateToken = cursor.getLong(cursor.getColumnIndex(MediaStore.Video.Media.DATE_TAKEN));
+ @SuppressLint("Range") String path = cursor.getString(cursor.getColumnIndex(MediaStore.Video.Media.DATA));
+ @SuppressLint("Range") String mime = cursor.getString(cursor.getColumnIndex(MediaStore.Video.Media.MIME_TYPE));
+ @SuppressLint("Range") Integer folderId = cursor.getInt(cursor.getColumnIndex(MediaStore.Video.Media.BUCKET_ID));
+ @SuppressLint("Range") String folderName = cursor.getString(cursor.getColumnIndex(MediaStore.Video.Media.BUCKET_DISPLAY_NAME));
+ @SuppressLint("Range") long duration = cursor.getLong(cursor.getColumnIndex(MediaStore.Video.Media.DURATION));
+ @SuppressLint("Range") long dateToken = cursor.getLong(cursor.getColumnIndex(MediaStore.Video.Media.DATE_TAKEN));
MediaFile mediaFile = new MediaFile();
mediaFile.setPath(path);
@@ -92,6 +81,4 @@ protected MediaFile parse(Cursor cursor) {
return mediaFile;
}
-
-
-}
+}
\ No newline at end of file
diff --git a/imagepicker/src/main/java/com/lcw/library/imagepicker/manager/ConfigManager.java b/imagepicker/src/main/java/com/lcw/library/imagepicker/manager/ConfigManager.java
index a4aa22e..399cab8 100644
--- a/imagepicker/src/main/java/com/lcw/library/imagepicker/manager/ConfigManager.java
+++ b/imagepicker/src/main/java/com/lcw/library/imagepicker/manager/ConfigManager.java
@@ -12,7 +12,6 @@
* Email: lichenwei.me@foxmail.com
*/
public class ConfigManager {
-
public static final int SELECT_MODE_SINGLE = 0;
public static final int SELECT_MODE_MULTI = 1;
@@ -129,4 +128,4 @@ public void setSingleType(boolean singleType) {
public void setImageLoader(ImageLoader imageLoader) {
this.imageLoader = imageLoader;
}
-}
+}
\ No newline at end of file
diff --git a/imagepicker/src/main/java/com/lcw/library/imagepicker/manager/SelectionManager.java b/imagepicker/src/main/java/com/lcw/library/imagepicker/manager/SelectionManager.java
index ddd6179..98aac8a 100644
--- a/imagepicker/src/main/java/com/lcw/library/imagepicker/manager/SelectionManager.java
+++ b/imagepicker/src/main/java/com/lcw/library/imagepicker/manager/SelectionManager.java
@@ -13,11 +13,8 @@
* Email: lichenwei.me@foxmail.com
*/
public class SelectionManager {
-
private static volatile SelectionManager mSelectionManager;
-
private ArrayList mSelectImagePaths = new ArrayList<>();
-
private int mMaxCount = 1;
private SelectionManager() {
@@ -95,7 +92,6 @@ public void addImagePathsToSelectList(List imagePaths) {
}
}
-
/**
* 判断当前图片是否被选择
*
@@ -142,5 +138,4 @@ public static boolean isCanAddSelectionPaths(String currentPath, String filePath
public void removeAll() {
mSelectImagePaths.clear();
}
-
-}
+}
\ No newline at end of file
diff --git a/imagepicker/src/main/java/com/lcw/library/imagepicker/provider/ImagePickerProvider.java b/imagepicker/src/main/java/com/lcw/library/imagepicker/provider/ImagePickerProvider.java
index d54f923..59a568c 100644
--- a/imagepicker/src/main/java/com/lcw/library/imagepicker/provider/ImagePickerProvider.java
+++ b/imagepicker/src/main/java/com/lcw/library/imagepicker/provider/ImagePickerProvider.java
@@ -1,7 +1,8 @@
package com.lcw.library.imagepicker.provider;
import android.content.Context;
-import android.support.v4.content.FileProvider;
+
+import androidx.core.content.FileProvider;
/**
* 自定义Provider,避免上层发生provider冲突
@@ -11,9 +12,7 @@
* Email: lichenwei.me@foxmail.com
*/
public class ImagePickerProvider extends FileProvider {
-
public static String getFileProviderName(Context context) {
return context.getPackageName() + ".provider";
}
-
-}
+}
\ No newline at end of file
diff --git a/imagepicker/src/main/java/com/lcw/library/imagepicker/task/ImageLoadTask.java b/imagepicker/src/main/java/com/lcw/library/imagepicker/task/ImageLoadTask.java
index 6529ee2..11a9342 100644
--- a/imagepicker/src/main/java/com/lcw/library/imagepicker/task/ImageLoadTask.java
+++ b/imagepicker/src/main/java/com/lcw/library/imagepicker/task/ImageLoadTask.java
@@ -17,7 +17,6 @@
* Email: lichenwei.me@foxmail.com
*/
public class ImageLoadTask implements Runnable {
-
private Context mContext;
private ImageScanner mImageScanner;
private MediaLoadCallback mMediaLoadCallback;
@@ -40,8 +39,5 @@ public void run() {
if (mMediaLoadCallback != null) {
mMediaLoadCallback.loadMediaSuccess(MediaHandler.getImageFolder(mContext, imageFileList));
}
-
-
}
-
-}
+}
\ No newline at end of file
diff --git a/imagepicker/src/main/java/com/lcw/library/imagepicker/task/MediaLoadTask.java b/imagepicker/src/main/java/com/lcw/library/imagepicker/task/MediaLoadTask.java
index ffea164..1891d03 100644
--- a/imagepicker/src/main/java/com/lcw/library/imagepicker/task/MediaLoadTask.java
+++ b/imagepicker/src/main/java/com/lcw/library/imagepicker/task/MediaLoadTask.java
@@ -18,7 +18,6 @@
* Email: lichenwei.me@foxmail.com
*/
public class MediaLoadTask implements Runnable {
-
private Context mContext;
private ImageScanner mImageScanner;
private VideoScanner mVideoScanner;
@@ -48,7 +47,5 @@ public void run() {
if (mMediaLoadCallback != null) {
mMediaLoadCallback.loadMediaSuccess(MediaHandler.getMediaFolder(mContext, imageFileList, videoFileList));
}
-
}
-
-}
+}
\ No newline at end of file
diff --git a/imagepicker/src/main/java/com/lcw/library/imagepicker/task/VideoLoadTask.java b/imagepicker/src/main/java/com/lcw/library/imagepicker/task/VideoLoadTask.java
index e03a996..0265766 100644
--- a/imagepicker/src/main/java/com/lcw/library/imagepicker/task/VideoLoadTask.java
+++ b/imagepicker/src/main/java/com/lcw/library/imagepicker/task/VideoLoadTask.java
@@ -17,7 +17,6 @@
* Email: lichenwei.me@foxmail.com
*/
public class VideoLoadTask implements Runnable {
-
private Context mContext;
private VideoScanner mVideoScanner;
private MediaLoadCallback mMediaLoadCallback;
@@ -30,7 +29,6 @@ public VideoLoadTask(Context context, MediaLoadCallback mediaLoadCallback) {
@Override
public void run() {
-
//存放所有视频
ArrayList videoFileList = new ArrayList<>();
@@ -41,8 +39,5 @@ public void run() {
if (mMediaLoadCallback != null) {
mMediaLoadCallback.loadMediaSuccess(MediaHandler.getVideoFolder(mContext, videoFileList));
}
-
-
}
-
-}
+}
\ No newline at end of file
diff --git a/imagepicker/src/main/java/com/lcw/library/imagepicker/utils/DataUtil.java b/imagepicker/src/main/java/com/lcw/library/imagepicker/utils/DataUtil.java
index a1f51e0..ab25b23 100644
--- a/imagepicker/src/main/java/com/lcw/library/imagepicker/utils/DataUtil.java
+++ b/imagepicker/src/main/java/com/lcw/library/imagepicker/utils/DataUtil.java
@@ -15,7 +15,6 @@
* Email: lichenwei.me@foxmail.com
*/
public class DataUtil {
-
private static volatile DataUtil mDataUtilInstance;
private List mData = new ArrayList<>();
@@ -40,6 +39,4 @@ public List getMediaData() {
public void setMediaData(List data) {
this.mData = data;
}
-
-
-}
+}
\ No newline at end of file
diff --git a/imagepicker/src/main/java/com/lcw/library/imagepicker/utils/ImageLoader.java b/imagepicker/src/main/java/com/lcw/library/imagepicker/utils/ImageLoader.java
index 988abbe..f195ee3 100644
--- a/imagepicker/src/main/java/com/lcw/library/imagepicker/utils/ImageLoader.java
+++ b/imagepicker/src/main/java/com/lcw/library/imagepicker/utils/ImageLoader.java
@@ -12,7 +12,6 @@
* Email: lichenwei.me@foxmail.com
*/
public interface ImageLoader extends Serializable {
-
/**
* 缩略图加载方案
*
@@ -29,7 +28,6 @@ public interface ImageLoader extends Serializable {
*/
void loadPreImage(ImageView imageView, String imagePath);
-
/**
* 视频播放方案
*
@@ -42,5 +40,4 @@ public interface ImageLoader extends Serializable {
* 缓存管理
*/
void clearMemoryCache();
-
-}
+}
\ No newline at end of file
diff --git a/imagepicker/src/main/java/com/lcw/library/imagepicker/utils/MediaFileUtil.java b/imagepicker/src/main/java/com/lcw/library/imagepicker/utils/MediaFileUtil.java
index 841ee51..eeace88 100644
--- a/imagepicker/src/main/java/com/lcw/library/imagepicker/utils/MediaFileUtil.java
+++ b/imagepicker/src/main/java/com/lcw/library/imagepicker/utils/MediaFileUtil.java
@@ -9,7 +9,6 @@
* E-Mail Address:xingzhe@gaoding.com
*/
public class MediaFileUtil {
-
// comma separated list of all file extensions supported by the media scanner
public static String sFileExtensions;
@@ -58,7 +57,6 @@ public class MediaFileUtil {
//静态内部类
static class MediaFileType {
-
int fileType;
String mimeType;
@@ -75,7 +73,7 @@ static class MediaFileType {
static void addFileType(String extension, int fileType, String mimeType) {
sFileTypeMap.put(extension, new MediaFileType(fileType, mimeType));
- sMimeTypeMap.put(mimeType, new Integer(fileType));
+ sMimeTypeMap.put(mimeType, Integer.valueOf(fileType));
}
static {
@@ -177,7 +175,6 @@ public static boolean isAudioFileType(String path) { //自己增加
//根据mime类型查看文件类型
public static int getFileTypeForMimeType(String mimeType) {
Integer value = sMimeTypeMap.get(mimeType);
- return (value == null ? 0 : value.intValue());
+ return (value == null ? 0 : value);
}
-
-}
+}
\ No newline at end of file
diff --git a/imagepicker/src/main/java/com/lcw/library/imagepicker/utils/PermissionUtil.java b/imagepicker/src/main/java/com/lcw/library/imagepicker/utils/PermissionUtil.java
index f4fb016..cda7130 100644
--- a/imagepicker/src/main/java/com/lcw/library/imagepicker/utils/PermissionUtil.java
+++ b/imagepicker/src/main/java/com/lcw/library/imagepicker/utils/PermissionUtil.java
@@ -3,7 +3,9 @@
import android.Manifest;
import android.content.Context;
import android.content.pm.PackageManager;
-import android.support.v4.content.ContextCompat;
+import android.os.Build;
+
+import androidx.core.content.ContextCompat;
/**
* Create by: chenWei.li
@@ -12,7 +14,6 @@
* Email: lichenwei.me@foxmail.com
*/
public class PermissionUtil {
-
/**
* 权限检查
*
@@ -20,6 +21,10 @@ public class PermissionUtil {
* @return
*/
public static boolean checkPermission(Context context) {
- return ContextCompat.checkSelfPermission(context, Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED && ContextCompat.checkSelfPermission(context, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED;
+ if (Build.VERSION.SDK_INT >= 33) {
+ return ContextCompat.checkSelfPermission(context, Manifest.permission.READ_MEDIA_IMAGES) == PackageManager.PERMISSION_GRANTED && ContextCompat.checkSelfPermission(context, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED;
+ } else {
+ return ContextCompat.checkSelfPermission(context, Manifest.permission.READ_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED && ContextCompat.checkSelfPermission(context, Manifest.permission.CAMERA) == PackageManager.PERMISSION_GRANTED;
+ }
}
-}
+}
\ No newline at end of file
diff --git a/imagepicker/src/main/java/com/lcw/library/imagepicker/utils/Utils.java b/imagepicker/src/main/java/com/lcw/library/imagepicker/utils/Utils.java
index b2f4ba4..c7e1322 100644
--- a/imagepicker/src/main/java/com/lcw/library/imagepicker/utils/Utils.java
+++ b/imagepicker/src/main/java/com/lcw/library/imagepicker/utils/Utils.java
@@ -16,7 +16,6 @@
* Email: lichenwei.me@foxmail.com
*/
public class Utils {
-
/**
* 获取屏幕的宽和高
*
@@ -68,6 +67,4 @@ public static String getVideoDuration(long timestamp) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("mm:ss");
return simpleDateFormat.format(date);
}
-
-
-}
+}
\ No newline at end of file
diff --git a/imagepicker/src/main/java/com/lcw/library/imagepicker/view/HackyViewPager.java b/imagepicker/src/main/java/com/lcw/library/imagepicker/view/HackyViewPager.java
index 35e2118..9229cad 100644
--- a/imagepicker/src/main/java/com/lcw/library/imagepicker/view/HackyViewPager.java
+++ b/imagepicker/src/main/java/com/lcw/library/imagepicker/view/HackyViewPager.java
@@ -1,10 +1,11 @@
package com.lcw.library.imagepicker.view;
import android.content.Context;
-import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.view.MotionEvent;
+import androidx.viewpager.widget.ViewPager;
+
/**
* Create by: chenWei.li
* Date: 2018/10/7
@@ -29,4 +30,4 @@ public boolean onInterceptTouchEvent(MotionEvent ev) {
return false;
}
}
-}
+}
\ No newline at end of file
diff --git a/imagepicker/src/main/java/com/lcw/library/imagepicker/view/ImageFolderPopupWindow.java b/imagepicker/src/main/java/com/lcw/library/imagepicker/view/ImageFolderPopupWindow.java
index d6a39d1..3f72303 100644
--- a/imagepicker/src/main/java/com/lcw/library/imagepicker/view/ImageFolderPopupWindow.java
+++ b/imagepicker/src/main/java/com/lcw/library/imagepicker/view/ImageFolderPopupWindow.java
@@ -2,13 +2,14 @@
import android.content.Context;
import android.graphics.drawable.ColorDrawable;
-import android.support.v7.widget.LinearLayoutManager;
-import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.widget.PopupWindow;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
import com.lcw.library.imagepicker.R;
import com.lcw.library.imagepicker.adapter.ImageFoldersAdapter;
import com.lcw.library.imagepicker.data.MediaFolder;
@@ -24,7 +25,6 @@
* Email: lichenwei.me@foxmail.com
*/
public class ImageFolderPopupWindow extends PopupWindow {
-
private static final int DEFAULT_IMAGE_FOLDER_SELECT = 0;//默认选中文件夹
private Context mContext;
@@ -78,5 +78,4 @@ public boolean onTouch(View view, MotionEvent motionEvent) {
public ImageFoldersAdapter getAdapter() {
return mImageFoldersAdapter;
}
-
-}
+}
\ No newline at end of file
diff --git a/imagepicker/src/main/java/com/lcw/library/imagepicker/view/PinchImageView.java b/imagepicker/src/main/java/com/lcw/library/imagepicker/view/PinchImageView.java
index 62cf020..745fb64 100644
--- a/imagepicker/src/main/java/com/lcw/library/imagepicker/view/PinchImageView.java
+++ b/imagepicker/src/main/java/com/lcw/library/imagepicker/view/PinchImageView.java
@@ -10,6 +10,8 @@
import android.view.GestureDetector;
import android.view.MotionEvent;
+import androidx.appcompat.widget.AppCompatImageView;
+
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
@@ -22,7 +24,7 @@
* Time: 下午5:29
* Email: lichenwei.me@foxmail.com
*/
-public class PinchImageView extends android.support.v7.widget.AppCompatImageView {
+public class PinchImageView extends AppCompatImageView {
////////////////////////////////配置参数////////////////////////////////
@@ -1739,4 +1741,4 @@ public static void calculateScaledRectInContainer(RectF container, float srcWidt
}
}
-}
+}
\ No newline at end of file
diff --git a/imagepicker/src/main/java/com/lcw/library/imagepicker/view/SquareImageView.java b/imagepicker/src/main/java/com/lcw/library/imagepicker/view/SquareImageView.java
index aad1cc8..baabf8f 100644
--- a/imagepicker/src/main/java/com/lcw/library/imagepicker/view/SquareImageView.java
+++ b/imagepicker/src/main/java/com/lcw/library/imagepicker/view/SquareImageView.java
@@ -1,9 +1,11 @@
package com.lcw.library.imagepicker.view;
import android.content.Context;
-import android.support.annotation.Nullable;
import android.util.AttributeSet;
+import androidx.annotation.Nullable;
+import androidx.appcompat.widget.AppCompatImageView;
+
/**
* 正方形ImageView
* Create by: chenWei.li
@@ -11,7 +13,7 @@
* Time: 下午10:12
* Email: lichenwei.me@foxmail.com
*/
-public class SquareImageView extends android.support.v7.widget.AppCompatImageView {
+public class SquareImageView extends AppCompatImageView {
public SquareImageView(Context context) {
this(context, null);
@@ -29,4 +31,4 @@ public SquareImageView(Context context, @Nullable AttributeSet attrs, int defSty
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, widthMeasureSpec);
}
-}
+}
\ No newline at end of file
diff --git a/imagepicker/src/main/java/com/lcw/library/imagepicker/view/SquareRelativeLayout.java b/imagepicker/src/main/java/com/lcw/library/imagepicker/view/SquareRelativeLayout.java
index d9fb4d0..2482312 100644
--- a/imagepicker/src/main/java/com/lcw/library/imagepicker/view/SquareRelativeLayout.java
+++ b/imagepicker/src/main/java/com/lcw/library/imagepicker/view/SquareRelativeLayout.java
@@ -1,11 +1,11 @@
package com.lcw.library.imagepicker.view;
import android.content.Context;
-import android.support.annotation.Nullable;
import android.util.AttributeSet;
-import android.widget.FrameLayout;
import android.widget.RelativeLayout;
+import androidx.annotation.Nullable;
+
/**
* 正方形RelativeLayout
* Create by: chenWei.li
@@ -14,7 +14,6 @@
* Email: lichenwei.me@foxmail.com
*/
public class SquareRelativeLayout extends RelativeLayout {
-
public SquareRelativeLayout(Context context) {
this(context, null);
}
@@ -31,4 +30,4 @@ public SquareRelativeLayout(Context context, @Nullable AttributeSet attrs, int d
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, widthMeasureSpec);
}
-}
+}
\ No newline at end of file
diff --git a/imagepicker/src/main/res/layout/activity_imagepicker.xml b/imagepicker/src/main/res/layout/activity_imagepicker.xml
index 9dfb896..0ea8b7a 100644
--- a/imagepicker/src/main/res/layout/activity_imagepicker.xml
+++ b/imagepicker/src/main/res/layout/activity_imagepicker.xml
@@ -23,8 +23,8 @@
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_marginLeft="10dp"
- android:drawablePadding="4dp"
android:drawableRight="@mipmap/icon_album_index"
+ android:drawablePadding="4dp"
android:gravity="center"
android:text="@string/all_media"
android:textColor="@android:color/white"
@@ -39,7 +39,7 @@
android:layout_above="@id/rl_main_bottom"
android:layout_below="@id/layout_actionBar">
-
-
\ No newline at end of file
diff --git a/imagepicker/src/main/res/layout/activity_pre_image.xml b/imagepicker/src/main/res/layout/activity_pre_image.xml
index 5c91a06..fcaa95b 100644
--- a/imagepicker/src/main/res/layout/activity_pre_image.xml
+++ b/imagepicker/src/main/res/layout/activity_pre_image.xml
@@ -41,10 +41,8 @@
android:textColor="@color/text_color_white"
android:textSize="14sp" />
-
-
+ android:src="@mipmap/icon_video_play"
+ android:visibility="gone" />
-
\ No newline at end of file
diff --git a/imagepicker/src/main/res/layout/include_layout_actionbar.xml b/imagepicker/src/main/res/layout/include_layout_actionbar.xml
index e7460ab..2264190 100644
--- a/imagepicker/src/main/res/layout/include_layout_actionbar.xml
+++ b/imagepicker/src/main/res/layout/include_layout_actionbar.xml
@@ -33,10 +33,10 @@
android:background="@drawable/selector_bt_commit"
android:enabled="false"
android:gravity="center"
- android:paddingBottom="5dp"
android:paddingLeft="10dp"
- android:paddingRight="10dp"
android:paddingTop="5dp"
+ android:paddingRight="10dp"
+ android:paddingBottom="5dp"
android:text="@string/confirm"
android:textColor="@color/text_color_white"
android:textSize="14sp" />
diff --git a/imagepicker/src/main/res/layout/item_recyclerview_folder.xml b/imagepicker/src/main/res/layout/item_recyclerview_folder.xml
index e96801b..a0c6ef4 100644
--- a/imagepicker/src/main/res/layout/item_recyclerview_folder.xml
+++ b/imagepicker/src/main/res/layout/item_recyclerview_folder.xml
@@ -11,10 +11,10 @@
android:layout_centerVertical="true"
android:layout_marginLeft="10dp"
android:background="@mipmap/icon_image_folder"
- android:paddingBottom="17dp"
android:paddingLeft="12dp"
- android:paddingRight="12dp"
android:paddingTop="9dp"
+ android:paddingRight="12dp"
+ android:paddingBottom="17dp"
android:scaleType="fitXY" />
-
\ No newline at end of file
diff --git a/imagepicker/src/main/res/layout/item_recyclerview_image.xml b/imagepicker/src/main/res/layout/item_recyclerview_image.xml
index fb19387..cd8ff3c 100644
--- a/imagepicker/src/main/res/layout/item_recyclerview_image.xml
+++ b/imagepicker/src/main/res/layout/item_recyclerview_image.xml
@@ -31,5 +31,4 @@
android:src="@mipmap/icon_gif"
android:visibility="gone" />
-
\ No newline at end of file
diff --git a/imagepicker/src/main/res/layout/item_recyclerview_video.xml b/imagepicker/src/main/res/layout/item_recyclerview_video.xml
index b575de5..25842d9 100644
--- a/imagepicker/src/main/res/layout/item_recyclerview_video.xml
+++ b/imagepicker/src/main/res/layout/item_recyclerview_video.xml
@@ -45,5 +45,4 @@
-
\ No newline at end of file
diff --git a/imagepicker/src/main/res/layout/window_image_folders.xml b/imagepicker/src/main/res/layout/window_image_folders.xml
index a58bbc8..7267bda 100644
--- a/imagepicker/src/main/res/layout/window_image_folders.xml
+++ b/imagepicker/src/main/res/layout/window_image_folders.xml
@@ -5,11 +5,11 @@
android:background="@android:color/white"
android:orientation="vertical">
-
+ android:layout_marginTop="4dp"
+ android:layout_marginBottom="4dp" />
\ No newline at end of file
diff --git a/settings.gradle b/settings.gradle
index 3102320..b194edc 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -1 +1 @@
-include ':app', ':imagepicker'
+include ':app', ':imagepicker'
\ No newline at end of file