diff options
author | 2014-04-14 11:31:44 +0900 | |
---|---|---|
committer | 2014-04-14 15:48:19 +0900 | |
commit | 30d5ed67d6548a4d7efa6354d41ac9719a4e4488 (patch) | |
tree | 3927995a78c86394851627d8b1e5e73d7f71167c /java/src/com/android/inputmethod/latin/ImportantNoticeDialog.java | |
parent | da498229f41b828209765774a6f7f8f1ad5f30c3 (diff) | |
download | latinime-30d5ed67d6548a4d7efa6354d41ac9719a4e4488.tar.gz latinime-30d5ed67d6548a4d7efa6354d41ac9719a4e4488.tar.xz latinime-30d5ed67d6548a4d7efa6354d41ac9719a4e4488.zip |
Keep ImportantNoticeDialog showing after orientation changed
Bug: 13951402
Change-Id: Ia6340d48843abca68ebadd299827cbe43516cc39
Diffstat (limited to 'java/src/com/android/inputmethod/latin/ImportantNoticeDialog.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/ImportantNoticeDialog.java | 23 |
1 files changed, 11 insertions, 12 deletions
diff --git a/java/src/com/android/inputmethod/latin/ImportantNoticeDialog.java b/java/src/com/android/inputmethod/latin/ImportantNoticeDialog.java index be54b669b..567087c81 100644 --- a/java/src/com/android/inputmethod/latin/ImportantNoticeDialog.java +++ b/java/src/com/android/inputmethod/latin/ImportantNoticeDialog.java @@ -20,8 +20,6 @@ import android.app.AlertDialog; import android.content.Context; import android.content.DialogInterface; import android.content.DialogInterface.OnClickListener; -import android.content.DialogInterface.OnDismissListener; -import android.content.DialogInterface.OnShowListener; import com.android.inputmethod.latin.utils.DialogUtils; import com.android.inputmethod.latin.utils.ImportantNoticeUtils; @@ -29,11 +27,10 @@ import com.android.inputmethod.latin.utils.ImportantNoticeUtils; /** * The dialog box that shows the important notice contents. */ -public final class ImportantNoticeDialog extends AlertDialog implements OnShowListener, - OnClickListener, OnDismissListener { +public final class ImportantNoticeDialog extends AlertDialog implements OnClickListener { public interface ImportantNoticeDialogListener { + public void onUserAcknowledgmentOfImportantNoticeDialog(final int nextVersion); public void onClickSettingsOfImportantNoticeDialog(final int nextVersion); - public void onDismissImportantNoticeDialog(final int nextVersion); } private final ImportantNoticeDialogListener mListener; @@ -50,9 +47,9 @@ public final class ImportantNoticeDialog extends AlertDialog implements OnShowLi if (shouldHaveSettingsButton()) { setButton(BUTTON_NEGATIVE, context.getString(R.string.go_to_settings), this); } - // Set listeners. - setOnShowListener(this); - setOnDismissListener(this); + // This dialog is cancelable by pressing back key. See {@link #onBackPress()}. + setCancelable(true /* cancelable */); + setCanceledOnTouchOutside(false /* cancelable */); } private boolean shouldHaveSettingsButton() { @@ -60,9 +57,9 @@ public final class ImportantNoticeDialog extends AlertDialog implements OnShowLi == ImportantNoticeUtils.VERSION_TO_ENABLE_PERSONALIZED_SUGGESTIONS; } - @Override - public void onShow(final DialogInterface dialog) { + private void userAcknowledged() { ImportantNoticeUtils.updateLastImportantNoticeVersion(getContext()); + mListener.onUserAcknowledgmentOfImportantNoticeDialog(mNextImportantNoticeVersion); } @Override @@ -70,10 +67,12 @@ public final class ImportantNoticeDialog extends AlertDialog implements OnShowLi if (shouldHaveSettingsButton() && which == BUTTON_NEGATIVE) { mListener.onClickSettingsOfImportantNoticeDialog(mNextImportantNoticeVersion); } + userAcknowledged(); } @Override - public void onDismiss(final DialogInterface dialog) { - mListener.onDismissImportantNoticeDialog(mNextImportantNoticeVersion); + public void onBackPressed() { + super.onBackPressed(); + userAcknowledged(); } } |