[Modify]保存图片权限修改
This commit is contained in:
@@ -5077,5 +5077,6 @@
|
||||
<string name="treasure_diamond_balance_is_insufficient">鉆石餘額不足,請先充值吧~</string>
|
||||
<string name="treasure_to_charge">去充值</string>
|
||||
<string name="treasure_in_find_love">通過尋愛之旅</string>
|
||||
<string name="give_application_storage_permission">請給予應用存儲權限,以正常保存圖片。</string>
|
||||
|
||||
</resources>
|
@@ -1,5 +1,7 @@
|
||||
package com.yizhuan.erban.community.photo;
|
||||
|
||||
import android.Manifest;
|
||||
import android.annotation.SuppressLint;
|
||||
import android.app.Activity;
|
||||
import android.content.Intent;
|
||||
import android.view.View;
|
||||
@@ -131,6 +133,7 @@ public class BigPhotoActivity extends BaseViewBindingActivity<ActivityBigPhotoBi
|
||||
finish();
|
||||
}
|
||||
|
||||
@SuppressLint("CheckResult")
|
||||
@Override
|
||||
public void onLongClick(int position) {
|
||||
if (!option.isSave()) {
|
||||
@@ -142,19 +145,25 @@ public class BigPhotoActivity extends BaseViewBindingActivity<ActivityBigPhotoBi
|
||||
if (item == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
ExecutorCenter.getInstance().post(() -> {
|
||||
AlbumUtils.INSTANCE.addUrlToAlbum(context, item.getPath(), new Function1<Boolean, Unit>() {
|
||||
@Override
|
||||
public Unit invoke(Boolean aBoolean) {
|
||||
checkPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE)
|
||||
.compose(bindToLifecycle())
|
||||
.subscribe(aBoolean -> {
|
||||
if (aBoolean) {
|
||||
toast(ResUtil.getString(R.string.community_photo_bigphotoactivity_05));
|
||||
ExecutorCenter.getInstance().post(() -> {
|
||||
AlbumUtils.INSTANCE.addUrlToAlbum(context, item.getPath(), new Function1<Boolean, Unit>() {
|
||||
@Override
|
||||
public Unit invoke(Boolean aBoolean) {
|
||||
if (aBoolean) {
|
||||
toast(ResUtil.getString(R.string.community_photo_bigphotoactivity_05));
|
||||
}
|
||||
return null;
|
||||
}
|
||||
});
|
||||
});
|
||||
} else {
|
||||
toast(ResUtil.getString(R.string.give_application_storage_permission));
|
||||
}
|
||||
return null;
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
});
|
||||
}));
|
||||
getDialogManager().showCommonPopupDialog(listBtn, ResUtil.getString(R.string.community_photo_bigphotoactivity_07));
|
||||
|
||||
|
@@ -74,5 +74,6 @@
|
||||
|
||||
<string name="video_easy_photos">視頻</string>
|
||||
|
||||
<string name="give_application_storage_permission">請給予應用存儲權限,以正常保存圖片。</string>
|
||||
|
||||
</resources>
|
||||
|
@@ -1,5 +1,6 @@
|
||||
package com.netease.nim.uikit.business.session.activity;
|
||||
|
||||
import android.Manifest;
|
||||
import android.content.Context;
|
||||
import android.content.Intent;
|
||||
import android.graphics.Bitmap;
|
||||
@@ -14,6 +15,7 @@ import android.view.ViewGroup;
|
||||
import android.widget.ImageView;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.annotation.NonNull;
|
||||
import androidx.core.view.ViewCompat;
|
||||
import androidx.viewpager.widget.PagerAdapter;
|
||||
import androidx.viewpager.widget.ViewPager;
|
||||
@@ -24,7 +26,6 @@ import com.netease.nim.uikit.api.wrapper.NimToolBarOptions;
|
||||
import com.netease.nim.uikit.common.activity.ToolBarOptions;
|
||||
import com.netease.nim.uikit.common.activity.UI;
|
||||
import com.netease.nim.uikit.common.ui.dialog.CustomAlertDialog;
|
||||
import com.netease.nim.uikit.common.ui.dialog.CustomAlertDialog.onSeparateItemClickListener;
|
||||
import com.netease.nim.uikit.common.ui.imageview.BaseZoomableImageView;
|
||||
import com.netease.nim.uikit.common.ui.imageview.ImageGestureListener;
|
||||
import com.netease.nim.uikit.common.util.media.BitmapDecoder;
|
||||
@@ -44,6 +45,7 @@ import com.netease.nimlib.sdk.msg.constant.MsgTypeEnum;
|
||||
import com.netease.nimlib.sdk.msg.model.IMMessage;
|
||||
import com.yizhuan.xchat_android_library.common.util.AlbumUtils;
|
||||
import com.yizhuan.xchat_android_library.common.util.ExecutorCenter;
|
||||
import com.yizhuan.xchat_android_library.easyphoto.utils.permission.PermissionUtil;
|
||||
import com.yizhuan.xchat_android_library.utils.ResUtil;
|
||||
import com.yizhuan.xchat_android_library.utils.SingleToastUtil;
|
||||
|
||||
@@ -532,17 +534,11 @@ public class WatchMessagePictureActivity extends UI {
|
||||
return;
|
||||
}
|
||||
alertDialog.clearData();
|
||||
String path = ((ImageAttachment) message.getAttachment()).getThumbPath();
|
||||
if (TextUtils.isEmpty(path)) {
|
||||
return;
|
||||
}
|
||||
String title;
|
||||
if (!TextUtils.isEmpty(((ImageAttachment) message.getAttachment()).getPath())) {
|
||||
title = getString(R.string.save_to_device);
|
||||
alertDialog.addItem(title, new onSeparateItemClickListener() {
|
||||
|
||||
@Override
|
||||
public void onClick() {
|
||||
alertDialog.addItem(title, () -> {
|
||||
if (PermissionUtil.checkAndRequestPermissionsInActivity(WatchMessagePictureActivity.this, getNeedPermissions())) {
|
||||
savePicture();
|
||||
}
|
||||
});
|
||||
@@ -571,4 +567,32 @@ public class WatchMessagePictureActivity extends UI {
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions,
|
||||
@NonNull int[] grantResults) {
|
||||
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
|
||||
PermissionUtil.onPermissionResult(this, permissions, grantResults,
|
||||
new PermissionUtil.PermissionCallBack() {
|
||||
@Override
|
||||
public void onSuccess() {
|
||||
savePicture();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onShouldShow() {
|
||||
SingleToastUtil.showToastShort(R.string.give_application_storage_permission);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onFailed() {
|
||||
SingleToastUtil.showToastShort(R.string.give_application_storage_permission);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
protected String[] getNeedPermissions() {
|
||||
return new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE};
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user