Loading src/com/android/settings/network/telephony/MmsMessagePreferenceController.java +4 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.telephony.data.ApnSetting; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import com.android.settings.network.MobileDataContentObserver; Loading @@ -38,6 +39,7 @@ public class MmsMessagePreferenceController extends TelephonyTogglePreferenceCon private TelephonyManager mTelephonyManager; private MobileDataContentObserver mMobileDataContentObserver; private PreferenceScreen mScreen; private Preference mPreference; public MmsMessagePreferenceController(Context context, String key) { super(context, key); Loading @@ -61,6 +63,7 @@ public class MmsMessagePreferenceController extends TelephonyTogglePreferenceCon public void onStart() { if (mSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) { mMobileDataContentObserver.register(mContext, mSubId); updateState(mPreference); } } Loading @@ -75,6 +78,7 @@ public class MmsMessagePreferenceController extends TelephonyTogglePreferenceCon public void displayPreference(PreferenceScreen screen) { super.displayPreference(screen); mScreen = screen; mPreference = screen.findPreference(getPreferenceKey()); } Loading tests/unit/src/com/android/settings/network/telephony/MmsMessagePreferenceControllerTest.java +22 −1 Original line number Diff line number Diff line Loading @@ -21,15 +21,20 @@ import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_U import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.anyBoolean; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import android.content.Context; import android.os.Looper; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.telephony.data.ApnSetting; import androidx.preference.PreferenceManager; import androidx.preference.PreferenceScreen; import androidx.preference.SwitchPreference; import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; Loading Loading @@ -63,7 +68,7 @@ public class MmsMessagePreferenceControllerTest { when(mContext.getSystemService(SubscriptionManager.class)).thenReturn(mSubscriptionManager); when(mTelephonyManager.createForSubscriptionId(SUB_ID)).thenReturn(mTelephonyManager); mPreference = new SwitchPreference(mContext); mPreference = spy(new SwitchPreference(mContext)); mController = new MmsMessagePreferenceController(mContext, "mms_message"); mController.init(SUB_ID); mPreference.setKey(mController.getPreferenceKey()); Loading Loading @@ -118,4 +123,20 @@ public class MmsMessagePreferenceControllerTest { verify(mTelephonyManager).setMobileDataPolicyEnabled( TelephonyManager.MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED, false); } @Test public void onStart_updatePreferenceUiState() { if (Looper.myLooper() == null) { Looper.prepare(); } PreferenceManager preferenceManager = new PreferenceManager(mContext); PreferenceScreen preferenceScreen = preferenceManager.createPreferenceScreen(mContext); preferenceScreen.addPreference(mPreference); mController.displayPreference(preferenceScreen); mController.onStart(); // First is preference initialization, and second is in onStart(); verify(mPreference, times(2)).setChecked(anyBoolean()); } } Loading
src/com/android/settings/network/telephony/MmsMessagePreferenceController.java +4 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.telephony.data.ApnSetting; import androidx.preference.Preference; import androidx.preference.PreferenceScreen; import com.android.settings.network.MobileDataContentObserver; Loading @@ -38,6 +39,7 @@ public class MmsMessagePreferenceController extends TelephonyTogglePreferenceCon private TelephonyManager mTelephonyManager; private MobileDataContentObserver mMobileDataContentObserver; private PreferenceScreen mScreen; private Preference mPreference; public MmsMessagePreferenceController(Context context, String key) { super(context, key); Loading @@ -61,6 +63,7 @@ public class MmsMessagePreferenceController extends TelephonyTogglePreferenceCon public void onStart() { if (mSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) { mMobileDataContentObserver.register(mContext, mSubId); updateState(mPreference); } } Loading @@ -75,6 +78,7 @@ public class MmsMessagePreferenceController extends TelephonyTogglePreferenceCon public void displayPreference(PreferenceScreen screen) { super.displayPreference(screen); mScreen = screen; mPreference = screen.findPreference(getPreferenceKey()); } Loading
tests/unit/src/com/android/settings/network/telephony/MmsMessagePreferenceControllerTest.java +22 −1 Original line number Diff line number Diff line Loading @@ -21,15 +21,20 @@ import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_U import static com.google.common.truth.Truth.assertThat; import static org.mockito.ArgumentMatchers.anyBoolean; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import android.content.Context; import android.os.Looper; import android.telephony.SubscriptionManager; import android.telephony.TelephonyManager; import android.telephony.data.ApnSetting; import androidx.preference.PreferenceManager; import androidx.preference.PreferenceScreen; import androidx.preference.SwitchPreference; import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; Loading Loading @@ -63,7 +68,7 @@ public class MmsMessagePreferenceControllerTest { when(mContext.getSystemService(SubscriptionManager.class)).thenReturn(mSubscriptionManager); when(mTelephonyManager.createForSubscriptionId(SUB_ID)).thenReturn(mTelephonyManager); mPreference = new SwitchPreference(mContext); mPreference = spy(new SwitchPreference(mContext)); mController = new MmsMessagePreferenceController(mContext, "mms_message"); mController.init(SUB_ID); mPreference.setKey(mController.getPreferenceKey()); Loading Loading @@ -118,4 +123,20 @@ public class MmsMessagePreferenceControllerTest { verify(mTelephonyManager).setMobileDataPolicyEnabled( TelephonyManager.MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED, false); } @Test public void onStart_updatePreferenceUiState() { if (Looper.myLooper() == null) { Looper.prepare(); } PreferenceManager preferenceManager = new PreferenceManager(mContext); PreferenceScreen preferenceScreen = preferenceManager.createPreferenceScreen(mContext); preferenceScreen.addPreference(mPreference); mController.displayPreference(preferenceScreen); mController.onStart(); // First is preference initialization, and second is in onStart(); verify(mPreference, times(2)).setChecked(anyBoolean()); } }