diff --git a/app/src/main/java/com/gh/common/util/DialogUtils.java b/app/src/main/java/com/gh/common/util/DialogUtils.java
index 33b038b6e0..7b7b543925 100644
--- a/app/src/main/java/com/gh/common/util/DialogUtils.java
+++ b/app/src/main/java/com/gh/common/util/DialogUtils.java
@@ -38,6 +38,7 @@ import com.gh.gamecenter.WebActivity;
import com.gh.gamecenter.kuaichuan.WifiMgr;
import com.gh.gamecenter.kuaichuan.view.KcSelectGameActivity;
import com.halo.assistant.HaloApp;
+import com.lightgame.utils.AppManager;
import com.lightgame.utils.Utils;
import java.io.File;
@@ -50,12 +51,12 @@ import java.util.Map;
public class DialogUtils {
- private static boolean isShow = false;
-
public static Dialog showWaitDialog(Context context, String msg) {
+ context = checkDialogContext(context);
+
Dialog dialog = new Dialog(context);
View view = View.inflate(context, R.layout.set_wait_dialog, null);
- TextView message = (TextView) view.findViewById(R.id.set_wait_message);
+ TextView message = view.findViewById(R.id.set_wait_message);
message.setText(msg);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(view);
@@ -74,27 +75,23 @@ public class DialogUtils {
WifiMgr.getInstance(activity).disconnectCurrentNetwork(); // 断开当前WiFi
-// int heightPixels = getContext().getResources().getDisplayMetrics().heightPixels;
-// int widthPixels = getContext().getResources().getDisplayMetrics().widthPixels;
-
int filesCount = mapList.size();
int filesSize = 0;
int sendTime = 0;
View view = View.inflate(activity, R.layout.dialog_kuaichuan, null);
- final LinearLayout mShareLl = (LinearLayout) view.findViewById(R.id.kuaichuan_dialog_ll);
- final LinearLayout mShareBottomLl = (LinearLayout) view.findViewById(R.id.kuaichuan_dialog_share_rl);
- LinearLayout shareIconLl = (LinearLayout) view.findViewById(R.id.kuaichuan_icon_ll);
- ImageView qrCode = (ImageView) view.findViewById(R.id.kuaichuan_qrcode);
- TextView dateTv = (TextView) view.findViewById(R.id.kuaichuan_dialog_date);
- TextView countTv = (TextView) view.findViewById(R.id.kuaichuan_send_count);
- TextView sizeTv = (TextView) view.findViewById(R.id.kuaichuan_send_size);
- TextView speedTv = (TextView) view.findViewById(R.id.kuaichuan_send_speed);
- TextView timeCount = (TextView) view.findViewById(R.id.kuaichuan_time_count);
- TextView timeTv = (TextView) view.findViewById(R.id.kuaichuan_time_tv);
- TextView sendCountTv = (TextView) view.findViewById(R.id.dialog_send_tv);
- ImageView closeIv = (ImageView) view.findViewById(R.id.kuaichuan_dialog_colse);
-// content.setLayoutParams(new LinearLayout.LayoutParams((int)(((float)heightPixels)*0.85), (int)((float)widthPixels*0.81)));
+ final LinearLayout mShareLl = view.findViewById(R.id.kuaichuan_dialog_ll);
+ final LinearLayout mShareBottomLl = view.findViewById(R.id.kuaichuan_dialog_share_rl);
+ LinearLayout shareIconLl = view.findViewById(R.id.kuaichuan_icon_ll);
+ ImageView qrCode = view.findViewById(R.id.kuaichuan_qrcode);
+ TextView dateTv = view.findViewById(R.id.kuaichuan_dialog_date);
+ TextView countTv = view.findViewById(R.id.kuaichuan_send_count);
+ TextView sizeTv = view.findViewById(R.id.kuaichuan_send_size);
+ TextView speedTv = view.findViewById(R.id.kuaichuan_send_speed);
+ TextView timeCount = view.findViewById(R.id.kuaichuan_time_count);
+ TextView timeTv = view.findViewById(R.id.kuaichuan_time_tv);
+ TextView sendCountTv = view.findViewById(R.id.dialog_send_tv);
+ ImageView closeIv = view.findViewById(R.id.kuaichuan_dialog_colse);
final Dialog dialog = new Dialog(activity);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
@@ -196,24 +193,16 @@ public class DialogUtils {
countTv.setText(filesCount + "个");
// 延迟操作,等待截图部分绘制完成
- handler.postDelayed(new Runnable() {
- @Override
- public void run() {
- mShareLl.setDrawingCacheEnabled(true);
- mShareLl.buildDrawingCache();
- Bitmap drawingCache = mShareLl.getDrawingCache();
- saveBitmap(drawingCache, activity, picName);
- MessageShareUtils.getInstance(activity).showShareWindows(activity, mShareBottomLl, drawingCache, picName, 2);
- mShareBottomLl.setVisibility(View.VISIBLE);
- }
+ handler.postDelayed(() -> {
+ mShareLl.setDrawingCacheEnabled(true);
+ mShareLl.buildDrawingCache();
+ Bitmap drawingCache = mShareLl.getDrawingCache();
+ saveBitmap(drawingCache, activity, picName);
+ MessageShareUtils.getInstance(activity).showShareWindows(activity, mShareBottomLl, drawingCache, picName, 2);
+ mShareBottomLl.setVisibility(View.VISIBLE);
}, 200);
- closeIv.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- dialog.cancel();
- }
- });
+ closeIv.setOnClickListener(v -> dialog.cancel());
}
public static void saveBitmap(Bitmap bm, Activity activity, String picName) {
@@ -233,108 +222,81 @@ public class DialogUtils {
}
public static void showInstallHintDialog(Context context, final ConfirmListener cmListener) {
-
+ context = checkDialogContext(context);
final Dialog dialog = new Dialog(context);
View view = View.inflate(context, R.layout.dialog_install_hint, null);
// 标题
- TextView alertdialog_title = (TextView) view.findViewById(R.id.installhint_title);
+ TextView alertdialog_title = view.findViewById(R.id.installhint_title);
alertdialog_title.setText("重要提示");
Spanned content = Html.fromHtml("如果您使用的是" + "华为" + "或" +
"OPPO" + "手机,安装游戏时请选择“" +
"继续安装" +
"”(记住不要选择“官方推荐”或“软件商店安装”)");
// 内容
- TextView alertdialog_content = (TextView) view.findViewById(R.id.installhint_content);
+ TextView alertdialog_content = view.findViewById(R.id.installhint_content);
alertdialog_content.setText(content);
// 确定按钮
- TextView installhint_confirm = (TextView) view.findViewById(R.id.installhint_confirm);
+ TextView installhint_confirm = view.findViewById(R.id.installhint_confirm);
installhint_confirm.setText("知道了");
- final ImageView installhint_unselect = (ImageView) view.findViewById(R.id.installhint_unselect);
- final ImageView installhint_select = (ImageView) view.findViewById(R.id.installhint_select);
+ final ImageView installhint_unselect = view.findViewById(R.id.installhint_unselect);
+ final ImageView installhint_select = view.findViewById(R.id.installhint_select);
- LinearLayout installhint_unselect_ll = (LinearLayout) view.findViewById(R.id.installhint_unselect_ll);
+ LinearLayout installhint_unselect_ll = view.findViewById(R.id.installhint_unselect_ll);
- installhint_unselect_ll.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if (installhint_unselect.getVisibility() == View.GONE) {
- installhint_unselect.setVisibility(View.VISIBLE);
- installhint_select.setVisibility(View.GONE);
- } else {
- installhint_unselect.setVisibility(View.GONE);
- installhint_select.setVisibility(View.VISIBLE);
- }
+ installhint_unselect_ll.setOnClickListener(v -> {
+ if (installhint_unselect.getVisibility() == View.GONE) {
+ installhint_unselect.setVisibility(View.VISIBLE);
+ installhint_select.setVisibility(View.GONE);
+ } else {
+ installhint_unselect.setVisibility(View.GONE);
+ installhint_select.setVisibility(View.VISIBLE);
}
});
- installhint_confirm.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- dialog.dismiss();
- if (installhint_select.getVisibility() == View.VISIBLE) {
- if (cmListener != null) {
- cmListener.onConfirm();
- }
+ installhint_confirm.setOnClickListener(v -> {
+ dialog.dismiss();
+ if (installhint_select.getVisibility() == View.VISIBLE) {
+ if (cmListener != null) {
+ cmListener.onConfirm();
}
}
});
- dialog.setOnDismissListener(new Dialog.OnDismissListener() {
- @Override
- public void onDismiss(DialogInterface dialog) {
- isShow = false;
- }
- });
-
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(view);
dialog.show();
}
public static void showHintDialog(Context context, String title, CharSequence msg, String confirm) {
+ context = checkDialogContext(context);
+
final Dialog dialog = new Dialog(context);
View view = View.inflate(context, R.layout.common_hintdialog, null);
- TextView hintdialog_title = (TextView) view.findViewById(R.id.tv_dialog_hint_title);
+ TextView hintdialog_title = view.findViewById(R.id.tv_dialog_hint_title);
hintdialog_title.setText(title);
// 内容
- TextView hintdialog_content = (TextView) view.findViewById(R.id.tv_dialog_hint_content);
+ TextView hintdialog_content = view.findViewById(R.id.tv_dialog_hint_content);
hintdialog_content.setText(msg);
- TextView hintdialog_confirm = (TextView) view.findViewById(R.id.tv_dialog_hint_confirm);
+ TextView hintdialog_confirm = view.findViewById(R.id.tv_dialog_hint_confirm);
hintdialog_confirm.setText(confirm);
- hintdialog_confirm.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- dialog.cancel();
- }
- });
+ hintdialog_confirm.setOnClickListener(v -> dialog.cancel());
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(view);
dialog.show();
}
- public static void showHijackDialog(final Context context) {
- showWarningDialog(context, "警告", "您当前网络环境异常,下载地址已被替换(网络劫持),请更换网络环境进行下载。",
- new ConfirmListener() {
- @Override
- public void onConfirm() {
- // 跳转wifi管理界面
- context.startActivity(IntentUtils.getWifiIntent());
- }
- });
- }
-
public static void showWarningDialog(Context context, String title, CharSequence msg, final ConfirmListener listener) {
if (!(context instanceof Activity)) {
return;
@@ -352,12 +314,7 @@ public class DialogUtils {
public static void showQqSessionDialog(final Context context, final String qq) {
showWarningDialog(context, "警告", "您当前网络环境异常,下载地址可能被运营商恶意替换(网络劫持)" +
",如多次下载失败,请联系客服获取正确的下载地址(客服QQ:" + qq + ")"
- , "取消", "前往QQ", new ConfirmListener() {
- @Override
- public void onConfirm() {
- DirectUtils.directToQqConversation(context, qq);
- }
- }, null);
+ , "取消", "前往QQ", () -> DirectUtils.directToQqConversation(context, qq), null);
}
public static void checkDownload(Context context, String size, CheckDownloadCallBack callBack) {
@@ -453,6 +410,7 @@ public class DialogUtils {
*/
public static Dialog showAlertDialog(Context context, String title, CharSequence message
, String positive, String negative, final ConfirmListener cmListener, final CancelListener clListener) {
+ context = checkDialogContext(context);
final Dialog dialog = new Dialog(context, R.style.GhAlertDialog);
@@ -471,24 +429,18 @@ public class DialogUtils {
negativeTv.setText(negative);
positiveTv.setText(positive);
- negativeTv.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- if (clListener != null) {
- clListener.onCancel();
- }
- dialog.dismiss();
+ negativeTv.setOnClickListener(view -> {
+ if (clListener != null) {
+ clListener.onCancel();
}
+ dialog.dismiss();
});
- positiveTv.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- if (cmListener != null) {
- cmListener.onConfirm();
- }
- dialog.dismiss();
+ positiveTv.setOnClickListener(view -> {
+ if (cmListener != null) {
+ cmListener.onConfirm();
}
+ dialog.dismiss();
});
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
@@ -499,6 +451,7 @@ public class DialogUtils {
public static Dialog showAlertDialog(Context context, String title, Spanned message
, String positive, String negative, final ConfirmListener cmListener, final CancelListener clListener) {
+ context = checkDialogContext(context);
final Dialog dialog = new Dialog(context, R.style.GhAlertDialog);
@@ -512,24 +465,18 @@ public class DialogUtils {
negativeTv.setText(negative);
positiveTv.setText(positive);
- negativeTv.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- if (clListener != null) {
- clListener.onCancel();
- }
- dialog.dismiss();
+ negativeTv.setOnClickListener(view -> {
+ if (clListener != null) {
+ clListener.onCancel();
}
+ dialog.dismiss();
});
- positiveTv.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- if (cmListener != null) {
- cmListener.onConfirm();
- }
- dialog.dismiss();
+ positiveTv.setOnClickListener(view -> {
+ if (cmListener != null) {
+ cmListener.onConfirm();
}
+ dialog.dismiss();
});
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
@@ -540,6 +487,7 @@ public class DialogUtils {
public static Dialog showDialogWithHtmlContent(Context context, String title, String content
, String positive, String negative, final ConfirmListener cmListener, final CancelListener clListener) {
+ context = checkDialogContext(context);
final Dialog dialog = new Dialog(context, R.style.GhAlertDialog);
@@ -586,6 +534,7 @@ public class DialogUtils {
public static void showCancelAlertDialog(Context context, String title, CharSequence message
, String positive, String negative, final ConfirmListener cmListener, final CancelListener clListener) {
+ context = checkDialogContext(context);
final Dialog dialog = new Dialog(context, R.style.GhAlertDialog);
@@ -601,24 +550,18 @@ public class DialogUtils {
negativeTv.setTextColor(ContextCompat.getColor(context, R.color.hint));
positiveTv.setText(positive);
- negativeTv.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- if (clListener != null) {
- clListener.onCancel();
- }
- dialog.dismiss();
+ negativeTv.setOnClickListener(view -> {
+ if (clListener != null) {
+ clListener.onCancel();
}
+ dialog.dismiss();
});
- positiveTv.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- if (cmListener != null) {
- cmListener.onConfirm();
- }
- dialog.dismiss();
+ positiveTv.setOnClickListener(view -> {
+ if (cmListener != null) {
+ cmListener.onConfirm();
}
+ dialog.dismiss();
});
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
@@ -633,7 +576,7 @@ public class DialogUtils {
*/
public static void showCancelListenerDialog(Context context, String title, CharSequence message
, String positive, String negative, final ConfirmListener cmListener, final CancelListener clListener) {
-
+ context = checkDialogContext(context);
final Dialog dialog = new Dialog(context, R.style.GhAlertDialog);
@@ -659,24 +602,18 @@ public class DialogUtils {
}
});
- positiveTv.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- if (cmListener != null) {
- cmListener.onConfirm();
- }
- dialog.dismiss();
+ positiveTv.setOnClickListener(view -> {
+ if (cmListener != null) {
+ cmListener.onConfirm();
}
+ dialog.dismiss();
});
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(contentView);
- dialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
- @Override
- public void onCancel(DialogInterface dialogInterface) {
- if (clListener != null)
- clListener.onCancel();
- }
+ dialog.setOnCancelListener(dialogInterface -> {
+ if (clListener != null)
+ clListener.onCancel();
});
dialog.show();
@@ -690,6 +627,7 @@ public class DialogUtils {
*/
public static void showPermissionDialog(Context context, String title, CharSequence message
, String positive, String negative, final ConfirmListener cmListener, final CancelListener clListener) {
+ context = checkDialogContext(context);
final Dialog dialog = new Dialog(context, R.style.GhAlertDialog);
@@ -705,24 +643,18 @@ public class DialogUtils {
negativeTv.setTextColor(ContextCompat.getColor(context, R.color.hint));
positiveTv.setText(positive);
- negativeTv.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- if (clListener != null) {
- clListener.onCancel();
- }
- dialog.dismiss();
+ negativeTv.setOnClickListener(view -> {
+ if (clListener != null) {
+ clListener.onCancel();
}
+ dialog.dismiss();
});
- positiveTv.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- if (cmListener != null) {
- cmListener.onConfirm();
- }
- dialog.dismiss();
+ positiveTv.setOnClickListener(view -> {
+ if (cmListener != null) {
+ cmListener.onConfirm();
}
+ dialog.dismiss();
});
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
@@ -737,6 +669,7 @@ public class DialogUtils {
*/
public static void showForceDialog(Context context, String title, CharSequence message
, String positive, String negative, final ConfirmListener cmListener, final CancelListener clListener) {
+ context = checkDialogContext(context);
final Dialog dialog = new Dialog(context, R.style.GhAlertDialog);
@@ -751,24 +684,18 @@ public class DialogUtils {
negativeTv.setText(negative);
positiveTv.setText(positive);
- negativeTv.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- if (clListener != null) {
- clListener.onCancel();
- }
- dialog.dismiss();
+ negativeTv.setOnClickListener(view -> {
+ if (clListener != null) {
+ clListener.onCancel();
}
+ dialog.dismiss();
});
- positiveTv.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View view) {
- if (cmListener != null) {
- cmListener.onConfirm();
- }
- dialog.dismiss();
+ positiveTv.setOnClickListener(view -> {
+ if (cmListener != null) {
+ cmListener.onConfirm();
}
+ dialog.dismiss();
});
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
@@ -791,12 +718,9 @@ public class DialogUtils {
AlertDialog alertDialog = new AlertDialog.Builder(context, R.style.GhAlertDialog)
.setTitle("请确定手机号:")
.setMessage(phoneNum)
- .setPositiveButton("确认", new DialogInterface.OnClickListener() {
- @Override
- public void onClick(DialogInterface dialog, int which) {
- if (cmListener != null) {
- cmListener.onConfirm();
- }
+ .setPositiveButton("确认", (dialog, which) -> {
+ if (cmListener != null) {
+ cmListener.onConfirm();
}
})
.setNegativeButton("取消", null)
@@ -823,6 +747,8 @@ public class DialogUtils {
public static void showSignDialog(Context context, String title, CharSequence message, CharSequence message2
, String positive, final ConfirmListener cmListener) {
+ context = checkDialogContext(context);
+
final Dialog dialog = new Dialog(context);
View contentView = LayoutInflater.from(context).inflate(R.layout.dialog_sign, null);
@@ -852,9 +778,11 @@ public class DialogUtils {
}
public static void showLowVersionDialog(Context context) {
- final Dialog dialog = new Dialog(context, R.style.GhAlertDialog);
+ final Context activityContext = checkDialogContext(context);
- View contentView = LayoutInflater.from(context).inflate(R.layout.dialog_alert, null);
+ final Dialog dialog = new Dialog(activityContext, R.style.GhAlertDialog);
+
+ View contentView = LayoutInflater.from(activityContext).inflate(R.layout.dialog_alert, null);
TextView contentTv = contentView.findViewById(R.id.dialog_content);
TextView titleTv = contentView.findViewById(R.id.dialog_title);
TextView negativeTv = contentView.findViewById(R.id.dialog_negative);
@@ -868,7 +796,7 @@ public class DialogUtils {
negativeTv.setOnClickListener(view -> dialog.dismiss());
positiveTv.setOnClickListener(view -> {
- context.startActivity(AboutActivity.getIntent(context, true));
+ activityContext.startActivity(AboutActivity.getIntent(activityContext, true));
dialog.dismiss();
});
@@ -898,6 +826,8 @@ public class DialogUtils {
List options,
List disabledOptions,
OptionCallback callback) {
+ context = checkDialogContext(context);
+
Dialog dialog = new Dialog(context);
LinearLayout container = new LinearLayout(context);
@@ -945,6 +875,7 @@ public class DialogUtils {
String positive,
final CancelListener clListener,
final ConfirmListener cmListener) {
+ context = checkDialogContext(context);
final Dialog dialog = new Dialog(context, R.style.GhAlertDialog);
@@ -994,6 +925,7 @@ public class DialogUtils {
}
public static void showPrivacyPolicyDialog(Context context, String content) {
+ final Context activityContext = checkDialogContext(context);
String privacyPolicyContent;
if (TextUtils.isEmpty(content)) {
@@ -1009,9 +941,9 @@ public class DialogUtils {
privacyPolicyContent = content;
}
- final Dialog dialog = new Dialog(context, R.style.GhAlertDialog);
+ final Dialog dialog = new Dialog(activityContext, R.style.GhAlertDialog);
- View contentView = LayoutInflater.from(context).inflate(R.layout.dialog_privacy_policy, null);
+ View contentView = LayoutInflater.from(activityContext).inflate(R.layout.dialog_privacy_policy, null);
TextView contentTv = contentView.findViewById(R.id.dialog_content);
TextView titleTv = contentView.findViewById(R.id.dialog_title);
TextView positiveTv = contentView.findViewById(R.id.dialog_positive);
@@ -1023,14 +955,14 @@ public class DialogUtils {
@Override
public void updateDrawState(@NonNull TextPaint ds) {
super.updateDrawState(ds);
- ds.setColor(ContextCompat.getColor(context, R.color.theme));
+ ds.setColor(ContextCompat.getColor(activityContext, R.color.theme));
ds.setUnderlineText(false);
}
@Override
public void onClick(@NonNull View widget) {
- Intent intent = WebActivity.getPrivacyPolicyIntent(context);
- context.startActivity(intent);
+ Intent intent = WebActivity.getPrivacyPolicyIntent(activityContext);
+ activityContext.startActivity(intent);
}
}, skipText.length() - 4, skipText.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
@@ -1048,6 +980,23 @@ public class DialogUtils {
dialog.show();
}
+ /**
+ * @param context may be is application context
+ *
+ * @return activity context
+ */
+ public static Context checkDialogContext(Context context) {
+ if (context == null) {
+ throw new NullPointerException("dialog context is null");
+ }
+
+ if (context instanceof Activity) {
+ return context;
+ }
+
+ return AppManager.getInstance().currentActivity();
+ }
+
public interface ConfirmListener {
void onConfirm();
}