feat : 去掉 photoPick 可行判断
This commit is contained in:
@@ -494,6 +494,10 @@
|
||||
android:name=".ui.widget.LevelUpDialog"
|
||||
android:launchMode="singleTop"
|
||||
android:theme="@style/dialogactivity" />
|
||||
<activity
|
||||
android:name=".base.PhotoPickActivity"
|
||||
android:launchMode="singleTop"
|
||||
android:theme="@style/dialogactivity" />
|
||||
<activity android:name=".home.activity.NewUserListActivity" />
|
||||
<activity
|
||||
android:name=".ui.widget.RecallDialog"
|
||||
|
@@ -185,16 +185,15 @@ public class RoomSettingActivity extends BaseMvpActivity<IRoomSettingView, RoomS
|
||||
.filter(roomEvent -> roomEvent.getEvent() == RoomEvent.ROOM_INFO_UPDATE)
|
||||
.subscribe(roomEvent -> updateRoomInfoView());
|
||||
|
||||
if (ActivityResultContracts.PickVisualMedia.isPhotoPickerAvailable(this)) {
|
||||
pickMedia = registerForActivityResult(new ActivityResultContracts.PickVisualMedia(), new ActivityResultCallback<Uri>() {
|
||||
@Override
|
||||
public void onActivityResult(Uri uri) {
|
||||
if (uri != null && mUri != null) {
|
||||
crop(uri, 1, mUri);
|
||||
}
|
||||
//todo do photoPick
|
||||
pickMedia = registerForActivityResult(new ActivityResultContracts.PickVisualMedia(), new ActivityResultCallback<Uri>() {
|
||||
@Override
|
||||
public void onActivityResult(Uri uri) {
|
||||
if (uri != null && mUri != null) {
|
||||
crop(uri, 1, mUri);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
@@ -619,7 +618,7 @@ public class RoomSettingActivity extends BaseMvpActivity<IRoomSettingView, RoomS
|
||||
}
|
||||
|
||||
private void checkStoragePermission() {
|
||||
if (Build.VERSION.SDK_INT >= 33){
|
||||
if (Build.VERSION.SDK_INT >= 29){
|
||||
DialogUtil.INSTANCE.getDialog(this, new EasyAlertDialogHelper.OnDialogActionListener() {
|
||||
@Override
|
||||
public void doCancelAction() {}
|
||||
|
@@ -64,17 +64,17 @@ class UploadRoomAlbumDialogFragment : BottomSheetDialogFragment() {
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
setStyle(STYLE_NO_TITLE, R.style.ErbanBottomSheetDialog)
|
||||
if (ActivityResultContracts.PickVisualMedia.isPhotoPickerAvailable(requireContext())) {
|
||||
pickMedia = registerForActivityResult(ActivityResultContracts.PickVisualMedia()) { uri ->
|
||||
uri?.let {
|
||||
if (MyUriUtils.isGif(requireContext(), uri)) {
|
||||
ToastUtils.show(R.string.error_file_type)
|
||||
return@let
|
||||
}
|
||||
val file = MyUriUtils.copyFile(requireContext(),uri)
|
||||
if (file != null) {
|
||||
compressPhotos(mutableListOf(file.path))
|
||||
}
|
||||
|
||||
//todo do photoPick
|
||||
pickMedia = registerForActivityResult(ActivityResultContracts.PickVisualMedia()) { uri ->
|
||||
uri?.let {
|
||||
if (MyUriUtils.isGif(requireContext(), uri)) {
|
||||
ToastUtils.show(R.string.error_file_type)
|
||||
return@let
|
||||
}
|
||||
val file = MyUriUtils.copyFile(requireContext(),uri)
|
||||
if (file != null) {
|
||||
compressPhotos(mutableListOf(file.path))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
24
app/src/main/java/com/chwl/app/base/PhotoPickActivity.kt
Normal file
24
app/src/main/java/com/chwl/app/base/PhotoPickActivity.kt
Normal file
@@ -0,0 +1,24 @@
|
||||
package com.chwl.app.base
|
||||
|
||||
import android.os.Bundle
|
||||
import androidx.activity.ComponentActivity
|
||||
import androidx.activity.result.ActivityResultLauncher
|
||||
import androidx.activity.result.PickVisualMediaRequest
|
||||
import com.chwl.app.R
|
||||
|
||||
class PhotoPickActivity : ComponentActivity() {
|
||||
|
||||
|
||||
var pickMedia : ActivityResultLauncher<PickVisualMediaRequest>?=null
|
||||
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
setContentView(R.layout.activity_photo_pick)
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
@@ -65,13 +65,13 @@ class FeedbackActivity : BaseViewBindingActivity<FeedbackActivityBinding>(),
|
||||
|
||||
override fun onCreate(savedInstanceState: Bundle?) {
|
||||
super.onCreate(savedInstanceState)
|
||||
if (ActivityResultContracts.PickVisualMedia.isPhotoPickerAvailable(this)) {
|
||||
pickMedia = registerForActivityResult(ActivityResultContracts.PickVisualMedia()) { uri ->
|
||||
uri?.let {
|
||||
val file = MyUriUtils.copyFile(this,uri)
|
||||
if (file != null) {
|
||||
compressPhotos(mutableListOf(file.path))
|
||||
}
|
||||
|
||||
//todo do photoPick
|
||||
pickMedia = registerForActivityResult(ActivityResultContracts.PickVisualMedia()) { uri ->
|
||||
uri?.let {
|
||||
val file = MyUriUtils.copyFile(this,uri)
|
||||
if (file != null) {
|
||||
compressPhotos(mutableListOf(file.path))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -115,22 +115,21 @@ class UserInfoModifyActivity : BaseViewBindingActivity<ActivityUserInfoModifyBin
|
||||
UserModel.get().getUserInfo(userId).subscribe(userInfoUpdateObserver)
|
||||
PhotoCompressUtil.clearCompressCache()
|
||||
|
||||
if (ActivityResultContracts.PickVisualMedia.isPhotoPickerAvailable(this)) {
|
||||
pickMedia = registerForActivityResult(ActivityResultContracts.PickVisualMedia()) { uri ->
|
||||
if (uri != null) {
|
||||
mUri?.let {
|
||||
if (isGif) {
|
||||
if (MyUriUtils.isGif(context, uri)){
|
||||
val isCopy = MyUriUtils.copyFileToUrl(this,uri, it)
|
||||
if (isCopy) {
|
||||
onActivityResult(UCrop.REQUEST_CROP,RESULT_OK,null)
|
||||
}
|
||||
}else{
|
||||
ToastUtils.show(R.string.error_file_type)
|
||||
//todo do photoPick
|
||||
pickMedia = registerForActivityResult(ActivityResultContracts.PickVisualMedia()) { uri ->
|
||||
if (uri != null) {
|
||||
mUri?.let {
|
||||
if (isGif) {
|
||||
if (MyUriUtils.isGif(context, uri)){
|
||||
val isCopy = MyUriUtils.copyFileToUrl(this,uri, it)
|
||||
if (isCopy) {
|
||||
onActivityResult(UCrop.REQUEST_CROP,RESULT_OK,null)
|
||||
}
|
||||
} else {
|
||||
crop(uri, 1, it)
|
||||
}else{
|
||||
ToastUtils.show(R.string.error_file_type)
|
||||
}
|
||||
} else {
|
||||
crop(uri, 1, it)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -104,13 +104,13 @@ class UserModifyPhotosActivity : TakePhotoActivity(), PhotoItemClickListener,
|
||||
if (userInfo != null) {
|
||||
updateView()
|
||||
}
|
||||
if (ActivityResultContracts.PickVisualMedia.isPhotoPickerAvailable(this)) {
|
||||
pickMedia = registerForActivityResult(ActivityResultContracts.PickVisualMedia()) { uri ->
|
||||
uri?.let {
|
||||
crop(it, 0, mUri)
|
||||
}
|
||||
|
||||
//todo do photoPick
|
||||
pickMedia = registerForActivityResult(ActivityResultContracts.PickVisualMedia()) { uri ->
|
||||
uri?.let {
|
||||
crop(it, 0, mUri)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
7
app/src/main/res/layout/activity_photo_pick.xml
Normal file
7
app/src/main/res/layout/activity_photo_pick.xml
Normal file
@@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:layout_width="match_parent"
|
||||
android:background="@color/transparent"
|
||||
android:layout_height="match_parent">
|
||||
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
@@ -195,69 +195,68 @@ public class PublishActivity extends BaseMvpActivity<IPublishView, PublishPresen
|
||||
rlChooseGroup.setVisibility(View.GONE);
|
||||
flGroup.setVisibility(View.GONE);
|
||||
|
||||
if (ActivityResultContracts.PickVisualMedia.isPhotoPickerAvailable(this)) {
|
||||
pickMedia = registerForActivityResult(new ActivityResultContracts.PickVisualMedia(), new ActivityResultCallback<Uri>() {
|
||||
@Override
|
||||
public void onActivityResult(Uri uri) {
|
||||
if (uri != null && uri.getPath() != null){
|
||||
//todo do photoPick
|
||||
pickMedia = registerForActivityResult(new ActivityResultContracts.PickVisualMedia(), new ActivityResultCallback<Uri>() {
|
||||
@Override
|
||||
public void onActivityResult(Uri uri) {
|
||||
if (uri != null && uri.getPath() != null){
|
||||
|
||||
if (MyUriUtils.INSTANCE.isGif(context, uri)) {
|
||||
ToastUtils.show(R.string.error_file_type);
|
||||
return;
|
||||
if (MyUriUtils.INSTANCE.isGif(context, uri)) {
|
||||
ToastUtils.show(R.string.error_file_type);
|
||||
return;
|
||||
}
|
||||
|
||||
File file = MyUriUtils.INSTANCE.copyFile(PublishActivity.this, uri);
|
||||
if (file != null) {
|
||||
LogUtil.e("选择 file = "+file.getName());
|
||||
LogUtil.e("选择 file = "+file.getPath());
|
||||
|
||||
if (mJob != null) {
|
||||
mJob.cancel(null);
|
||||
}
|
||||
ArrayList<String> pathList = new ArrayList<>();
|
||||
pathList.add(file.getPath());
|
||||
|
||||
File file = MyUriUtils.INSTANCE.copyFile(PublishActivity.this, uri);
|
||||
if (file != null) {
|
||||
LogUtil.e("选择 file = "+file.getName());
|
||||
LogUtil.e("选择 file = "+file.getPath());
|
||||
|
||||
if (mJob != null) {
|
||||
mJob.cancel(null);
|
||||
}
|
||||
ArrayList<String> pathList = new ArrayList<>();
|
||||
pathList.add(file.getPath());
|
||||
|
||||
mJob = PhotoCompressUtil.compress(PublishActivity.this, pathList,
|
||||
PhotoCompressUtil.getCompressCachePath("publish")
|
||||
, new PhotosCompressCallback() {
|
||||
@Override
|
||||
public void onSuccess(@NonNull ArrayList<String> compressedImgList) {
|
||||
List<CustomItem> pathResult = new ArrayList<>();
|
||||
for (int i = 0; i < compressedImgList.size(); i++) {
|
||||
if (i < pathList.size()) {
|
||||
List<String> fileInfo = MyUriUtils.INSTANCE.getFileInfo(file);
|
||||
if (fileInfo != null) {
|
||||
pathResult.add(new CustomItem(compressedImgList.get(i), CustomItem.IMAGE_NORMAL, fileInfo.get(2), Integer.parseInt(fileInfo.get(0)), Integer.parseInt(fileInfo.get(1))));
|
||||
}
|
||||
}
|
||||
mJob = PhotoCompressUtil.compress(PublishActivity.this, pathList,
|
||||
PhotoCompressUtil.getCompressCachePath("publish")
|
||||
, new PhotosCompressCallback() {
|
||||
@Override
|
||||
public void onSuccess(@NonNull ArrayList<String> compressedImgList) {
|
||||
List<CustomItem> pathResult = new ArrayList<>();
|
||||
for (int i = 0; i < compressedImgList.size(); i++) {
|
||||
if (i < pathList.size()) {
|
||||
List<String> fileInfo = MyUriUtils.INSTANCE.getFileInfo(file);
|
||||
if (fileInfo != null) {
|
||||
pathResult.add(new CustomItem(compressedImgList.get(i), CustomItem.IMAGE_NORMAL, fileInfo.get(2), Integer.parseInt(fileInfo.get(0)), Integer.parseInt(fileInfo.get(1))));
|
||||
}
|
||||
}
|
||||
if (pathResult.size() == 0) {
|
||||
return;
|
||||
}
|
||||
LogUtil.print(pathResult);
|
||||
|
||||
uploadList.addAll(pathResult);
|
||||
updateImagesData();
|
||||
|
||||
isOriginalImage = false;
|
||||
LogUtil.print("isOriginalImage:" + isOriginalImage);
|
||||
SharedPreferenceUtils.put(KEY_SP_ORIGINAL_IMAGE, isOriginalImage);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFail(@NonNull Throwable e) {
|
||||
toast(getString(R.string.picker_image_error));
|
||||
if (pathResult.size() == 0) {
|
||||
return;
|
||||
}
|
||||
}, 200, false, Constants.UPLOAD_IMAGE_MAX_SIZE, Constants.UPLOAD_IMAGE_MAX_FILE_LENGTH);
|
||||
LogUtil.print(pathResult);
|
||||
|
||||
}
|
||||
uploadList.addAll(pathResult);
|
||||
updateImagesData();
|
||||
|
||||
isOriginalImage = false;
|
||||
LogUtil.print("isOriginalImage:" + isOriginalImage);
|
||||
SharedPreferenceUtils.put(KEY_SP_ORIGINAL_IMAGE, isOriginalImage);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFail(@NonNull Throwable e) {
|
||||
toast(getString(R.string.picker_image_error));
|
||||
}
|
||||
}, 200, false, Constants.UPLOAD_IMAGE_MAX_SIZE, Constants.UPLOAD_IMAGE_MAX_FILE_LENGTH);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
@@ -705,7 +704,7 @@ public class PublishActivity extends BaseMvpActivity<IPublishView, PublishPresen
|
||||
|
||||
private void checkStoragePermission() {
|
||||
|
||||
if (Build.VERSION.SDK_INT >= 33){
|
||||
if (Build.VERSION.SDK_INT >= 29){
|
||||
if (pickMedia != null){
|
||||
DialogUtil.INSTANCE.getDialog(this,new EasyAlertDialogHelper.OnDialogActionListener() {
|
||||
@Override
|
||||
|
Reference in New Issue
Block a user