diff options
author | Bonian Chen <bonianchen@google.com> | 2020-05-04 10:41:47 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2020-05-04 10:41:47 +0000 |
commit | 1ab100e936a6b92c6797f5d6b5b0e99a0e5f81f3 (patch) | |
tree | a755c35a850397e47c7e9bc03dac6b27f049cce5 /src/com/android/settings/network | |
parent | 068eb89251c205da08a6ded343badb0e162f8822 (diff) | |
parent | d231727e3b6dbe1a03437b6d8ca8b759b60761cc (diff) | |
download | packages_apps_Settings-1ab100e936a6b92c6797f5d6b5b0e99a0e5f81f3.tar.gz packages_apps_Settings-1ab100e936a6b92c6797f5d6b5b0e99a0e5f81f3.tar.bz2 packages_apps_Settings-1ab100e936a6b92c6797f5d6b5b0e99a0e5f81f3.zip |
Merge "[Settings] Code refactor" into rvc-dev
Diffstat (limited to 'src/com/android/settings/network')
-rw-r--r-- | src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java | 35 | ||||
-rw-r--r-- | src/com/android/settings/network/telephony/Enhanced4gBasePreferenceController.java | 11 |
2 files changed, 32 insertions, 14 deletions
diff --git a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java index 5343709208..d5a192a545 100644 --- a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java +++ b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java @@ -61,19 +61,6 @@ public class EnabledNetworkModePreferenceController extends public EnabledNetworkModePreferenceController(Context context, String key) { super(context, key); - mPreferredNetworkModeObserver = new PreferredNetworkModeContentObserver( - new Handler(Looper.getMainLooper())); - mPreferredNetworkModeObserver.setPreferredNetworkModeChangedListener( - () -> updatePreference()); - } - - private void updatePreference() { - if (mPreferenceScreen != null) { - displayPreference(mPreferenceScreen); - } - if (mPreference != null) { - updateState(mPreference); - } } @Override @@ -100,11 +87,17 @@ public class EnabledNetworkModePreferenceController extends @OnLifecycleEvent(ON_START) public void onStart() { + if (mPreferredNetworkModeObserver == null) { + return; + } mPreferredNetworkModeObserver.register(mContext, mSubId); } @OnLifecycleEvent(ON_STOP) public void onStop() { + if (mPreferredNetworkModeObserver == null) { + return; + } mPreferredNetworkModeObserver.unregister(mContext); } @@ -151,9 +144,25 @@ public class EnabledNetworkModePreferenceController extends mCarrierConfigManager = mContext.getSystemService(CarrierConfigManager.class); mBuilder = new PreferenceEntriesBuilder(mContext, mSubId); + if (mPreferredNetworkModeObserver == null) { + mPreferredNetworkModeObserver = new PreferredNetworkModeContentObserver( + new Handler(Looper.getMainLooper())); + mPreferredNetworkModeObserver.setPreferredNetworkModeChangedListener( + () -> updatePreference()); + } + lifecycle.addObserver(this); } + private void updatePreference() { + if (mPreferenceScreen != null) { + displayPreference(mPreferenceScreen); + } + if (mPreference != null) { + updateState(mPreference); + } + } + private final static class PreferenceEntriesBuilder { private CarrierConfigManager mCarrierConfigManager; private Context mContext; diff --git a/src/com/android/settings/network/telephony/Enhanced4gBasePreferenceController.java b/src/com/android/settings/network/telephony/Enhanced4gBasePreferenceController.java index 3a91616a3c..91d01d36a1 100644 --- a/src/com/android/settings/network/telephony/Enhanced4gBasePreferenceController.java +++ b/src/com/android/settings/network/telephony/Enhanced4gBasePreferenceController.java @@ -69,10 +69,13 @@ public class Enhanced4gBasePreferenceController extends TelephonyTogglePreferenc public Enhanced4gBasePreferenceController(Context context, String key) { super(context, key); m4gLteListeners = new ArrayList<>(); - mPhoneStateListener = new PhoneCallStateListener(); } public Enhanced4gBasePreferenceController init(int subId) { + if (mPhoneStateListener == null) { + mPhoneStateListener = new PhoneCallStateListener(); + } + if (mSubId == subId) { return this; } @@ -122,11 +125,17 @@ public class Enhanced4gBasePreferenceController extends TelephonyTogglePreferenc @Override public void onStart() { + if (mPhoneStateListener == null) { + return; + } mPhoneStateListener.register(mContext, mSubId); } @Override public void onStop() { + if (mPhoneStateListener == null) { + return; + } mPhoneStateListener.unregister(); } |