diff options
author | cretin45 <cretin45@gmail.com> | 2015-03-11 17:13:05 -0700 |
---|---|---|
committer | cretin45 <cretin45@gmail.com> | 2015-03-11 17:14:22 -0700 |
commit | f66c56b62f03e0a090607043f2c28efae0589123 (patch) | |
tree | 8cf69708d6eed866e29539ca5a4c0f92b1452b04 /src/com/cyanogenmod/setupwizard/setup/MobileDataPage.java | |
parent | 77fce341b1baa2a88f3eb83d85956eb6eead171b (diff) | |
download | packages_apps_SetupWizard-f66c56b62f03e0a090607043f2c28efae0589123.zip packages_apps_SetupWizard-f66c56b62f03e0a090607043f2c28efae0589123.tar.gz packages_apps_SetupWizard-f66c56b62f03e0a090607043f2c28efae0589123.tar.bz2 |
SetupWizard: Only update network state when resumed
Change-Id: Id018bf0ed4d9c54a1d6d57d53749c265b1d0e269
Diffstat (limited to 'src/com/cyanogenmod/setupwizard/setup/MobileDataPage.java')
-rw-r--r-- | src/com/cyanogenmod/setupwizard/setup/MobileDataPage.java | 99 |
1 files changed, 51 insertions, 48 deletions
diff --git a/src/com/cyanogenmod/setupwizard/setup/MobileDataPage.java b/src/com/cyanogenmod/setupwizard/setup/MobileDataPage.java index de43188..2d4fecb 100644 --- a/src/com/cyanogenmod/setupwizard/setup/MobileDataPage.java +++ b/src/com/cyanogenmod/setupwizard/setup/MobileDataPage.java @@ -16,7 +16,6 @@ package com.cyanogenmod.setupwizard.setup; -import android.app.Activity; import android.app.Fragment; import android.app.FragmentManager; import android.content.Context; @@ -79,21 +78,25 @@ public class MobileDataPage extends SetupPage { private SignalStrength mSignalStrength; private ServiceState mServiceState; + private boolean mIsAttached = false; + private PhoneStateListener mPhoneStateListener = new PhoneStateListener(SubscriptionManager.getDefaultDataSubId()) { @Override public void onSignalStrengthsChanged(SignalStrength signalStrength) { - if (isDetached()) return; - mSignalStrength = signalStrength; - updateSignalStrength(); + if (mIsAttached) { + mSignalStrength = signalStrength; + updateSignalStrength(); + } } @Override public void onServiceStateChanged(ServiceState state) { - if (isDetached()) return; - mServiceState = state; - updateSignalStrength(); + if (mIsAttached) { + mServiceState = state; + updateSignalStrength(); + } } }; @@ -129,66 +132,66 @@ public class MobileDataPage extends SetupPage { @Override public void onResume() { super.onResume(); - updateDataConnectionStatus(); - updateSignalStrength(); - } - - @Override - public void onAttach(Activity activity) { - super.onAttach(activity); + mIsAttached = true; mPhone = (TelephonyManager)getActivity().getSystemService(Context.TELEPHONY_SERVICE); mPhone.listen(mPhoneStateListener, PhoneStateListener.LISTEN_SERVICE_STATE | PhoneStateListener.LISTEN_SIGNAL_STRENGTHS); + updateDataConnectionStatus(); + updateSignalStrength(); } @Override - public void onDetach() { + public void onPause() { + super.onPause(); + mIsAttached = false; 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()) { - name = getString(R.string.setup_mobile_data_emergency_only); - } else { - name = getString(R.string.setup_mobile_data_no_service); + if (mIsAttached) { + String name = + mPhone.getNetworkOperatorName(SubscriptionManager.getDefaultDataSubId()); + if (TextUtils.isEmpty(name)) { + if (mServiceState != null && mServiceState.isEmergencyOnly()) { + name = getString(R.string.setup_mobile_data_emergency_only); + } else { + name = getString(R.string.setup_mobile_data_no_service); + } } + mNameView.setText(name); } - mNameView.setText(name); } private void updateSignalStrength() { - if (isDetached()) return; - if (!hasService()) { - mSignalView.setImageResource(R.drawable.ic_signal_no_signal); - } else { - if (mSignalStrength != null) { - int resId; - switch (mSignalStrength.getLevel()) { - case 4: - resId = R.drawable.ic_signal_4; - break; - case 3: - resId = R.drawable.ic_signal_3; - break; - case 2: - resId = R.drawable.ic_signal_2; - break; - case 1: - resId = R.drawable.ic_signal_1; - break; - default: - resId = R.drawable.ic_signal_0; - break; + if (mIsAttached) { + if (!hasService()) { + mSignalView.setImageResource(R.drawable.ic_signal_no_signal); + } else { + if (mSignalStrength != null) { + int resId; + switch (mSignalStrength.getLevel()) { + case 4: + resId = R.drawable.ic_signal_4; + break; + case 3: + resId = R.drawable.ic_signal_3; + break; + case 2: + resId = R.drawable.ic_signal_2; + break; + case 1: + resId = R.drawable.ic_signal_1; + break; + default: + resId = R.drawable.ic_signal_0; + break; + } + mSignalView.setImageResource(resId); } - mSignalView.setImageResource(resId); } + updateCarrierText(); } - updateCarrierText(); } private void updateDataConnectionStatus() { |