From bf1fa0c2a6295d55b8a131658258ce5f9f1d5e12 Mon Sep 17 00:00:00 2001 From: Raff Tsai Date: Fri, 8 Mar 2019 07:22:20 +0800 Subject: [PATCH] Fix Settings crash Doesn't unregister contentprovider so that when data changed, the fragment is destroyed. Fixes: 127726564 Test: Connect to wifi. Go to Settings -> connected devices -> connection preference -> printing -> hp print service -> press back. Repeat several times. Change-Id: I79d1522ce9d91a6bf6b1f982b7687eab1f7896bb --- .../print/PrintServiceSettingsFragment.java | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/src/com/android/settings/print/PrintServiceSettingsFragment.java b/src/com/android/settings/print/PrintServiceSettingsFragment.java index d12006250cb..8d4017580b2 100644 --- a/src/com/android/settings/print/PrintServiceSettingsFragment.java +++ b/src/com/android/settings/print/PrintServiceSettingsFragment.java @@ -143,6 +143,8 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment @Override public void onStart() { super.onStart(); + initComponents(); + updateUiForArguments(); updateEmptyView(); updateUiForServiceState(); } @@ -158,20 +160,9 @@ public class PrintServiceSettingsFragment extends SettingsPreferenceFragment @Override public void onStop() { super.onStop(); - } - - @Override - public void onViewCreated(View view, Bundle savedInstanceState) { - super.onViewCreated(view, savedInstanceState); - initComponents(); - updateUiForArguments(); - } - - @Override - public void onDestroyView() { - super.onDestroyView(); mSwitchBar.removeOnSwitchChangeListener(this); mSwitchBar.hide(); + mPrintersAdapter.unregisterAdapterDataObserver(mDataObserver); } private void onPreferenceToggled(String preferenceKey, boolean enabled) {