diff --git a/libappbase/src/main/java/cc/winboll/studio/libappbase/views/AboutView.java b/libappbase/src/main/java/cc/winboll/studio/libappbase/views/AboutView.java index 633bd04..a59e178 100644 --- a/libappbase/src/main/java/cc/winboll/studio/libappbase/views/AboutView.java +++ b/libappbase/src/main/java/cc/winboll/studio/libappbase/views/AboutView.java @@ -1,14 +1,14 @@ package cc.winboll.studio.libappbase.views; -import android.app.AlertDialog; +import android.app.Dialog; import android.content.Context; -import android.content.DialogInterface; import android.content.Intent; import android.content.pm.PackageManager; import android.net.Uri; import android.util.AttributeSet; import android.view.Gravity; import android.view.View; +import android.widget.Button; import android.widget.EditText; import android.widget.ImageButton; import android.widget.ImageView; @@ -315,42 +315,58 @@ public class AboutView extends LinearLayout { // ===================================== 调试解锁弹窗 ===================================== private void showDebugUnlockDialog() { - final AlertDialog dialog = new AlertDialog.Builder(mContext).create(); + final Dialog dialog = new Dialog(mContext); dialog.setTitle("应用调试解锁"); - dialog.setCanceledOnTouchOutside(true); + dialog.setCancelable(false); + dialog.setCanceledOnTouchOutside(false); + + LinearLayout layout = new LinearLayout(mContext); + layout.setOrientation(LinearLayout.VERTICAL); + int paddingPx = (int) (24 * mContext.getResources().getDisplayMetrics().density); + layout.setPadding(paddingPx, paddingPx, paddingPx, paddingPx); final EditText etToken = new EditText(mContext); etToken.setHint("请输入调试Token"); - dialog.setView(etToken); + layout.addView(etToken); - dialog.setButton(DialogInterface.BUTTON_POSITIVE, "调试解锁", (DialogInterface.OnClickListener) null); - dialog.setButton(DialogInterface.BUTTON_NEGATIVE, "关闭", (DialogInterface.OnClickListener) null); - dialog.setOnShowListener(new DialogInterface.OnShowListener() { + LinearLayout buttonLayout = new LinearLayout(mContext); + buttonLayout.setOrientation(LinearLayout.HORIZONTAL); + buttonLayout.setGravity(Gravity.END); + + Button closeButton = new Button(mContext); + closeButton.setText("关闭"); + buttonLayout.addView(closeButton); + + Button unlockButton = new Button(mContext); + unlockButton.setText("调试解锁"); + buttonLayout.addView(unlockButton); + + layout.addView(buttonLayout); + dialog.setContentView(layout); + + unlockButton.setOnClickListener(new View.OnClickListener() { @Override - public void onShow(DialogInterface d) { - dialog.getButton(AlertDialog.BUTTON_POSITIVE).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - String inputToken = etToken.getText().toString().trim(); - String savedToken = DebugSwitchInfoImageView.getDebugToken(); - if (savedToken != null && savedToken.equals(inputToken)) { - GlobalApplication.setIsDebugging(true); - GlobalApplication.saveDebugStatus(GlobalApplication.getInstance()); - Toast.makeText(mContext, "调试解锁成功,重启应用后生效", Toast.LENGTH_SHORT).show(); - } else { - Toast.makeText(mContext, "调试Token不匹配", Toast.LENGTH_SHORT).show(); - dialog.dismiss(); - } - } - }); - dialog.getButton(AlertDialog.BUTTON_NEGATIVE).setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View v) { - dialog.dismiss(); - } - }); + public void onClick(View v) { + String inputToken = etToken.getText().toString().trim(); + String savedToken = DebugSwitchInfoImageView.getDebugToken(); + if (savedToken != null && savedToken.equals(inputToken)) { + GlobalApplication.setIsDebugging(true); + GlobalApplication.saveDebugStatus(GlobalApplication.getInstance()); + Toast.makeText(mContext, "调试解锁成功,重启应用后生效", Toast.LENGTH_SHORT).show(); + } else { + Toast.makeText(mContext, "调试Token不匹配", Toast.LENGTH_SHORT).show(); + dialog.dismiss(); + } } }); + + closeButton.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + dialog.dismiss(); + } + }); + dialog.show(); }