[Settings] Code refactor

Move some work out of constructor of
EnabledNetworkModePreferenceController.
Which could avoid callbacks before init() been invoked.

Bug: 141833767
Test: make RunSettingsRoboTests -j
ROBOTEST_FILTER=Enhanced4gBasePreferenceControllerTest
Test: make RunSettingsRoboTests -j ROBOTEST_FILTER=EnabledNetworkModePreferenceControllerTest
Change-Id: I11f25d130a746c75184a21a8991177b02ad237f0

Change-Id: I6aa58a8d9d15b1524bf03f425e3eae3a0254593e
This commit is contained in:
Bonian Chen
2020-05-04 11:36:55 +08:00
parent 37c795af3a
commit d231727e3b
2 changed files with 32 additions and 14 deletions

View File

@@ -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();
}