Merge "Update bluetooth preference to take user to new screen" into pi-dev
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index fc49e02..e87951b 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -1301,6 +1301,22 @@
<meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
android:value="true" />
</activity>
+ <activity
+ android:name="Settings$ScanningSettingsActivity"
+ android:label="@string/location_scanning_screen_title"
+ android:icon="@drawable/ic_settings_location"
+ android:configChanges="orientation|keyboardHidden|screenSize"
+ android:taskAffinity="com.android.settings"
+ android:parentActivityName="Settings">
+ <intent-filter android:priority="1">
+ <action android:name="android.settings.LOCATION_SCANNING_SETTINGS" />
+ <category android:name="android.intent.category.DEFAULT" />
+ </intent-filter>
+ <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+ android:value="com.android.settings.location.ScanningSettings" />
+ <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
+ android:value="true" />
+ </activity>
<activity
android:name=".Settings$SecurityDashboardActivity"
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index a477a1c..78b64f2 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -274,6 +274,11 @@
<item>@string/wifi_ap_choose_5G</item>
</string-array>
+ <string-array name="wifi_ap_band_summary_full">
+ <item>@string/wifi_ap_2G</item>
+ <item>@string/wifi_ap_5G</item>
+ </string-array>
+
<string-array name="wifi_ap_band_config_2G_only">
<item>@string/wifi_ap_choose_auto</item>
<item>@string/wifi_ap_choose_2G</item>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index ccb0e43..1dad1fb 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1985,6 +1985,8 @@
<string name="wifi_ap_2G">2.4 GHz</string>
<!-- Label for adding to the list of selected bands when 5.0 GHz is selected -->
<string name="wifi_ap_5G">5.0 GHz</string>
+ <!-- Label that is shown as a dialog summary informing users they must pick at LEAST one band for their hotspot [CHAR LIMIT=NONE]-->
+ <string name="wifi_ap_band_select_one">Choose at least one band for Wi\u2011Fi hotspot:</string>
<!-- Label for the spinner to show ip settings [CHAR LIMIT=25] -->
<string name="wifi_ip_settings">IP settings</string>
<!-- Label for the check box to share a network with other users on the same device -->
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index e3fcd5c..e5df27a 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -67,6 +67,7 @@
public static class SecurityDashboardActivity extends SettingsActivity { /* empty */ }
public static class UsageAccessSettingsActivity extends SettingsActivity { /* empty */ }
public static class LocationSettingsActivity extends SettingsActivity { /* empty */ }
+ public static class ScanningSettingsActivity extends SettingsActivity { /* empty */ }
public static class PrivacySettingsActivity extends SettingsActivity { /* empty */ }
public static class FactoryResetActivity extends SettingsActivity { /* empty */ }
public static class RunningServicesActivity extends SettingsActivity { /* empty */ }
diff --git a/src/com/android/settings/core/gateway/SettingsGateway.java b/src/com/android/settings/core/gateway/SettingsGateway.java
index ede23dc..aa9d7b5 100644
--- a/src/com/android/settings/core/gateway/SettingsGateway.java
+++ b/src/com/android/settings/core/gateway/SettingsGateway.java
@@ -91,6 +91,7 @@
import com.android.settings.language.LanguageAndInputSettings;
import com.android.settings.localepicker.LocaleListEditor;
import com.android.settings.location.LocationSettings;
+import com.android.settings.location.ScanningSettings;
import com.android.settings.network.ApnEditor;
import com.android.settings.network.ApnSettings;
import com.android.settings.network.NetworkDashboardFragment;
@@ -166,6 +167,7 @@
ProcessStatsUi.class.getName(),
NotificationStation.class.getName(),
LocationSettings.class.getName(),
+ ScanningSettings.class.getName(),
SecuritySettings.class.getName(),
UsageAccessDetails.class.getName(),
PrivacySettings.class.getName(),
diff --git a/src/com/android/settings/network/NetworkDashboardFragment.java b/src/com/android/settings/network/NetworkDashboardFragment.java
index 466fa01..ecae214 100644
--- a/src/com/android/settings/network/NetworkDashboardFragment.java
+++ b/src/com/android/settings/network/NetworkDashboardFragment.java
@@ -26,8 +26,6 @@
import android.provider.SearchIndexableResource;
import android.support.annotation.VisibleForTesting;
import android.util.Log;
-import android.view.Menu;
-import android.view.MenuInflater;
import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
@@ -48,9 +46,6 @@
MobilePlanPreferenceHost {
private static final String TAG = "NetworkDashboardFrag";
- private static final int MENU_NETWORK_RESET = Menu.FIRST;
-
- private NetworkResetActionMenuController mNetworkResetController;
@Override
public int getMetricsCategory() {
@@ -70,7 +65,6 @@
@Override
public void onAttach(Context context) {
super.onAttach(context);
- mNetworkResetController = new NetworkResetActionMenuController(context, MENU_NETWORK_RESET);
use(AirplaneModePreferenceController.class).setFragment(this);
}
@@ -81,12 +75,6 @@
}
@Override
- public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
- super.onCreateOptionsMenu(menu, inflater);
- mNetworkResetController.buildMenuItem(menu);
- }
-
- @Override
protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
return buildPreferenceControllers(context, getLifecycle(), mMetricsFeatureProvider, this
/* fragment */,
diff --git a/src/com/android/settings/network/NetworkResetActionMenuController.java b/src/com/android/settings/network/NetworkResetActionMenuController.java
deleted file mode 100644
index 08d6d63..0000000
--- a/src/com/android/settings/network/NetworkResetActionMenuController.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (C) 2017 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.network;
-
-import android.content.Context;
-import android.view.Menu;
-import android.view.MenuItem;
-
-import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
-import com.android.settings.R;
-import com.android.settings.ResetNetwork;
-import com.android.settings.core.SubSettingLauncher;
-
-public class NetworkResetActionMenuController {
-
- private final Context mContext;
- private final NetworkResetRestrictionChecker mRestrictionChecker;
- private final int mMenuId;
-
- public NetworkResetActionMenuController(Context context, int menuId) {
- mContext = context;
- mRestrictionChecker = new NetworkResetRestrictionChecker(context);
- mMenuId = menuId;
- }
-
- public void buildMenuItem(Menu menu) {
- MenuItem item = null;
- if (isAvailable() && menu != null) {
- item = menu.add(0, mMenuId, 0, R.string.reset_network_title);
- }
- if (item != null) {
- item.setOnMenuItemClickListener(target -> {
- new SubSettingLauncher(mContext)
- .setDestination(ResetNetwork.class.getName())
- .setSourceMetricsCategory(MetricsEvent.SETTINGS_NETWORK_CATEGORY)
- .setTitle(R.string.reset_network_title)
- .launch();
- return true;
- });
- }
- }
-
-
- boolean isAvailable() {
- return !mRestrictionChecker.hasRestriction();
- }
-}
diff --git a/tests/robotests/src/com/android/settings/network/NetworkDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/network/NetworkDashboardFragmentTest.java
index 51722e5..06e334a 100644
--- a/tests/robotests/src/com/android/settings/network/NetworkDashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/network/NetworkDashboardFragmentTest.java
@@ -73,17 +73,6 @@
}
@Test
- public void testPrepareActionBar_networkResetShouldBeCreated() {
- final NetworkResetActionMenuController resetController =
- mock(NetworkResetActionMenuController.class);
- ReflectionHelpers.setField(mFragment, "mNetworkResetController", resetController);
-
- mFragment.onCreateOptionsMenu(null, null);
-
- verify(resetController).buildMenuItem(nullable(Menu.class));
- }
-
- @Test
public void testSummaryProvider_hasMobileAndHotspot_shouldReturnMobileSummary() {
final MobileNetworkPreferenceController mobileNetworkPreferenceController =
mock(MobileNetworkPreferenceController.class);
diff --git a/tests/robotests/src/com/android/settings/network/NetworkResetActionMenuControllerTest.java b/tests/robotests/src/com/android/settings/network/NetworkResetActionMenuControllerTest.java
deleted file mode 100644
index 3135c91..0000000
--- a/tests/robotests/src/com/android/settings/network/NetworkResetActionMenuControllerTest.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (C) 2017 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.network;
-
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyInt;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.view.Menu;
-import android.view.MenuItem;
-
-import com.android.settings.testutils.SettingsRobolectricTestRunner;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RuntimeEnvironment;
-import org.robolectric.util.ReflectionHelpers;
-
-@RunWith(SettingsRobolectricTestRunner.class)
-public class NetworkResetActionMenuControllerTest {
-
- private static final int MENU_ID = Menu.FIRST;
-
- private NetworkResetActionMenuController mController;
- @Mock
- private Menu mMenu;
- @Mock
- private MenuItem mMenuItem;
- @Mock
- private NetworkResetRestrictionChecker mRestrictionChecker;
-
- @Before
- public void setUp() {
- MockitoAnnotations.initMocks(this);
- mController = new NetworkResetActionMenuController(RuntimeEnvironment.application, MENU_ID);
- ReflectionHelpers.setField(mController, "mRestrictionChecker", mRestrictionChecker);
- when(mMenu.add(anyInt(), anyInt(), anyInt(), anyInt())).thenReturn(mMenuItem);
- }
-
- @Test
- public void buildMenuItem_available_shouldAddToMenu() {
- when(mRestrictionChecker.hasRestriction()).thenReturn(false);
- mController.buildMenuItem(mMenu);
-
- verify(mMenu).add(anyInt(), anyInt(), anyInt(), anyInt());
- verify(mMenuItem).setOnMenuItemClickListener(any(MenuItem.OnMenuItemClickListener.class));
- }
-
- @Test
- public void buildMenuItem_notAvailable_shouldNotAddToMenu() {
- when(mRestrictionChecker.hasRestriction()).thenReturn(true);
-
- mController.buildMenuItem(mMenu);
-
- verify(mMenu, never()).add(anyInt(), anyInt(), anyInt(), anyInt());
- }
-}