From 3ce798f2baeaf4409c9336b54dc6e813c7fbf4ba Mon Sep 17 00:00:00 2001 From: cretin45 Date: Tue, 27 Jan 2015 14:41:35 -0800 Subject: [PATCH] SetupWizard: Turn off signal strength listener prior to detach Change-Id: I4c4b4a3e82067704b6895b9d46997d6e72b38786 --- .../cyanogenmod/setupwizard/setup/ChooseDataSimPage.java | 2 +- src/com/cyanogenmod/setupwizard/setup/MobileDataPage.java | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/com/cyanogenmod/setupwizard/setup/ChooseDataSimPage.java b/src/com/cyanogenmod/setupwizard/setup/ChooseDataSimPage.java index 09286c1..5f355d9 100644 --- a/src/com/cyanogenmod/setupwizard/setup/ChooseDataSimPage.java +++ b/src/com/cyanogenmod/setupwizard/setup/ChooseDataSimPage.java @@ -150,10 +150,10 @@ public class ChooseDataSimPage extends SetupPage { @Override public void onDetach() { - super.onDetach(); for (int i = 0; i < mPhoneStateListeners.size(); i++) { mPhone.listen(mPhoneStateListeners.get(i), PhoneStateListener.LISTEN_NONE); } + super.onDetach(); } private PhoneStateListener createPhoneStateListener(final SubInfoRecord subInfoRecord) { diff --git a/src/com/cyanogenmod/setupwizard/setup/MobileDataPage.java b/src/com/cyanogenmod/setupwizard/setup/MobileDataPage.java index 616c1d9..d8866bf 100644 --- a/src/com/cyanogenmod/setupwizard/setup/MobileDataPage.java +++ b/src/com/cyanogenmod/setupwizard/setup/MobileDataPage.java @@ -83,12 +83,14 @@ public class MobileDataPage extends SetupPage { @Override public void onSignalStrengthsChanged(SignalStrength signalStrength) { + if (isDetached()) return; mSignalStrength = signalStrength; updateSignalStrength(); } @Override public void onServiceStateChanged(ServiceState state) { + if (isDetached()) return; mServiceState = state; updateSignalStrength(); } @@ -138,11 +140,12 @@ public class MobileDataPage extends SetupPage { @Override public void onDetach() { - super.onDetach(); mPhone.listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE); + super.onDetach(); } private void updateCarrierText() { + if (isDetached()) return; String name = mPhone.getNetworkOperatorName(SubscriptionManager.getDefaultDataSubId()); if (TextUtils.isEmpty(name)) { if (mServiceState != null && mServiceState.isEmergencyOnly()) { @@ -155,6 +158,7 @@ public class MobileDataPage extends SetupPage { } private void updateSignalStrength() { + if (isDetached()) return; if (!hasService()) { mSignalView.setImageResource(R.drawable.ic_signal_no_signal); } else {