wifiScanResults = mWifiManager.getScanResults();
- if (wifiScanResults != null && wifiScanResults.size() > 0) {
- mHandlerInjector.postDelay(mHideProgressBarRunnable);
- } else if (!mIsScanningSubTitleShownOnce) {
- mHandlerInjector.postDelay(mHideScanningSubTitleRunnable);
- }
- }
-
- protected void setProgressBarVisible(boolean visible) {
- if (mIsProgressBarVisible == visible) {
- return;
- }
- mIsProgressBarVisible = visible;
-
- if (mCallback == null) {
- return;
- }
- mCallback.onProgressBarVisibleChanged();
- updatePanelTitle();
- }
-
- private class NetworkProviderTelephonyCallback extends TelephonyCallback implements
- TelephonyCallback.DataConnectionStateListener,
- TelephonyCallback.ServiceStateListener {
- @Override
- public void onServiceStateChanged(ServiceState state) {
- log("onServiceStateChanged voiceState=" + state.getState()
- + " dataState=" + state.getDataRegistrationState());
- updatePanelTitle();
- }
-
- @Override
- public void onDataConnectionStateChanged(int state, int networkType) {
- log("onDataConnectionStateChanged: networkType=" + networkType + " state=" + state);
- updatePanelTitle();
- }
- }
-
- private static void log(String s) {
- Log.d(TAG, s);
- }
-}
diff --git a/src/com/android/settings/panel/PanelFeatureProviderImpl.java b/src/com/android/settings/panel/PanelFeatureProviderImpl.java
index ca30952a72d..a73881b4cc1 100644
--- a/src/com/android/settings/panel/PanelFeatureProviderImpl.java
+++ b/src/com/android/settings/panel/PanelFeatureProviderImpl.java
@@ -17,11 +17,14 @@
package com.android.settings.panel;
import android.content.Context;
+import android.content.Intent;
import android.os.Bundle;
import android.provider.Settings;
public class PanelFeatureProviderImpl implements PanelFeatureProvider {
+ private static final String SYSTEMUI_PACKAGE_NAME = "com.android.systemui";
+
@Override
public PanelContent getPanel(Context context, Bundle bundle) {
if (context == null) {
@@ -35,7 +38,12 @@ public class PanelFeatureProviderImpl implements PanelFeatureProvider {
switch (panelType) {
case Settings.Panel.ACTION_INTERNET_CONNECTIVITY:
- return InternetConnectivityPanel.create(context);
+ // Redirect to the internet dialog in SystemUI.
+ Intent intent = new Intent(Settings.Panel.ACTION_INTERNET_CONNECTIVITY);
+ intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND)
+ .setPackage(SYSTEMUI_PACKAGE_NAME);
+ context.sendBroadcast(intent);
+ return null;
case Settings.Panel.ACTION_NFC:
return NfcPanel.create(context);
case Settings.Panel.ACTION_WIFI:
diff --git a/src/com/android/settings/wifi/ConfigureWifiEntryFragment.java b/src/com/android/settings/wifi/ConfigureWifiEntryFragment.java
index d2f50903698..469ca1dd9e7 100644
--- a/src/com/android/settings/wifi/ConfigureWifiEntryFragment.java
+++ b/src/com/android/settings/wifi/ConfigureWifiEntryFragment.java
@@ -38,7 +38,7 @@ import androidx.annotation.VisibleForTesting;
import com.android.settings.R;
import com.android.settings.core.InstrumentedFragment;
import com.android.settings.overlay.FeatureFactory;
-import com.android.settings.wifi.details2.WifiNetworkDetailsFragment2;
+import com.android.settings.wifi.details.WifiNetworkDetailsFragment;
import com.android.wifitrackerlib.NetworkDetailsTracker;
import com.android.wifitrackerlib.WifiEntry;
@@ -238,6 +238,6 @@ public class ConfigureWifiEntryFragment extends InstrumentedFragment implements
MAX_SCAN_AGE_MILLIS,
SCAN_INTERVAL_MILLIS,
getArguments().getString(
- WifiNetworkDetailsFragment2.KEY_CHOSEN_WIFIENTRY_KEY));
+ WifiNetworkDetailsFragment.KEY_CHOSEN_WIFIENTRY_KEY));
}
}
diff --git a/src/com/android/settings/wifi/WifiConnectionPreferenceController.java b/src/com/android/settings/wifi/WifiConnectionPreferenceController.java
index 3b2669cefda..fc2f8f15415 100644
--- a/src/com/android/settings/wifi/WifiConnectionPreferenceController.java
+++ b/src/com/android/settings/wifi/WifiConnectionPreferenceController.java
@@ -34,7 +34,7 @@ import androidx.preference.PreferenceScreen;
import com.android.settings.R;
import com.android.settings.core.SubSettingLauncher;
import com.android.settings.overlay.FeatureFactory;
-import com.android.settings.wifi.details2.WifiNetworkDetailsFragment2;
+import com.android.settings.wifi.details.WifiNetworkDetailsFragment;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.wifi.WifiEntryPreference;
@@ -165,11 +165,11 @@ public class WifiConnectionPreferenceController extends AbstractPreferenceContro
mPreference.setOrder(order);
mPreference.setOnPreferenceClickListener(pref -> {
final Bundle args = new Bundle();
- args.putString(WifiNetworkDetailsFragment2.KEY_CHOSEN_WIFIENTRY_KEY,
+ args.putString(WifiNetworkDetailsFragment.KEY_CHOSEN_WIFIENTRY_KEY,
wifiEntry.getKey());
new SubSettingLauncher(mPrefContext)
.setTitleRes(R.string.pref_title_network_details)
- .setDestination(WifiNetworkDetailsFragment2.class.getName())
+ .setDestination(WifiNetworkDetailsFragment.class.getName())
.setArguments(args)
.setSourceMetricsCategory(mMetricsCategory)
.launch();
diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java
index 59f65041c6e..c4b4d5928d1 100644
--- a/src/com/android/settings/wifi/WifiSettings.java
+++ b/src/com/android/settings/wifi/WifiSettings.java
@@ -67,7 +67,7 @@ import com.android.settings.location.WifiScanningFragment;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.widget.MainSwitchBarController;
-import com.android.settings.wifi.details2.WifiNetworkDetailsFragment2;
+import com.android.settings.wifi.details.WifiNetworkDetailsFragment;
import com.android.settings.wifi.dpp.WifiDppUtils;
import com.android.settingslib.HelpUtils;
import com.android.settingslib.RestrictedLockUtils;
@@ -844,11 +844,11 @@ public class WifiSettings extends RestrictedSettingsFragment
: context.getText(R.string.pref_title_network_details);
final Bundle bundle = new Bundle();
- bundle.putString(WifiNetworkDetailsFragment2.KEY_CHOSEN_WIFIENTRY_KEY, wifiEntry.getKey());
+ bundle.putString(WifiNetworkDetailsFragment.KEY_CHOSEN_WIFIENTRY_KEY, wifiEntry.getKey());
new SubSettingLauncher(context)
.setTitleText(title)
- .setDestination(WifiNetworkDetailsFragment2.class.getName())
+ .setDestination(WifiNetworkDetailsFragment.class.getName())
.setArguments(bundle)
.setSourceMetricsCategory(getMetricsCategory())
.launch();
@@ -1121,7 +1121,7 @@ public class WifiSettings extends RestrictedSettingsFragment
private void launchConfigNewNetworkFragment(WifiEntry wifiEntry) {
final Bundle bundle = new Bundle();
- bundle.putString(WifiNetworkDetailsFragment2.KEY_CHOSEN_WIFIENTRY_KEY,
+ bundle.putString(WifiNetworkDetailsFragment.KEY_CHOSEN_WIFIENTRY_KEY,
wifiEntry.getKey());
new SubSettingLauncher(getContext())
.setTitleText(wifiEntry.getTitle())
diff --git a/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2.java b/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java
similarity index 93%
rename from src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2.java
rename to src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java
index 6bc510d6b16..dd0c20a4765 100644
--- a/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2.java
+++ b/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2019 The Android Open Source Project
+ * Copyright (C) 2021 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -13,7 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package com.android.settings.wifi.details2;
+package com.android.settings.wifi.details;
import static com.android.settings.wifi.WifiSettings.WIFI_DIALOG_ID;
@@ -45,6 +45,13 @@ import com.android.settings.dashboard.RestrictedDashboardFragment;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.wifi.WifiConfigUiBase2;
import com.android.settings.wifi.WifiDialog2;
+import com.android.settings.wifi.details2.AddDevicePreferenceController2;
+import com.android.settings.wifi.details2.WifiAutoConnectPreferenceController2;
+import com.android.settings.wifi.details2.WifiDetailPreferenceController2;
+import com.android.settings.wifi.details2.WifiMeteredPreferenceController2;
+import com.android.settings.wifi.details2.WifiPrivacyPreferenceController2;
+import com.android.settings.wifi.details2.WifiSecondSummaryController2;
+import com.android.settings.wifi.details2.WifiSubscriptionDetailPreferenceController2;
import com.android.settingslib.RestrictedLockUtils;
import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
import com.android.settingslib.RestrictedLockUtilsInternal;
@@ -63,10 +70,10 @@ import java.util.List;
* The key of {@link WifiEntry} should be saved to the intent Extras when launching this class
* in order to properly render this page.
*/
-public class WifiNetworkDetailsFragment2 extends RestrictedDashboardFragment implements
+public class WifiNetworkDetailsFragment extends RestrictedDashboardFragment implements
WifiDialog2.WifiDialog2Listener {
- private static final String TAG = "WifiNetworkDetailsFrg2";
+ private static final String TAG = "WifiNetworkDetailsFrg";
// Key of a Bundle to save/restore the selected WifiEntry
public static final String KEY_CHOSEN_WIFIENTRY_KEY = "key_chosen_wifientry_key";
@@ -86,7 +93,7 @@ public class WifiNetworkDetailsFragment2 extends RestrictedDashboardFragment imp
@VisibleForTesting
List mControllers;
- public WifiNetworkDetailsFragment2() {
+ public WifiNetworkDetailsFragment() {
super(UserManager.DISALLOW_CONFIG_WIFI);
}
diff --git a/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java b/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java
index 7bf680da103..f9d0db07b25 100644
--- a/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java
+++ b/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java
@@ -76,6 +76,7 @@ import com.android.settings.widget.EntityHeaderController;
import com.android.settings.wifi.WifiDialog2;
import com.android.settings.wifi.WifiDialog2.WifiDialog2Listener;
import com.android.settings.wifi.WifiUtils;
+import com.android.settings.wifi.details.WifiNetworkDetailsFragment;
import com.android.settings.wifi.dpp.WifiDppUtils;
import com.android.settingslib.core.AbstractPreferenceController;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
@@ -1099,7 +1100,7 @@ public class WifiDetailPreferenceController2 extends AbstractPreferenceControlle
refreshPage();
// Refresh the Preferences in fragment.
- ((WifiNetworkDetailsFragment2) mFragment).refreshPreferences();
+ ((WifiNetworkDetailsFragment) mFragment).refreshPreferences();
}
/**
diff --git a/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsWifiSettings2.java b/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsWifiSettings2.java
index e579ad73dbb..1443e3247cf 100644
--- a/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsWifiSettings2.java
+++ b/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsWifiSettings2.java
@@ -39,7 +39,7 @@ import com.android.settings.R;
import com.android.settings.core.SubSettingLauncher;
import com.android.settings.dashboard.DashboardFragment;
import com.android.settings.wifi.WifiSettings;
-import com.android.settings.wifi.details2.WifiNetworkDetailsFragment2;
+import com.android.settings.wifi.details.WifiNetworkDetailsFragment;
import com.android.wifitrackerlib.SavedNetworkTracker;
import java.time.Clock;
@@ -126,7 +126,7 @@ public class SavedAccessPointsWifiSettings2 extends DashboardFragment
}
/**
- * Shows {@link WifiNetworkDetailsFragment2} for assigned key of {@link WifiEntry}.
+ * Shows {@link WifiNetworkDetailsFragment} for assigned key of {@link WifiEntry}.
*/
public void showWifiPage(@NonNull String key, CharSequence title) {
removeDialog(WifiSettings.WIFI_DIALOG_ID);
@@ -137,11 +137,11 @@ public class SavedAccessPointsWifiSettings2 extends DashboardFragment
}
final Bundle bundle = new Bundle();
- bundle.putString(WifiNetworkDetailsFragment2.KEY_CHOSEN_WIFIENTRY_KEY, key);
+ bundle.putString(WifiNetworkDetailsFragment.KEY_CHOSEN_WIFIENTRY_KEY, key);
new SubSettingLauncher(getContext())
.setTitleText(title)
- .setDestination(WifiNetworkDetailsFragment2.class.getName())
+ .setDestination(WifiNetworkDetailsFragment.class.getName())
.setArguments(bundle)
.setSourceMetricsCategory(getMetricsCategory())
.launch();
diff --git a/src/com/android/settings/wifi/slice/WifiSlice.java b/src/com/android/settings/wifi/slice/WifiSlice.java
index 75d2c669954..f6604dd6f6e 100644
--- a/src/com/android/settings/wifi/slice/WifiSlice.java
+++ b/src/com/android/settings/wifi/slice/WifiSlice.java
@@ -50,7 +50,7 @@ import com.android.settings.slices.SliceBuilderUtils;
import com.android.settings.wifi.WifiDialogActivity;
import com.android.settings.wifi.WifiSettings;
import com.android.settings.wifi.WifiUtils;
-import com.android.settings.wifi.details2.WifiNetworkDetailsFragment2;
+import com.android.settings.wifi.details.WifiNetworkDetailsFragment;
import com.android.wifitrackerlib.WifiEntry;
import java.util.Arrays;
@@ -200,11 +200,11 @@ public class WifiSlice implements CustomSliceable {
if (wifiSliceItem.getConnectedState() != WifiEntry.CONNECTED_STATE_DISCONNECTED) {
final Bundle bundle = new Bundle();
- bundle.putString(WifiNetworkDetailsFragment2.KEY_CHOSEN_WIFIENTRY_KEY,
+ bundle.putString(WifiNetworkDetailsFragment.KEY_CHOSEN_WIFIENTRY_KEY,
wifiSliceItem.getKey());
final Intent intent = new SubSettingLauncher(mContext)
.setTitleRes(R.string.pref_title_network_details)
- .setDestination(WifiNetworkDetailsFragment2.class.getName())
+ .setDestination(WifiNetworkDetailsFragment.class.getName())
.setArguments(bundle)
.setSourceMetricsCategory(SettingsEnums.WIFI)
.toIntent();
diff --git a/tests/robotests/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2Test.java b/tests/robotests/src/com/android/settings/wifi/details/WifiNetworkDetailsFragmentTest.java
similarity index 91%
rename from tests/robotests/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2Test.java
rename to tests/robotests/src/com/android/settings/wifi/details/WifiNetworkDetailsFragmentTest.java
index fdd6295ab65..4f742549f24 100644
--- a/tests/robotests/src/com/android/settings/wifi/details2/WifiNetworkDetailsFragment2Test.java
+++ b/tests/robotests/src/com/android/settings/wifi/details/WifiNetworkDetailsFragmentTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2020 The Android Open Source Project
+ * Copyright (C) 2021 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -14,7 +14,7 @@
* limitations under the License.
*/
-package com.android.settings.wifi.details2;
+package com.android.settings.wifi.details;
import static com.android.settings.wifi.WifiSettings.WIFI_DIALOG_ID;
@@ -54,9 +54,9 @@ import org.robolectric.RuntimeEnvironment;
import java.util.ArrayList;
@RunWith(RobolectricTestRunner.class)
-public class WifiNetworkDetailsFragment2Test {
+public class WifiNetworkDetailsFragmentTest {
- final String TEST_PREFERENCE_KEY = "TEST_PREFERENCE_KEY";
+ private static final String TEST_PREFERENCE_KEY = "TEST_PREFERENCE_KEY";
@Mock
WifiEntry mWifiEntry;
@@ -64,7 +64,7 @@ public class WifiNetworkDetailsFragment2Test {
NetworkDetailsTracker mNetworkDetailsTracker;
@Mock
Menu mMenu;
- private WifiNetworkDetailsFragment2 mFragment;
+ private WifiNetworkDetailsFragment mFragment;
@Before
public void setUp() {
@@ -72,7 +72,7 @@ public class WifiNetworkDetailsFragment2Test {
doReturn(mWifiEntry).when(mNetworkDetailsTracker).getWifiEntry();
doReturn(true).when(mWifiEntry).isSaved();
- mFragment = new WifiNetworkDetailsFragment2();
+ mFragment = new WifiNetworkDetailsFragment();
mFragment.mNetworkDetailsTracker = mNetworkDetailsTracker;
}
@@ -165,8 +165,8 @@ public class WifiNetworkDetailsFragment2Test {
verify(controller).displayPreference(screen);
}
- // Fake WifiNetworkDetailsFragment2 to override the protected method as public.
- public class FakeFragment extends WifiNetworkDetailsFragment2 {
+ // Fake WifiNetworkDetailsFragment to override the protected method as public.
+ public static class FakeFragment extends WifiNetworkDetailsFragment {
@Override
public void addPreferenceController(AbstractPreferenceController controller) {
@@ -179,7 +179,7 @@ public class WifiNetworkDetailsFragment2Test {
}
}
- public class TestController extends BasePreferenceController {
+ public static class TestController extends BasePreferenceController {
public TestController() {
super(RuntimeEnvironment.application, TEST_PREFERENCE_KEY);
diff --git a/tests/robotests/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2Test.java b/tests/robotests/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2Test.java
index 7354d85bc7a..6a098bc9ead 100644
--- a/tests/robotests/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2Test.java
+++ b/tests/robotests/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2Test.java
@@ -76,6 +76,7 @@ import com.android.settings.Utils;
import com.android.settings.testutils.shadow.ShadowDevicePolicyManager;
import com.android.settings.testutils.shadow.ShadowEntityHeaderController;
import com.android.settings.widget.EntityHeaderController;
+import com.android.settings.wifi.details.WifiNetworkDetailsFragment;
import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
import com.android.settingslib.core.lifecycle.Lifecycle;
import com.android.settingslib.utils.StringUtil;
@@ -145,7 +146,7 @@ public class WifiDetailPreferenceController2Test {
@Mock
private WifiInfo mMockWifiInfo;
@Mock
- private WifiNetworkDetailsFragment2 mMockFragment;
+ private WifiNetworkDetailsFragment mMockFragment;
@Mock
private WifiManager mMockWifiManager;
@Mock
diff --git a/tests/unit/src/com/android/settings/panel/InternetConnectivityPanelTest.java b/tests/unit/src/com/android/settings/panel/InternetConnectivityPanelTest.java
deleted file mode 100644
index 30a272950f5..00000000000
--- a/tests/unit/src/com/android/settings/panel/InternetConnectivityPanelTest.java
+++ /dev/null
@@ -1,341 +0,0 @@
-/*
- * Copyright (C) 2021 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-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.mock;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-import android.net.Uri;
-import android.net.wifi.ScanResult;
-import android.net.wifi.WifiManager;
-import android.os.Handler;
-
-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.network.ProviderModelSliceHelper;
-import com.android.settings.slices.CustomSliceRegistry;
-import com.android.settings.testutils.ResourcesUtils;
-
-import org.junit.Before;
-import org.junit.Rule;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.junit.MockitoJUnit;
-import org.mockito.junit.MockitoRule;
-
-import java.util.ArrayList;
-import java.util.List;
-
-@RunWith(AndroidJUnit4.class)
-public class InternetConnectivityPanelTest {
-
- public static final String TITLE_INTERNET = ResourcesUtils.getResourcesString(
- ApplicationProvider.getApplicationContext(), "provider_internet_settings");
- public static final String TITLE_APM = ResourcesUtils.getResourcesString(
- ApplicationProvider.getApplicationContext(), "airplane_mode");
- public static final String SUBTITLE_TEXT_WIFI_IS_OFF =
- ResourcesUtils.getResourcesString(ApplicationProvider.getApplicationContext(),
- "wifi_is_off");
- public static final String SUBTITLE_TEXT_TAP_A_NETWORK_TO_CONNECT =
- ResourcesUtils.getResourcesString(ApplicationProvider.getApplicationContext(),
- "tap_a_network_to_connect");
- public static final String SUBTITLE_NON_CARRIER_NETWORK_UNAVAILABLE =
- ResourcesUtils.getResourcesString(ApplicationProvider.getApplicationContext(),
- "non_carrier_network_unavailable");
- public static final String SUBTITLE_ALL_NETWORK_UNAVAILABLE =
- ResourcesUtils.getResourcesString(ApplicationProvider.getApplicationContext(),
- "all_network_unavailable");
- public static final String BUTTON_TURN_ON_WIFI = ResourcesUtils.getResourcesString(
- ApplicationProvider.getApplicationContext(), "turn_on_wifi");
- public static final String BUTTON_TURN_OFF_WIFI = ResourcesUtils.getResourcesString(
- ApplicationProvider.getApplicationContext(), "turn_off_wifi");
-
- @Rule
- public final MockitoRule mMocks = MockitoJUnit.rule();
- @Mock
- Handler mMainThreadHandler;
- @Mock
- PanelContentCallback mPanelContentCallback;
- @Mock
- InternetUpdater mInternetUpdater;
- @Mock
- private WifiManager mWifiManager;
- @Mock
- private ProviderModelSliceHelper mProviderModelSliceHelper;
-
- private Context mContext;
- private FakeHandlerInjector mFakeHandlerInjector;
- private InternetConnectivityPanel mPanel;
-
- private class FakeHandlerInjector extends InternetConnectivityPanel.HandlerInjector {
-
- private Runnable mRunnable;
-
- FakeHandlerInjector(Context context) {
- super(context);
- }
-
- @Override
- public void postDelay(Runnable runnable) {
- mRunnable = runnable;
- }
-
- public Runnable getRunnable() {
- return mRunnable;
- }
- }
-
- @Before
- public void setUp() {
- mContext = spy(ApplicationProvider.getApplicationContext());
- mFakeHandlerInjector = new FakeHandlerInjector(mContext);
- when(mContext.getApplicationContext()).thenReturn(mContext);
- when(mContext.getMainThreadHandler()).thenReturn(mMainThreadHandler);
- when(mContext.getSystemService(WifiManager.class)).thenReturn(mWifiManager);
-
- mPanel = InternetConnectivityPanel.create(mContext);
- mPanel.registerCallback(mPanelContentCallback);
- mPanel.mIsProviderModelEnabled = true;
- mPanel.mInternetUpdater = mInternetUpdater;
- mPanel.mProviderModelSliceHelper = mProviderModelSliceHelper;
- mPanel.mHandlerInjector = mFakeHandlerInjector;
- }
-
- @Test
- public void getTitle_apmOff_shouldBeInternet() {
- doReturn(false).when(mInternetUpdater).isAirplaneModeOn();
-
- assertThat(mPanel.getTitle()).isEqualTo(TITLE_INTERNET);
- }
-
- @Test
- public void getTitle_apmOn_shouldBeApm() {
- doReturn(true).when(mInternetUpdater).isAirplaneModeOn();
-
- assertThat(mPanel.getTitle()).isEqualTo(TITLE_APM);
- }
-
- @Test
- public void getSubTitle_apmOnWifiOff_shouldBeNull() {
- doReturn(true).when(mInternetUpdater).isAirplaneModeOn();
- doReturn(false).when(mInternetUpdater).isWifiEnabled();
-
- assertThat(mPanel.getSubTitle()).isNull();
- }
-
- @Test
- public void getSubTitle_apmOnWifiOn_shouldBeNull() {
- doReturn(true).when(mInternetUpdater).isAirplaneModeOn();
- doReturn(true).when(mInternetUpdater).isWifiEnabled();
-
- assertThat(mPanel.getSubTitle()).isNull();
- }
-
- @Test
- public void getSubTitle_apmOffWifiOff_wifiIsOn() {
- doReturn(false).when(mInternetUpdater).isAirplaneModeOn();
- doReturn(false).when(mInternetUpdater).isWifiEnabled();
-
- mPanel.updatePanelTitle();
-
- assertThat(mPanel.getSubTitle()).isEqualTo(SUBTITLE_TEXT_WIFI_IS_OFF);
- }
-
- @Test
- public void getSubTitle_apmOffWifiOnNoWifiListHasCarrierData_NonCarrierNetworkUnavailable() {
- List wifiList = new ArrayList();
- mockCondition(false, true, true, true, true, true, wifiList);
-
- mPanel.updatePanelTitle();
-
- assertThat(mPanel.getSubTitle()).isEqualTo(SUBTITLE_NON_CARRIER_NETWORK_UNAVAILABLE);
- }
-
- @Test
- public void getSubTitle_apmOffWifiOnNoWifiListNoCarrierItem_AllNetworkUnavailable() {
- List wifiList = new ArrayList();
- mockCondition(false, false, false, false, false, true, wifiList);
-
- mPanel.updatePanelTitle();
-
- assertThat(mPanel.getSubTitle()).isEqualTo(SUBTITLE_ALL_NETWORK_UNAVAILABLE);
- }
-
- @Test
- public void getSubTitle_apmOffWifiOnNoWifiListNoDataSimActive_AllNetworkUnavailable() {
- List wifiList = new ArrayList();
- mockCondition(false, true, false, true, true, true, wifiList);
-
- mPanel.updatePanelTitle();
-
- assertThat(mPanel.getSubTitle()).isEqualTo(SUBTITLE_ALL_NETWORK_UNAVAILABLE);
- }
-
- @Test
- public void getSubTitle_apmOffWifiOnNoWifiListNoService_AllNetworkUnavailable() {
- List wifiList = new ArrayList();
- mockCondition(false, true, false, true, false, true, wifiList);
-
- mPanel.updatePanelTitle();
-
- assertThat(mPanel.getSubTitle()).isEqualTo(SUBTITLE_ALL_NETWORK_UNAVAILABLE);
- }
-
- @Test
- public void getSubTitle_apmOffWifiOnTwoWifiItemsNoCarrierData_tapANetworkToConnect() {
- List wifiList = new ArrayList();
- wifiList.add(new ScanResult());
- wifiList.add(new ScanResult());
- mockCondition(false, true, false, true, true, true, wifiList);
-
- mPanel.updatePanelTitle();
-
- assertThat(mPanel.getSubTitle()).isEqualTo(SUBTITLE_TEXT_TAP_A_NETWORK_TO_CONNECT);
- }
-
- @Test
- public void getSlices_providerModelDisabled_containsNecessarySlices() {
- mPanel.mIsProviderModelEnabled = false;
- List uris = mPanel.getSlices();
-
- assertThat(uris).containsExactly(
- AirplaneModePreferenceController.SLICE_URI,
- CustomSliceRegistry.MOBILE_DATA_SLICE_URI,
- CustomSliceRegistry.WIFI_SLICE_URI);
- }
-
- @Test
- public void getSlices_providerModelEnabled_containsNecessarySlices() {
- List uris = mPanel.getSlices();
-
- assertThat(uris).containsExactly(CustomSliceRegistry.PROVIDER_MODEL_SLICE_URI);
- }
-
- @Test
- public void getSeeMoreIntent_providerModelDisabled_shouldNotNull() {
- mPanel.mIsProviderModelEnabled = false;
-
- assertThat(mPanel.getSeeMoreIntent()).isNotNull();
- }
-
- @Test
- public void getSeeMoreIntent_providerModelEnabled_shouldBeNull() {
- mPanel.mIsProviderModelEnabled = true;
-
- assertThat(mPanel.getSeeMoreIntent()).isNull();
- }
-
- @Test
- public void updatePanelTitle_onHeaderChanged() {
- clearInvocations(mPanelContentCallback);
-
- mPanel.updatePanelTitle();
-
- verify(mPanelContentCallback).onHeaderChanged();
- }
-
- @Test
- public void updateProgressBar_wifiDisabled_hideProgress() {
- mPanel.mIsProgressBarVisible = true;
- doReturn(false).when(mInternetUpdater).isWifiEnabled();
- clearInvocations(mPanelContentCallback);
-
- mPanel.updateProgressBar();
-
- assertThat(mPanel.isProgressBarVisible()).isFalse();
- verify(mPanelContentCallback).onProgressBarVisibleChanged();
- }
-
- @Test
- public void updateProgressBar_noWifiScanResults_showProgressForever() {
- mPanel.mIsScanningSubTitleShownOnce = false;
- mPanel.mIsProgressBarVisible = false;
- doReturn(true).when(mInternetUpdater).isWifiEnabled();
- List noWifiScanResults = new ArrayList<>();
- doReturn(noWifiScanResults).when(mWifiManager).getScanResults();
- clearInvocations(mPanelContentCallback);
-
- mPanel.updateProgressBar();
-
- assertThat(mPanel.mIsProgressBarVisible).isTrue();
- verify(mPanelContentCallback).onProgressBarVisibleChanged();
- verify(mPanelContentCallback).onHeaderChanged();
-
- assertThat(mFakeHandlerInjector.getRunnable())
- .isEqualTo(mPanel.mHideScanningSubTitleRunnable);
- mFakeHandlerInjector.getRunnable().run();
- assertThat(mPanel.mIsScanningSubTitleShownOnce).isTrue();
- assertThat(mPanel.mIsProgressBarVisible).isTrue();
- }
-
- @Test
- public void updateProgressBar_hasWifiScanResults_showProgressDelayedHide() {
- mPanel.mIsProgressBarVisible = false;
- doReturn(true).when(mInternetUpdater).isWifiEnabled();
- List hasWifiScanResults = mock(ArrayList.class);
- doReturn(1).when(hasWifiScanResults).size();
- doReturn(hasWifiScanResults).when(mWifiManager).getScanResults();
- clearInvocations(mPanelContentCallback);
-
- mPanel.updateProgressBar();
-
- assertThat(mPanel.isProgressBarVisible()).isTrue();
- verify(mPanelContentCallback).onProgressBarVisibleChanged();
-
- assertThat(mFakeHandlerInjector.getRunnable())
- .isEqualTo(mPanel.mHideProgressBarRunnable);
- mFakeHandlerInjector.getRunnable().run();
- assertThat(mPanel.mIsProgressBarVisible).isFalse();
- }
-
- @Test
- public void setProgressBarVisible_onProgressBarVisibleChanged() {
- mPanel.mIsProgressBarVisible = false;
- doReturn(true).when(mInternetUpdater).isWifiEnabled();
- clearInvocations(mPanelContentCallback);
-
- mPanel.setProgressBarVisible(true);
-
- assertThat(mPanel.mIsProgressBarVisible).isTrue();
- verify(mPanelContentCallback).onProgressBarVisibleChanged();
- verify(mPanelContentCallback).onHeaderChanged();
- }
-
- private void mockCondition(boolean airplaneMode, boolean hasCarrier,
- boolean isDataSimActive, boolean isMobileDataEnabled, boolean isServiceInService,
- boolean isWifiEnabled, List wifiItems) {
- doReturn(airplaneMode).when(mInternetUpdater).isAirplaneModeOn();
- when(mProviderModelSliceHelper.hasCarrier()).thenReturn(hasCarrier);
- when(mProviderModelSliceHelper.isDataSimActive()).thenReturn(isDataSimActive);
- when(mProviderModelSliceHelper.isMobileDataEnabled()).thenReturn(isMobileDataEnabled);
- when(mProviderModelSliceHelper.isDataStateInService()).thenReturn(isServiceInService);
- when(mProviderModelSliceHelper.isVoiceStateInService()).thenReturn(isServiceInService);
- doReturn(isWifiEnabled).when(mInternetUpdater).isWifiEnabled();
- doReturn(wifiItems).when(mWifiManager).getScanResults();
- }
-}
diff --git a/tests/unit/src/com/android/settings/panel/PanelFeatureProviderImplTest.java b/tests/unit/src/com/android/settings/panel/PanelFeatureProviderImplTest.java
index 3b61a734af1..a02c054237f 100644
--- a/tests/unit/src/com/android/settings/panel/PanelFeatureProviderImplTest.java
+++ b/tests/unit/src/com/android/settings/panel/PanelFeatureProviderImplTest.java
@@ -20,7 +20,12 @@ import static com.android.settings.panel.SettingsPanelActivity.KEY_PANEL_TYPE_AR
import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+
import android.content.Context;
+import android.content.Intent;
import android.os.Bundle;
import android.provider.Settings;
@@ -36,25 +41,28 @@ public class PanelFeatureProviderImplTest {
private static final String TEST_PACKAGENAME = "com.test.packagename";
+ private static final String SYSTEMUI_PACKAGE_NAME = "com.android.systemui";
private Context mContext;
private PanelFeatureProviderImpl mProvider;
private Bundle mBundle;
@Before
public void setUp() {
- mContext = ApplicationProvider.getApplicationContext();
+ mContext = spy(ApplicationProvider.getApplicationContext());
mProvider = new PanelFeatureProviderImpl();
mBundle = new Bundle();
mBundle.putString(KEY_MEDIA_PACKAGE_NAME, TEST_PACKAGENAME);
}
@Test
- public void getPanel_internetConnectivityKey_returnsCorrectPanel() {
+ public void getPanel_internetConnectivityKey_sendsCorrectBroadcast() {
mBundle.putString(KEY_PANEL_TYPE_ARGUMENT, Settings.Panel.ACTION_INTERNET_CONNECTIVITY);
+ mProvider.getPanel(mContext, mBundle);
+ Intent intent = new Intent(Settings.Panel.ACTION_INTERNET_CONNECTIVITY);
+ intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND)
+ .setPackage(SYSTEMUI_PACKAGE_NAME);
- final PanelContent panel = mProvider.getPanel(mContext, mBundle);
-
- assertThat(panel).isInstanceOf(InternetConnectivityPanel.class);
+ verify(mContext, never()).sendBroadcast(intent);
}
@Test