Merge "[Settings] Code refactor" into rvc-dev

This commit is contained in:
Bonian Chen
2020-05-04 10:41:47 +00:00
committed by Android (Google) Code Review
2 changed files with 32 additions and 14 deletions

View File

@@ -61,19 +61,6 @@ public class EnabledNetworkModePreferenceController extends
public EnabledNetworkModePreferenceController(Context context, String key) { public EnabledNetworkModePreferenceController(Context context, String key) {
super(context, 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 @Override
@@ -100,11 +87,17 @@ public class EnabledNetworkModePreferenceController extends
@OnLifecycleEvent(ON_START) @OnLifecycleEvent(ON_START)
public void onStart() { public void onStart() {
if (mPreferredNetworkModeObserver == null) {
return;
}
mPreferredNetworkModeObserver.register(mContext, mSubId); mPreferredNetworkModeObserver.register(mContext, mSubId);
} }
@OnLifecycleEvent(ON_STOP) @OnLifecycleEvent(ON_STOP)
public void onStop() { public void onStop() {
if (mPreferredNetworkModeObserver == null) {
return;
}
mPreferredNetworkModeObserver.unregister(mContext); mPreferredNetworkModeObserver.unregister(mContext);
} }
@@ -151,9 +144,25 @@ public class EnabledNetworkModePreferenceController extends
mCarrierConfigManager = mContext.getSystemService(CarrierConfigManager.class); mCarrierConfigManager = mContext.getSystemService(CarrierConfigManager.class);
mBuilder = new PreferenceEntriesBuilder(mContext, mSubId); mBuilder = new PreferenceEntriesBuilder(mContext, mSubId);
if (mPreferredNetworkModeObserver == null) {
mPreferredNetworkModeObserver = new PreferredNetworkModeContentObserver(
new Handler(Looper.getMainLooper()));
mPreferredNetworkModeObserver.setPreferredNetworkModeChangedListener(
() -> updatePreference());
}
lifecycle.addObserver(this); lifecycle.addObserver(this);
} }
private void updatePreference() {
if (mPreferenceScreen != null) {
displayPreference(mPreferenceScreen);
}
if (mPreference != null) {
updateState(mPreference);
}
}
private final static class PreferenceEntriesBuilder { private final static class PreferenceEntriesBuilder {
private CarrierConfigManager mCarrierConfigManager; private CarrierConfigManager mCarrierConfigManager;
private Context mContext; private Context mContext;

View File

@@ -69,10 +69,13 @@ public class Enhanced4gBasePreferenceController extends TelephonyTogglePreferenc
public Enhanced4gBasePreferenceController(Context context, String key) { public Enhanced4gBasePreferenceController(Context context, String key) {
super(context, key); super(context, key);
m4gLteListeners = new ArrayList<>(); m4gLteListeners = new ArrayList<>();
mPhoneStateListener = new PhoneCallStateListener();
} }
public Enhanced4gBasePreferenceController init(int subId) { public Enhanced4gBasePreferenceController init(int subId) {
if (mPhoneStateListener == null) {
mPhoneStateListener = new PhoneCallStateListener();
}
if (mSubId == subId) { if (mSubId == subId) {
return this; return this;
} }
@@ -122,11 +125,17 @@ public class Enhanced4gBasePreferenceController extends TelephonyTogglePreferenc
@Override @Override
public void onStart() { public void onStart() {
if (mPhoneStateListener == null) {
return;
}
mPhoneStateListener.register(mContext, mSubId); mPhoneStateListener.register(mContext, mSubId);
} }
@Override @Override
public void onStop() { public void onStop() {
if (mPhoneStateListener == null) {
return;
}
mPhoneStateListener.unregister(); mPhoneStateListener.unregister();
} }