Delete config_killableInputMethods setting
This change effectively reverts the introduction of the config_killableInputMethods setting in [1]. Permanently setting the oom_score_adj of the IME process to CACHED leads to cases where the lowmemorykiller kills it before it can be raised to "visible". In order to achieve the killable IME behavior, enabling the setting config_preventImeStartupUnlessTextEditor is sufficient. Test: atest CtsInputMethodTestCases Test: also manually on adt3 Bug: 232511947 [1]: Ib191d964de15bbb84daa8bbeca6f2dca6f96311c Change-Id: I92091e0e1c26635b8fc38f1371445a17a0afafae
This commit is contained in:
@@ -2963,9 +2963,6 @@
|
||||
<item>com.android.inputmethod.latin</item>
|
||||
</string-array>
|
||||
|
||||
<!-- Make the IME killable by the lowmemorykiller by raising its oom_score_adj. -->
|
||||
<bool name="config_killableInputMethods">false</bool>
|
||||
|
||||
<!-- Prevent the InputMethodManagerService from starting up the IME unless
|
||||
the currently focused view is a text editor. -->
|
||||
<bool name="config_preventImeStartupUnlessTextEditor">false</bool>
|
||||
|
||||
@@ -2254,7 +2254,6 @@
|
||||
<java-symbol type="bool" name="config_supportTelephonyTimeZoneFallback" />
|
||||
<java-symbol type="bool" name="config_autoResetAirplaneMode" />
|
||||
<java-symbol type="string" name="config_notificationAccessConfirmationActivity" />
|
||||
<java-symbol type="bool" name="config_killableInputMethods" />
|
||||
<java-symbol type="bool" name="config_preventImeStartupUnlessTextEditor" />
|
||||
<java-symbol type="array" name="config_nonPreemptibleInputMethods" />
|
||||
<java-symbol type="bool" name="config_enhancedConfirmationModeEnabled" />
|
||||
|
||||
@@ -90,13 +90,6 @@ final class InputMethodBindingController {
|
||||
| Context.BIND_NOT_VISIBLE
|
||||
| Context.BIND_NOT_FOREGROUND
|
||||
| Context.BIND_IMPORTANT_BACKGROUND;
|
||||
/**
|
||||
* Binding flags for establishing connection to the {@link InputMethodService} when
|
||||
* config_killableInputMethods is enabled.
|
||||
*/
|
||||
private static final int IME_CONNECTION_LOW_PRIORITY_BIND_FLAGS =
|
||||
Context.BIND_AUTO_CREATE
|
||||
| Context.BIND_REDUCTION_FLAGS;
|
||||
/**
|
||||
* Binding flags used only while the {@link InputMethodService} is showing window.
|
||||
*/
|
||||
@@ -108,16 +101,6 @@ final class InputMethodBindingController {
|
||||
| Context.BIND_SHOWING_UI
|
||||
| Context.BIND_SCHEDULE_LIKE_TOP_APP;
|
||||
|
||||
/**
|
||||
* Binding flags for establishing connection to the {@link InputMethodService}.
|
||||
*
|
||||
* <p>
|
||||
* This defaults to {@link InputMethodBindingController#IME_CONNECTION_BIND_FLAGS} unless
|
||||
* config_killableInputMethods is enabled, in which case this takes the value of
|
||||
* {@link InputMethodBindingController#IME_CONNECTION_LOW_PRIORITY_BIND_FLAGS}.
|
||||
*/
|
||||
private final int mImeConnectionBindFlags;
|
||||
|
||||
InputMethodBindingController(@NonNull InputMethodManagerService service) {
|
||||
mService = service;
|
||||
mContext = mService.mContext;
|
||||
@@ -127,17 +110,6 @@ final class InputMethodBindingController {
|
||||
mIWindowManager = mService.mIWindowManager;
|
||||
mWindowManagerInternal = mService.mWindowManagerInternal;
|
||||
mRes = mService.mRes;
|
||||
|
||||
// If configured, use low priority flags to make the IME killable by the lowmemorykiller
|
||||
final boolean lowerIMEPriority = mRes.getBoolean(
|
||||
com.android.internal.R.bool.config_killableInputMethods);
|
||||
|
||||
if (lowerIMEPriority) {
|
||||
mImeConnectionBindFlags =
|
||||
InputMethodBindingController.IME_CONNECTION_LOW_PRIORITY_BIND_FLAGS;
|
||||
} else {
|
||||
mImeConnectionBindFlags = InputMethodBindingController.IME_CONNECTION_BIND_FLAGS;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -500,8 +472,7 @@ final class InputMethodBindingController {
|
||||
|
||||
@GuardedBy("ImfLock.class")
|
||||
private boolean bindCurrentInputMethodServiceMainConnection() {
|
||||
mHasConnection = bindCurrentInputMethodService(mMainConnection,
|
||||
mImeConnectionBindFlags);
|
||||
mHasConnection = bindCurrentInputMethodService(mMainConnection, IME_CONNECTION_BIND_FLAGS);
|
||||
return mHasConnection;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user