diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index dd6e0a894..a8f208667 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -494,6 +494,10 @@ android:name=".ui.widget.LevelUpDialog" android:launchMode="singleTop" android:theme="@style/dialogactivity" /> + roomEvent.getEvent() == RoomEvent.ROOM_INFO_UPDATE) .subscribe(roomEvent -> updateRoomInfoView()); - if (ActivityResultContracts.PickVisualMedia.isPhotoPickerAvailable(this)) { - pickMedia = registerForActivityResult(new ActivityResultContracts.PickVisualMedia(), new ActivityResultCallback() { - @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() { + @Override + public void onActivityResult(Uri uri) { + if (uri != null && mUri != null) { + crop(uri, 1, mUri); } - }); - } + } + }); } @@ -619,7 +618,7 @@ public class RoomSettingActivity extends BaseMvpActivity= 33){ + if (Build.VERSION.SDK_INT >= 29){ DialogUtil.INSTANCE.getDialog(this, new EasyAlertDialogHelper.OnDialogActionListener() { @Override public void doCancelAction() {} diff --git a/app/src/main/java/com/chwl/app/avroom/room_album/UploadRoomAlbumDialogFragment.kt b/app/src/main/java/com/chwl/app/avroom/room_album/UploadRoomAlbumDialogFragment.kt index f3814af27..b4f83a548 100644 --- a/app/src/main/java/com/chwl/app/avroom/room_album/UploadRoomAlbumDialogFragment.kt +++ b/app/src/main/java/com/chwl/app/avroom/room_album/UploadRoomAlbumDialogFragment.kt @@ -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)) } } } diff --git a/app/src/main/java/com/chwl/app/base/PhotoPickActivity.kt b/app/src/main/java/com/chwl/app/base/PhotoPickActivity.kt new file mode 100644 index 000000000..94cb4d66e --- /dev/null +++ b/app/src/main/java/com/chwl/app/base/PhotoPickActivity.kt @@ -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?=null + + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + setContentView(R.layout.activity_photo_pick) + } + + + + + +} \ No newline at end of file diff --git a/app/src/main/java/com/chwl/app/ui/feedback/FeedbackActivity.kt b/app/src/main/java/com/chwl/app/ui/feedback/FeedbackActivity.kt index afe14f19f..57ffbe684 100644 --- a/app/src/main/java/com/chwl/app/ui/feedback/FeedbackActivity.kt +++ b/app/src/main/java/com/chwl/app/ui/feedback/FeedbackActivity.kt @@ -65,13 +65,13 @@ class FeedbackActivity : BaseViewBindingActivity(), 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)) } } } diff --git a/app/src/main/java/com/chwl/app/ui/user/activity/UserInfoModifyActivity.kt b/app/src/main/java/com/chwl/app/ui/user/activity/UserInfoModifyActivity.kt index 9b2a22c46..d6007285f 100644 --- a/app/src/main/java/com/chwl/app/ui/user/activity/UserInfoModifyActivity.kt +++ b/app/src/main/java/com/chwl/app/ui/user/activity/UserInfoModifyActivity.kt @@ -115,22 +115,21 @@ class UserInfoModifyActivity : BaseViewBindingActivity - 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) } } } diff --git a/app/src/main/java/com/chwl/app/ui/user/activity/UserModifyPhotosActivity.kt b/app/src/main/java/com/chwl/app/ui/user/activity/UserModifyPhotosActivity.kt index 7a59f6d10..4bb42c440 100644 --- a/app/src/main/java/com/chwl/app/ui/user/activity/UserModifyPhotosActivity.kt +++ b/app/src/main/java/com/chwl/app/ui/user/activity/UserModifyPhotosActivity.kt @@ -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) } + } } diff --git a/app/src/main/res/layout/activity_photo_pick.xml b/app/src/main/res/layout/activity_photo_pick.xml new file mode 100644 index 000000000..77cb43ed9 --- /dev/null +++ b/app/src/main/res/layout/activity_photo_pick.xml @@ -0,0 +1,7 @@ + + + + \ No newline at end of file diff --git a/app/src/module_community/java/com/chwl/app/community/publish/view/PublishActivity.java b/app/src/module_community/java/com/chwl/app/community/publish/view/PublishActivity.java index f598a1f20..5c38a942b 100644 --- a/app/src/module_community/java/com/chwl/app/community/publish/view/PublishActivity.java +++ b/app/src/module_community/java/com/chwl/app/community/publish/view/PublishActivity.java @@ -195,69 +195,68 @@ public class PublishActivity extends BaseMvpActivity() { - @Override - public void onActivityResult(Uri uri) { - if (uri != null && uri.getPath() != null){ + //todo do photoPick + pickMedia = registerForActivityResult(new ActivityResultContracts.PickVisualMedia(), new ActivityResultCallback() { + @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 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 pathList = new ArrayList<>(); - pathList.add(file.getPath()); - - mJob = PhotoCompressUtil.compress(PublishActivity.this, pathList, - PhotoCompressUtil.getCompressCachePath("publish") - , new PhotosCompressCallback() { - @Override - public void onSuccess(@NonNull ArrayList compressedImgList) { - List pathResult = new ArrayList<>(); - for (int i = 0; i < compressedImgList.size(); i++) { - if (i < pathList.size()) { - List 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 compressedImgList) { + List pathResult = new ArrayList<>(); + for (int i = 0; i < compressedImgList.size(); i++) { + if (i < pathList.size()) { + List 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= 33){ + if (Build.VERSION.SDK_INT >= 29){ if (pickMedia != null){ DialogUtil.INSTANCE.getDialog(this,new EasyAlertDialogHelper.OnDialogActionListener() { @Override diff --git a/nim_uikit/src/com/netease/nim/uikit/common/activity/NimPhotoPickActivity.kt b/nim_uikit/src/com/netease/nim/uikit/common/activity/NimPhotoPickActivity.kt index 9aa019f15..1e413d56d 100644 --- a/nim_uikit/src/com/netease/nim/uikit/common/activity/NimPhotoPickActivity.kt +++ b/nim_uikit/src/com/netease/nim/uikit/common/activity/NimPhotoPickActivity.kt @@ -40,21 +40,20 @@ class NimPhotoPickActivity : AppCompatActivity() { // WindowManager.LayoutParams.FLAG_FULLSCREEN // ) - if (ActivityResultContracts.PickVisualMedia.isPhotoPickerAvailable(this)) { - pickMedia = registerForActivityResult(ActivityResultContracts.PickVisualMedia()) { uri -> - if (uri != null) { - val file = copyFile(this@NimPhotoPickActivity, uri) - if (file != null) { - val resultList = ArrayList() - val data = Intent() - resultList.add(Photo(file.path)) - data.putParcelableArrayListExtra(EasyPhotos.RESULT_PHOTOS, resultList) - setResult(RESULT_OK, data) - finish() - } - } else { + //todo do photoPick + pickMedia = registerForActivityResult(ActivityResultContracts.PickVisualMedia()) { uri -> + if (uri != null) { + val file = copyFile(this@NimPhotoPickActivity, uri) + if (file != null) { + val resultList = ArrayList() + val data = Intent() + resultList.add(Photo(file.path)) + data.putParcelableArrayListExtra(EasyPhotos.RESULT_PHOTOS, resultList) + setResult(RESULT_OK, data) finish() } + } else { + finish() } } }