From ee6939784b7263f50df228d0293cce334414e5cb Mon Sep 17 00:00:00 2001 From: Tetsui Ohkubo Date: Fri, 14 Dec 2018 12:55:21 +0900 Subject: [PATCH] Handle cancellation of 3rd party IME explicitly. When a 3rd party IME is enabled for the first time, a warning dialog is shown. The dialog has a cancel button, and it triggers onSaveInputMethodPreference(). However, when it's cancelled by the back button, it did not trigger onSaveInputMethodPreference(). It still works as intended on stock Android, but on ARC++ we need the callback to be always fired every time it's cancelled. Test: manual Bug: 112442972 Change-Id: Ibdbaa020957ccd5a77a7fe5c67937edd19b8455f --- .../settingslib/inputmethod/InputMethodPreference.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/SettingsLib/src/com/android/settingslib/inputmethod/InputMethodPreference.java b/packages/SettingsLib/src/com/android/settingslib/inputmethod/InputMethodPreference.java index 5c126b1d839b6..120acd3bcc52d 100644 --- a/packages/SettingsLib/src/com/android/settingslib/inputmethod/InputMethodPreference.java +++ b/packages/SettingsLib/src/com/android/settingslib/inputmethod/InputMethodPreference.java @@ -263,6 +263,10 @@ public class InputMethodPreference extends RestrictedSwitchPreference implements // The user canceled to enable a 3rd party IME. setCheckedInternal(false); }); + builder.setOnCancelListener((dialog) -> { + // The user canceled to enable a 3rd party IME. + setCheckedInternal(false); + }); mDialog = builder.create(); mDialog.show(); }