diff --git a/res/xml/app_notification_settings.xml b/res/xml/app_notification_settings.xml index 2e70c4438ed..a801ae17980 100644 --- a/res/xml/app_notification_settings.xml +++ b/res/xml/app_notification_settings.xml @@ -16,7 +16,8 @@ + android:key="app_notifications" + android:title="@string/notifications_title"> { boolean value = (Boolean) o; - int importance = value ? channel.getOriginalImportance() : IMPORTANCE_NONE; + int importance = value + ? Math.max(channel.getOriginalImportance(), IMPORTANCE_LOW) + : IMPORTANCE_NONE; channel.setImportance(importance); channel.lockFields(NotificationChannel.USER_LOCKED_IMPORTANCE); PrimarySwitchPreference channelPref1 = (PrimarySwitchPreference) preference; diff --git a/tests/unit/src/com/android/settings/network/ProviderModelSliceTest.java b/tests/unit/src/com/android/settings/network/ProviderModelSliceTest.java index fcca1c2ffd2..9f70bcf9ba0 100644 --- a/tests/unit/src/com/android/settings/network/ProviderModelSliceTest.java +++ b/tests/unit/src/com/android/settings/network/ProviderModelSliceTest.java @@ -262,6 +262,30 @@ public class ProviderModelSliceTest { verify(mListBuilder, times(2)).addRow(any(ListBuilder.RowBuilder.class)); } + @Test + @UiThreadTest + public void getSlice_connectedEthernet_getOneEthernetAndOneCarrierAndTwoWiFi() { + mWifiList.clear(); + mockWifiItemCondition(mMockWifiSliceItem1, "wifi1", "wifi1", + WifiEntry.CONNECTED_STATE_DISCONNECTED, "wifi1_key", true); + mWifiList.add(mMockWifiSliceItem1); + mockWifiItemCondition(mMockWifiSliceItem2, "wifi2", "wifi2", + WifiEntry.CONNECTED_STATE_DISCONNECTED, "wifi2_key", true); + mWifiList.add(mMockWifiSliceItem2); + mMockNetworkProviderWorker.updateSelfResults(mWifiList); + when(mProviderModelSliceHelper.isAirplaneModeEnabled()).thenReturn(false); + when(mProviderModelSliceHelper.hasCarrier()).thenReturn(true); + when(mProviderModelSliceHelper.isDataSimActive()).thenReturn(true); + when(mMockNetworkProviderWorker.isEthernetConnected()).thenReturn(true); + + final Slice slice = mMockProviderModelSlice.getSlice(); + + assertThat(slice).isNotNull(); + assertThat(mMockProviderModelSlice.hasCreateEthernetRow()).isTrue(); + verify(mListBuilder, times(1)).addRow(mMockCarrierRowBuild); + verify(mListBuilder, times(4)).addRow(any(ListBuilder.RowBuilder.class)); + } + @Test public void providerModelSlice_hasCorrectUri() { assertThat(mMockProviderModelSlice.getUri()).isEqualTo(PROVIDER_MODEL_SLICE_URI); @@ -333,6 +357,7 @@ public class ProviderModelSliceTest { public class MockProviderModelSlice extends ProviderModelSlice { private MockNetworkProviderWorker mNetworkProviderWorker; + private boolean mHasCreateEthernetRow; MockProviderModelSlice(Context context, MockNetworkProviderWorker networkProviderWorker) { super(context); @@ -348,6 +373,16 @@ public class ProviderModelSliceTest { NetworkProviderWorker getWorker() { return mNetworkProviderWorker; } + + @Override + ListBuilder.RowBuilder createEthernetRow() { + mHasCreateEthernetRow = true; + return super.createEthernetRow(); + } + + public boolean hasCreateEthernetRow() { + return mHasCreateEthernetRow; + } } @Test diff --git a/tests/unit/src/com/android/settings/network/telephony/NetworkProviderWorkerTest.java b/tests/unit/src/com/android/settings/network/telephony/NetworkProviderWorkerTest.java index a48a62a38a5..1905e444ce0 100644 --- a/tests/unit/src/com/android/settings/network/telephony/NetworkProviderWorkerTest.java +++ b/tests/unit/src/com/android/settings/network/telephony/NetworkProviderWorkerTest.java @@ -16,6 +16,9 @@ package com.android.settings.network.telephony; +import static com.android.settings.network.InternetUpdater.INTERNET_CELLULAR; +import static com.android.settings.network.InternetUpdater.INTERNET_ETHERNET; +import static com.android.settings.network.InternetUpdater.INTERNET_WIFI; import static com.android.settings.slices.CustomSliceRegistry.PROVIDER_MODEL_SLICE_URI; import static com.google.common.truth.Truth.assertThat; @@ -225,6 +228,47 @@ public class NetworkProviderWorkerTest { assertThat(mMockNetworkProviderWorker.hasNotification()).isTrue(); } + @Test + public void onInternetTypeChanged_connectedFromWifiToEthernet_callUpdateSlice() { + mMockNetworkProviderWorker.receiveNotification(false); + mMockNetworkProviderWorker.onInternetTypeChanged(INTERNET_WIFI); + + mMockNetworkProviderWorker.onInternetTypeChanged(INTERNET_ETHERNET); + + assertThat(mMockNetworkProviderWorker.hasNotification()).isTrue(); + } + + @Test + public void onInternetTypeChanged_connectedFromEthernetToCarrier_callUpdateSlice() { + mMockNetworkProviderWorker.receiveNotification(false); + mMockNetworkProviderWorker.onInternetTypeChanged(INTERNET_ETHERNET); + + mMockNetworkProviderWorker.onInternetTypeChanged(INTERNET_CELLULAR); + + assertThat(mMockNetworkProviderWorker.hasNotification()).isTrue(); + } + + @Test + public void isEthernetConnected_connectedEthernet_shouldBeTrue() { + mMockNetworkProviderWorker.onInternetTypeChanged(INTERNET_ETHERNET); + + assertThat(mMockNetworkProviderWorker.isEthernetConnected()).isTrue(); + } + + @Test + public void isEthernetConnected_connectedWifi_shouldBeFalse() { + mMockNetworkProviderWorker.onInternetTypeChanged(INTERNET_WIFI); + + assertThat(mMockNetworkProviderWorker.isEthernetConnected()).isFalse(); + } + + @Test + public void isEthernetConnected_connectedCarrier_shouldBeFalse() { + mMockNetworkProviderWorker.onInternetTypeChanged(INTERNET_CELLULAR); + + assertThat(mMockNetworkProviderWorker.isEthernetConnected()).isFalse(); + } + public class MockNetworkProviderWorker extends NetworkProviderWorker { private boolean mHasNotification = false; private int mDefaultDataSubId = 1;