From b3b50825363d748f4a967791fd5cd3091fc63ee9 Mon Sep 17 00:00:00 2001 From: Fan Zhang Date: Wed, 28 Feb 2018 14:06:11 -0800 Subject: [PATCH] Auto update summary for mobile network preference. Change-Id: Ic7854ef4d2d710dff528244a5e5fb75708740d2e Fixes: 73504707 Test: robotests --- .../MobileNetworkPreferenceController.java | 23 ++++++++++--------- ...MobileNetworkPreferenceControllerTest.java | 22 ++++++++---------- 2 files changed, 22 insertions(+), 23 deletions(-) diff --git a/src/com/android/settings/network/MobileNetworkPreferenceController.java b/src/com/android/settings/network/MobileNetworkPreferenceController.java index 1670b0d185b..09f0f8b2440 100644 --- a/src/com/android/settings/network/MobileNetworkPreferenceController.java +++ b/src/com/android/settings/network/MobileNetworkPreferenceController.java @@ -32,11 +32,11 @@ import com.android.settings.wrapper.RestrictedLockUtilsWrapper; import com.android.settingslib.Utils; import com.android.settingslib.core.AbstractPreferenceController; import com.android.settingslib.core.lifecycle.LifecycleObserver; -import com.android.settingslib.core.lifecycle.events.OnPause; -import com.android.settingslib.core.lifecycle.events.OnResume; +import com.android.settingslib.core.lifecycle.events.OnStart; +import com.android.settingslib.core.lifecycle.events.OnStop; public class MobileNetworkPreferenceController extends AbstractPreferenceController - implements PreferenceControllerMixin, LifecycleObserver, OnResume, OnPause { + implements PreferenceControllerMixin, LifecycleObserver, OnStart, OnStop { private static final String KEY_MOBILE_NETWORK_SETTINGS = "mobile_network_settings"; @@ -71,9 +71,7 @@ public class MobileNetworkPreferenceController extends AbstractPreferenceControl @Override public void displayPreference(PreferenceScreen screen) { super.displayPreference(screen); - if (isAvailable()) { - mPreference = screen.findPreference(getPreferenceKey()); - } + mPreference = screen.findPreference(getPreferenceKey()); } @Override @@ -82,15 +80,13 @@ public class MobileNetworkPreferenceController extends AbstractPreferenceControl } @Override - public void onResume() { + public void onStart() { if (isAvailable()) { if (mPhoneStateListener == null) { mPhoneStateListener = new PhoneStateListener() { @Override public void onServiceStateChanged(ServiceState serviceState) { - if (mPreference != null) { - mPreference.setSummary(mTelephonyManager.getNetworkOperatorName()); - } + updateState(mPreference); } }; } @@ -99,9 +95,14 @@ public class MobileNetworkPreferenceController extends AbstractPreferenceControl } @Override - public void onPause() { + public void onStop() { if (mPhoneStateListener != null) { mTelephonyManager.listen(mPhoneStateListener, PhoneStateListener.LISTEN_NONE); } } + + @Override + public CharSequence getSummary() { + return mTelephonyManager.getNetworkOperatorName(); + } } diff --git a/tests/robotests/src/com/android/settings/network/MobileNetworkPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/MobileNetworkPreferenceControllerTest.java index f070f7a5095..bd550510fd1 100644 --- a/tests/robotests/src/com/android/settings/network/MobileNetworkPreferenceControllerTest.java +++ b/tests/robotests/src/com/android/settings/network/MobileNetworkPreferenceControllerTest.java @@ -15,11 +15,9 @@ */ package com.android.settings.network; -import static android.arch.lifecycle.Lifecycle.Event.ON_PAUSE; -import static android.arch.lifecycle.Lifecycle.Event.ON_RESUME; - +import static android.arch.lifecycle.Lifecycle.Event.ON_START; +import static android.arch.lifecycle.Lifecycle.Event.ON_STOP; import static com.google.common.truth.Truth.assertThat; - import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.spy; @@ -53,10 +51,10 @@ import org.robolectric.annotation.Config; @RunWith(SettingsRobolectricTestRunner.class) @Config( - manifest = TestConfig.MANIFEST_PATH, - sdk = TestConfig.SDK_VERSION, - shadows = {ShadowRestrictedLockUtilsWrapper.class, ShadowConnectivityManager.class, - ShadowUserManager.class} + manifest = TestConfig.MANIFEST_PATH, + sdk = TestConfig.SDK_VERSION, + shadows = {ShadowRestrictedLockUtilsWrapper.class, ShadowConnectivityManager.class, + ShadowUserManager.class} ) public class MobileNetworkPreferenceControllerTest { @@ -110,11 +108,11 @@ public class MobileNetworkPreferenceControllerTest { mLifecycle.addObserver(mController); doReturn(true).when(mController).isAvailable(); - mLifecycle.handleLifecycleEvent(ON_RESUME); + mLifecycle.handleLifecycleEvent(ON_START); verify(mTelephonyManager).listen(mController.mPhoneStateListener, PhoneStateListener.LISTEN_SERVICE_STATE); - mLifecycle.handleLifecycleEvent(ON_PAUSE); + mLifecycle.handleLifecycleEvent(ON_STOP); verify(mTelephonyManager).listen(mController.mPhoneStateListener, PhoneStateListener.LISTEN_NONE); } @@ -131,8 +129,8 @@ public class MobileNetworkPreferenceControllerTest { // Display pref and go through lifecycle to set up listener. mController.displayPreference(mScreen); - mLifecycle.handleLifecycleEvent(ON_RESUME); - verify(mController).onResume(); + mLifecycle.handleLifecycleEvent(ON_START); + verify(mController).onStart(); verify(mTelephonyManager).listen(mController.mPhoneStateListener, PhoneStateListener.LISTEN_SERVICE_STATE);