Fix memory leak of page "Languages & input"
When enter/exit from "Languages & input" screen repeatedly, memory
leak happens since InputDeviceListener is not unregistered.
Listener registration is called in onPause() when exiting from the
screen, but new activity is created when enter the screen and the
listener registered by previous activity is not unregistered in
onResume().
Bug: 72675680
Test: Manual - Repeat enter and exit "Language & input" page for
several times and check if the count of activity doesn't increase.
Change-Id: I8e0be0ab4b1d13d53c3868b10f409d1e06387c2f
diff --git a/src/com/android/settings/inputmethod/PhysicalKeyboardPreferenceController.java b/src/com/android/settings/inputmethod/PhysicalKeyboardPreferenceController.java
index 7b0d1ce..53b03ff 100644
--- a/src/com/android/settings/inputmethod/PhysicalKeyboardPreferenceController.java
+++ b/src/com/android/settings/inputmethod/PhysicalKeyboardPreferenceController.java
@@ -66,12 +66,12 @@
@Override
public void onPause() {
- mIm.registerInputDeviceListener(this, null);
+ mIm.unregisterInputDeviceListener(this);
}
@Override
public void onResume() {
- mIm.unregisterInputDeviceListener(this);
+ mIm.registerInputDeviceListener(this, null);
}
@Override