commit | d72edcb69abdfdab6433bc22a7cb7b9de7e406dc | [log] [tgz] |
---|---|---|
author | Pengquan Meng <mpq@google.com> | Thu Oct 04 15:14:43 2018 -0700 |
committer | android-build-merger <android-build-merger@google.com> | Thu Oct 04 15:14:43 2018 -0700 |
tree | 056a217f873b73102ecc7188e47b2b75936022b2 | |
parent | 726c3b0fa3d8a029468b837e54c97d734cd6e0b6 [diff] | |
parent | ae6dac9126629184865d86ad5e5ace869958bad2 [diff] |
Merge "Fix binder leakage and activity leakage in MobileNetworkSettings." am: ae6dac9126 Change-Id: I4164d30236fc77a2a73c18df8f74282463565fac
diff --git a/src/com/android/phone/MobileDataPreference.java b/src/com/android/phone/MobileDataPreference.java index 4e82f20..e1ceab0 100644 --- a/src/com/android/phone/MobileDataPreference.java +++ b/src/com/android/phone/MobileDataPreference.java
@@ -63,6 +63,11 @@ super(context, attrs, com.android.internal.R.attr.switchPreferenceStyle); } + // Must be called to avoid binder leakage. + void dispose() { + mListener.setListener(false, mSubId, getContext()); + } + @Override protected void onRestoreInstanceState(Parcelable s) { CellDataState state = (CellDataState) s;
diff --git a/src/com/android/phone/MobileNetworkSettings.java b/src/com/android/phone/MobileNetworkSettings.java index 148d1ad..1307f9c 100644 --- a/src/com/android/phone/MobileNetworkSettings.java +++ b/src/com/android/phone/MobileNetworkSettings.java
@@ -947,8 +947,11 @@ @Override public void onDestroy() { - unbindNetworkQueryService(); super.onDestroy(); + unbindNetworkQueryService(); + if (mMobileDataPref != null) { + mMobileDataPref.dispose(); + } } @Override