diff --git a/AndroidManifest.xml b/AndroidManifest.xml index fc49e02867e..e87951b649b 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -1301,6 +1301,22 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/res/drawable/fingerprint_enroll_introduction.xml b/res/drawable/fingerprint_enroll_introduction.xml new file mode 100644 index 00000000000..2a5c62a59bd --- /dev/null +++ b/res/drawable/fingerprint_enroll_introduction.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + diff --git a/res/layout-land/fingerprint_enroll_finish.xml b/res/layout-land/fingerprint_enroll_finish.xml index 981fe659222..04ed5403f19 100644 --- a/res/layout-land/fingerprint_enroll_finish.xml +++ b/res/layout-land/fingerprint_enroll_finish.xml @@ -118,7 +118,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:contentDescription="@android:string/fingerprint_icon_content_description" - android:src="@drawable/fp_app_indicator" /> + android:src="@drawable/fingerprint_enroll_finish" /> diff --git a/res/layout/fingerprint_enroll_finish_base.xml b/res/layout/fingerprint_enroll_finish_base.xml index cf9f75966b3..819bf4e5725 100644 --- a/res/layout/fingerprint_enroll_finish_base.xml +++ b/res/layout/fingerprint_enroll_finish_base.xml @@ -63,7 +63,7 @@ android:layout_height="match_parent" android:padding="7dp" android:contentDescription="@android:string/fingerprint_icon_content_description" - android:src="@drawable/fp_app_indicator" /> + android:src="@drawable/fingerprint_enroll_finish" /> diff --git a/res/layout/zen_onboarding.xml b/res/layout/zen_onboarding.xml index 05b38f2acaf..684044319c5 100644 --- a/res/layout/zen_onboarding.xml +++ b/res/layout/zen_onboarding.xml @@ -112,7 +112,7 @@ android:id="@+id/screen_on_title" android:layout_width="match_parent" android:layout_height="wrap_content" - android:text="@string/zen_onboarding_screen_off_title" + android:text="@string/zen_onboarding_screen_on_title" android:textAppearance="?android:attr/textAppearanceListItem" /> @string/wifi_ap_choose_5G + + @string/wifi_ap_2G + @string/wifi_ap_5G + + @string/wifi_ap_choose_auto @string/wifi_ap_choose_2G diff --git a/res/values/strings.xml b/res/values/strings.xml index 23a8e1da51c..23f2756aa7a 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -1977,6 +1977,8 @@ 2.4 GHz 5.0 GHz + + Choose at least one band for Wi\u2011Fi hotspot: IP settings @@ -3242,9 +3244,11 @@ Continue - To move content to ^1, go to Settings > Storage + You can move content to ^1 - Your content was moved to ^1. + To move content to ^1, go to Settings > Storage + + Your content was moved to ^1. \n\nTo manage this ^2, go to Settings > Storage. diff --git a/res/xml/connected_devices.xml b/res/xml/connected_devices.xml index 390a33de9fd..4a3c4f286a5 100644 --- a/res/xml/connected_devices.xml +++ b/res/xml/connected_devices.xml @@ -49,6 +49,9 @@ android:icon="@drawable/ic_settings_bluetooth" settings:allowDividerAbove="true"/> + + + diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java index e3fcd5c9ada..e5df27a1297 100644 --- a/src/com/android/settings/Settings.java +++ b/src/com/android/settings/Settings.java @@ -67,6 +67,7 @@ public class Settings extends SettingsActivity { 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 ede23dc7677..aa9d7b54879 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.inputmethod.UserDictionarySettings; 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 @@ public class SettingsGateway { 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/dashboard/DashboardFragmentRegistry.java b/src/com/android/settings/dashboard/DashboardFragmentRegistry.java index 22c7c8a27ff..7b7fb5bd0c4 100644 --- a/src/com/android/settings/dashboard/DashboardFragmentRegistry.java +++ b/src/com/android/settings/dashboard/DashboardFragmentRegistry.java @@ -24,6 +24,7 @@ import com.android.settings.accounts.AccountDetailDashboardFragment; import com.android.settings.applications.AppAndNotificationDashboardFragment; import com.android.settings.applications.DefaultAppSettings; import com.android.settings.connecteddevice.AdvancedConnectedDeviceDashboardFragment; +import com.android.settings.connecteddevice.ConnectedDeviceDashboardFragment; import com.android.settings.development.DevelopmentSettingsDashboardFragment; import com.android.settings.deviceinfo.StorageDashboardFragment; import com.android.settings.fuelgauge.PowerUsageSummary; @@ -60,6 +61,8 @@ public class DashboardFragmentRegistry { PARENT_TO_CATEGORY_KEY_MAP = new ArrayMap<>(); PARENT_TO_CATEGORY_KEY_MAP.put( NetworkDashboardFragment.class.getName(), CategoryKey.CATEGORY_NETWORK); + PARENT_TO_CATEGORY_KEY_MAP.put(ConnectedDeviceDashboardFragment.class.getName(), + CategoryKey.CATEGORY_CONNECT); PARENT_TO_CATEGORY_KEY_MAP.put(AdvancedConnectedDeviceDashboardFragment.class.getName(), CategoryKey.CATEGORY_DEVICE); PARENT_TO_CATEGORY_KEY_MAP.put(AppAndNotificationDashboardFragment.class.getName(), diff --git a/src/com/android/settings/deviceinfo/StorageWizardReady.java b/src/com/android/settings/deviceinfo/StorageWizardReady.java index 55f4ba1730f..c5c4ca22314 100644 --- a/src/com/android/settings/deviceinfo/StorageWizardReady.java +++ b/src/com/android/settings/deviceinfo/StorageWizardReady.java @@ -36,10 +36,14 @@ public class StorageWizardReady extends StorageWizardBase { setHeaderText(R.string.storage_wizard_ready_title, mDisk.getShortDescription()); final VolumeInfo privateVol = findFirstVolume(VolumeInfo.TYPE_PRIVATE); - final boolean migrateSkip = getIntent().getBooleanExtra(EXTRA_MIGRATE_SKIP, false); - if (privateVol != null && !migrateSkip) { - setBodyText(R.string.storage_wizard_ready_v2_internal_body, - mDisk.getDescription(), mDisk.getShortDescription()); + if (privateVol != null) { + if (getIntent().getBooleanExtra(EXTRA_MIGRATE_SKIP, false)) { + setBodyText(R.string.storage_wizard_ready_v2_internal_body, + mDisk.getDescription()); + } else { + setBodyText(R.string.storage_wizard_ready_v2_internal_moved_body, + mDisk.getDescription(), mDisk.getShortDescription()); + } } else { setBodyText(R.string.storage_wizard_ready_v2_external_body, mDisk.getDescription()); diff --git a/src/com/android/settings/network/NetworkDashboardFragment.java b/src/com/android/settings/network/NetworkDashboardFragment.java index 5cd936c8b0e..fe6d2cec266 100644 --- a/src/com/android/settings/network/NetworkDashboardFragment.java +++ b/src/com/android/settings/network/NetworkDashboardFragment.java @@ -26,8 +26,6 @@ import android.content.Context; 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; @@ -50,9 +48,6 @@ public class NetworkDashboardFragment extends DashboardFragment implements MobilePlanPreferenceHost { private static final String TAG = "NetworkDashboardFrag"; - private static final int MENU_NETWORK_RESET = Menu.FIRST; - - private NetworkResetActionMenuController mNetworkResetController; @Override public int getMetricsCategory() { @@ -72,7 +67,6 @@ public class NetworkDashboardFragment extends DashboardFragment implements @Override public void onAttach(Context context) { super.onAttach(context); - mNetworkResetController = new NetworkResetActionMenuController(context, MENU_NETWORK_RESET); use(AirplaneModePreferenceController.class).setFragment(this); } @@ -82,12 +76,6 @@ public class NetworkDashboardFragment extends DashboardFragment implements return R.string.help_url_network_dashboard; } - @Override - public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { - super.onCreateOptionsMenu(menu, inflater); - mNetworkResetController.buildMenuItem(menu); - } - @Override protected List createPreferenceControllers(Context context) { return buildPreferenceControllers(context, getLifecycle(), mMetricsFeatureProvider, this diff --git a/src/com/android/settings/network/NetworkResetActionMenuController.java b/src/com/android/settings/network/NetworkResetActionMenuController.java deleted file mode 100644 index 08d6d63bc9a..00000000000 --- 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/src/com/android/settings/wifi/ConfigureWifiSettings.java b/src/com/android/settings/wifi/ConfigureWifiSettings.java index 822e3595c33..e0e63cc3c8c 100644 --- a/src/com/android/settings/wifi/ConfigureWifiSettings.java +++ b/src/com/android/settings/wifi/ConfigureWifiSettings.java @@ -90,12 +90,12 @@ public class ConfigureWifiSettings extends DashboardFragment { @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { - if (resultCode == WIFI_WAKEUP_REQUEST_CODE && mWifiWakeupPreferenceController != null) { + if (requestCode == WIFI_WAKEUP_REQUEST_CODE && mWifiWakeupPreferenceController != null) { mWifiWakeupPreferenceController.onActivityResult(requestCode, resultCode); return; } - if (resultCode == UseOpenWifiPreferenceController.REQUEST_CODE_OPEN_WIFI_AUTOMATICALLY - && mUseOpenWifiPreferenceController == null) { + if (requestCode == UseOpenWifiPreferenceController.REQUEST_CODE_OPEN_WIFI_AUTOMATICALLY + && mUseOpenWifiPreferenceController != null) { mUseOpenWifiPreferenceController.onActivityResult(requestCode, resultCode); return; } diff --git a/src/com/android/settings/wifi/WifiScanningRequiredFragment.java b/src/com/android/settings/wifi/WifiScanningRequiredFragment.java index bf24bbcd9c1..d7b6708954a 100644 --- a/src/com/android/settings/wifi/WifiScanningRequiredFragment.java +++ b/src/com/android/settings/wifi/WifiScanningRequiredFragment.java @@ -54,7 +54,6 @@ public class WifiScanningRequiredFragment extends InstrumentedDialogFragment imp .setNegativeButton(R.string.cancel, null); addButtonIfNeeded(builder); - return builder.create(); } diff --git a/tests/robotests/src/com/android/settings/network/NetworkDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/network/NetworkDashboardFragmentTest.java index 51722e5e55a..06e334af886 100644 --- a/tests/robotests/src/com/android/settings/network/NetworkDashboardFragmentTest.java +++ b/tests/robotests/src/com/android/settings/network/NetworkDashboardFragmentTest.java @@ -72,17 +72,6 @@ public class NetworkDashboardFragmentTest { assertThat(indexRes.get(0).xmlResId).isEqualTo(mFragment.getPreferenceScreenResId()); } - @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 = 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 3135c91fafb..00000000000 --- 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()); - } -}