diff --git a/app/src/main/java/com/gh/base/BaseActivity.java b/app/src/main/java/com/gh/base/BaseActivity.java index 0fc123d3f0..befe09718e 100644 --- a/app/src/main/java/com/gh/base/BaseActivity.java +++ b/app/src/main/java/com/gh/base/BaseActivity.java @@ -278,10 +278,10 @@ public abstract class BaseActivity extends BaseAppCompatActivity implements Easy JSONObject object = new JSONObject(showDialog.getPath()); JSONObject device = object.getJSONObject("device"); String model = device.getString("model"); - DialogUtils.showAlertDialog(this, "你的账号已在另外一台设备登录" + DialogHelper.showDialog(this, "你的账号已在另外一台设备登录" , StringUtils.buildString("(", model, ")") , "知道了", "重新登录" - , null + , () -> {} , () -> { if (SPUtils.getBoolean(Constants.SP_HAS_GET_PHONE_INFO) || NetworkUtils.isOpenMobileData(BaseActivity.this)) { QuickLoginHelper.startLogin(BaseActivity.this, "你的账号已在另外一台设备登录多设备-重新登录"); @@ -289,7 +289,7 @@ public abstract class BaseActivity extends BaseAppCompatActivity implements Easy startActivity(LoginActivity.getIntent(BaseActivity.this, "你的账号已在另外一台设备登录多设备-重新登录")); } - } + }, false, "", "" ); mBaseHandler.postDelayed(() -> mIsExistLogoutDialog = false, 5000); } catch (Exception e) { diff --git a/app/src/main/java/com/gh/base/BaseRichEditorActivity.kt b/app/src/main/java/com/gh/base/BaseRichEditorActivity.kt index 9b27fc19cb..317beed33d 100644 --- a/app/src/main/java/com/gh/base/BaseRichEditorActivity.kt +++ b/app/src/main/java/com/gh/base/BaseRichEditorActivity.kt @@ -378,11 +378,11 @@ abstract class BaseRichEditorActivity : ToolBarAct R.id.editor_image -> { if (!mAgreePostPic && !NetworkUtils.isWifiOr4GOr3GConnected(this)) { mAgreePostPic = true - DialogUtils.showAlertDialog( + DialogHelper.showDialog( this, "警告", "当前使用移动网络,上传图片会消耗手机流量", - "我知道了", "", { startMediaStore() }, null + "我知道了", "", { startMediaStore() } ) return } diff --git a/app/src/main/java/com/gh/common/simulator/SimulatorDownloadManager.kt b/app/src/main/java/com/gh/common/simulator/SimulatorDownloadManager.kt index 778826c6e9..2b4ce1c0cf 100644 --- a/app/src/main/java/com/gh/common/simulator/SimulatorDownloadManager.kt +++ b/app/src/main/java/com/gh/common/simulator/SimulatorDownloadManager.kt @@ -2,14 +2,12 @@ package com.gh.common.simulator import android.app.Dialog import android.content.Context -import android.view.Gravity import android.view.View import android.view.Window import android.widget.ProgressBar import android.widget.TextView import androidx.appcompat.app.AppCompatActivity import androidx.constraintlayout.widget.ConstraintLayout -import androidx.core.content.ContextCompat import com.g00fy2.versioncompare.Version import com.gh.common.AppExecutor.uiExecutor import com.gh.common.constant.Constants @@ -124,15 +122,29 @@ class SimulatorDownloadManager private constructor() { key = if (shouldShowUpdate && isInstalled) "更新弹窗" else "下载弹窗", logShowEvent = true ) - DialogUtils.showNewAlertDialog(context, title, message, negativeText, positiveText, trackableEntity, Gravity.LEFT, false, { - if (shouldShowUpdate && isInstalled) { - cancelCallback?.invoke() - MtaHelper.onEvent(trackableEntity.event, trackableEntity.key, "点击下次再说") - } - }, { - showDownloadingDialog(context, simulator) - MtaHelper.onEvent(trackableEntity.event, trackableEntity.key, if (shouldShowUpdate && isInstalled) "点击更新" else "点击下载") - }) + DialogHelper.showDialog( + context, + title, + message, + positiveText, + negativeText, + trackMtaEvent = true, + cancelClickCallback = { + if (shouldShowUpdate && isInstalled) { + cancelCallback?.invoke() + MtaHelper.onEvent(trackableEntity.event, trackableEntity.key, "点击下次再说") + } + }, + confirmClickCallback = { + showDownloadingDialog(context, simulator) + MtaHelper.onEvent( + trackableEntity.event, + trackableEntity.key, + if (shouldShowUpdate && isInstalled) "点击更新" else "点击下载" + ) + }, + mtaEvent = trackableEntity.event, mtaKey = trackableEntity.key + ) } private fun showDownloadingDialog(context: Context, simulator: SimulatorEntity?) { @@ -183,10 +195,18 @@ class SimulatorDownloadManager private constructor() { } private fun showNoneEmulatorDialog(context: Context) { - val dialog = DialogUtils.showNewAlertDialog(context, "安装模拟器", "模拟器游戏需要先下载安装对应的模拟器,才可以运行", "取消", "暂无下载", null, { - ToastUtils.showToast("该模拟器暂未提供下载") - }) - dialog?.window?.findViewById(R.id.confirm)?.setTextColor(ContextCompat.getColor(context, R.color.text_cccccc)) + DialogHelper.showDialog( + context, + "安装模拟器", + "模拟器游戏需要先下载安装对应的模拟器,才可以运行", + "暂无下载", + "取消", + confirmClickCallback = { + ToastUtils.showToast("该模拟器暂未提供下载") + }, + uiModificationCallback = { binding -> + binding.confirmTv.setTextColor(R.color.text_cccccc.toColor()) + }) } private fun download(context: Context, simulator: SimulatorEntity?) { diff --git a/app/src/main/java/com/gh/common/util/CommentHelper.kt b/app/src/main/java/com/gh/common/util/CommentHelper.kt index 5d82dc123a..0be2cea4ec 100644 --- a/app/src/main/java/com/gh/common/util/CommentHelper.kt +++ b/app/src/main/java/com/gh/common/util/CommentHelper.kt @@ -400,7 +400,7 @@ object CommentHelper { } if (answerId != null) { - DialogUtils.showAlertDialog( + DialogHelper.showDialog( context, highlight, highlightDialogHintContent, "确定", "取消", { RetrofitManager.getInstance(context).api @@ -411,7 +411,7 @@ object CommentHelper { }, null ) } else { - DialogUtils.showAlertDialog( + DialogHelper.showDialog( context, highlight, highlightDialogHintContent, "确定", "取消", { RetrofitManager.getInstance(context).api @@ -423,7 +423,7 @@ object CommentHelper { .observeOn(AndroidSchedulers.mainThread()) .subscribeOn(Schedulers.io()) .subscribe(highlightObserver) - }, null + } ) } } @@ -460,7 +460,7 @@ object CommentHelper { } if (answerId != null) { - DialogUtils.showAlertDialog( + DialogHelper.showDialog( context, hide, hideDialogHintContent, "确定", "取消", { RetrofitManager.getInstance(context).api @@ -471,7 +471,7 @@ object CommentHelper { }, null ) } else { - DialogUtils.showAlertDialog( + DialogHelper.showDialog( context, hide, hideDialogHintContent, "确定", "取消", { RetrofitManager.getInstance(context).api @@ -479,7 +479,7 @@ object CommentHelper { .observeOn(AndroidSchedulers.mainThread()) .subscribeOn(Schedulers.io()) .subscribe(hideObserver) - }, null + } ) } } diff --git a/app/src/main/java/com/gh/common/util/DialogHelper.kt b/app/src/main/java/com/gh/common/util/DialogHelper.kt index 08f31024fd..f4318a4e27 100644 --- a/app/src/main/java/com/gh/common/util/DialogHelper.kt +++ b/app/src/main/java/com/gh/common/util/DialogHelper.kt @@ -5,11 +5,13 @@ import android.app.Dialog import android.content.Context import android.graphics.Color import android.graphics.drawable.ColorDrawable +import android.text.Html import android.view.Gravity import android.view.LayoutInflater import android.view.View import android.view.Window import com.gh.common.dialog.TrackableDialog +import com.gh.common.util.DialogUtils.ConfirmListener import com.gh.common.util.DialogUtils.checkDialogContext import com.gh.gamecenter.AboutActivity import com.gh.gamecenter.R @@ -196,9 +198,85 @@ object DialogHelper { { confirmClickCallback?.invoke() }) } - data class Config(val hint: String = "", - val showCloseIcon: Boolean = false, - val centerTitle: Boolean = false, - val centerContent: Boolean = false) + @JvmStatic + fun showWarningDialog( + context: Context, + title: String, + msg: CharSequence, + confirmClickCallback: EmptyCallback + ) { + showWarningDialog( + context, + title, + msg, + confirmClickCallback = { confirmClickCallback.onCallback() } + ) + } + + @JvmStatic + fun showWarningDialog( + context: Context, + title: String, + msg: CharSequence, + cancelText: String = "取消", + confirmText: String = "确定", + confirmClickCallback: (() -> Unit)? = null, + cancelClickCallback: (() -> Unit)? = null + ) { + showDialog( + context, + title, + msg, + confirmText, + cancelText, + confirmClickCallback, + cancelClickCallback + ) + } + + @JvmStatic + fun showDownloadDialog(context: Context, listener: ConfirmListener) { + showWarningDialog( + context, + "下载提示", + "您当前使用的网络为2G/3G/4G,开始下载将会消耗移动流量,确定下载?", + confirmClickCallback = { listener.onConfirm() } + ) + } + + @JvmStatic + fun showCancelDialog(context: Context, confirmClickCallback: (() -> Unit)? = null, cancelClickCallback: (() -> Unit)? = null) { + val content = Html.fromHtml(context.getString(R.string.cancel_concern_dialog)) + showDialog(context, "取消关注", content, "确定取消", "暂不取消", confirmClickCallback, cancelClickCallback) + } + + @JvmStatic + fun showDialogWithHtmlContent( + context: Context, + title: String, + content: String, + confirmText: String, + cancelText: String, + confirmClickCallback: (() -> Unit)? = null, + cancelClickCallback: (() -> Unit)? = null + ) { + val webContent = Html.fromHtml(content) + showDialog( + context, + title, + webContent, + confirmText, + cancelText, + confirmClickCallback, + cancelClickCallback + ) + } + + data class Config( + val hint: String = "", + val showCloseIcon: Boolean = false, + val centerTitle: Boolean = false, + val centerContent: Boolean = false + ) } \ No newline at end of file diff --git a/app/src/main/java/com/gh/common/util/DownloadDialogHelper.kt b/app/src/main/java/com/gh/common/util/DownloadDialogHelper.kt index 314ebe9f38..28038b73cd 100644 --- a/app/src/main/java/com/gh/common/util/DownloadDialogHelper.kt +++ b/app/src/main/java/com/gh/common/util/DownloadDialogHelper.kt @@ -95,14 +95,13 @@ object DownloadDialogHelper { } private fun showDownloadDialog(context: Context, dialog: GameEntity.Dialog, callback: EmptyCallback) { - DialogUtils.showDialogWithHtmlContent( - context, - dialog.title, - dialog.content, - "继续下载", - "取消", - { callback.onCallback() }, - null) + DialogHelper.showDialogWithHtmlContent( + context, + dialog.title, + dialog.content, + "继续下载", + "取消", + { callback.onCallback() }) } } \ No newline at end of file diff --git a/app/src/main/java/com/gh/common/util/DownloadObserver.kt b/app/src/main/java/com/gh/common/util/DownloadObserver.kt index 11fa9a29ba..8a56086ecd 100644 --- a/app/src/main/java/com/gh/common/util/DownloadObserver.kt +++ b/app/src/main/java/com/gh/common/util/DownloadObserver.kt @@ -80,12 +80,12 @@ object DownloadObserver { // "平台", downloadEntity.platform) val currentActivity = AppManager.getInstance().currentActivity() ?: return - DialogUtils.showAlertDialog(currentActivity, "下载失败", "下载链接已失效,建议提交反馈", "立即反馈", "取消", { + DialogHelper.showDialog(currentActivity, "下载失败", "下载链接已失效,建议提交反馈", "立即反馈", "取消", { SuggestionActivity.startSuggestionActivity(currentActivity, SuggestType.gameQuestion, "notfound", StringUtils.buildString(downloadEntity.name, ",问题反馈:下载链接失效"), SimpleGameEntity(gameId, downloadEntity.name, "")) - }, null) + }) return } else if (DownloadStatus.neterror == downloadEntity.status || DownloadStatus.timeout == downloadEntity.status) { if (downloadEntity.meta[Constants.MARK_RETRY_DOWNLOAD].isNullOrEmpty() diff --git a/app/src/main/java/com/gh/common/util/ErrorHelper.kt b/app/src/main/java/com/gh/common/util/ErrorHelper.kt index 7ef0731dbf..cf2e7db73a 100644 --- a/app/src/main/java/com/gh/common/util/ErrorHelper.kt +++ b/app/src/main/java/com/gh/common/util/ErrorHelper.kt @@ -137,11 +137,11 @@ object ErrorHelper { 403102 -> Utils.toast(context, "你已经举报过该内容了哦") 403020 -> if (showHighPriorityHint) { - DialogUtils.showAlertDialog( + DialogHelper.showDialog( context, "提醒", "提问过于频繁,请先休息一下哦", - "知道了", null, null, null + "知道了", "" ) } else { Utils.toast(context, R.string.comment_failed_toofrequent) @@ -165,7 +165,7 @@ object ErrorHelper { "(非永久)" } val dialogContext = DialogUtils.checkDialogContext(context) - DialogUtils.showAlertDialog( + DialogHelper.showDialog( dialogContext, "提示", "你因违反《光环助手评论规则》,已被禁言$bannedType,如有疑问,请联系客服(QQ:${Config.getSettings()?.support?.qq})", @@ -182,7 +182,7 @@ object ErrorHelper { "(非永久)" } val dialogContext = DialogUtils.checkDialogContext(context) - DialogUtils.showAlertDialog( + DialogHelper.showDialog( dialogContext, "提示", "你因违反《问答版块规则》,已被禁言$bannedType,如有疑问,请联系客服(QQ:1562479331)", diff --git a/app/src/main/java/com/gh/common/util/GhMatisseVideoApplyFilter.kt b/app/src/main/java/com/gh/common/util/GhMatisseVideoApplyFilter.kt index 773f0d0f5b..d5a794450f 100644 --- a/app/src/main/java/com/gh/common/util/GhMatisseVideoApplyFilter.kt +++ b/app/src/main/java/com/gh/common/util/GhMatisseVideoApplyFilter.kt @@ -11,10 +11,10 @@ class GhMatisseVideoApplyFilter : ApplyFilter() { if (!NetworkUtils.isNetworkConnected(context)) { Utils.toast(context, "网络异常,请检查手机网络状态") } else if (!NetworkUtils.isWifiConnected(context)) { - DialogUtils.showAlertDialog(context, "提示", + DialogHelper.showDialog(context, "提示", "您当前正在使用移动网络上传视频,确定继续上传吗?", "继续上传", "暂时不了", - DialogUtils.ConfirmListener { callBack.onApply() }, null) + { callBack.onApply() }) } else { callBack.onApply() } diff --git a/app/src/main/java/com/gh/common/util/LibaoUtils.java b/app/src/main/java/com/gh/common/util/LibaoUtils.java index 49d808a5ec..1eb4524f0c 100644 --- a/app/src/main/java/com/gh/common/util/LibaoUtils.java +++ b/app/src/main/java/com/gh/common/util/LibaoUtils.java @@ -330,13 +330,14 @@ public class LibaoUtils { String dialogContent = context.getString(R.string.ling_rules_dialog, libaoEntity.getGame().getName(), platform); boolean finalIsExistPlatform = isExistPlatform; - DialogUtils.showWarningDialog(context, "条件不符", - Html.fromHtml(dialogContent), isExistPlatform ? "关闭" : null, + DialogHelper.showWarningDialog(context, "条件不符", + Html.fromHtml(dialogContent), isExistPlatform ? "关闭" : "", isExistPlatform ? "立即安装" : "关闭", () -> { if (finalIsExistPlatform) { adapter.openDownload(libaoEntity.getPlatform()); } + return null; }, null); return; } @@ -348,8 +349,7 @@ public class LibaoUtils { break; case "查看": if (!TextUtils.isEmpty(libaoEntity.getDes())) { - DialogUtils.showAlertDialog(v.getContext(), "使用说明", - Html.fromHtml(libaoEntity.getDes()), "关闭", null, null, null); + DialogHelper.showDialog(v.getContext(), "使用说明", Html.fromHtml(libaoEntity.getDes()), "关闭", "", () -> {}, () -> {}, false, "", ""); } break; case "再领": @@ -659,7 +659,7 @@ public class LibaoUtils { } public static void lunningAppDialog(final Context context, Spanned msg, final LibaoEntity libaoEntity) { - DialogUtils.showWarningDialog(context, "复制成功", msg + DialogHelper.showWarningDialog(context, "复制成功", msg , "关闭", "启动游戏" , () -> { if (LibaoUtils.isAppInstalled(context, libaoEntity.getPackageName())) { @@ -668,7 +668,7 @@ public class LibaoUtils { Utils.toast(context, "请安装游戏:" + libaoEntity.getGame().getName() + PlatformUtils.getInstance(context).getPlatformName(libaoEntity.getPlatform()) + "版"); } - + return null; }, null); } diff --git a/app/src/main/java/com/gh/common/view/RichEditor.java b/app/src/main/java/com/gh/common/view/RichEditor.java index fda2f83a94..e1c8205e53 100644 --- a/app/src/main/java/com/gh/common/view/RichEditor.java +++ b/app/src/main/java/com/gh/common/view/RichEditor.java @@ -16,6 +16,7 @@ import android.webkit.WebViewClient; import com.gh.common.constant.Config; import com.gh.common.util.DeviceUtils; +import com.gh.common.util.DialogHelper; import com.gh.common.util.DialogUtils; import com.gh.common.util.DisplayUtils; import com.gh.common.util.EmptyCallback; @@ -750,9 +751,9 @@ public class RichEditor extends WebView { */ @JavascriptInterface public void showDialog(String title, String message, String positive, String negative, String jsCallbackCode) { - DialogUtils.showAlertDialog(getContext(), title, message, positive, negative, + DialogHelper.showDialog(getContext(), title, message, positive, negative, () -> post(() -> loadUrl("javascript:" + jsCallbackCode + "(" + true + ")")), - () -> post(() -> loadUrl("javascript:" + jsCallbackCode + "(" + false + ")"))); + () -> post(() -> loadUrl("javascript:" + jsCallbackCode + "(" + false + ")")), false, "", ""); } /** diff --git a/app/src/main/java/com/gh/gamecenter/MainActivity.java b/app/src/main/java/com/gh/gamecenter/MainActivity.java index c2f8d2bb92..13ac626f5b 100644 --- a/app/src/main/java/com/gh/gamecenter/MainActivity.java +++ b/app/src/main/java/com/gh/gamecenter/MainActivity.java @@ -43,6 +43,7 @@ import com.gh.common.util.ClassUtils; import com.gh.common.util.DataUtils; import com.gh.common.util.DeviceTokenUtils; import com.gh.common.util.DeviceUtils; +import com.gh.common.util.DialogHelper; import com.gh.common.util.DialogUtils; import com.gh.common.util.DirectUtils; import com.gh.common.util.DisplayUtils; @@ -234,17 +235,21 @@ public class MainActivity extends BaseActivity { if (!TextUtils.isEmpty(message)) { Config.setExceptionMsg(null); AppUncaughtHandler.reportException(this, new Throwable(message)); - DialogUtils.showWarningDialog(this, "发生闪退", "光环助手刚刚发生了闪退,马上反馈以帮助我们更好地修复问题?(只需简单描述你刚才的操作)" + DialogHelper.showWarningDialog(this, "发生闪退", "光环助手刚刚发生了闪退,马上反馈以帮助我们更好地修复问题?(只需简单描述你刚才的操作)" , "暂不", "马上反馈", () -> { startActivityForResult(SuggestionActivity.getIntent(MainActivity.this, SuggestType.crash, "APP闪退:"), 100); MtaHelper.onEventWithBasicDeviceInfo( "闪退弹窗", "玩家操作", "点击反馈"); + return null; }, - () -> MtaHelper.onEventWithBasicDeviceInfo( - "闪退弹窗", - "玩家操作", "点击关闭")); + () -> { + MtaHelper.onEventWithBasicDeviceInfo( + "闪退弹窗", + "玩家操作", "点击关闭"); + return null; + }); } // checkTinkerPath(); // 看情况是否需要显示补丁弹窗 @@ -396,13 +401,14 @@ public class MainActivity extends BaseActivity { private void showKefuReportDialog() { // 只有是APP闪退反馈成功后弹出联系客服的弹窗 String str = "您也可以联系客服进一步描述闪退的情况,如果您反馈的是新问题,即有机会获得红包奖励"; - DialogUtils.showWarningDialog(MainActivity.this, "反馈成功", Html.fromHtml(str.substring(0, str.indexOf("红包奖励")) + "红包奖励"), "暂不", "联系客服", + DialogHelper.showWarningDialog(MainActivity.this, "反馈成功", Html.fromHtml(str.substring(0, str.indexOf("红包奖励")) + "红包奖励"), "暂不", "联系客服", () -> { if (ShareUtils.isQQClientAvailable(this)) { DirectUtils.directToQqConversation(this, null); } else { toast("本机未安装QQ应用"); } + return null; }, null); } @@ -684,12 +690,18 @@ public class MainActivity extends BaseActivity { msg = "《" + downloadEntity.getName() + "》已下载完但还未安装,是否立即安装?"; } DownloadEntity finalDownloadEntity = downloadEntity; - DialogUtils.showWarningDialog(this, + DialogHelper.showWarningDialog(this, "提示", msg, "直接退出", "立即安装", - () -> handler.postDelayed(() -> PackageInstaller.install(MainActivity.this, finalDownloadEntity), 200), - this::finish); + () -> { + handler.postDelayed(() -> PackageInstaller.install(MainActivity.this, finalDownloadEntity), 200); + return null; + }, + () -> { + finish(); + return null; + }); return true; } System.arraycopy(mHits, 1, mHits, 0, mHits.length - 1); diff --git a/app/src/main/java/com/gh/gamecenter/NetworkDiagnosisActivity.kt b/app/src/main/java/com/gh/gamecenter/NetworkDiagnosisActivity.kt index c5c808f6c4..96428bda5d 100644 --- a/app/src/main/java/com/gh/gamecenter/NetworkDiagnosisActivity.kt +++ b/app/src/main/java/com/gh/gamecenter/NetworkDiagnosisActivity.kt @@ -257,10 +257,10 @@ class NetworkDiagnosisActivity : ToolBarActivity() { override fun handleBackPressed(): Boolean { return if (mProgressData < 100) { - DialogUtils.showAlertDialog(this, "确认退出", "网络诊断还未完成,退出会终止所有诊断进程,确定退出吗?" - , "确定", "取消", DialogUtils.ConfirmListener { + DialogHelper.showDialog(this, "确认退出", "网络诊断还未完成,退出会终止所有诊断进程,确定退出吗?" + , "确定", "取消", { finish() - }, null) + }) true } else { false diff --git a/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java b/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java index 70f09ac1a0..7816eb376b 100644 --- a/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java +++ b/app/src/main/java/com/gh/gamecenter/SuggestionActivity.java @@ -43,6 +43,7 @@ import com.gh.common.filter.RegionSettingHelper; import com.gh.common.util.AdHelper; import com.gh.common.util.ApkActiveUtils; import com.gh.common.util.CheckLoginUtils; +import com.gh.common.util.DialogHelper; import com.gh.common.util.DialogUtils; import com.gh.common.util.DirectUtils; import com.gh.common.util.DisplayUtils; @@ -1036,13 +1037,17 @@ public class SuggestionActivity extends ToolBarActivity implements OnRequestCall // 弹出确认对话框 private void showConfirmDialog(final String email) { - DialogUtils.showWarningDialog(this, "温馨提示", "填写联系方式有助于我们更好地一对一解决您的问题,确定不填写吗?", + DialogHelper.showWarningDialog(this, "温馨提示", "填写联系方式有助于我们更好地一对一解决您的问题,确定不填写吗?", "直接提交", "我要填写", () -> { mSuggestEmailEt.requestFocus(); mSuggestEmailEt.postDelayed(() -> Util_System_Keyboard.showSoftKeyboard(getApplicationContext(), mSuggestEmailEt), 300); + return null; }, - () -> postSuggestion(email)); + () -> { + postSuggestion(email); + return null; + }); } private void postPic(final String email) { @@ -1285,14 +1290,14 @@ public class SuggestionActivity extends ToolBarActivity implements OnRequestCall String string = e.response().errorBody().string(); ErrorEntity error = GsonUtils.fromJson(string, ErrorEntity.class); if (error.getCode() == 403052) { - DialogUtils.showAlertDialog(SuggestionActivity.this, "提醒", "你已经提交过相同的反馈了" + DialogHelper.showDialog(SuggestionActivity.this, "提醒", "你已经提交过相同的反馈了" , "关闭提交", "返回修改", () -> { setResult(SUGGEST_TYPE_REQUEST); finish(); - }, null); + }, () -> { }, false, "", ""); return; } else if (error.getCode() == 403062) { - DialogUtils.showAlertDialog(SuggestionActivity.this, + DialogHelper.showDialog(SuggestionActivity.this, "提示", "光环助手已收录游戏:" + error.getData().getGameName(), "退出并查看游戏", "仍然提交", () -> { GameDetailActivity.startGameDetailActivity(SuggestionActivity.this, @@ -1307,7 +1312,7 @@ public class SuggestionActivity extends ToolBarActivity implements OnRequestCall postDialog = WaitingDialogFragment.newInstance(getString(R.string.dialog_feedback_doing)); postDialog.show(getSupportFragmentManager(), null); sendSuggestion(jsonObject); - }); + }, false, "", ""); return; } } @@ -1395,7 +1400,7 @@ public class SuggestionActivity extends ToolBarActivity implements OnRequestCall public void onListClick(View view, int position, T data) { if (!mAgreePostPic && !NetworkUtils.isWifiConnected(this)) { mAgreePostPic = true; - DialogUtils.showAlertDialog(this, + DialogHelper.showDialog(this, "警告", "当前使用移动网络,上传图片会消耗手机流量", "我知道了", "", () -> { @@ -1405,7 +1410,7 @@ public class SuggestionActivity extends ToolBarActivity implements OnRequestCall intent.setDataAndType(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, "image/*"); startActivityForResult(intent, MEDIA_STORE_REQUEST); } - }, null); + }, () -> { }, false, "", ""); return; } List picList = (List) data; @@ -1419,7 +1424,7 @@ public class SuggestionActivity extends ToolBarActivity implements OnRequestCall private void showKefuReportDialog() { // 只有是APP闪退反馈成功后弹出联系客服的弹窗 String str = "您也可以联系客服进一步描述闪退的情况,如果您反馈的是新问题,即有机会获得红包奖励"; - DialogUtils.showWarningDialog(SuggestionActivity.this, "反馈成功", Html.fromHtml(str.substring(0, str.indexOf("红包奖励")) + "红包奖励"), "暂不", "联系客服", + DialogHelper.showWarningDialog(SuggestionActivity.this, "反馈成功", Html.fromHtml(str.substring(0, str.indexOf("红包奖励")) + "红包奖励"), "暂不", "联系客服", () -> { if (ShareUtils.isQQClientAvailable(this)) { finish(); @@ -1427,8 +1432,12 @@ public class SuggestionActivity extends ToolBarActivity implements OnRequestCall } else { toast("本机未安装QQ应用"); } + return null; }, - this::finish); + () -> { + finish(); + return null; + }); } @Override @@ -1449,9 +1458,9 @@ public class SuggestionActivity extends ToolBarActivity implements OnRequestCall (mScreenshotAdapter != null && mScreenshotAdapter.getFileList().size() > 0) || (mAdapter != null && mAdapter.getFileList().size() > 0) || mFunctionType != -1) { - DialogUtils.showAlertDialog(this, "提示", + DialogHelper.showDialog(this, "提示", "确定放弃反馈吗?", "继续反馈", "放弃", - null, this::finish); + () -> { }, this::finish, false, "", ""); return true; } return super.handleBackPressed(); diff --git a/app/src/main/java/com/gh/gamecenter/amway/search/AmwaySearchDefaultFragment.kt b/app/src/main/java/com/gh/gamecenter/amway/search/AmwaySearchDefaultFragment.kt index 0eda9f25d3..50896ab221 100644 --- a/app/src/main/java/com/gh/gamecenter/amway/search/AmwaySearchDefaultFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/amway/search/AmwaySearchDefaultFragment.kt @@ -3,7 +3,7 @@ package com.gh.gamecenter.amway.search import android.os.Bundle import android.view.View import androidx.recyclerview.widget.LinearLayoutManager -import com.gh.common.util.DialogUtils +import com.gh.common.util.DialogHelper import com.gh.common.util.observeNonNull import com.gh.common.util.viewModelProviderFromParent import com.gh.gamecenter.R @@ -56,12 +56,11 @@ class AmwaySearchDefaultFragment : SearchDefaultFragment() { }) mBinding.historyClear.setOnClickListener { - DialogUtils.showWarningDialog(activity, "清空记录", "确定清空历史搜索记录?") { + DialogHelper.showWarningDialog(requireContext(), "清空记录", "确定清空历史搜索记录?", confirmClickCallback = { mSearchDao.deleteAll() mBinding.isExistHistory = false - updateNoPlayedGameHint() - } + }) } } diff --git a/app/src/main/java/com/gh/gamecenter/collection/AnswerAdapter.java b/app/src/main/java/com/gh/gamecenter/collection/AnswerAdapter.java index d859befb49..5d906873dc 100644 --- a/app/src/main/java/com/gh/gamecenter/collection/AnswerAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/collection/AnswerAdapter.java @@ -9,7 +9,6 @@ import com.gh.common.constant.ItemViewType; import com.gh.common.syncpage.ISyncAdapterHandler; import com.gh.common.util.CollectionUtils; import com.gh.common.util.DialogHelper; -import com.gh.common.util.DialogUtils; import com.gh.gamecenter.R; import com.gh.gamecenter.adapter.viewholder.FooterViewHolder; import com.gh.gamecenter.baselist.ListAdapter; @@ -126,7 +125,7 @@ public class AnswerAdapter extends ListAdapter implements ISyncAda } private void showDeleteDialog(String answerId) { - DialogUtils.showCancelAlertDialog(mContext, "提示" + DialogHelper.showDialog(mContext, "提示" , "内容已被删除,是否取消收藏?" , "取消收藏", "暂不" , () -> CollectionUtils.INSTANCE.deleteCollection(mContext, answerId @@ -141,7 +140,8 @@ public class AnswerAdapter extends ListAdapter implements ISyncAda public void onError() { Utils.toast(mContext, R.string.collection_cancel_failure); } - }), null); + }), () -> { + }, false, "", ""); } diff --git a/app/src/main/java/com/gh/gamecenter/collection/ArticleFragment.java b/app/src/main/java/com/gh/gamecenter/collection/ArticleFragment.java index 1826012888..3d573c9e4f 100644 --- a/app/src/main/java/com/gh/gamecenter/collection/ArticleFragment.java +++ b/app/src/main/java/com/gh/gamecenter/collection/ArticleFragment.java @@ -5,6 +5,7 @@ import android.view.View; import com.gh.common.util.CollectionUtils; import com.gh.common.util.DataCollectionUtils; +import com.gh.common.util.DialogHelper; import com.gh.common.util.DialogUtils; import com.gh.common.util.EntranceUtils; import com.gh.gamecenter.NewsDetailActivity; @@ -82,10 +83,10 @@ public class ArticleFragment extends ListFragment } private void showDeleteDialog(String articleId) { - DialogUtils.showCancelAlertDialog(getContext(), "提示" + DialogHelper.showDialog(requireContext(), "提示" , "内容已被删除,是否取消收藏?" , "取消收藏", "暂不" - , () -> CollectionUtils.INSTANCE.deleteCollection(getContext(), articleId + , () -> CollectionUtils.INSTANCE.deleteCollection(requireContext(), articleId , CollectionUtils.CollectionType.article, new CollectionUtils.OnCollectionListener() { @Override public void onSuccess() { @@ -97,6 +98,7 @@ public class ArticleFragment extends ListFragment public void onError() { toast(R.string.collection_cancel_failure); } - }), null); + }), () -> { + }, false, "", ""); } } diff --git a/app/src/main/java/com/gh/gamecenter/collection/CommunityArticleAdapter.kt b/app/src/main/java/com/gh/gamecenter/collection/CommunityArticleAdapter.kt index abf9d03cb2..74c46a9eb8 100644 --- a/app/src/main/java/com/gh/gamecenter/collection/CommunityArticleAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/collection/CommunityArticleAdapter.kt @@ -81,9 +81,9 @@ class CommunityArticleAdapter(context: Context, if (entity.active) { mContext.startActivity(ArticleDetailActivity.getIntent(mContext, entity.community, entity.id, mEntrance, path)) } else { - DialogUtils.showCancelAlertDialog(mContext, "提示", "内容已被删除,是否取消收藏?", "取消收藏", "暂不", { + DialogHelper.showDialog(mContext, "提示", "内容已被删除,是否取消收藏?", "取消收藏", "暂不", { mViewModel.deleteCollection(entity.community.id, entity.id) - }, null) + }) } } diff --git a/app/src/main/java/com/gh/gamecenter/download/GameDownloadFragment.java b/app/src/main/java/com/gh/gamecenter/download/GameDownloadFragment.java index f0817d295a..7727e4322b 100644 --- a/app/src/main/java/com/gh/gamecenter/download/GameDownloadFragment.java +++ b/app/src/main/java/com/gh/gamecenter/download/GameDownloadFragment.java @@ -8,6 +8,7 @@ import android.widget.RelativeLayout; import android.widget.TextView; import com.gh.base.fragment.BaseFragment; +import com.gh.common.util.DialogHelper; import com.gh.common.util.DialogUtils; import com.gh.common.util.EntranceUtils; import com.gh.common.util.ExtensionsKt; @@ -405,7 +406,7 @@ public class GameDownloadFragment extends BaseFragment implements View.OnClickLi if (NetworkUtils.isWifiConnected(getActivity())) { startAll(); } else { - DialogUtils.showDownloadDialog(getActivity(), () -> startAll()); + DialogHelper.showDownloadDialog(requireContext(), this::startAll); } } else { pauseAll(); diff --git a/app/src/main/java/com/gh/gamecenter/download/GameDownloadFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/download/GameDownloadFragmentAdapter.java index f3896cb048..27c3c9764f 100644 --- a/app/src/main/java/com/gh/gamecenter/download/GameDownloadFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/download/GameDownloadFragmentAdapter.java @@ -346,10 +346,10 @@ class GameDownloadFragmentAdapter extends BaseRecyclerAdapter { PackageUtils.launchApplicationByPackageName(mContext, downloadEntity.getPackageName()); break; case "失败": - DialogUtils.showAlertDialog(mContext + DialogHelper.showDialog(mContext , "下载失败" , "安装包数据校验失败,无法完成下载,建议删除任务重新下载" - , "知道了", null, null, null); + , "知道了", "", () -> { }, () -> { }, false, "", ""); break; case "取消": XapkInstaller.cancelUnzipTask(downloadEntity); @@ -418,7 +418,7 @@ class GameDownloadFragmentAdapter extends BaseRecyclerAdapter { if (NetworkUtils.isWifiConnected(mContext)) { startAll(viewHolder); } else { - DialogUtils.showDownloadDialog(mContext, () -> startAll(viewHolder)); + DialogHelper.showDownloadDialog(mContext, () -> startAll(viewHolder)); } } else { pauseAll(viewHolder); @@ -585,7 +585,8 @@ class GameDownloadFragmentAdapter extends BaseRecyclerAdapter { } else { msg = "游戏还没下载完,确定删除?"; } - DialogUtils.showWarningDialog(mContext, "删除下载", msg, () -> { + + DialogHelper.showWarningDialog(mContext, "删除下载", msg, () -> { removeDownload(entry); if (XapkUnzipStatus.UNZIPPING.name().equals(xapkStatus)) { XapkInstaller.cancelUnzipTask(entry); diff --git a/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragmentAdapter.java index 69362595d4..4860e8ba93 100644 --- a/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/download/GameUpdateFragmentAdapter.java @@ -25,6 +25,7 @@ import com.gh.common.history.HistoryHelper; import com.gh.common.util.ApkActiveUtils; import com.gh.common.util.DataCollectionUtils; import com.gh.common.util.DataUtils; +import com.gh.common.util.DialogHelper; import com.gh.common.util.DialogUtils; import com.gh.common.util.ExtensionsKt; import com.gh.common.util.GsonUtils; @@ -292,7 +293,7 @@ class GameUpdateFragmentAdapter extends BaseRecyclerAdapter implemen notifyItemRangeChanged(0, getItemCount()), 1000); } else { - DialogUtils.showDownloadDialog(mContext, () -> { + DialogHelper.showDownloadDialog(mContext, () -> { viewHolder.dm_item_head_tv_allstart.setText(R.string.updating); for (int i = 0; i < updateList.size(); i++) { if (DownloadManager.getInstance(mContext).getDownloadEntityByUrl(updateList.get(i).getUrl()) == null) { diff --git a/app/src/main/java/com/gh/gamecenter/forum/search/ForumOrUserSearchDefaultFragment.kt b/app/src/main/java/com/gh/gamecenter/forum/search/ForumOrUserSearchDefaultFragment.kt index abec2f6861..5a2cbd01b3 100644 --- a/app/src/main/java/com/gh/gamecenter/forum/search/ForumOrUserSearchDefaultFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/forum/search/ForumOrUserSearchDefaultFragment.kt @@ -4,6 +4,7 @@ import android.os.Bundle import android.view.View import androidx.constraintlayout.widget.ConstraintLayout import androidx.recyclerview.widget.GridLayoutManager +import com.gh.common.util.DialogHelper import com.gh.common.util.DialogUtils import com.gh.common.util.dip2px import com.gh.common.util.viewModelProvider @@ -73,10 +74,10 @@ class ForumOrUserSearchDefaultFragment : SearchDefaultFragment() { }) mBinding.historyClear.setOnClickListener { - DialogUtils.showWarningDialog(activity, "清空记录", "确定清空历史搜索记录?") { + DialogHelper.showWarningDialog(requireContext(), "清空记录", "确定清空历史搜索记录?", confirmClickCallback = { mSearchDao.deleteAll() mBinding.isExistHistory = false - } + }) } } } \ No newline at end of file diff --git a/app/src/main/java/com/gh/gamecenter/forum/select/ForumAdapter.kt b/app/src/main/java/com/gh/gamecenter/forum/select/ForumAdapter.kt index 84e44ab883..2ff71c821d 100644 --- a/app/src/main/java/com/gh/gamecenter/forum/select/ForumAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/forum/select/ForumAdapter.kt @@ -1,10 +1,8 @@ package com.gh.gamecenter.forum.select import android.content.Context -import android.view.Gravity import android.view.ViewGroup import androidx.core.content.ContextCompat -import androidx.fragment.app.DialogFragment import androidx.recyclerview.widget.RecyclerView import com.gh.base.BaseRecyclerViewHolder import com.gh.common.util.* @@ -54,7 +52,7 @@ class ForumAdapter(val context: Context, val mViewModel: ForumSelectViewModel?, mContext.ifLogin("论坛-选择论坛") { debounceActionWithInterval(it.id) { if (forumEntity.isFollow) { - DialogUtils.showNewAlertDialog(mContext, "提示", "确定取消关注", "暂不", "确定", null, Gravity.CENTER, false, {}, { + DialogHelper.showDialog(mContext, "提示", "确定取消关注", "确定", "暂不", confirmClickCallback = { mViewModel?.unFollowForum(forumEntity.id) { MtaHelper.onEvent("论坛首页", "选择论坛", "关注") forumEntity.isFollow = false @@ -64,8 +62,12 @@ class ForumAdapter(val context: Context, val mViewModel: ForumSelectViewModel?, holder.binding.followTv.setTextColor(ContextCompat.getColor(mContext, R.color.theme_font)) EventBus.getDefault().post(EBForumFollowChange(forumEntity, false)) } - }) - + }, + extraConfig = DialogHelper.Config( + centerTitle = true, + centerContent = true + ) + ) } else { mViewModel?.followForum(forumEntity.id) { MtaHelper.onEvent("论坛首页", "选择论坛", "已关注") diff --git a/app/src/main/java/com/gh/gamecenter/game/upload/GameUploadFragment.kt b/app/src/main/java/com/gh/gamecenter/game/upload/GameUploadFragment.kt index 1d1cb7b02d..142abfda12 100644 --- a/app/src/main/java/com/gh/gamecenter/game/upload/GameUploadFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/game/upload/GameUploadFragment.kt @@ -266,7 +266,7 @@ class GameUploadFragment : NormalFragment() { mUploadFileDisposable?.dispose() mUploadDialog.isDisable = true - DialogUtils.showAlertDialog(requireContext(), "提示", + DialogHelper.showDialog(requireContext(), "提示", "游戏上传中,确定要退出上传吗?", "不了", "确定", { mUploadDialog.isDisable = false if (mApkUrl.isEmpty()) { @@ -496,9 +496,9 @@ class GameUploadFragment : NormalFragment() { mIconAdapter!!.fileList.size > 0 || mTags.size > 0 || mAdapter!!.fileList.size > 0) { - DialogUtils.showAlertDialog(requireContext(), "提示", + DialogHelper.showDialog(requireContext(), "提示", "确定要退出吗?已保存的内容将会消失", "不了", "确定", - null, DialogUtils.CancelListener { activity?.finish() }) + null, { activity?.finish() }) return true } return super.onBackPressed() diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailFragment.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailFragment.kt index 0ec7c10fdd..4274987738 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/GameDetailFragment.kt @@ -827,11 +827,11 @@ class GameDetailFragment : NormalFragment() { } private fun doShowAlertDialog(dialog: GameEntity.Dialog) { - DialogUtils.showDialogWithHtmlContent( + DialogHelper.showDialogWithHtmlContent( requireContext(), dialog.title, dialog.content, - dialog.confirmButton.text, + dialog.confirmButton.text.toString(), dialog.closeButtonText, { dialog.confirmButton.text = dialog.confirmButton.linkText @@ -841,7 +841,7 @@ class GameDetailFragment : NormalFragment() { mEntrance, "" ) - }, null + } ) } @@ -1216,11 +1216,9 @@ class GameDetailFragment : NormalFragment() { R.id.iv_concern, R.id.tv_concern -> { ifLogin("游戏详情-[关注]") { if (mNewGameDetailEntity != null && mNewGameDetailEntity!!.me.isGameConcerned) { - DialogUtils.showCancelDialog( - requireContext(), - { mViewModel.concernCommand(false) }, - null - ) + DialogHelper.showCancelDialog(requireContext(), { + mViewModel.concernCommand(false) + }) } else { mViewModel.concernCommand(true) } diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameDetailInfoItemAdapter.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameDetailInfoItemAdapter.kt index a460a49528..170a22c446 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameDetailInfoItemAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/desc/GameDetailInfoItemAdapter.kt @@ -88,10 +88,10 @@ class GameDetailInfoItemAdapter(val context: Context, val gameInfo: GameInfo, pr when (gameInfoItemData.actionStr) { "求更新" -> { MtaHelper.onEvent("游戏详情_新", "详细信息_我要求更新", gameName) - DialogUtils.showAlertDialog(context, "版本求更新", "如果游戏上线了新版本,您可以提交申请,让小助手尽快更新版本喔!", + DialogHelper.showDialog(context, "版本求更新", "如果游戏上线了新版本,您可以提交申请,让小助手尽快更新版本喔!", "提交申请", "取消", { mViewModel.sendSuggestion() - }, {}) + }) } "咨询" -> { MtaHelper.onEvent("游戏详情_新", "详细信息_咨询", gameName) diff --git a/app/src/main/java/com/gh/gamecenter/gamedetail/rating/edit/RatingEditActivity.kt b/app/src/main/java/com/gh/gamecenter/gamedetail/rating/edit/RatingEditActivity.kt index 57a3adc6ac..1f1baa1425 100644 --- a/app/src/main/java/com/gh/gamecenter/gamedetail/rating/edit/RatingEditActivity.kt +++ b/app/src/main/java/com/gh/gamecenter/gamedetail/rating/edit/RatingEditActivity.kt @@ -410,10 +410,10 @@ class RatingEditActivity : ToolBarActivity(), KeyboardHeightObserver { if (!TextUtils.isEmpty(content)) { if (mComment != null) { - DialogUtils.showAlertDialog(this, "提示", + DialogHelper.showDialog(this, "提示", "确定退出评论吗?已撰写的内容会丢失", "继续撰写", "确定退出", - null, { finish() }) + cancelClickCallback = { finish() }) } else { // save local draft val ratingDraft = RatingComment() diff --git a/app/src/main/java/com/gh/gamecenter/libao/Libao3FragmentAdapter.java b/app/src/main/java/com/gh/gamecenter/libao/Libao3FragmentAdapter.java index f44da0aaa8..edc9fb19a0 100644 --- a/app/src/main/java/com/gh/gamecenter/libao/Libao3FragmentAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/libao/Libao3FragmentAdapter.java @@ -15,6 +15,7 @@ import android.widget.TextView; import androidx.recyclerview.widget.RecyclerView; import com.gh.base.OnRequestCallBackListener; +import com.gh.common.util.DialogHelper; import com.gh.common.util.DialogUtils; import com.gh.common.util.ExtensionsKt; import com.gh.common.util.LibaoUtils; @@ -288,41 +289,44 @@ class Libao3FragmentAdapter extends BaseRecyclerAdapter } private void showDeleteDialog(LibaoEntity libaoEntity) { - DialogUtils.showWarningDialog(mContext, "删除礼包", Html.fromHtml(mContext.getString(R.string.libao_delete_dialog)) + DialogHelper.showWarningDialog(mContext, "删除礼包", Html.fromHtml(mContext.getString(R.string.libao_delete_dialog)) , "取消", "确定删除" - , () -> LibaoUtils.deleteLibaoCode(mContext, libaoEntity.getCode(), new LibaoUtils.PostLibaoListener() { - @Override - public void postSucceed(Object response) { - Utils.toast(mContext, "删除成功"); - for (LibaoEntity entity : mLibaoList) { - if (libaoEntity.getId().equals(entity.getId())) { - entity.setActive(false); - initData(); - break; - } - } - } - - @Override - public void postFailed(Throwable error) { - - if (error instanceof HttpException) { - HttpException exception = (HttpException) error; - if (exception.code() == 400) { - Utils.toast(mContext, "删除成功code-null"); - for (LibaoEntity entity : mLibaoList) { - if (libaoEntity.getId().equals(entity.getId())) { - entity.setActive(false); - initData(); - break; - } + , () -> { + LibaoUtils.deleteLibaoCode(mContext, libaoEntity.getCode(), new LibaoUtils.PostLibaoListener() { + @Override + public void postSucceed(Object response) { + Utils.toast(mContext, "删除成功"); + for (LibaoEntity entity : mLibaoList) { + if (libaoEntity.getId().equals(entity.getId())) { + entity.setActive(false); + initData(); + break; } - } else { - Utils.toast(mContext, "删除失败,请检查网络状态"); } } - } - }), null); + + @Override + public void postFailed(Throwable error) { + + if (error instanceof HttpException) { + HttpException exception = (HttpException) error; + if (exception.code() == 400) { + Utils.toast(mContext, "删除成功code-null"); + for (LibaoEntity entity : mLibaoList) { + if (libaoEntity.getId().equals(entity.getId())) { + entity.setActive(false); + initData(); + break; + } + } + } else { + Utils.toast(mContext, "删除失败,请检查网络状态"); + } + } + } + }); + return null; + }, null); } private void initFooterViewHolder(FooterViewHolder holder) { diff --git a/app/src/main/java/com/gh/gamecenter/mygame/MyFollowedGameAdapter.kt b/app/src/main/java/com/gh/gamecenter/mygame/MyFollowedGameAdapter.kt index 567f86c876..d42b1c1000 100644 --- a/app/src/main/java/com/gh/gamecenter/mygame/MyFollowedGameAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/mygame/MyFollowedGameAdapter.kt @@ -10,10 +10,7 @@ import com.gh.common.constant.ItemViewType import com.gh.common.exposure.ExposureEvent import com.gh.common.exposure.ExposureSource import com.gh.common.exposure.IExposable -import com.gh.common.util.DialogUtils -import com.gh.common.util.MtaHelper -import com.gh.common.util.addSelectableItemBackground -import com.gh.common.util.removeSelectableItemBackground +import com.gh.common.util.* import com.gh.common.view.DrawableView import com.gh.gamecenter.GameDetailActivity import com.gh.gamecenter.R @@ -118,7 +115,9 @@ class MyFollowedGameViewHolder(var binding: ItemFollowedGameBinding) : RecyclerV binding.gameItemIncluded.downloadBtn.setBackgroundResource(R.drawable.button_border_blue_oval) binding.gameItemIncluded.downloadBtn.setOnClickListener { - DialogUtils.showCancelDialog(binding.root.context, { viewModel.unfollowGame(gameEntity) }, null) + DialogHelper.showCancelDialog(binding.root.context, { + viewModel.unfollowGame(gameEntity) + }) } } } diff --git a/app/src/main/java/com/gh/gamecenter/newsdetail/NewsDetailAdapter.java b/app/src/main/java/com/gh/gamecenter/newsdetail/NewsDetailAdapter.java index 9f0fc800a0..2f5cfa8efb 100644 --- a/app/src/main/java/com/gh/gamecenter/newsdetail/NewsDetailAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/newsdetail/NewsDetailAdapter.java @@ -6,7 +6,9 @@ import android.content.Intent; import android.content.SharedPreferences; import android.graphics.Color; import android.preference.PreferenceManager; +import android.text.Html; import android.text.Layout; +import android.text.Spanned; import android.text.TextUtils; import android.view.Gravity; import android.view.View; @@ -32,6 +34,7 @@ import com.gh.common.util.CommentUtils; import com.gh.common.util.ConcernUtils; import com.gh.common.util.DataCollectionUtils; import com.gh.common.util.DataUtils; +import com.gh.common.util.DialogHelper; import com.gh.common.util.DialogUtils; import com.gh.common.util.DirectUtils; import com.gh.common.util.DisplayUtils; @@ -364,7 +367,7 @@ public class NewsDetailAdapter extends BaseRecyclerAdapter { kv.put("状态", mContext.getString(R.string.cancel_concern)); DataUtils.onEvent(mContext, "游戏关注", mGameEntity.getName(), kv); - DialogUtils.showCancelDialog(mContext, () -> { + DialogHelper.showCancelDialog(mContext, () -> { //取消关注 ConcernUtils.INSTANCE.deleteConcernData(mContext, mGameEntity.getId() , new ConcernUtils.onConcernListener() { @@ -389,7 +392,11 @@ public class NewsDetailAdapter extends BaseRecyclerAdapter { viewHolder.gameConcern.setEnabled(true); } }); - }, () -> viewHolder.gameConcern.setEnabled(true)); + return null; + }, () -> { + viewHolder.gameConcern.setEnabled(true); + return null; + }); } }); }); diff --git a/app/src/main/java/com/gh/gamecenter/personal/PersonalFunctionAdapter.kt b/app/src/main/java/com/gh/gamecenter/personal/PersonalFunctionAdapter.kt index 1627939f69..8e04f67d11 100644 --- a/app/src/main/java/com/gh/gamecenter/personal/PersonalFunctionAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/personal/PersonalFunctionAdapter.kt @@ -143,8 +143,8 @@ class PersonalFunctionAdapter(val context: Context, val groupName: String, var m if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT_WATCH || BuildConfig.DEBUG) { context.startActivity(VideoManagerActivity.getIntent(context, "", "我的光环-视频投稿")) } else { - DialogUtils.showAlertDialog(context, "提示", - "抱歉,您当前系统版本过低,暂不支持视频功能", "我知道了", null, null, null) + DialogHelper.showDialog(context, "提示", + "抱歉,您当前系统版本过低,暂不支持视频功能", "我知道了", "") } MtaHelper.onEvent("我的光环", "视频投稿") } else { diff --git a/app/src/main/java/com/gh/gamecenter/personalhome/FollowersOrFansAdapter.kt b/app/src/main/java/com/gh/gamecenter/personalhome/FollowersOrFansAdapter.kt index b85074785e..da35e229ff 100644 --- a/app/src/main/java/com/gh/gamecenter/personalhome/FollowersOrFansAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/personalhome/FollowersOrFansAdapter.kt @@ -76,10 +76,10 @@ class FollowersOrFansAdapter(context: Context, val mViewModel: FollowersOrFansVi mContext.ifLogin("个人主页-粉丝-[关注]") { if (entity.id != UserManager.getInstance().userId) { if (entity?.me?.isFollower!!) { - DialogUtils.showAlertDialog(mContext, "取消关注", "确定要取消关注 ${entity.name} 吗?", - "确定取消", "暂不取消", DialogUtils.ConfirmListener { + DialogHelper.showDialog(mContext, "取消关注", "确定要取消关注 ${entity.name} 吗?", + "确定取消", "暂不取消", { mViewModel.followingCommand(!entity.me.isFollower, entity.id, position) - }, null) + }) } else { mViewModel.followingCommand(!entity.me.isFollower, entity.id, position) } diff --git a/app/src/main/java/com/gh/gamecenter/personalhome/UserHomeFragment.kt b/app/src/main/java/com/gh/gamecenter/personalhome/UserHomeFragment.kt index 96a1b1f518..26179756de 100644 --- a/app/src/main/java/com/gh/gamecenter/personalhome/UserHomeFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/personalhome/UserHomeFragment.kt @@ -628,16 +628,15 @@ class UserHomeFragment : NormalFragment() { userConcernedBtn.setOnClickListener { ifLogin("个人主页-关注-[关注]") { MtaHelper.onEvent("个人主页详情", "个人主页详情", "关注按钮") - DialogUtils.showAlertDialog( + DialogHelper.showDialog( requireContext(), "取消关注", "确定要取消关注 ${personalData.name} 吗?", "确定取消", "暂不取消", - DialogUtils.ConfirmListener { + { mUserHomeViewModel.unFollow() - }, - null + } ) } } diff --git a/app/src/main/java/com/gh/gamecenter/qa/answer/detail/AnswerDetailFragment.kt b/app/src/main/java/com/gh/gamecenter/qa/answer/detail/AnswerDetailFragment.kt index eba42ccb11..507489ede3 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/answer/detail/AnswerDetailFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/answer/detail/AnswerDetailFragment.kt @@ -300,13 +300,12 @@ open class AnswerDetailFragment : NormalFragment() { val data = Intent() data.putExtra(EntranceUtils.KEY_ANSWER_ID, mAnswerId) activity.setResult(Activity.RESULT_OK, data) - DialogUtils.showAlertDialog(getActivity(), - "提示", - "很抱歉,内容可能已被删除", - "关闭", - null, - DialogUtils.ConfirmListener { activity.finish() }, - null) + DialogHelper.showDialog(requireContext(), + "提示", + "很抱歉,内容可能已被删除", + "关闭", + "", + { activity.finish() }) } } else { Utils.toast(context, R.string.content_delete_toast) @@ -672,15 +671,15 @@ open class AnswerDetailFragment : NormalFragment() { } "关闭评论", "恢复评论" -> { if (mViewModel.answerDetail?.commentable!!) { - DialogUtils.showAlertDialog(requireContext(), "提示", "关闭评论之后,该回答将无法查看和发表评论,确定关闭吗?", - "确定", "取消", { mViewModel.toggleComment(mAnswerId, false) }, null) + DialogHelper.showDialog(requireContext(), "提示", "关闭评论之后,该回答将无法查看和发表评论,确定关闭吗?", + "确定", "取消", { mViewModel.toggleComment(mAnswerId, false) }) } else { - DialogUtils.showAlertDialog(requireContext(), "提示", "确定恢复评论吗?", - "确定", "取消", { mViewModel.toggleComment(mAnswerId, true) }, null) + DialogHelper.showDialog(requireContext(), "提示", "确定恢复评论吗?", + "确定", "取消", { mViewModel.toggleComment(mAnswerId, true) }) } } "删除" -> { - DialogUtils.showNewAlertDialog(requireContext(), "提示", "删除回答后,其中的所有回复都将被删除", "取消", "删除", {}, { + DialogHelper.showDialog(requireContext(), "提示", "删除回答后,其中的所有回复都将被删除", "删除", "取消", { mViewModel.doHideThisAnswer(mAnswerId) }) } @@ -694,12 +693,12 @@ open class AnswerDetailFragment : NormalFragment() { when { answer.me.isContentOwner -> toast("不能加精自己的回答") answer.isHighlighted -> toast("回答已经加精") - else -> DialogUtils.showAlertDialog( + else -> DialogHelper.showDialog( requireContext(), "加精回答", if (answer.me.moderatorPermissions.highlightAnswer == Permissions.REPORTER) reporterHint else adminHint, "确定", "取消", - { mViewModel.doHighlightThisAnswer(mAnswerId) }, null) + { mViewModel.doHighlightThisAnswer(mAnswerId) }) } } @@ -709,12 +708,12 @@ open class AnswerDetailFragment : NormalFragment() { if (answer.fold == true) { Utils.toast(requireContext(), "回答已经折叠") } else { - DialogUtils.showAlertDialog( + DialogHelper.showDialog( requireContext(), "折叠回答", if (answer.me.moderatorPermissions.foldAnswer == Permissions.REPORTER) reporterHint else adminHint, "确定", "取消", - { mViewModel.doFoldThisAnswer(mAnswerId) }, null) + { mViewModel.doFoldThisAnswer(mAnswerId) }) } } diff --git a/app/src/main/java/com/gh/gamecenter/qa/answer/draft/AnswerDraftAdapter.java b/app/src/main/java/com/gh/gamecenter/qa/answer/draft/AnswerDraftAdapter.java index 5bae03f4df..ff8de722f2 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/answer/draft/AnswerDraftAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/qa/answer/draft/AnswerDraftAdapter.java @@ -11,7 +11,7 @@ import androidx.recyclerview.widget.RecyclerView; import com.facebook.drawee.view.SimpleDraweeView; import com.gh.base.OnListClickListener; import com.gh.common.constant.ItemViewType; -import com.gh.common.util.DialogUtils; +import com.gh.common.util.DialogHelper; import com.gh.common.util.ImageUtils; import com.gh.common.util.PermissionHelper; import com.gh.gamecenter.R; @@ -129,7 +129,8 @@ class AnswerDraftAdapter extends ListAdapter { mContext.startActivity(QuestionsDetailActivity.getIntent(mContext, questions.getId(), mEntrance, "我的问答-我的草稿")); }); binding.answerDraftItemDelete.setOnClickListener(v -> { - DialogUtils.showAlertDialog(mContext, "警告", "确定要删除回答草稿吗?删除之后不可恢复", "确定", "取消", () -> deleteAnswerDraft(answerEntity), null); + DialogHelper.showDialog(mContext, "警告", "确定要删除回答草稿吗?删除之后不可恢复", "确定", "取消", () -> deleteAnswerDraft(answerEntity), () -> { + }, false, "", ""); }); draftViewHolder.itemView.setOnClickListener(v -> { PermissionHelper.checkStoragePermissionBeforeAction(mContext, () -> { diff --git a/app/src/main/java/com/gh/gamecenter/qa/answer/edit/AnswerEditActivity.kt b/app/src/main/java/com/gh/gamecenter/qa/answer/edit/AnswerEditActivity.kt index 237ba60598..85c3f2dbd7 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/answer/edit/AnswerEditActivity.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/answer/edit/AnswerEditActivity.kt @@ -179,14 +179,17 @@ class AnswerEditActivity : BaseRichEditorActivity(), Keyboa when (code) { 403037 -> consume { if (TextUtils.isEmpty(mViewModel.draftId)) { - DialogUtils.showAlertDialog(this, "发布失败", "问题已被删除,无法发布回答", "好吧", "", { finish() }, null) + DialogHelper.showDialog(this, "发布失败", "问题已被删除,无法发布回答", "好吧", "", { finish() }) } else { - DialogUtils.showAlertDialog(this, "发布失败", "问题已被删除,需要删除草稿吗?", "删除草稿", "暂不", - { - mViewModel.deleteAnswerDraft() - finish() - }, - null) + DialogHelper.showDialog(this, + "发布失败", + "问题已被删除,需要删除草稿吗?", + "删除草稿", + "暂不", + { + mViewModel.deleteAnswerDraft() + finish() + }) } } else -> false @@ -210,6 +213,7 @@ class AnswerEditActivity : BaseRichEditorActivity(), Keyboa mUploadImageCancelDialog?.dismiss() mProcessingDialog?.dismiss() }, null) + } } } @@ -381,7 +385,7 @@ class AnswerEditActivity : BaseRichEditorActivity(), Keyboa && !mRichEditor.html.contains("(), Keyboa } private fun showDraftFailureDialog() { - DialogUtils.showNewAlertDialog(this, "提示", "确定退出?已撰写的内容将会丢失?", "退出", "继续撰写", { - finish() - }, null) + DialogHelper.showDialog(this, "提示", "确定退出?已撰写的内容将会丢失?", "继续撰写", "退出", cancelClickCallback = { finish() }) } private fun showPatchBackDialog() { - DialogUtils.showNewAlertDialog(this, "提示", "是否保存修改内容用于下次编辑?", "不保存", "保存并退出", { - finish() - }, { - saveDraft(true) - }) + DialogHelper.showDialog(this, "提示", "是否保存修改内容用于下次编辑?", "保存并退出", "不保存", { saveDraft(true) }, { finish() }) } /** diff --git a/app/src/main/java/com/gh/gamecenter/qa/article/detail/ArticleDetailContentViewHolder.kt b/app/src/main/java/com/gh/gamecenter/qa/article/detail/ArticleDetailContentViewHolder.kt index e9acac2525..de33100b2d 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/article/detail/ArticleDetailContentViewHolder.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/article/detail/ArticleDetailContentViewHolder.kt @@ -92,15 +92,13 @@ class ArticleDetailContentViewHolder( if (followBtn.text == "关注") { viewModel.follow() } else { - DialogUtils.showAlertDialog( + DialogHelper.showDialog( root.context, "取消关注", "确定要取消关注 ${article.user.name} 吗?", "确定取消", "暂不取消", - DialogUtils.ConfirmListener { - viewModel.unfollow() - }, null + { viewModel.unfollow() } ) } } diff --git a/app/src/main/java/com/gh/gamecenter/qa/article/detail/ArticleDetailFragment.kt b/app/src/main/java/com/gh/gamecenter/qa/article/detail/ArticleDetailFragment.kt index e085a85515..4a02f7243d 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/article/detail/ArticleDetailFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/article/detail/ArticleDetailFragment.kt @@ -312,16 +312,13 @@ class ArticleDetailFragment : BaseCommentFragment { - DialogUtils.showNewAlertDialog( + DialogHelper.showDialog( requireContext(), "提示", "${it.text}帖子后,其中的所有评论及回复都将被${it.text}", - "取消", it.text, - {}, - { + "取消", + confirmClickCallback = { mViewModel.doHideThisArticle( mViewModel.detailEntity!!.community.id, mViewModel.articleId @@ -702,7 +698,7 @@ class ArticleDetailFragment : BaseCommentFragment(), Keyb //帖子发布,需判断是否输入了内容,输入了则弹窗提示 if (mViewModel.detailEntity == null && mViewModel.draftEntity == null) { if (mEditTitle.text.toString().isNotEmpty() || mRichEditor.html.isNotEmpty()) { - DialogUtils.showNewAlertDialog(this, "提示", "是否保存内容再退出?", "不保存", "保存并退出", Gravity.CENTER, true, { - finish() - }, { + DialogHelper.showDialog(this, "提示", "是否保存内容再退出?", "保存并退出", "不保存", { mViewModel.title = mEditTitle.text.toString() mViewModel.content = getReplaceRealContent() mViewModel.postArticleDrafts(SaveDraftType.EXIT) - }) + }, { finish() }, DialogHelper.Config(showCloseIcon = true, centerContent = true, centerTitle = true)) return true } } @@ -459,13 +456,11 @@ class ArticleEditActivity : BaseRichEditorActivity(), Keyb private fun showBackDialog() { if (mRichEditor.hasPlaceholderImage()) return - DialogUtils.showNewAlertDialog(this, "提示", "是否保存修改内容用于下次编辑?", "不保存", "保存并退出", Gravity.CENTER, true, { - finish() - }, { + DialogHelper.showDialog(this, "提示", "是否保存修改内容用于下次编辑?", "保存并退出", "不保存", { mViewModel.title = mEditTitle.text.toString() mViewModel.content = getReplaceRealContent() mViewModel.postArticleDrafts(SaveDraftType.EXIT) - }) + }, { finish() }, DialogHelper.Config(showCloseIcon = true, centerTitle = true, centerContent = true)) } private fun showSelectGameDialog() { diff --git a/app/src/main/java/com/gh/gamecenter/qa/column/order/AskTabOrderFragment.java b/app/src/main/java/com/gh/gamecenter/qa/column/order/AskTabOrderFragment.java index dd4a6d8d7d..9df0149cde 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/column/order/AskTabOrderFragment.java +++ b/app/src/main/java/com/gh/gamecenter/qa/column/order/AskTabOrderFragment.java @@ -18,6 +18,7 @@ import android.view.View; import android.widget.TextView; import com.gh.base.fragment.WaitingDialogFragment; +import com.gh.common.util.DialogHelper; import com.gh.common.util.DialogUtils; import com.gh.common.view.GridDivider; import com.gh.gamecenter.R; @@ -90,14 +91,14 @@ public class AskTabOrderFragment extends NormalFragment { @OnClick(R.id.asktab_order_reset) public void onClick(View view) { - DialogUtils.showAlertDialog(getContext(), "提示", "确定要恢复为默认排序吗?" + DialogHelper.showDialog(requireContext(), "提示", "确定要恢复为默认排序吗?" , "确定", "取消 ", () -> { mPostDialog = WaitingDialogFragment.newInstance(getString(R.string.ask_tags_reseting)); mPostDialog.show(getChildFragmentManager(), null); isReset = true; mViewModel.reset(); - }, null); + }, () -> {}, false, "", ""); } diff --git a/app/src/main/java/com/gh/gamecenter/qa/comment/NewCommentFragment.kt b/app/src/main/java/com/gh/gamecenter/qa/comment/NewCommentFragment.kt index 57c87b7a89..b0349e09b7 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/comment/NewCommentFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/comment/NewCommentFragment.kt @@ -527,9 +527,9 @@ open class NewCommentFragment : ListFragment override fun onCommentOptionClick(entity: CommentEntity, option: String) { if (option == "删除评论") { - DialogUtils.showAlertDialog(requireContext(), "提示", "确定要删除评论吗?", "确定", "取消", { + DialogHelper.showDialog(requireContext(), "提示", "确定要删除评论吗?", "确定", "取消", { mViewModel.deleteVideoComment(entity) - }, {}) + }) } } diff --git a/app/src/main/java/com/gh/gamecenter/qa/comment/base/BaseCommentAdapter.kt b/app/src/main/java/com/gh/gamecenter/qa/comment/base/BaseCommentAdapter.kt index d65106bc06..e1e455fd7f 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/comment/base/BaseCommentAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/comment/base/BaseCommentAdapter.kt @@ -3,7 +3,6 @@ package com.gh.gamecenter.qa.comment.base import android.annotation.SuppressLint import android.content.Context import android.text.SpannableStringBuilder -import android.view.Gravity import android.view.View import android.view.ViewGroup import androidx.appcompat.app.AppCompatActivity @@ -727,13 +726,12 @@ abstract class BaseCommentAdapter( override fun onCommentOptionClick(entity: CommentEntity, option: String) { when (option) { "删除评论" -> { - DialogUtils.showNewAlertDialog( + DialogHelper.showDialog( binding.moreIv.context, "提示", "删除评论后,评论下所有的回复都将被删除", - "取消", "删除", - null, + "取消", { viewModel.deleteComment(comment) { deleteCallBack?.invoke(comment) @@ -741,23 +739,24 @@ abstract class BaseCommentAdapter( }) } "采纳" -> { - DialogUtils.showNewAlertDialog( + DialogHelper.showDialog( binding.root.context, "提示", "确定采纳该评论?", - "取消", "确认", - null, - Gravity.CENTER, - false, - {}, - { + "取消", + confirmClickCallback = { viewModel.acceptQuestionComment( viewModel.questionId, comment, true ) - }) + }, + extraConfig = DialogHelper.Config( + centerContent = true, + centerTitle = true + ) + ) } "取消采纳" -> { viewModel.acceptQuestionComment( @@ -773,37 +772,34 @@ abstract class BaseCommentAdapter( viewModel.chancelHighlightQuestionComment(comment) } "置顶" -> { - DialogUtils.showNewAlertDialog( + DialogHelper.showDialog( binding.root.context, "提示", "是否将此条评论置顶?", - "取消", "确认", - null, - Gravity.CENTER, - false, - {}, - { + "取消", + confirmClickCallback = { commentTop( binding.root.context, viewModel, comment, false ) - }) + }, + extraConfig = DialogHelper.Config( + centerContent = true, + centerTitle = true + ) + ) } "取消置顶" -> { - DialogUtils.showNewAlertDialog( + DialogHelper.showDialog( binding.root.context, "提示", "是否将此条评论取消置顶?", - "取消", "确认", - null, - Gravity.CENTER, - false, - {}, - { + "取消", + confirmClickCallback = { viewModel.updateCommentTop( comment.id ?: "", top = false, isAgain = false @@ -812,7 +808,12 @@ abstract class BaseCommentAdapter( viewModel.load(LoadType.REFRESH) } } - }) + }, + extraConfig = DialogHelper.Config( + centerTitle = true, + centerContent = true + ) + ) } } } @@ -837,13 +838,12 @@ abstract class BaseCommentAdapter( override fun onCommentOptionClick(entity: CommentEntity, option: String) { when (option) { "删除评论" -> { - DialogUtils.showNewAlertDialog( + DialogHelper.showDialog( binding.moreIv.context, "提示", "删除评论后,评论下所有的回复都将被删除", - "取消", "删除", - null, + "取消", { viewModel.deleteComment(comment) { deleteCallBack?.invoke(comment) @@ -875,13 +875,12 @@ abstract class BaseCommentAdapter( override fun onCommentOptionClick(entity: CommentEntity, option: String) { when (option) { "删除评论" -> { - DialogUtils.showNewAlertDialog( + DialogHelper.showDialog( binding.moreIv.context, "提示", "删除评论后,评论下所有的回复都将被删除", - "取消", "删除", - null, + "取消", { viewModel.deleteComment(comment) { deleteCallBack?.invoke(comment) @@ -889,37 +888,34 @@ abstract class BaseCommentAdapter( }) } "置顶" -> { - DialogUtils.showNewAlertDialog( + DialogHelper.showDialog( binding.root.context, "提示", "是否将此条评论置顶?", "取消", "确认", - null, - Gravity.CENTER, - false, - {}, - { + confirmClickCallback = { commentTop( binding.root.context, viewModel, comment, false ) - }) + }, + extraConfig = DialogHelper.Config( + centerTitle = true, + centerContent = true + ) + ) } "取消置顶" -> { - DialogUtils.showNewAlertDialog( + DialogHelper.showDialog( binding.root.context, "提示", "是否将此条评论取消置顶?", - "取消", "确认", - null, - Gravity.CENTER, - false, - {}, - { + "取消", + confirmClickCallback = { viewModel.updateCommentTop( comment.id ?: "", top = false, isAgain = false @@ -928,7 +924,12 @@ abstract class BaseCommentAdapter( viewModel.load(LoadType.REFRESH) } } - }) + }, + extraConfig = DialogHelper.Config( + centerContent = true, + centerTitle = true + ) + ) } } @@ -957,19 +958,20 @@ abstract class BaseCommentAdapter( viewModel.load(LoadType.REFRESH) } else { if (errorCode == 403095) { - DialogUtils.showNewAlertDialog( + DialogHelper.showDialog( context, "提示", "当前已有置顶评论,\n是否将此条评论覆盖展示?", - "取消", "确认", - null, - Gravity.CENTER, - false, - {}, - { + "取消", + confirmClickCallback = { commentTop(context, viewModel, comment, true) - }) + }, + extraConfig = DialogHelper.Config( + centerContent = true, + centerTitle = true + ) + ) } } } diff --git a/app/src/main/java/com/gh/gamecenter/qa/editor/VideoAdapter.kt b/app/src/main/java/com/gh/gamecenter/qa/editor/VideoAdapter.kt index e480dedb69..bcb515912a 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/editor/VideoAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/editor/VideoAdapter.kt @@ -7,10 +7,7 @@ import android.view.View import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView import com.gh.common.constant.ItemViewType -import com.gh.common.util.DialogUtils -import com.gh.common.util.ImageUtils -import com.gh.common.util.SPUtils -import com.gh.common.util.toSimpleCount +import com.gh.common.util.* import com.gh.gamecenter.R import com.gh.gamecenter.adapter.viewholder.FooterViewHolder import com.gh.gamecenter.baselist.ListAdapter @@ -61,10 +58,9 @@ class VideoAdapter(context: Context, val format = SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()) val today = format.format(Date()) if (entity.status == "pending" && today != lastHintTime) { - DialogUtils.showAlertDialog(mContext, "提示", + DialogHelper.showDialog(mContext, "提示", "当前视频正在审核中,审核通过才会显示", - "知道了", "", - DialogUtils.ConfirmListener { setResultAndFinish(entity) }, null) + "知道了", "", { setResultAndFinish(entity) }) SPUtils.setString("pending_hint_time", today) } else { setResultAndFinish(entity) diff --git a/app/src/main/java/com/gh/gamecenter/qa/questions/detail/QuestionsDetailFragment.kt b/app/src/main/java/com/gh/gamecenter/qa/questions/detail/QuestionsDetailFragment.kt index 85393f1814..e84bf924cb 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/questions/detail/QuestionsDetailFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/questions/detail/QuestionsDetailFragment.kt @@ -482,7 +482,7 @@ class QuestionsDetailFragment : } "删除" -> { - DialogUtils.showNewAlertDialog(requireContext(), "提示", "删除问题后,其中的所有回答都将被删除", "取消", "删除", {}, { + DialogHelper.showDialog(requireContext(), "提示", "删除问题后,其中的所有回答都将被删除", "删除", "取消", { mListViewModel.moderatorsHideQuestion() }) } @@ -563,14 +563,14 @@ class QuestionsDetailFragment : val intent = QuestionEditActivity.getManagerIntent(requireContext(), mQuestionsDetailEntity!!) startActivityForResult(intent, QUESTIONS_EDIT_REQUEST) } - hideQuestion -> DialogUtils.showAlertDialog(context, + hideQuestion -> DialogHelper.showDialog(requireContext(), "隐藏问题", if (mQuestionsDetailEntity!!.me.moderatorPermissions.hideQuestion == Permissions.REPORTER) "你的操作将提交给小编审核,确定提交吗?" else "你的操作将立即生效,确定提交吗?(你的管理权限为:高级)", "确定", "取消", - { mListViewModel.moderatorsHideQuestion() }, null) + { mListViewModel.moderatorsHideQuestion() }) historyVersion -> { startActivityForResult( HistoryActivity.getIntent(requireContext(), mQuestionsDetailEntity?.id!!), @@ -644,8 +644,8 @@ class QuestionsDetailFragment : } private fun showCancelConcernDialog() { - DialogUtils.showAlertDialog( - context, + DialogHelper.showDialog( + requireContext(), "取消关注问题", "问题已被删除,是否取消关注?", " 取消关注", diff --git a/app/src/main/java/com/gh/gamecenter/qa/questions/draft/QuestionDraftAdapter.kt b/app/src/main/java/com/gh/gamecenter/qa/questions/draft/QuestionDraftAdapter.kt index fe9c1c81c1..9bcbfbde18 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/questions/draft/QuestionDraftAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/questions/draft/QuestionDraftAdapter.kt @@ -8,6 +8,7 @@ import androidx.core.content.ContextCompat import androidx.recyclerview.widget.RecyclerView import com.gh.base.BaseRecyclerViewHolder import com.gh.common.constant.ItemViewType +import com.gh.common.util.DialogHelper import com.gh.common.util.DialogUtils import com.gh.common.util.dip2px import com.gh.gamecenter.R @@ -74,10 +75,10 @@ class QuestionDraftAdapter(val context: Context, val mViewModel: QuestionDraftVi } holder.binding.articleDraftDelete.setOnClickListener { - DialogUtils.showAlertDialog(mContext, "警告", "确定要删除问题草稿吗?删除之后不可恢复", - "确定", "取消", DialogUtils.ConfirmListener { + DialogHelper.showDialog(mContext, "警告", "确定要删除问题草稿吗?删除之后不可恢复", + "确定", "取消", { mViewModel?.deleteDraft(entity.id) - }, null) + }) } holder.itemView.setOnClickListener { selectCallback.invoke(entity) diff --git a/app/src/main/java/com/gh/gamecenter/qa/questions/edit/QuestionEditActivity.kt b/app/src/main/java/com/gh/gamecenter/qa/questions/edit/QuestionEditActivity.kt index b8a3a7df37..2444da58fb 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/questions/edit/QuestionEditActivity.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/questions/edit/QuestionEditActivity.kt @@ -364,12 +364,12 @@ class QuestionEditActivity : BaseRichEditorActivity(), val errorJson = JSONObject(string) val errorCode = errorJson.getInt("code") if (errorCode == 403059) { - DialogUtils.showAlertDialog( + DialogHelper.showDialog( this, "提交失败", "权限错误,请刷新后重试", - "确定", null, DialogUtils.ConfirmListener { + "确定", "", { setResult(Activity.RESULT_CANCELED) finish() - }, null + } ) return@Observer } @@ -489,13 +489,13 @@ class QuestionEditActivity : BaseRichEditorActivity(), return true } mViewModel.selectedTags.addAll(mViewModel.questionEntity?.tags!!) - DialogUtils.showAlertDialog( + DialogHelper.showDialog( this, "修改问题", if (mViewModel.questionEntity!!.me.moderatorPermissions.updateQuestion == Permissions.REPORTER) "你的操作将提交给小编审核,确定提交吗?" else "你的操作将立即生效,确定提交吗?", - "确定", "取消", DialogUtils.ConfirmListener { + "确定", "取消", { mViewModel.uploadPicAndPatchQuestion(false) - }, null + } ) } } else { @@ -606,31 +606,31 @@ class QuestionEditActivity : BaseRichEditorActivity(), if (checkSameFromQuestionData()) { return false } - DialogUtils.showCancelAlertDialog( - this, "提示", "确定退出修改?已编辑的内容将丢失", "继续编辑", " 退出", null - ) { finish() } + DialogHelper.showDialog(this, "提示", "确定退出修改?已编辑的内容将丢失", "继续编辑", " 退出", null, { finish() }) return true } //问题发布 if (mViewModel.questionEntity == null && mViewModel.questionDraftEntity == null) { if (!mBinding.questionseditTitle.text.isNullOrEmpty() || !mBinding.richEditor.html.isNullOrEmpty()) { - DialogUtils.showNewAlertDialog( + DialogHelper.showDialog( this, "提示", "是否保存内容再退出?", - "不保存", - "保存并退出", - Gravity.CENTER, - true, - { - finish() - }, - { + cancelText = "不保存", + confirmText = "保存并退出", + cancelClickCallback = { finish() }, + confirmClickCallback = { mViewModel.title = mBinding.questionseditTitle.text.toString() mViewModel.content = getReplaceRealContent() mViewModel.saveQuestionDraft(SaveDraftType.EXIT) - }) + }, + extraConfig = DialogHelper.Config( + showCloseIcon = true, + centerTitle = true, + centerContent = true + ) + ) return true } } @@ -674,22 +674,26 @@ class QuestionEditActivity : BaseRichEditorActivity(), } private fun showBackDialog() { - DialogUtils.showNewAlertDialog( + DialogHelper.showDialog( this, "提示", "是否保存修改内容用于下次编辑?", - "不保存", - "保存并退出", - Gravity.CENTER, - true, - { + cancelText = "不保存", + confirmText = "保存并退出", + cancelClickCallback = { finish() }, - { + confirmClickCallback = { mViewModel.title = mBinding.questionseditTitle.text.toString() mViewModel.content = getReplaceRealContent() mViewModel.saveQuestionDraft(SaveDraftType.EXIT) - }) + }, + extraConfig = DialogHelper.Config( + showCloseIcon = true, + centerTitle = true, + centerContent = true + ) + ) } private fun checkSameFromQuestionData(): Boolean { diff --git a/app/src/main/java/com/gh/gamecenter/qa/questions/edit/TagsSelectFragment.kt b/app/src/main/java/com/gh/gamecenter/qa/questions/edit/TagsSelectFragment.kt index a107f09b93..f975d0b49d 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/questions/edit/TagsSelectFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/questions/edit/TagsSelectFragment.kt @@ -104,12 +104,12 @@ class TagsSelectFragment : BaseFragment() { val errorJson = JSONObject(string) val errorCode = errorJson.getInt("code") if (errorCode == 403059) { - DialogUtils.showAlertDialog(context, "提交失败", "权限错误,请刷新后重试", - "确定", null, DialogUtils.ConfirmListener { + DialogHelper.showDialog(requireContext(), "提交失败", "权限错误,请刷新后重试", + "确定", "", { mModeratorPatchTagsCallback?.onPermissionError() val fragment = parentFragment (fragment as? BaseDialogWrapperFragment)?.dismissAllowingStateLoss() - }, null) + }) return@Observer } } @@ -209,12 +209,12 @@ class TagsSelectFragment : BaseFragment() { if (isSame) { toast("标签没有变化") } else { - DialogUtils.showAlertDialog(context, "修改标签", + DialogHelper.showDialog(requireContext(), "修改标签", if (mViewModel?.questionEntity!!.me.moderatorPermissions.updateQuestionTag == Permissions.REPORTER) "你的操作将提交给小编审核,确定提交吗?" else "你的操作将立即生效,确定提交吗?(你的管理权限为:高级)", - "确定", "取消", DialogUtils.ConfirmListener { + "确定", "取消", { mViewModel?.uploadPicAndPatchQuestion(true) - }, null) + },) } } else { mViewModel?.uploadPicAndPostQuestion(false) diff --git a/app/src/main/java/com/gh/gamecenter/qa/questions/invite/QuestionsInviteFragment.kt b/app/src/main/java/com/gh/gamecenter/qa/questions/invite/QuestionsInviteFragment.kt index 917480a074..328679b4b8 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/questions/invite/QuestionsInviteFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/questions/invite/QuestionsInviteFragment.kt @@ -85,12 +85,12 @@ class QuestionsInviteFragment : ListFragment { - DialogUtils.showNewAlertDialog( + DialogHelper.showDialog( requireContext(), "提示", "${it.text}问题后,其中的所有回答都将被${it.text}", - "取消", it.text, - {}, - { - mListViewModel.moderatorsHideQuestion() - }) + "取消", + { mListViewModel.moderatorsHideQuestion() }) NewLogUtils.logSharePanelClick( "click_delete", mViewModel.questionDetail?.user?.id ?: "", "提问帖", mViewModel.questionDetail?.id diff --git a/app/src/main/java/com/gh/gamecenter/qa/questions/newdetail/QuestionDetailContentViewHolder.kt b/app/src/main/java/com/gh/gamecenter/qa/questions/newdetail/QuestionDetailContentViewHolder.kt index 74ec778b3a..5983cd994d 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/questions/newdetail/QuestionDetailContentViewHolder.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/questions/newdetail/QuestionDetailContentViewHolder.kt @@ -83,15 +83,13 @@ class QuestionDetailContentViewHolder( if (followBtn.text == "关注") { viewModel.follow() } else { - DialogUtils.showAlertDialog( + DialogHelper.showDialog( root.context, "取消关注", "确定要取消关注 ${question.user.name} 吗?", "确定取消", "暂不取消", - DialogUtils.ConfirmListener { - viewModel.unFollow() - }, null + { viewModel.unFollow() } ) } NewLogUtils.logQuestionDetailClick( diff --git a/app/src/main/java/com/gh/gamecenter/qa/recommends/AskQuestionsRecommendsAdapter.java b/app/src/main/java/com/gh/gamecenter/qa/recommends/AskQuestionsRecommendsAdapter.java index dfe4968bd6..abd602b21c 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/recommends/AskQuestionsRecommendsAdapter.java +++ b/app/src/main/java/com/gh/gamecenter/qa/recommends/AskQuestionsRecommendsAdapter.java @@ -13,7 +13,7 @@ import android.view.ViewGroup; import com.gh.base.OnListClickListener; import com.gh.common.constant.ItemViewType; import com.gh.common.syncpage.ISyncAdapterHandler; -import com.gh.common.util.DialogUtils; +import com.gh.common.util.DialogHelper; import com.gh.common.util.MtaHelper; import com.gh.gamecenter.R; import com.gh.gamecenter.adapter.viewholder.FooterViewHolder; @@ -172,12 +172,10 @@ public class AskQuestionsRecommendsAdapter extends ListAdapter { - mListViewModel.deleteFollowList(); - }, null); + "确定", "再看看", () -> mListViewModel.deleteFollowList(), () -> {}, false, "", ""); }); break; } diff --git a/app/src/main/java/com/gh/gamecenter/qa/search/history/HistoryFragment.kt b/app/src/main/java/com/gh/gamecenter/qa/search/history/HistoryFragment.kt index b4fc34fe89..30c740b498 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/search/history/HistoryFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/search/history/HistoryFragment.kt @@ -8,6 +8,7 @@ import androidx.recyclerview.widget.RecyclerView import android.view.View import butterknife.OnClick import com.gh.base.fragment.BaseFragment +import com.gh.common.util.DialogHelper import com.gh.common.util.DialogUtils import com.gh.common.util.EntranceUtils import com.gh.gamecenter.R @@ -35,9 +36,9 @@ class HistoryFragment : BaseFragment() { super.onViewCreated(view, savedInstanceState) mDao = AskSearchHistoryDao(context) mViewModel = ViewModelProviders.of(this).get(HistoryViewModel::class.java) - mViewModel.hotSearchLiveData.observe(this, Observer { + mViewModel.hotSearchLiveData.observe(viewLifecycleOwner, Observer { if (it?.size!! > 0) { - mHotRecyclerView.adapter = HotFragmentAdapter(context!!, it, mDao!!) + mHotRecyclerView.adapter = HotFragmentAdapter(requireContext(), it, mDao!!) mHotContainer.visibility = View.VISIBLE } else { mHotContainer.visibility = View.GONE @@ -53,7 +54,7 @@ class HistoryFragment : BaseFragment() { return false } } - mHistoryAdapter = HistoryFragmentAdapter(context!!, mDao!!, historyEmptyCallback = { + mHistoryAdapter = HistoryFragmentAdapter(requireContext(), mDao!!, historyEmptyCallback = { mHistoryContainer.visibility = View.GONE }) mRecyclerView.adapter = mHistoryAdapter @@ -67,11 +68,11 @@ class HistoryFragment : BaseFragment() { @OnClick(R.id.search_history_clean) fun onDeleteClick() { - DialogUtils.showWarningDialog(activity, "清空记录", "确定清空历史搜索记录?") { + DialogHelper.showWarningDialog(requireContext(), "清空记录", "确定清空历史搜索记录?", confirmClickCallback = { mDao?.deleteAll() mHistoryAdapter?.clearSearchResult() mHistoryContainer.visibility = View.GONE - } + }) } } \ No newline at end of file diff --git a/app/src/main/java/com/gh/gamecenter/qa/search/user/UserAdapter.kt b/app/src/main/java/com/gh/gamecenter/qa/search/user/UserAdapter.kt index 4829d71f9e..0bf9e4f37e 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/search/user/UserAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/search/user/UserAdapter.kt @@ -74,10 +74,10 @@ class UserAdapter(context: Context, mContext.ifLogin(mEntrance) { if (entity.id != UserManager.getInstance().userId) { if (entity?.me?.isFollower!!) { - DialogUtils.showAlertDialog(mContext, "取消关注", "确定要取消关注 ${entity.name} 吗?", - "确定取消", "暂不取消", DialogUtils.ConfirmListener { + DialogHelper.showDialog(mContext, "取消关注", "确定要取消关注 ${entity.name} 吗?", + "确定取消", "暂不取消", { mViewModel.followingCommand(!entity.me.isFollower, entity.id, position) - }, null) + }) } else { mViewModel.followingCommand(!entity.me.isFollower, entity.id, position) } diff --git a/app/src/main/java/com/gh/gamecenter/qa/video/detail/ForumVideoDetailFragment.kt b/app/src/main/java/com/gh/gamecenter/qa/video/detail/ForumVideoDetailFragment.kt index 9a76e4a0ea..f3e44e56b7 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/video/detail/ForumVideoDetailFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/video/detail/ForumVideoDetailFragment.kt @@ -566,16 +566,13 @@ class ForumVideoDetailFragment : BaseFragment_TabLayout() { ) } "删除", "隐藏" -> { - DialogUtils.showNewAlertDialog( + DialogHelper.showDialog( requireContext(), "提示", "${it.text}视频后,其中的所有评论及回复都将被${it.text}", - "取消", it.text, - {}, - { - mViewModel.deleteVideo(mForumVideoEntity?.id ?: "") - }) + "取消", + { mViewModel.deleteVideo(mForumVideoEntity?.id ?: "") }) NewLogUtils.logSharePanelClick( "click_delete", mForumVideoEntity?.user?.id ?: "", "视频帖", mForumVideoEntity?.id @@ -609,12 +606,10 @@ class ForumVideoDetailFragment : BaseFragment_TabLayout() { "你的操作将立即生效,确定提交吗?" } } - DialogUtils.showAlertDialog( + DialogHelper.showDialog( requireContext(), "加精视频", highlightDialogHintContent, "确定", "取消", - { - mViewModel.doHighlightThisVideo(mForumVideoEntity?.bbsId ?: "", mVideoId) - }, null + { mViewModel.doHighlightThisVideo(mForumVideoEntity?.bbsId ?: "", mVideoId) } ) } diff --git a/app/src/main/java/com/gh/gamecenter/qa/video/publish/VideoPublishFragment.kt b/app/src/main/java/com/gh/gamecenter/qa/video/publish/VideoPublishFragment.kt index e5a38de5c4..f70c85da4b 100644 --- a/app/src/main/java/com/gh/gamecenter/qa/video/publish/VideoPublishFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/qa/video/publish/VideoPublishFragment.kt @@ -9,7 +9,6 @@ import android.net.Uri import android.os.Bundle import android.provider.MediaStore import android.text.TextUtils -import android.view.Gravity import android.view.LayoutInflater import android.view.MenuItem import android.view.View @@ -684,20 +683,20 @@ class VideoPublishFragment : NormalFragment(), KeyboardHeightObserver { if (mViewModel.videoPatch == null && mViewModel.videoDraft == null) { if (mBinding.title.text.isNotEmpty() || mBinding.videoDes.text.isNotEmpty()) { - DialogUtils.showNewAlertDialog( + DialogHelper.showDialog( requireContext(), "提示", "是否保存内容再退出?", - "不保存", - "保存并退出", - Gravity.CENTER, - true, - { - requireActivity().finish() - }, - { - verifyData(true) - }) + cancelText = "不保存", + confirmText = "保存并退出", + cancelClickCallback = { requireActivity().finish() }, + confirmClickCallback = { verifyData(true) }, + extraConfig = DialogHelper.Config( + showCloseIcon = true, + centerContent = true, + centerTitle = true + ) + ) return true } } @@ -743,20 +742,20 @@ class VideoPublishFragment : NormalFragment(), KeyboardHeightObserver { } private fun showBackDialog() { - DialogUtils.showNewAlertDialog( + DialogHelper.showDialog( requireContext(), "提示", "是否保存修改内容用于下次编辑?", - "不保存", - "保存并退出", - Gravity.CENTER, - true, - { - requireActivity().finish() - }, - { - verifyData(true) - }) + cancelText = "不保存", + confirmText = "保存并退出", + cancelClickCallback = { requireActivity().finish() }, + confirmClickCallback = { verifyData(true) }, + extraConfig = DialogHelper.Config( + showCloseIcon = true, + centerTitle = true, + centerContent = true + ) + ) } private fun verifyData(isDraft: Boolean) { diff --git a/app/src/main/java/com/gh/gamecenter/search/SearchDefaultFragment.kt b/app/src/main/java/com/gh/gamecenter/search/SearchDefaultFragment.kt index 79451cff3a..f4cb746a3f 100644 --- a/app/src/main/java/com/gh/gamecenter/search/SearchDefaultFragment.kt +++ b/app/src/main/java/com/gh/gamecenter/search/SearchDefaultFragment.kt @@ -104,10 +104,10 @@ open class SearchDefaultFragment : BaseFragment() { } mBinding.historyClear.setOnClickListener { - DialogUtils.showWarningDialog(activity, "清空记录", "确定清空历史搜索记录?") { + DialogHelper.showWarningDialog(requireContext(), "清空记录", "确定清空历史搜索记录?", confirmClickCallback = { mSearchHistoryDao?.deleteAll() mBinding.isExistHistory = false - } + }) } } diff --git a/app/src/main/java/com/gh/gamecenter/servers/add/AddKaiFuViewModel.kt b/app/src/main/java/com/gh/gamecenter/servers/add/AddKaiFuViewModel.kt index 7bcc5186ab..ed8144d416 100644 --- a/app/src/main/java/com/gh/gamecenter/servers/add/AddKaiFuViewModel.kt +++ b/app/src/main/java/com/gh/gamecenter/servers/add/AddKaiFuViewModel.kt @@ -7,7 +7,7 @@ import android.text.Html import android.text.Spanned import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.MutableLiveData -import com.gh.common.util.DialogUtils +import com.gh.common.util.DialogHelper import com.gh.common.util.GsonUtils import com.gh.gamecenter.entity.ServerCalendarEntity import com.gh.gamecenter.retrofit.Response @@ -224,8 +224,8 @@ class AddKaiFuViewModel(application: Application) : AndroidViewModel(application } } if (i == calendarList.size - 1 && !isSuccess) { - DialogUtils.showAlertDialog(activity, "提示", "当前开服表中已经存在相同的内容,请检查修改" - , "返回修改", null, null, null) + DialogHelper.showDialog(activity, "提示", "当前开服表中已经存在相同的内容,请检查修改" + , "返回修改", "") return } } @@ -239,10 +239,8 @@ class AddKaiFuViewModel(application: Application) : AndroidViewModel(application toast(getApplication(), "内容为空,不能提交") return } - DialogUtils.showAlertDialog(activity, "提示", "确定提交${postList.size}条开服信息吗?" - , "确定", "返回", DialogUtils.ConfirmListener { - postData(postList) - }, null) + DialogHelper.showDialog(activity, "提示", "确定提交${postList.size}条开服信息吗?" + , "确定", "返回", { postData(postList) }) } diff --git a/app/src/main/java/com/gh/gamecenter/servers/patch/PatchKaifuActivity.kt b/app/src/main/java/com/gh/gamecenter/servers/patch/PatchKaifuActivity.kt index 866d208c29..f9d6681f8b 100644 --- a/app/src/main/java/com/gh/gamecenter/servers/patch/PatchKaifuActivity.kt +++ b/app/src/main/java/com/gh/gamecenter/servers/patch/PatchKaifuActivity.kt @@ -7,6 +7,7 @@ import android.os.Bundle import androidx.lifecycle.Observer import androidx.lifecycle.ViewModelProviders import com.gh.base.ToolBarActivity +import com.gh.common.util.DialogHelper import com.gh.common.util.DialogUtils import com.gh.common.util.EntranceUtils import com.gh.gamecenter.R @@ -76,12 +77,12 @@ class PatchKaifuActivity : ToolBarActivity() { toast("内容没有变化,不能提交") return@setOnClickListener } - DialogUtils.showAlertDialog(this, "提示" - , if (mBinding?.patchBtn?.isChecked!!) "确定修改开服信息吗?" else "确定删除开服信息吗?" - , "确定", "返回" - , DialogUtils.ConfirmListener { - mViewModel?.post(mBinding?.patchBtn?.isChecked!!, patchName, patchRemark) - }, null) + DialogHelper.showDialog(this, + "提示", + if (mBinding?.patchBtn?.isChecked!!) "确定修改开服信息吗?" else "确定删除开服信息吗?", + "确定", + "返回", + { mViewModel?.post(mBinding?.patchBtn?.isChecked!!, patchName, patchRemark) }) } } } diff --git a/app/src/main/java/com/gh/gamecenter/simulatorgame/SimulatorGameListAdapter.kt b/app/src/main/java/com/gh/gamecenter/simulatorgame/SimulatorGameListAdapter.kt index b37a10809f..646493930b 100644 --- a/app/src/main/java/com/gh/gamecenter/simulatorgame/SimulatorGameListAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/simulatorgame/SimulatorGameListAdapter.kt @@ -122,17 +122,18 @@ class SimulatorGameListAdapter(context: Context, SimulatorDownloadManager.getInstance().showDownloadDialog(context, simulator, SimulatorDownloadManager.SimulatorLocation.SIMULATOR_GAME) MtaHelper.onEvent("我的光环_新", "模拟器游戏", "点击${simulator.typeAlias}+更新模拟器") } else { - val dialog = DialogUtils.showNewAlertDialog(mContext, - "卸载模拟器", - "即将卸载模拟器,是否确定卸载?", - "取消", - "确定", - {}, - { - PackageInstaller.uninstallForPackageName(mContext, simulator.apk?.packageName - ?: "") - }) - dialog?.window?.findViewById(R.id.content)?.setTextColor(R.color.text_333333.toColor()) + DialogHelper.showDialog( + mContext, + "卸载模拟器", + "即将卸载模拟器,是否确定卸载?", + "确定", + "取消", + confirmClickCallback = { + PackageInstaller.uninstallForPackageName(mContext, simulator.apk?.packageName ?: "") + }, + uiModificationCallback = { binding -> + binding.contentTv.setTextColor(R.color.text_333333.toColor()) + }) } } } else { @@ -285,7 +286,7 @@ class SimulatorGameListAdapter(context: Context, if (list.isEmpty()) { ToastUtils.showToast("请选择游戏") } else { - DialogUtils.showNewAlertDialog(mContext, "删除游戏", "即将删除游戏记录和本地文件,是否确定删除", "取消", "确定", null) { + DialogHelper.showDialog(mContext, "删除游戏", "即将删除游戏记录和本地文件,是否确定删除", "确定", "取消", { mPopWindow.dismiss() resetStatus() SimulatorGameManager.deleteLocalGames(list) @@ -313,7 +314,7 @@ class SimulatorGameListAdapter(context: Context, fragment.onLoadRefresh() } } - } + }) MtaHelper.onEvent("我的光环_新", "模拟器游戏", "点击${simulator.typeAlias}+管理+删除游戏") } } @@ -356,7 +357,7 @@ class SimulatorGameListAdapter(context: Context, } private fun showDeleteSingleGameDialog(gameEntity: GameEntity) { - DialogUtils.showNewAlertDialog(mContext, "删除游戏", "即将删除游戏记录和本地文件,是否确定删除", "取消", "确定", null) { + DialogHelper.showDialog(mContext, "删除游戏", "即将删除游戏记录和本地文件,是否确定删除", "确定", "取消", { val isNetworkConnected = NetworkUtils.isNetworkConnected(mContext) SimulatorGameManager.deleteLocalGame(gameEntity.name ?: "") if (isNetworkConnected) { @@ -378,7 +379,7 @@ class SimulatorGameListAdapter(context: Context, fragment.onLoadRefresh() } } - } + }) } fun resetPageFromFragment() { diff --git a/app/src/main/java/com/gh/gamecenter/simulatorgame/SimulatorManagementAdapter.kt b/app/src/main/java/com/gh/gamecenter/simulatorgame/SimulatorManagementAdapter.kt index 445a911867..0386b742ec 100644 --- a/app/src/main/java/com/gh/gamecenter/simulatorgame/SimulatorManagementAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/simulatorgame/SimulatorManagementAdapter.kt @@ -6,7 +6,6 @@ import android.view.View import android.view.ViewGroup import android.widget.LinearLayout import android.widget.PopupWindow -import android.widget.TextView import androidx.recyclerview.widget.RecyclerView import com.g00fy2.versioncompare.Version import com.gh.common.simulator.SimulatorDownloadManager @@ -130,14 +129,16 @@ class SimulatorManagementAdapter(context: Context, if (mShowSelectFlag && !mSelectList.contains(true)) { ToastUtils.showToast("请选择模拟器") } else { - val dialog = DialogUtils.showNewAlertDialog(mContext, - "卸载模拟器", - "即将卸载模拟器,是否确定卸载?", - "取消", - "确定", - {}, - { unInstallSimulator() }) - dialog?.window?.findViewById(R.id.content)?.setTextColor(R.color.text_333333.toColor()) + DialogHelper.showDialog( + mContext, + "卸载模拟器", + "即将卸载模拟器,是否确定卸载?", + "确定", + "取消", + confirmClickCallback = { unInstallSimulator() }, + uiModificationCallback = { binding -> + binding.contentTv.setTextColor(R.color.text_333333.toColor()) + }) } } } diff --git a/app/src/main/java/com/gh/gamecenter/video/detail/DetailPlayerView.kt b/app/src/main/java/com/gh/gamecenter/video/detail/DetailPlayerView.kt index cb66002f16..68e5562bac 100644 --- a/app/src/main/java/com/gh/gamecenter/video/detail/DetailPlayerView.kt +++ b/app/src/main/java/com/gh/gamecenter/video/detail/DetailPlayerView.kt @@ -514,7 +514,7 @@ class DetailPlayerView @JvmOverloads constructor(context: Context, attrs: Attrib return } if (nonWifiTips) { - DialogUtils.showAlertDialog(context, "注意", "您当前使用的移动网络,确定要继续播放视频吗?", "继续播放", "暂时不了", { + DialogHelper.showDialog(context, "注意", "您当前使用的移动网络,确定要继续播放视频吗?", "继续播放", "暂时不了", { HaloApp.put(Constants.SHOULD_SHOW_VIDEO_MOBILE_WARNING, false) SPUtils.setBoolean(Constants.SP_NON_WIFI_TIPS, false) startPlayLogic() diff --git a/app/src/main/java/com/gh/gamecenter/video/poster/PosterClipActivity.kt b/app/src/main/java/com/gh/gamecenter/video/poster/PosterClipActivity.kt index 8ff86ff7a9..56b664e0fe 100644 --- a/app/src/main/java/com/gh/gamecenter/video/poster/PosterClipActivity.kt +++ b/app/src/main/java/com/gh/gamecenter/video/poster/PosterClipActivity.kt @@ -6,6 +6,7 @@ import android.content.Intent import android.os.Bundle import android.view.View import com.gh.base.ToolBarActivity +import com.gh.common.util.DialogHelper import com.gh.common.util.DialogUtils import com.gh.common.util.DisplayUtils import com.gh.common.util.EntranceUtils @@ -50,12 +51,10 @@ class PosterClipActivity : ToolBarActivity() { } override fun handleBackPressed(): Boolean { - DialogUtils.showAlertDialog(this, "提示" + DialogHelper.showDialog(this, "提示" , "确定放弃剪辑封面吗?" , "确定", "暂不" - , DialogUtils.ConfirmListener { - finish() - }, null) + , { finish() }) return true } diff --git a/app/src/main/java/com/gh/gamecenter/video/poster/PosterEditActivity.kt b/app/src/main/java/com/gh/gamecenter/video/poster/PosterEditActivity.kt index 03c55d68a5..e3059f8eba 100644 --- a/app/src/main/java/com/gh/gamecenter/video/poster/PosterEditActivity.kt +++ b/app/src/main/java/com/gh/gamecenter/video/poster/PosterEditActivity.kt @@ -207,12 +207,10 @@ class PosterEditActivity : BaseActivity_TabLayout(), AdapterView.OnItemSelectedL } override fun handleBackPressed(): Boolean { - DialogUtils.showAlertDialog(this, "提示" + DialogHelper.showDialog(this, "提示" , "确定放弃编辑封面吗?" , "确定", "暂不" - , DialogUtils.ConfirmListener { - finish() - }, null) + , { finish() }) return true } diff --git a/app/src/main/java/com/gh/gamecenter/video/upload/view/UploadVideoActivity.kt b/app/src/main/java/com/gh/gamecenter/video/upload/view/UploadVideoActivity.kt index ef76dae106..ac87823c4c 100644 --- a/app/src/main/java/com/gh/gamecenter/video/upload/view/UploadVideoActivity.kt +++ b/app/src/main/java/com/gh/gamecenter/video/upload/view/UploadVideoActivity.kt @@ -191,7 +191,7 @@ class UploadVideoActivity : ToolBarActivity() { } mBinding.reprintTv.setOnClickListener { if (mActivityLabelEntity != null) { - DialogUtils.showNewAlertDialog(this, "温馨提示", "修改的内容将导致取消参与活动哦~", "暂不修改", "确定修改", {}, { + DialogHelper.showDialog(this, "温馨提示", "修改的内容将导致取消参与活动哦~", "确定修改", "暂不修改", { switchVideoSource(false) mActivityLabelEntity = null mBinding.activityContainer.visibility = View.GONE @@ -797,17 +797,17 @@ class UploadVideoActivity : ToolBarActivity() { if (mVideoFileEntity?.path.isNullOrEmpty() || !File(mVideoFileEntity?.path).exists()) { val id = mViewModel.videoDraft?.id ?: return false - DialogUtils.showAlertDialog(this, + DialogHelper.showDialog(this, "提示", "视频文件不存在,无法完成上传", - "退出并删除草稿", null, { + "退出并删除草稿", "", { // delete draft mViewModel.deleteDraft(id) - }, null) + }) return true } if (mVideoFileEntity?.url.isNullOrEmpty()) { - DialogUtils.showAlertDialog(this, "提示", + DialogHelper.showDialog(this, "提示", "视频正在上传中,确定要退出吗?", "确定退出", "暂时不了", { finish() @@ -816,7 +816,7 @@ class UploadVideoActivity : ToolBarActivity() { LogUtils.logVideoStreamingUpload("返回-暂时不了", mPath, mEntranceLink, "") }) } else { - DialogUtils.showAlertDialog(this, "提示", + DialogHelper.showDialog(this, "提示", "视频已上传完毕,确定退出并放弃提交吗?", "确定退出", "继续提交", { LogUtils.logVideoStreamingUpload("返回-确定返回", mPath, mEntranceLink, "") diff --git a/app/src/main/java/com/gh/gamecenter/video/videomanager/VideoDraftAdapter.kt b/app/src/main/java/com/gh/gamecenter/video/videomanager/VideoDraftAdapter.kt index 9908a07cfa..a786194197 100644 --- a/app/src/main/java/com/gh/gamecenter/video/videomanager/VideoDraftAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/video/videomanager/VideoDraftAdapter.kt @@ -81,13 +81,13 @@ class VideoDraftAdapter(context: Context, }) } holder.binding.articleDraftDelete.setOnClickListener { - DialogUtils.showAlertDialog(mContext, "删除草稿", + DialogHelper.showDialog(mContext, "删除草稿", "确定要删除视频草稿吗?删除之后不可恢复", "确定删除", "暂时不了", - DialogUtils.ConfirmListener { + { mViewModel.deleteDraft(draftEntity.id) LogUtils.logVideoStreamingUpload("点击删除按钮", mPath, "", "") - }, null) + }) } } else if (holder is FooterViewHolder) { holder.initFooterViewHolder(mViewModel, mIsLoading, mIsNetworkError, mIsOver) @@ -110,13 +110,13 @@ class VideoDraftAdapter(context: Context, hitText.text = "删除" item.setOnClickListener { - DialogUtils.showAlertDialog(mContext, "删除草稿", + DialogHelper.showDialog(mContext, "删除草稿", "确定要删除视频草稿吗?删除之后不可恢复", "确定删除", "暂时不了", - DialogUtils.ConfirmListener { + { mViewModel.deleteDraft(entity.id) LogUtils.logVideoStreamingUpload("点击删除按钮", mPath, "", "") - }, null) + }) popupWindow.dismiss() } diff --git a/app/src/main/java/com/gh/gamecenter/video/videomanager/VideoVerifyAdapter.kt b/app/src/main/java/com/gh/gamecenter/video/videomanager/VideoVerifyAdapter.kt index 32a75b44d9..f95bb1da7a 100644 --- a/app/src/main/java/com/gh/gamecenter/video/videomanager/VideoVerifyAdapter.kt +++ b/app/src/main/java/com/gh/gamecenter/video/videomanager/VideoVerifyAdapter.kt @@ -96,14 +96,21 @@ class VideoVerifyAdapter(context: Context, if (entity.status == "pending") { ToastUtils.showToast("视频正在审核中") } else { - DialogUtils.showAlertDialog(mContext, "提示" - , "视频删除后不可恢复,确定删除吗?" - , "确定删除" - , "暂不删除" - , DialogUtils.ConfirmListener { - mViewModel.deleteVideo(entity.id) - LogUtils.logVideoStreamingUpload("点击删除按钮", "视频投稿-已投稿", "", entity.id) - }, null) + DialogHelper.showDialog( + mContext, + "提示", + "视频删除后不可恢复,确定删除吗?", + "确定删除", + "暂不删除", + { + mViewModel.deleteVideo(entity.id) + LogUtils.logVideoStreamingUpload( + "点击删除按钮", + "视频投稿-已投稿", + "", + entity.id + ) + }) } } } diff --git a/app/src/main/java/com/halo/assistant/fragment/ApkCleanerFragment.java b/app/src/main/java/com/halo/assistant/fragment/ApkCleanerFragment.java index 9fb58f74ca..37092b6b7a 100644 --- a/app/src/main/java/com/halo/assistant/fragment/ApkCleanerFragment.java +++ b/app/src/main/java/com/halo/assistant/fragment/ApkCleanerFragment.java @@ -15,7 +15,7 @@ import androidx.lifecycle.Lifecycle; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; -import com.gh.common.util.DialogUtils; +import com.gh.common.util.DialogHelper; import com.gh.common.util.EntranceUtils; import com.gh.common.util.MtaHelper; import com.gh.common.util.ToastUtils; @@ -165,10 +165,13 @@ public class ApkCleanerFragment extends NormalFragment implements CleanApkAdapte for (int i = 0; i < apkList.size(); i++) { if (selectPosition.get(i) && apkList.get(i).getInstallStatus() == 1) { - DialogUtils.showWarningDialog(getContext(), "删除安装包" + DialogHelper.showWarningDialog(getContext(), "删除安装包" , Html.fromHtml(getString(R.string.delete_apk_hint)) , "取消 ", "确定" - , () -> deleteApk(apkList, selectPosition), null); + , () -> { + deleteApk(apkList, selectPosition); + return null; + }, null); return; } } diff --git a/app/src/main/java/com/halo/assistant/fragment/SettingsFragment.java b/app/src/main/java/com/halo/assistant/fragment/SettingsFragment.java index 2526a40e8d..4386284481 100644 --- a/app/src/main/java/com/halo/assistant/fragment/SettingsFragment.java +++ b/app/src/main/java/com/halo/assistant/fragment/SettingsFragment.java @@ -22,6 +22,7 @@ import com.gh.common.constant.Config; import com.gh.common.constant.Constants; import com.gh.common.history.HistoryHelper; import com.gh.common.util.CheckLoginUtils; +import com.gh.common.util.DialogHelper; import com.gh.common.util.DialogUtils; import com.gh.common.util.EntranceUtils; import com.gh.common.util.EnergyTaskHelper; @@ -349,7 +350,7 @@ public class SettingsFragment extends NormalFragment { // break; case R.id.setting_rl_cache: MtaHelper.onEvent("我的光环_设置", "设置功能", "清除缓存"); - DialogUtils.showWarningDialog(getContext(), "清除缓存", "确定要清除缓存吗", + DialogHelper.showWarningDialog(requireContext(), "清除缓存", "确定要清除缓存吗", () -> { loadingDialog = DialogUtils.showWaitDialog(getContext(), "清除缓存中..."); clearHistory(); @@ -425,7 +426,7 @@ public class SettingsFragment extends NormalFragment { break; case R.id.setting_usage_stats: if (mSettingUsageStatsSb.isChecked()) { - DialogUtils.showAlertDialog(getContext(), + DialogHelper.showDialog(requireContext(), "提示", "关闭后将无法统计游戏时长,确定要关闭吗?", "确定关闭", @@ -434,7 +435,7 @@ public class SettingsFragment extends NormalFragment { mSettingUsageStatsSb.setChecked(false); sp.edit().putBoolean(UsageStatsHelper.USAGE_STATUS_SP_KEY, false).apply(); }, - () -> mSettingUsageStatsSb.setChecked(true) + () -> mSettingUsageStatsSb.setChecked(true), false, "", "" ); } else { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP_MR1) {