Loading res/values/strings.xml +2 −4 Original line number Diff line number Diff line Loading @@ -12727,12 +12727,10 @@ <string name="resetting_internet_text">Resetting your internet\u2026</string> <!-- Menu option for data connectivity recovery for all requested technologies. [CHAR_LIMIT=NONE] --> <string name="fix_connectivity">Fix connectivity</string> <!-- Summary for airplane mode networks available. [CHAR LIMIT=60] --> <string name="airplane_mode_network_available">Airplane mode networks available</string> <!-- Summary for warning to disconnect ethernet first then switch to other networks. [CHAR LIMIT=60] --> <string name="to_switch_networks_disconnect_ethernet">To switch networks, disconnect ethernet</string> <!-- Title for airplane mode network panel. [CHAR LIMIT=60] --> <string name="airplane_mode_network_panel_title">Airplane mode networks</string> <!-- Panel subtitle for Wi-Fi turned on. [CHAR LIMIT=60] --> <string name="wifi_is_turned_on_subtitle">Wi\u2011Fi is turned on</string> <!-- Summary text separator for preferences including a short description (eg. "Connected / 5G"). [CHAR LIMIT=50] --> src/com/android/settings/network/InternetPreferenceController.java +0 −6 Original line number Diff line number Diff line Loading @@ -124,12 +124,6 @@ public class InternetPreferenceController extends AbstractPreferenceController i return; } if (mInternetType == INTERNET_NETWORKS_AVAILABLE && mInternetUpdater.isApmNetworksAvailable()) { mPreference.setSummary(R.string.airplane_mode_network_available); return; } final @IdRes int summary = sSummaryMap.get(mInternetType); if (summary != 0) { mPreference.setSummary(summary); Loading src/com/android/settings/network/InternetUpdater.java +7 −9 Original line number Diff line number Diff line Loading @@ -73,9 +73,9 @@ public class InternetUpdater implements AirplaneModeEnabler.OnAirplaneModeChange default void onAirplaneModeChanged(boolean isAirplaneModeOn) {}; /** * Called when airplane mode networks state is changed. * Called when Wi-Fi enabled is changed. */ default void onAirplaneModeNetworksChanged(boolean available) {}; default void onWifiEnabledChanged(boolean enabled) {}; } /** Loading Loading @@ -157,9 +157,8 @@ public class InternetUpdater implements AirplaneModeEnabler.OnAirplaneModeChange @Override public void onReceive(Context context, Intent intent) { fetchActiveNetwork(); if (mListener != null && mAirplaneModeEnabler.isAirplaneModeOn()) { mListener.onAirplaneModeNetworksChanged( mWifiManager.getWifiState() == WifiManager.WIFI_STATE_ENABLED); if (mListener != null) { mListener.onWifiEnabledChanged(mWifiManager.isWifiEnabled()); } } }; Loading Loading @@ -272,10 +271,9 @@ public class InternetUpdater implements AirplaneModeEnabler.OnAirplaneModeChange } /** * Return ture when the APM networks is available. * Return ture when the Wi-Fi is enabled. */ public boolean isApmNetworksAvailable() { return mAirplaneModeEnabler.isAirplaneModeOn() && (mWifiManager.getWifiState() == WifiManager.WIFI_STATE_ENABLED); public boolean isWifiEnabled() { return mWifiManager.isWifiEnabled(); } } src/com/android/settings/panel/InternetConnectivityPanel.java +16 −26 Original line number Diff line number Diff line Loading @@ -50,9 +50,8 @@ public class InternetConnectivityPanel implements PanelContent, LifecycleObserve @VisibleForTesting boolean mIsProviderModelEnabled; private PanelContentCallback mCallback; private InternetUpdater mInternetUpdater; private boolean mIsAirplaneModeOn; private boolean mIsApmNetworksAvailable; @VisibleForTesting InternetUpdater mInternetUpdater; public static InternetConnectivityPanel create(Context context) { return new InternetConnectivityPanel(context); Loading @@ -62,8 +61,6 @@ public class InternetConnectivityPanel implements PanelContent, LifecycleObserve mContext = context.getApplicationContext(); mIsProviderModelEnabled = Utils.isProviderModelEnabled(mContext); mInternetUpdater = new InternetUpdater(context, null /* Lifecycle */, this); mIsAirplaneModeOn = mInternetUpdater.isAirplaneModeOn(); mIsApmNetworksAvailable = mInternetUpdater.isApmNetworksAvailable(); } /** @OnLifecycleEvent(ON_RESUME) */ Loading @@ -90,9 +87,8 @@ public class InternetConnectivityPanel implements PanelContent, LifecycleObserve @Override public CharSequence getTitle() { if (mIsProviderModelEnabled) { return mContext.getText(mIsApmNetworksAvailable ? R.string.airplane_mode_network_panel_title : R.string.provider_internet_settings); return mContext.getText(mInternetUpdater.isAirplaneModeOn() ? R.string.airplane_mode : R.string.provider_internet_settings); } return mContext.getText(R.string.internet_connectivity_panel_title); } Loading @@ -102,8 +98,9 @@ public class InternetConnectivityPanel implements PanelContent, LifecycleObserve */ @Override public CharSequence getSubTitle() { if (mIsProviderModelEnabled && mIsAirplaneModeOn && !mIsApmNetworksAvailable) { return mContext.getText(R.string.condition_airplane_title); if (mIsProviderModelEnabled && mInternetUpdater.isAirplaneModeOn() && mInternetUpdater.isWifiEnabled()) { return mContext.getText(R.string.wifi_is_turned_on_subtitle); } return null; } Loading Loading @@ -136,7 +133,7 @@ public class InternetConnectivityPanel implements PanelContent, LifecycleObserve @Override public CharSequence getCustomizedButtonTitle() { if (mIsAirplaneModeOn && !mIsApmNetworksAvailable) { if (mInternetUpdater.isAirplaneModeOn() && !mInternetUpdater.isWifiEnabled()) { return null; } return mContext.getText(R.string.settings_button); Loading @@ -162,19 +159,14 @@ public class InternetConnectivityPanel implements PanelContent, LifecycleObserve */ @Override public void onAirplaneModeChanged(boolean isAirplaneModeOn) { if (!isAirplaneModeOn) { mIsApmNetworksAvailable = false; } mIsAirplaneModeOn = isAirplaneModeOn; updatePanelTitle(); } /** * Called when airplane mode networks state is changed. * Called when Wi-Fi enabled is changed. */ @Override public void onAirplaneModeNetworksChanged(boolean available) { mIsApmNetworksAvailable = available; public void onWifiEnabledChanged(boolean enabled) { updatePanelTitle(); } Loading @@ -183,16 +175,14 @@ public class InternetConnectivityPanel implements PanelContent, LifecycleObserve return; } if (mIsAirplaneModeOn && !mIsApmNetworksAvailable) { // When the airplane mode is on. // Title: Internet // Sub-Title: Airplane mode is on // Settings button: Hide if (mInternetUpdater.isAirplaneModeOn() && mInternetUpdater.isWifiEnabled()) { // When the airplane mode is on and Wi-Fi is enabled. // Title: Airplane mode // Sub-Title: Wi-Fi is turned on mCallback.onHeaderChanged(); } else { // Except for airplane mode on. // Title: Airplane mode networks / Internet // Settings button: Show // Other situations. // Title: Airplane mode / Internet mCallback.onTitleChanged(); } mCallback.onCustomizedButtonStateChanged(); Loading tests/unit/src/com/android/settings/panel/InternetConnectivityPanelTest.java +87 −51 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.settings.panel; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.clearInvocations; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; Loading @@ -29,6 +30,7 @@ import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; import com.android.settings.network.AirplaneModePreferenceController; import com.android.settings.network.InternetUpdater; import com.android.settings.slices.CustomSliceRegistry; import com.android.settings.testutils.ResourcesUtils; Loading @@ -47,10 +49,10 @@ public class InternetConnectivityPanelTest { public static final String TITLE_INTERNET = ResourcesUtils.getResourcesString( ApplicationProvider.getApplicationContext(), "provider_internet_settings"); public static final String TITLE_APM_NETWORKS = ResourcesUtils.getResourcesString( ApplicationProvider.getApplicationContext(), "airplane_mode_network_panel_title"); public static final String SUBTITLE_APM_IS_ON = ResourcesUtils.getResourcesString( ApplicationProvider.getApplicationContext(), "condition_airplane_title"); public static final String TITLE_APM = ResourcesUtils.getResourcesString( ApplicationProvider.getApplicationContext(), "airplane_mode"); public static final String SUBTITLE_WIFI_IS_TURNED_ON = ResourcesUtils.getResourcesString( ApplicationProvider.getApplicationContext(), "wifi_is_turned_on_subtitle"); public static final String BUTTON_SETTINGS = ResourcesUtils.getResourcesString( ApplicationProvider.getApplicationContext(), "settings_button"); Loading @@ -58,6 +60,8 @@ public class InternetConnectivityPanelTest { public final MockitoRule mMocks = MockitoJUnit.rule(); @Mock PanelContentCallback mPanelContentCallback; @Mock InternetUpdater mInternetUpdater; private Context mContext; private InternetConnectivityPanel mPanel; Loading @@ -69,73 +73,65 @@ public class InternetConnectivityPanelTest { mPanel = InternetConnectivityPanel.create(mContext); mPanel.registerCallback(mPanelContentCallback); mPanel.mIsProviderModelEnabled = true; mPanel.mInternetUpdater = mInternetUpdater; } @Test public void getTitle_apmOnApmNetworksOff_shouldBeInternet() { mPanel.onAirplaneModeChanged(true); mPanel.onAirplaneModeNetworksChanged(false); public void getTitle_apmOff_shouldBeInternet() { doReturn(false).when(mInternetUpdater).isAirplaneModeOn(); assertThat(mPanel.getTitle()).isEqualTo(TITLE_INTERNET); } @Test public void getTitle_apmOnApmNetworksOn_shouldBeApmNetworks() { mPanel.onAirplaneModeChanged(true); mPanel.onAirplaneModeNetworksChanged(true); assertThat(mPanel.getTitle()).isEqualTo(TITLE_APM_NETWORKS); } @Test public void getTitle_notInternetApmNetworks_shouldBeInternet() { mPanel.onAirplaneModeNetworksChanged(false); public void getTitle_apmOn_shouldBeApm() { doReturn(true).when(mInternetUpdater).isAirplaneModeOn(); assertThat(mPanel.getTitle()).isEqualTo(TITLE_INTERNET); assertThat(mPanel.getTitle()).isEqualTo(TITLE_APM); } @Test public void getSubTitle_apmOnApmNetworksOff_shouldBeApmIsOn() { mPanel.onAirplaneModeChanged(true); mPanel.onAirplaneModeNetworksChanged(false); public void getSubTitle_apmOff_shouldBeNull() { doReturn(false).when(mInternetUpdater).isAirplaneModeOn(); assertThat(mPanel.getSubTitle()).isEqualTo(SUBTITLE_APM_IS_ON); assertThat(mPanel.getSubTitle()).isNull(); } @Test public void getSubTitle_apmOnApmNetworksOn_shouldBeNull() { mPanel.onAirplaneModeChanged(true); mPanel.onAirplaneModeNetworksChanged(true); public void getSubTitle_apmOnWifiOff_shouldBeNull() { doReturn(true).when(mInternetUpdater).isAirplaneModeOn(); doReturn(false).when(mInternetUpdater).isWifiEnabled(); assertThat(mPanel.getSubTitle()).isNull(); } @Test public void getSubTitle_apmOff_shouldBeNull() { mPanel.onAirplaneModeChanged(false); public void getSubTitle_apmOnWifiOn_shouldWifiIsTurnedOn() { doReturn(true).when(mInternetUpdater).isAirplaneModeOn(); doReturn(true).when(mInternetUpdater).isWifiEnabled(); assertThat(mPanel.getSubTitle()).isNull(); assertThat(mPanel.getSubTitle()).isEqualTo(SUBTITLE_WIFI_IS_TURNED_ON); } @Test public void getCustomizedButtonTitle_apmOnApmNetworksOff_shouldBeNull() { mPanel.onAirplaneModeChanged(true); mPanel.onAirplaneModeNetworksChanged(false); public void getCustomizedButtonTitle_apmOff_shouldBeSettings() { doReturn(false).when(mInternetUpdater).isAirplaneModeOn(); assertThat(mPanel.getCustomizedButtonTitle()).isNull(); assertThat(mPanel.getCustomizedButtonTitle()).isEqualTo(BUTTON_SETTINGS); } @Test public void getCustomizedButtonTitle_apmOnApmNetworksOn_shouldBeSettings() { mPanel.onAirplaneModeChanged(true); mPanel.onAirplaneModeNetworksChanged(true); public void getCustomizedButtonTitle_apmOnWifiOff_shouldBeNull() { doReturn(true).when(mInternetUpdater).isAirplaneModeOn(); doReturn(false).when(mInternetUpdater).isWifiEnabled(); assertThat(mPanel.getCustomizedButtonTitle()).isEqualTo(BUTTON_SETTINGS); assertThat(mPanel.getCustomizedButtonTitle()).isNull(); } @Test public void getCustomizedButtonTitle_apmOff_shouldBeSettings() { mPanel.onAirplaneModeChanged(false); public void getCustomizedButtonTitle_apmOnWifiOn_shouldBeSettings() { doReturn(true).when(mInternetUpdater).isAirplaneModeOn(); doReturn(true).when(mInternetUpdater).isWifiEnabled(); assertThat(mPanel.getCustomizedButtonTitle()).isEqualTo(BUTTON_SETTINGS); } Loading Loading @@ -166,46 +162,86 @@ public class InternetConnectivityPanelTest { } @Test public void onAirplaneModeOn_apmNetworksOff_changeHeaderAndHideSettings() { mPanel.onAirplaneModeNetworksChanged(false); public void onAirplaneModeOn_apmOff_onTitleChanged() { doReturn(false).when(mInternetUpdater).isAirplaneModeOn(); clearInvocations(mPanelContentCallback); mPanel.onAirplaneModeChanged(false); verify(mPanelContentCallback).onTitleChanged(); } @Test public void onAirplaneModeOn_apmOnWifiOff_onTitleChanged() { doReturn(true).when(mInternetUpdater).isAirplaneModeOn(); doReturn(false).when(mInternetUpdater).isWifiEnabled(); clearInvocations(mPanelContentCallback); mPanel.onAirplaneModeChanged(true); verify(mPanelContentCallback).onTitleChanged(); } @Test public void onAirplaneModeOn_apmOnWifiOn_onHeaderChanged() { doReturn(true).when(mInternetUpdater).isAirplaneModeOn(); doReturn(true).when(mInternetUpdater).isWifiEnabled(); clearInvocations(mPanelContentCallback); mPanel.onAirplaneModeChanged(true); verify(mPanelContentCallback).onHeaderChanged(); verify(mPanelContentCallback).onCustomizedButtonStateChanged(); } @Test public void onAirplaneModeOn_apmNetworksOn_changeTitleAndShowSettings() { mPanel.onAirplaneModeNetworksChanged(true); public void onAirplaneModeOn_onCustomizedButtonStateChanged() { doReturn(true).when(mInternetUpdater).isAirplaneModeOn(); clearInvocations(mPanelContentCallback); mPanel.onAirplaneModeChanged(true); verify(mPanelContentCallback).onTitleChanged(); verify(mPanelContentCallback).onCustomizedButtonStateChanged(); } @Test public void onAirplaneModeNetworksOn_apmOff_changeTitleAndShowSettings() { mPanel.onAirplaneModeChanged(false); public void onWifiEnabledChanged_apmOff_onTitleChanged() { doReturn(false).when(mInternetUpdater).isAirplaneModeOn(); clearInvocations(mPanelContentCallback); mPanel.onAirplaneModeNetworksChanged(true); mPanel.onWifiEnabledChanged(false); verify(mPanelContentCallback).onTitleChanged(); verify(mPanelContentCallback).onCustomizedButtonStateChanged(); } @Test public void onAirplaneModeNetworksOff_apmOff_changeTitleAndShowSettings() { mPanel.onAirplaneModeChanged(false); public void onWifiEnabledChanged_apmOnWifiOff_onTitleChanged() { doReturn(true).when(mInternetUpdater).isAirplaneModeOn(); doReturn(false).when(mInternetUpdater).isWifiEnabled(); clearInvocations(mPanelContentCallback); mPanel.onAirplaneModeNetworksChanged(false); mPanel.onWifiEnabledChanged(true); verify(mPanelContentCallback).onTitleChanged(); } @Test public void onWifiEnabledChanged_apmOnWifiOn_onHeaderChanged() { doReturn(true).when(mInternetUpdater).isAirplaneModeOn(); doReturn(true).when(mInternetUpdater).isWifiEnabled(); clearInvocations(mPanelContentCallback); mPanel.onWifiEnabledChanged(true); verify(mPanelContentCallback).onHeaderChanged(); } @Test public void onWifiEnabledChanged_onCustomizedButtonStateChanged() { doReturn(true).when(mInternetUpdater).isWifiEnabled(); clearInvocations(mPanelContentCallback); mPanel.onWifiEnabledChanged(true); verify(mPanelContentCallback).onCustomizedButtonStateChanged(); } } Loading
res/values/strings.xml +2 −4 Original line number Diff line number Diff line Loading @@ -12727,12 +12727,10 @@ <string name="resetting_internet_text">Resetting your internet\u2026</string> <!-- Menu option for data connectivity recovery for all requested technologies. [CHAR_LIMIT=NONE] --> <string name="fix_connectivity">Fix connectivity</string> <!-- Summary for airplane mode networks available. [CHAR LIMIT=60] --> <string name="airplane_mode_network_available">Airplane mode networks available</string> <!-- Summary for warning to disconnect ethernet first then switch to other networks. [CHAR LIMIT=60] --> <string name="to_switch_networks_disconnect_ethernet">To switch networks, disconnect ethernet</string> <!-- Title for airplane mode network panel. [CHAR LIMIT=60] --> <string name="airplane_mode_network_panel_title">Airplane mode networks</string> <!-- Panel subtitle for Wi-Fi turned on. [CHAR LIMIT=60] --> <string name="wifi_is_turned_on_subtitle">Wi\u2011Fi is turned on</string> <!-- Summary text separator for preferences including a short description (eg. "Connected / 5G"). [CHAR LIMIT=50] -->
src/com/android/settings/network/InternetPreferenceController.java +0 −6 Original line number Diff line number Diff line Loading @@ -124,12 +124,6 @@ public class InternetPreferenceController extends AbstractPreferenceController i return; } if (mInternetType == INTERNET_NETWORKS_AVAILABLE && mInternetUpdater.isApmNetworksAvailable()) { mPreference.setSummary(R.string.airplane_mode_network_available); return; } final @IdRes int summary = sSummaryMap.get(mInternetType); if (summary != 0) { mPreference.setSummary(summary); Loading
src/com/android/settings/network/InternetUpdater.java +7 −9 Original line number Diff line number Diff line Loading @@ -73,9 +73,9 @@ public class InternetUpdater implements AirplaneModeEnabler.OnAirplaneModeChange default void onAirplaneModeChanged(boolean isAirplaneModeOn) {}; /** * Called when airplane mode networks state is changed. * Called when Wi-Fi enabled is changed. */ default void onAirplaneModeNetworksChanged(boolean available) {}; default void onWifiEnabledChanged(boolean enabled) {}; } /** Loading Loading @@ -157,9 +157,8 @@ public class InternetUpdater implements AirplaneModeEnabler.OnAirplaneModeChange @Override public void onReceive(Context context, Intent intent) { fetchActiveNetwork(); if (mListener != null && mAirplaneModeEnabler.isAirplaneModeOn()) { mListener.onAirplaneModeNetworksChanged( mWifiManager.getWifiState() == WifiManager.WIFI_STATE_ENABLED); if (mListener != null) { mListener.onWifiEnabledChanged(mWifiManager.isWifiEnabled()); } } }; Loading Loading @@ -272,10 +271,9 @@ public class InternetUpdater implements AirplaneModeEnabler.OnAirplaneModeChange } /** * Return ture when the APM networks is available. * Return ture when the Wi-Fi is enabled. */ public boolean isApmNetworksAvailable() { return mAirplaneModeEnabler.isAirplaneModeOn() && (mWifiManager.getWifiState() == WifiManager.WIFI_STATE_ENABLED); public boolean isWifiEnabled() { return mWifiManager.isWifiEnabled(); } }
src/com/android/settings/panel/InternetConnectivityPanel.java +16 −26 Original line number Diff line number Diff line Loading @@ -50,9 +50,8 @@ public class InternetConnectivityPanel implements PanelContent, LifecycleObserve @VisibleForTesting boolean mIsProviderModelEnabled; private PanelContentCallback mCallback; private InternetUpdater mInternetUpdater; private boolean mIsAirplaneModeOn; private boolean mIsApmNetworksAvailable; @VisibleForTesting InternetUpdater mInternetUpdater; public static InternetConnectivityPanel create(Context context) { return new InternetConnectivityPanel(context); Loading @@ -62,8 +61,6 @@ public class InternetConnectivityPanel implements PanelContent, LifecycleObserve mContext = context.getApplicationContext(); mIsProviderModelEnabled = Utils.isProviderModelEnabled(mContext); mInternetUpdater = new InternetUpdater(context, null /* Lifecycle */, this); mIsAirplaneModeOn = mInternetUpdater.isAirplaneModeOn(); mIsApmNetworksAvailable = mInternetUpdater.isApmNetworksAvailable(); } /** @OnLifecycleEvent(ON_RESUME) */ Loading @@ -90,9 +87,8 @@ public class InternetConnectivityPanel implements PanelContent, LifecycleObserve @Override public CharSequence getTitle() { if (mIsProviderModelEnabled) { return mContext.getText(mIsApmNetworksAvailable ? R.string.airplane_mode_network_panel_title : R.string.provider_internet_settings); return mContext.getText(mInternetUpdater.isAirplaneModeOn() ? R.string.airplane_mode : R.string.provider_internet_settings); } return mContext.getText(R.string.internet_connectivity_panel_title); } Loading @@ -102,8 +98,9 @@ public class InternetConnectivityPanel implements PanelContent, LifecycleObserve */ @Override public CharSequence getSubTitle() { if (mIsProviderModelEnabled && mIsAirplaneModeOn && !mIsApmNetworksAvailable) { return mContext.getText(R.string.condition_airplane_title); if (mIsProviderModelEnabled && mInternetUpdater.isAirplaneModeOn() && mInternetUpdater.isWifiEnabled()) { return mContext.getText(R.string.wifi_is_turned_on_subtitle); } return null; } Loading Loading @@ -136,7 +133,7 @@ public class InternetConnectivityPanel implements PanelContent, LifecycleObserve @Override public CharSequence getCustomizedButtonTitle() { if (mIsAirplaneModeOn && !mIsApmNetworksAvailable) { if (mInternetUpdater.isAirplaneModeOn() && !mInternetUpdater.isWifiEnabled()) { return null; } return mContext.getText(R.string.settings_button); Loading @@ -162,19 +159,14 @@ public class InternetConnectivityPanel implements PanelContent, LifecycleObserve */ @Override public void onAirplaneModeChanged(boolean isAirplaneModeOn) { if (!isAirplaneModeOn) { mIsApmNetworksAvailable = false; } mIsAirplaneModeOn = isAirplaneModeOn; updatePanelTitle(); } /** * Called when airplane mode networks state is changed. * Called when Wi-Fi enabled is changed. */ @Override public void onAirplaneModeNetworksChanged(boolean available) { mIsApmNetworksAvailable = available; public void onWifiEnabledChanged(boolean enabled) { updatePanelTitle(); } Loading @@ -183,16 +175,14 @@ public class InternetConnectivityPanel implements PanelContent, LifecycleObserve return; } if (mIsAirplaneModeOn && !mIsApmNetworksAvailable) { // When the airplane mode is on. // Title: Internet // Sub-Title: Airplane mode is on // Settings button: Hide if (mInternetUpdater.isAirplaneModeOn() && mInternetUpdater.isWifiEnabled()) { // When the airplane mode is on and Wi-Fi is enabled. // Title: Airplane mode // Sub-Title: Wi-Fi is turned on mCallback.onHeaderChanged(); } else { // Except for airplane mode on. // Title: Airplane mode networks / Internet // Settings button: Show // Other situations. // Title: Airplane mode / Internet mCallback.onTitleChanged(); } mCallback.onCustomizedButtonStateChanged(); Loading
tests/unit/src/com/android/settings/panel/InternetConnectivityPanelTest.java +87 −51 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.settings.panel; import static com.google.common.truth.Truth.assertThat; import static org.mockito.Mockito.clearInvocations; import static org.mockito.Mockito.doReturn; import static org.mockito.Mockito.spy; import static org.mockito.Mockito.verify; Loading @@ -29,6 +30,7 @@ import androidx.test.core.app.ApplicationProvider; import androidx.test.ext.junit.runners.AndroidJUnit4; import com.android.settings.network.AirplaneModePreferenceController; import com.android.settings.network.InternetUpdater; import com.android.settings.slices.CustomSliceRegistry; import com.android.settings.testutils.ResourcesUtils; Loading @@ -47,10 +49,10 @@ public class InternetConnectivityPanelTest { public static final String TITLE_INTERNET = ResourcesUtils.getResourcesString( ApplicationProvider.getApplicationContext(), "provider_internet_settings"); public static final String TITLE_APM_NETWORKS = ResourcesUtils.getResourcesString( ApplicationProvider.getApplicationContext(), "airplane_mode_network_panel_title"); public static final String SUBTITLE_APM_IS_ON = ResourcesUtils.getResourcesString( ApplicationProvider.getApplicationContext(), "condition_airplane_title"); public static final String TITLE_APM = ResourcesUtils.getResourcesString( ApplicationProvider.getApplicationContext(), "airplane_mode"); public static final String SUBTITLE_WIFI_IS_TURNED_ON = ResourcesUtils.getResourcesString( ApplicationProvider.getApplicationContext(), "wifi_is_turned_on_subtitle"); public static final String BUTTON_SETTINGS = ResourcesUtils.getResourcesString( ApplicationProvider.getApplicationContext(), "settings_button"); Loading @@ -58,6 +60,8 @@ public class InternetConnectivityPanelTest { public final MockitoRule mMocks = MockitoJUnit.rule(); @Mock PanelContentCallback mPanelContentCallback; @Mock InternetUpdater mInternetUpdater; private Context mContext; private InternetConnectivityPanel mPanel; Loading @@ -69,73 +73,65 @@ public class InternetConnectivityPanelTest { mPanel = InternetConnectivityPanel.create(mContext); mPanel.registerCallback(mPanelContentCallback); mPanel.mIsProviderModelEnabled = true; mPanel.mInternetUpdater = mInternetUpdater; } @Test public void getTitle_apmOnApmNetworksOff_shouldBeInternet() { mPanel.onAirplaneModeChanged(true); mPanel.onAirplaneModeNetworksChanged(false); public void getTitle_apmOff_shouldBeInternet() { doReturn(false).when(mInternetUpdater).isAirplaneModeOn(); assertThat(mPanel.getTitle()).isEqualTo(TITLE_INTERNET); } @Test public void getTitle_apmOnApmNetworksOn_shouldBeApmNetworks() { mPanel.onAirplaneModeChanged(true); mPanel.onAirplaneModeNetworksChanged(true); assertThat(mPanel.getTitle()).isEqualTo(TITLE_APM_NETWORKS); } @Test public void getTitle_notInternetApmNetworks_shouldBeInternet() { mPanel.onAirplaneModeNetworksChanged(false); public void getTitle_apmOn_shouldBeApm() { doReturn(true).when(mInternetUpdater).isAirplaneModeOn(); assertThat(mPanel.getTitle()).isEqualTo(TITLE_INTERNET); assertThat(mPanel.getTitle()).isEqualTo(TITLE_APM); } @Test public void getSubTitle_apmOnApmNetworksOff_shouldBeApmIsOn() { mPanel.onAirplaneModeChanged(true); mPanel.onAirplaneModeNetworksChanged(false); public void getSubTitle_apmOff_shouldBeNull() { doReturn(false).when(mInternetUpdater).isAirplaneModeOn(); assertThat(mPanel.getSubTitle()).isEqualTo(SUBTITLE_APM_IS_ON); assertThat(mPanel.getSubTitle()).isNull(); } @Test public void getSubTitle_apmOnApmNetworksOn_shouldBeNull() { mPanel.onAirplaneModeChanged(true); mPanel.onAirplaneModeNetworksChanged(true); public void getSubTitle_apmOnWifiOff_shouldBeNull() { doReturn(true).when(mInternetUpdater).isAirplaneModeOn(); doReturn(false).when(mInternetUpdater).isWifiEnabled(); assertThat(mPanel.getSubTitle()).isNull(); } @Test public void getSubTitle_apmOff_shouldBeNull() { mPanel.onAirplaneModeChanged(false); public void getSubTitle_apmOnWifiOn_shouldWifiIsTurnedOn() { doReturn(true).when(mInternetUpdater).isAirplaneModeOn(); doReturn(true).when(mInternetUpdater).isWifiEnabled(); assertThat(mPanel.getSubTitle()).isNull(); assertThat(mPanel.getSubTitle()).isEqualTo(SUBTITLE_WIFI_IS_TURNED_ON); } @Test public void getCustomizedButtonTitle_apmOnApmNetworksOff_shouldBeNull() { mPanel.onAirplaneModeChanged(true); mPanel.onAirplaneModeNetworksChanged(false); public void getCustomizedButtonTitle_apmOff_shouldBeSettings() { doReturn(false).when(mInternetUpdater).isAirplaneModeOn(); assertThat(mPanel.getCustomizedButtonTitle()).isNull(); assertThat(mPanel.getCustomizedButtonTitle()).isEqualTo(BUTTON_SETTINGS); } @Test public void getCustomizedButtonTitle_apmOnApmNetworksOn_shouldBeSettings() { mPanel.onAirplaneModeChanged(true); mPanel.onAirplaneModeNetworksChanged(true); public void getCustomizedButtonTitle_apmOnWifiOff_shouldBeNull() { doReturn(true).when(mInternetUpdater).isAirplaneModeOn(); doReturn(false).when(mInternetUpdater).isWifiEnabled(); assertThat(mPanel.getCustomizedButtonTitle()).isEqualTo(BUTTON_SETTINGS); assertThat(mPanel.getCustomizedButtonTitle()).isNull(); } @Test public void getCustomizedButtonTitle_apmOff_shouldBeSettings() { mPanel.onAirplaneModeChanged(false); public void getCustomizedButtonTitle_apmOnWifiOn_shouldBeSettings() { doReturn(true).when(mInternetUpdater).isAirplaneModeOn(); doReturn(true).when(mInternetUpdater).isWifiEnabled(); assertThat(mPanel.getCustomizedButtonTitle()).isEqualTo(BUTTON_SETTINGS); } Loading Loading @@ -166,46 +162,86 @@ public class InternetConnectivityPanelTest { } @Test public void onAirplaneModeOn_apmNetworksOff_changeHeaderAndHideSettings() { mPanel.onAirplaneModeNetworksChanged(false); public void onAirplaneModeOn_apmOff_onTitleChanged() { doReturn(false).when(mInternetUpdater).isAirplaneModeOn(); clearInvocations(mPanelContentCallback); mPanel.onAirplaneModeChanged(false); verify(mPanelContentCallback).onTitleChanged(); } @Test public void onAirplaneModeOn_apmOnWifiOff_onTitleChanged() { doReturn(true).when(mInternetUpdater).isAirplaneModeOn(); doReturn(false).when(mInternetUpdater).isWifiEnabled(); clearInvocations(mPanelContentCallback); mPanel.onAirplaneModeChanged(true); verify(mPanelContentCallback).onTitleChanged(); } @Test public void onAirplaneModeOn_apmOnWifiOn_onHeaderChanged() { doReturn(true).when(mInternetUpdater).isAirplaneModeOn(); doReturn(true).when(mInternetUpdater).isWifiEnabled(); clearInvocations(mPanelContentCallback); mPanel.onAirplaneModeChanged(true); verify(mPanelContentCallback).onHeaderChanged(); verify(mPanelContentCallback).onCustomizedButtonStateChanged(); } @Test public void onAirplaneModeOn_apmNetworksOn_changeTitleAndShowSettings() { mPanel.onAirplaneModeNetworksChanged(true); public void onAirplaneModeOn_onCustomizedButtonStateChanged() { doReturn(true).when(mInternetUpdater).isAirplaneModeOn(); clearInvocations(mPanelContentCallback); mPanel.onAirplaneModeChanged(true); verify(mPanelContentCallback).onTitleChanged(); verify(mPanelContentCallback).onCustomizedButtonStateChanged(); } @Test public void onAirplaneModeNetworksOn_apmOff_changeTitleAndShowSettings() { mPanel.onAirplaneModeChanged(false); public void onWifiEnabledChanged_apmOff_onTitleChanged() { doReturn(false).when(mInternetUpdater).isAirplaneModeOn(); clearInvocations(mPanelContentCallback); mPanel.onAirplaneModeNetworksChanged(true); mPanel.onWifiEnabledChanged(false); verify(mPanelContentCallback).onTitleChanged(); verify(mPanelContentCallback).onCustomizedButtonStateChanged(); } @Test public void onAirplaneModeNetworksOff_apmOff_changeTitleAndShowSettings() { mPanel.onAirplaneModeChanged(false); public void onWifiEnabledChanged_apmOnWifiOff_onTitleChanged() { doReturn(true).when(mInternetUpdater).isAirplaneModeOn(); doReturn(false).when(mInternetUpdater).isWifiEnabled(); clearInvocations(mPanelContentCallback); mPanel.onAirplaneModeNetworksChanged(false); mPanel.onWifiEnabledChanged(true); verify(mPanelContentCallback).onTitleChanged(); } @Test public void onWifiEnabledChanged_apmOnWifiOn_onHeaderChanged() { doReturn(true).when(mInternetUpdater).isAirplaneModeOn(); doReturn(true).when(mInternetUpdater).isWifiEnabled(); clearInvocations(mPanelContentCallback); mPanel.onWifiEnabledChanged(true); verify(mPanelContentCallback).onHeaderChanged(); } @Test public void onWifiEnabledChanged_onCustomizedButtonStateChanged() { doReturn(true).when(mInternetUpdater).isWifiEnabled(); clearInvocations(mPanelContentCallback); mPanel.onWifiEnabledChanged(true); verify(mPanelContentCallback).onCustomizedButtonStateChanged(); } }