chore:移除七鱼客服SDK
This commit is contained in:
@@ -282,8 +282,6 @@ dependencies {
|
|||||||
|
|
||||||
implementation 'com.github.mmin18:realtimeblurview:1.2.1'
|
implementation 'com.github.mmin18:realtimeblurview:1.2.1'
|
||||||
|
|
||||||
implementation 'com.qiyukf.unicorn:unicorn:8.2.0'
|
|
||||||
|
|
||||||
implementation 'com.github.yalantis:ucrop:2.2.7'
|
implementation 'com.github.yalantis:ucrop:2.2.7'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -59,7 +59,6 @@ import com.nnbc123.app.main.helper.NoticationsUiHelper;
|
|||||||
import com.nnbc123.app.miniworld.activity.MiniWorldGuestPageActivity;
|
import com.nnbc123.app.miniworld.activity.MiniWorldGuestPageActivity;
|
||||||
import com.nnbc123.app.module.Extras;
|
import com.nnbc123.app.module.Extras;
|
||||||
import com.nnbc123.app.module_hall.secretcode.PwdCodeMgr;
|
import com.nnbc123.app.module_hall.secretcode.PwdCodeMgr;
|
||||||
import com.nnbc123.app.qiyukefu.CustomerServerHelper;
|
|
||||||
import com.nnbc123.app.quick_pass.QuickPassLoginAct;
|
import com.nnbc123.app.quick_pass.QuickPassLoginAct;
|
||||||
import com.nnbc123.app.service.DaemonService;
|
import com.nnbc123.app.service.DaemonService;
|
||||||
import com.nnbc123.app.ui.im.ImInitHelper;
|
import com.nnbc123.app.ui.im.ImInitHelper;
|
||||||
@@ -499,7 +498,6 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
|||||||
getMvpPresenter().exitRoom();
|
getMvpPresenter().exitRoom();
|
||||||
QuickPassLoginAct.start(MainActivity.this);
|
QuickPassLoginAct.start(MainActivity.this);
|
||||||
PmDialogShowMrg.get().onLogout();
|
PmDialogShowMrg.get().onLogout();
|
||||||
CustomerServerHelper.logout();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void onNeedLogin() {
|
public void onNeedLogin() {
|
||||||
@@ -654,8 +652,6 @@ public class MainActivity extends BaseMvpActivity<IMainView, MainPresenter>
|
|||||||
checkShowAnchorCardView();
|
checkShowAnchorCardView();
|
||||||
|
|
||||||
onTabClick(mCurrentTabType);
|
onTabClick(mCurrentTabType);
|
||||||
|
|
||||||
CustomerServerHelper.onLoginInfoUpdate(UserUtils.getUserInfo());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@@ -52,7 +52,6 @@ import com.netease.nimlib.sdk.msg.constant.MsgTypeEnum;
|
|||||||
import com.netease.nimlib.sdk.msg.model.IMMessage;
|
import com.netease.nimlib.sdk.msg.model.IMMessage;
|
||||||
import com.netease.nimlib.sdk.util.NIMUtil;
|
import com.netease.nimlib.sdk.util.NIMUtil;
|
||||||
import com.nnbc123.app.AgentActivity;
|
import com.nnbc123.app.AgentActivity;
|
||||||
import com.nnbc123.app.qiyukefu.CustomerServerHelper;
|
|
||||||
import com.nnbc123.library.common.application.BaseApp;
|
import com.nnbc123.library.common.application.BaseApp;
|
||||||
import com.nnbc123.library.common.file.FileHelper;
|
import com.nnbc123.library.common.file.FileHelper;
|
||||||
import com.nnbc123.library.utils.ResUtil;
|
import com.nnbc123.library.utils.ResUtil;
|
||||||
@@ -284,8 +283,6 @@ public class XChatApplication extends BaseApp {
|
|||||||
initLinkedMe();
|
initLinkedMe();
|
||||||
MobSDK.init(context);
|
MobSDK.init(context);
|
||||||
MobSDK.submitPolicyGrantResult(true);
|
MobSDK.submitPolicyGrantResult(true);
|
||||||
} else {
|
|
||||||
CustomerServerHelper.init(instance, null);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
LogUtils.d("init time = " + (System.currentTimeMillis() - startTime) + "ms");
|
LogUtils.d("init time = " + (System.currentTimeMillis() - startTime) + "ms");
|
||||||
|
@@ -30,11 +30,9 @@ import com.nnbc123.app.home.activity.VisitorListActivity
|
|||||||
import com.nnbc123.app.home.adapter.MeCenterAdapter
|
import com.nnbc123.app.home.adapter.MeCenterAdapter
|
||||||
import com.nnbc123.app.home.helper.BannerHelper
|
import com.nnbc123.app.home.helper.BannerHelper
|
||||||
import com.nnbc123.app.home.helper.OpenRoomHelper
|
import com.nnbc123.app.home.helper.OpenRoomHelper
|
||||||
import com.nnbc123.app.qiyukefu.CustomerServerHelper
|
|
||||||
import com.nnbc123.app.skill.activity.SkillHomeActivity
|
import com.nnbc123.app.skill.activity.SkillHomeActivity
|
||||||
import com.nnbc123.app.skill.activity.SkillHomeActivity.Companion.start
|
import com.nnbc123.app.skill.activity.SkillHomeActivity.Companion.start
|
||||||
import com.nnbc123.app.support.LevelIconHelper
|
import com.nnbc123.app.support.LevelIconHelper
|
||||||
import com.nnbc123.app.ui.patriarch.PatriarchModeActivity
|
|
||||||
import com.nnbc123.app.ui.pay.ChargeActivity
|
import com.nnbc123.app.ui.pay.ChargeActivity
|
||||||
import com.nnbc123.app.ui.relation.AttentionListActivity
|
import com.nnbc123.app.ui.relation.AttentionListActivity
|
||||||
import com.nnbc123.app.ui.relation.FansListActivity
|
import com.nnbc123.app.ui.relation.FansListActivity
|
||||||
|
@@ -1,48 +0,0 @@
|
|||||||
package com.nnbc123.app.qiyukefu;
|
|
||||||
|
|
||||||
import androidx.annotation.Keep;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author jack
|
|
||||||
* @Description @link YSFUserInfo
|
|
||||||
* @Date 2019/3/18
|
|
||||||
*/
|
|
||||||
@Keep
|
|
||||||
public class CustomerItemInfo {
|
|
||||||
private String key;//数据项的名称,用于区别不同的数据。
|
|
||||||
private int index;//用于排序,显示数据时数据项按index值升序排列;不设定index的数据项将排在后面;index相同或未设定的数据项将按照其在 JSON 中出现的顺序排列。
|
|
||||||
private String label;//该项数据显示的名称。
|
|
||||||
private String value;//该数据显示的值,类型不做限定,根据实际需要进行设定。
|
|
||||||
private String href;//超链接地址。若指定该值,则该项数据将显示为超链接样式,点击后跳转到其值所指定的 URL 地址。
|
|
||||||
private boolean hidden;//是否隐藏该item。目前仅对mobile和email有效。
|
|
||||||
|
|
||||||
|
|
||||||
public CustomerItemInfo(String key) {
|
|
||||||
this.key = key;
|
|
||||||
}
|
|
||||||
|
|
||||||
public CustomerItemInfo setIndex(int index) {
|
|
||||||
this.index = index;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public CustomerItemInfo setLabel(String label) {
|
|
||||||
this.label = label;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public CustomerItemInfo setValue(String value) {
|
|
||||||
this.value = value;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public CustomerItemInfo setHref(String href) {
|
|
||||||
this.href = href;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
public CustomerItemInfo setHidden(boolean hidden) {
|
|
||||||
this.hidden = hidden;
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,151 +0,0 @@
|
|||||||
package com.nnbc123.app.qiyukefu;
|
|
||||||
|
|
||||||
import android.content.ContentResolver;
|
|
||||||
import android.content.Context;
|
|
||||||
import android.net.Uri;
|
|
||||||
|
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
|
|
||||||
import com.google.gson.Gson;
|
|
||||||
import com.netease.nim.highavailable.lava.base.http.URIUtils;
|
|
||||||
import com.nnbc123.app.R;
|
|
||||||
import com.nnbc123.app.application.XChatApplication;
|
|
||||||
import com.nnbc123.core.auth.AuthModel;
|
|
||||||
import com.nnbc123.core.user.bean.UserInfo;
|
|
||||||
import com.nnbc123.library.utils.SingleToastUtil;
|
|
||||||
import com.nnbc123.xchat_android_constants.XChatConstants;
|
|
||||||
import com.qiyukf.unicorn.api.ConsultSource;
|
|
||||||
import com.qiyukf.unicorn.api.UICustomization;
|
|
||||||
import com.qiyukf.unicorn.api.Unicorn;
|
|
||||||
import com.qiyukf.unicorn.api.YSFOptions;
|
|
||||||
import com.qiyukf.unicorn.api.YSFUserInfo;
|
|
||||||
import com.qiyukf.unicorn.api.customization.input.ActionPanelOptions;
|
|
||||||
import com.qiyukf.unicorn.api.customization.input.InputPanelOptions;
|
|
||||||
import com.qiyukf.unicorn.api.event.EventCallback;
|
|
||||||
import com.qiyukf.unicorn.api.event.EventProcessFactory;
|
|
||||||
import com.qiyukf.unicorn.api.event.SDKEvents;
|
|
||||||
import com.qiyukf.unicorn.api.event.UnicornEventBase;
|
|
||||||
import com.qiyukf.unicorn.api.event.entry.RequestPermissionEventEntry;
|
|
||||||
import com.soundcloud.android.crop.UriUtil;
|
|
||||||
|
|
||||||
import java.util.ArrayList;
|
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @author jack
|
|
||||||
* @Description
|
|
||||||
* @Date 2019/3/18
|
|
||||||
*/
|
|
||||||
public class CustomerServerHelper {
|
|
||||||
|
|
||||||
public final static String AVATAR_URL = "https://image.zhongjialx.com/new_kficon.png";
|
|
||||||
private final static String TITLE = "官方客服";
|
|
||||||
private static boolean isInit = false;
|
|
||||||
|
|
||||||
private CustomerServerHelper() {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void onLoginInfoUpdate(@Nullable UserInfo userInfo) {
|
|
||||||
if (!isInit)
|
|
||||||
init(XChatApplication.instance(), userInfo);
|
|
||||||
|
|
||||||
if (userInfo != null) {
|
|
||||||
YSFUserInfo ysfUserInfo = new YSFUserInfo();
|
|
||||||
ysfUserInfo.userId = AuthModel.get().getCurrentUid() + "";
|
|
||||||
ysfUserInfo.authToken = null;
|
|
||||||
List<CustomerItemInfo> userData = new ArrayList<>();
|
|
||||||
userData.add(new CustomerItemInfo("real_name").setValue(userInfo.getNick()));
|
|
||||||
userData.add(new CustomerItemInfo("mobile_phone").setValue(userInfo.getPhone()));
|
|
||||||
userData.add(new CustomerItemInfo("email").setValue(""));
|
|
||||||
userData.add(new CustomerItemInfo("avatar").setValue(userInfo.getAvatar()));
|
|
||||||
userData.add(new CustomerItemInfo("nick")
|
|
||||||
.setLabel("用户昵称:")
|
|
||||||
.setValue(userInfo.getNick())
|
|
||||||
.setIndex(0));
|
|
||||||
|
|
||||||
userData.add(new CustomerItemInfo("gender")
|
|
||||||
.setLabel("性别:")
|
|
||||||
.setValue(userInfo.getGender() == 1 ? "男" : "女")
|
|
||||||
.setIndex(1));
|
|
||||||
|
|
||||||
userData.add(new CustomerItemInfo("erbanNo")
|
|
||||||
.setLabel("音萌号:")
|
|
||||||
.setValue(userInfo.getErbanNo() + "")
|
|
||||||
.setIndex(2));
|
|
||||||
|
|
||||||
userData.add(new CustomerItemInfo("phone")
|
|
||||||
.setLabel("手机号:")
|
|
||||||
.setValue(userInfo.getPhone())
|
|
||||||
.setIndex(3));
|
|
||||||
|
|
||||||
userData.add(new CustomerItemInfo("newUser")
|
|
||||||
.setLabel("是否新用户:")
|
|
||||||
.setValue(userInfo.isNewUser() ? "是" : "否")
|
|
||||||
.setIndex(4));
|
|
||||||
|
|
||||||
userData.add(new CustomerItemInfo("uid")
|
|
||||||
.setLabel("uid:")
|
|
||||||
.setValue("uid:" + userInfo.getUid())
|
|
||||||
.setIndex(4));
|
|
||||||
|
|
||||||
ysfUserInfo.data = new Gson().toJson(userData);
|
|
||||||
|
|
||||||
Unicorn.setUserInfo(ysfUserInfo);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void init(Context context, @Nullable UserInfo userInfo) {
|
|
||||||
if (isInit) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
isInit = true;
|
|
||||||
YSFOptions options = new YSFOptions();
|
|
||||||
options.uiCustomization = new UICustomization();
|
|
||||||
options.uiCustomization.priorityWebAvatar = true;
|
|
||||||
options.uiCustomization.hideKeyboardOnEnterConsult = true;
|
|
||||||
if (userInfo != null) {
|
|
||||||
options.uiCustomization.rightAvatar = userInfo.getAvatar();
|
|
||||||
}
|
|
||||||
Uri uri = Uri.parse(ContentResolver.SCHEME_ANDROID_RESOURCE + "://"
|
|
||||||
+ context.getResources().getResourcePackageName(R.mipmap.app_logo) + "/"
|
|
||||||
+ context.getResources().getResourceTypeName(R.mipmap.app_logo) + "/"
|
|
||||||
+ context.getResources().getResourceEntryName(R.mipmap.app_logo));
|
|
||||||
options.uiCustomization.leftAvatar = uri.toString();
|
|
||||||
|
|
||||||
options.uiCustomization.titleCenter = true;
|
|
||||||
options.sdkEvents = new SDKEvents();
|
|
||||||
options.sdkEvents.eventProcessFactory = new EventProcessFactory() {
|
|
||||||
@Override
|
|
||||||
public UnicornEventBase eventOf(int i) {
|
|
||||||
if (i == 5) {
|
|
||||||
return new RequestPermissionEvent();
|
|
||||||
} else {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
// appKey 可以在七鱼管理系统->设置->App 接入 页面找到
|
|
||||||
Unicorn.init(context, XChatConstants.QI_YU_KF_KEY, options, new GlideImageLoader(context));
|
|
||||||
Unicorn.initSdk();
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void contactCustomerServer(Context context) {
|
|
||||||
if (!isInit) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!AuthModel.get().isImLogin()) {
|
|
||||||
SingleToastUtil.showToast("数据加载中,请稍后!");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
ConsultSource source = new ConsultSource(null, TITLE, null);
|
|
||||||
Unicorn.openServiceActivity(context, TITLE, source);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static void logout() {
|
|
||||||
Unicorn.logout();
|
|
||||||
isInit = false;
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,59 +0,0 @@
|
|||||||
package com.nnbc123.app.qiyukefu;
|
|
||||||
|
|
||||||
import android.content.Context;
|
|
||||||
import android.graphics.Bitmap;
|
|
||||||
import android.graphics.drawable.Drawable;
|
|
||||||
|
|
||||||
import androidx.annotation.NonNull;
|
|
||||||
import androidx.annotation.Nullable;
|
|
||||||
|
|
||||||
import com.bumptech.glide.Glide;
|
|
||||||
import com.bumptech.glide.request.target.CustomTarget;
|
|
||||||
import com.bumptech.glide.request.transition.Transition;
|
|
||||||
import com.qiyukf.unicorn.api.ImageLoaderListener;
|
|
||||||
import com.qiyukf.unicorn.api.UnicornImageLoader;
|
|
||||||
|
|
||||||
public class GlideImageLoader implements UnicornImageLoader {
|
|
||||||
private final Context context;
|
|
||||||
|
|
||||||
public GlideImageLoader(Context context) {
|
|
||||||
this.context = context.getApplicationContext();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public Bitmap loadImageSync(String uri, int width, int height) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void loadImage(String uri, int width, int height, final ImageLoaderListener listener) {
|
|
||||||
if (width <= 0 || height <= 0) {
|
|
||||||
width = height = Integer.MIN_VALUE;
|
|
||||||
}
|
|
||||||
|
|
||||||
Glide.with(context).asBitmap().load(uri).into(new CustomTarget<Bitmap>(width, height) {
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onLoadStarted(@Nullable Drawable placeholder) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onLoadFailed(@Nullable Drawable errorDrawable) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition<? super Bitmap> transition) {
|
|
||||||
if (listener != null) {
|
|
||||||
listener.onLoadComplete(resource);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void onLoadCleared(@Nullable Drawable placeholder) {
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
}
|
|
@@ -1,133 +0,0 @@
|
|||||||
package com.nnbc123.app.qiyukefu
|
|
||||||
|
|
||||||
import android.app.Activity
|
|
||||||
import android.content.Context
|
|
||||||
import android.content.Intent
|
|
||||||
import android.net.Uri
|
|
||||||
import android.provider.Settings
|
|
||||||
import androidx.fragment.app.FragmentActivity
|
|
||||||
import com.chuhai.utils.ktx.asActivity
|
|
||||||
import com.nnbc123.app.R
|
|
||||||
import com.nnbc123.app.common.permission.PermissionHelper
|
|
||||||
import com.nnbc123.app.ui.widget.dialog.CommonTipDialog
|
|
||||||
import com.nnbc123.app.ui.widget.dialog.RequestPermissionPromptDialog
|
|
||||||
import com.nnbc123.library.utils.ResUtil
|
|
||||||
import com.qiyukf.unicorn.api.event.EventCallback
|
|
||||||
import com.qiyukf.unicorn.api.event.UnicornEventBase
|
|
||||||
import com.qiyukf.unicorn.api.event.entry.RequestPermissionEventEntry
|
|
||||||
import com.tbruyelle.rxpermissions2.RxPermissions
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Created by Max on 2024/1/4 11:10
|
|
||||||
* Desc:
|
|
||||||
**/
|
|
||||||
class RequestPermissionEvent : UnicornEventBase<RequestPermissionEventEntry> {
|
|
||||||
override fun onEvent(
|
|
||||||
p0: RequestPermissionEventEntry?,
|
|
||||||
p1: Context?,
|
|
||||||
p2: EventCallback<RequestPermissionEventEntry>?
|
|
||||||
) {
|
|
||||||
val tips = getPermissionTips(p0?.scenesType)
|
|
||||||
val activity = (p1?.asActivity() as? FragmentActivity)
|
|
||||||
val perms = p0?.permissionList?.toTypedArray()
|
|
||||||
if (RequestPermissionPromptDialog.isNeedPrompt()
|
|
||||||
&& tips != null
|
|
||||||
&& activity != null
|
|
||||||
&& perms != null
|
|
||||||
) {
|
|
||||||
val rxPermissions = RxPermissions(activity)
|
|
||||||
if (PermissionHelper.isAllGranted(rxPermissions, * perms)) {
|
|
||||||
p2?.onNotPorcessEvent()
|
|
||||||
} else {
|
|
||||||
RequestPermissionPromptDialog(p1, tips).show()
|
|
||||||
val d = rxPermissions.request(*perms).subscribe({ aBoolean: Boolean? ->
|
|
||||||
RequestPermissionPromptDialog.dismissCurrentDialog()
|
|
||||||
if (aBoolean == true) {
|
|
||||||
p2?.onProcessEventSuccess(p0)
|
|
||||||
} else {
|
|
||||||
showDeniedTips(p1, tips)
|
|
||||||
p2?.onInterceptEvent()
|
|
||||||
}
|
|
||||||
}) { obj: Throwable ->
|
|
||||||
RequestPermissionPromptDialog.dismissCurrentDialog()
|
|
||||||
obj.printStackTrace()
|
|
||||||
p2?.onNotPorcessEvent()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
p2?.onNotPorcessEvent()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
override fun onDenyEvent(p0: Context?, p1: RequestPermissionEventEntry?): Boolean {
|
|
||||||
if (p0 == null) {
|
|
||||||
return super.onDenyEvent(p0, p1)
|
|
||||||
}
|
|
||||||
val tips = getPermissionTips(p1?.scenesType)
|
|
||||||
return if (tips != null) {
|
|
||||||
showDeniedTips(p0, tips)
|
|
||||||
true
|
|
||||||
} else {
|
|
||||||
super.onDenyEvent(p0, p1)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 获取场景对应的权限提示信息(不需要提示的权限返回null)
|
|
||||||
*/
|
|
||||||
private fun getPermissionTips(scenesType: Int?): String? {
|
|
||||||
when (scenesType) {
|
|
||||||
RequestPermissionEventEntry.SCENES_TAKE_AUDIO -> {
|
|
||||||
return ResUtil.getString(R.string.permission_denied_tips_mic)
|
|
||||||
}
|
|
||||||
|
|
||||||
RequestPermissionEventEntry.SCENES_TAKE_VIDEO -> {
|
|
||||||
return StringBuffer().append("1.")
|
|
||||||
.append(ResUtil.getString(R.string.permission_denied_tips_camera))
|
|
||||||
.append("\n2.").append(ResUtil.getString(R.string.permission_denied_tips_mic))
|
|
||||||
.toString()
|
|
||||||
}
|
|
||||||
|
|
||||||
RequestPermissionEventEntry.SCENES_TAKE_PHOTO -> {
|
|
||||||
return ResUtil.getString(R.string.permission_denied_tips_camera)
|
|
||||||
}
|
|
||||||
|
|
||||||
RequestPermissionEventEntry.SCENES_SELECT_MEDIA,
|
|
||||||
RequestPermissionEventEntry.SCENES_SAVE_IMAGE,
|
|
||||||
RequestPermissionEventEntry.SCENES_SAVE_VIDEO,
|
|
||||||
RequestPermissionEventEntry.SCENES_SELECT_VIDEO,
|
|
||||||
RequestPermissionEventEntry.SCENES_SELECT_FILE,
|
|
||||||
RequestPermissionEventEntry.SCENES_SELECT_IMAGE,
|
|
||||||
RequestPermissionEventEntry.SCENES_VIDEO_CHAT -> {
|
|
||||||
return ResUtil.getString(R.string.permission_denied_tips_image)
|
|
||||||
}
|
|
||||||
|
|
||||||
else -> {
|
|
||||||
return null
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun showDeniedTips(context: Context, message: String) {
|
|
||||||
CommonTipDialog(context).apply {
|
|
||||||
setTipMsg(message)
|
|
||||||
setOkText("去设置")
|
|
||||||
setOnActionListener(
|
|
||||||
object : CommonTipDialog.OnActionListener {
|
|
||||||
override fun onOk() {
|
|
||||||
//同意跳到应用详情页面
|
|
||||||
val packageUri =
|
|
||||||
Uri.parse("package:${context.packageName}")
|
|
||||||
val intent = Intent(
|
|
||||||
Settings.ACTION_APPLICATION_DETAILS_SETTINGS,
|
|
||||||
packageUri
|
|
||||||
)
|
|
||||||
(context as? Activity)?.startActivityForResult(
|
|
||||||
intent, 0
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
)
|
|
||||||
}.show()
|
|
||||||
}
|
|
||||||
}
|
|
Reference in New Issue
Block a user