diff --git a/res/values/strings.xml b/res/values/strings.xml
index 675de83916b..44342f47dbc 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -1955,6 +1955,8 @@
Failed to connect to network
Forget
+
+ Modify
Failed to forget network
@@ -6835,6 +6837,10 @@
Make sound and pop on screen
+
+ Pop on screen
+
diff --git a/res/xml/configure_notification_settings.xml b/res/xml/configure_notification_settings.xml
index 1d36c48728f..21904e671a9 100644
--- a/res/xml/configure_notification_settings.xml
+++ b/res/xml/configure_notification_settings.xml
@@ -22,16 +22,11 @@
android:key="dashboard_tile_placeholder"
android:order="1"/>
-
-
-
-
-
+
+
-
-
-
+
+
+
+
+
diff --git a/res/xml/connected_devices.xml b/res/xml/connected_devices.xml
index abbeda67384..4ca92bfd71b 100644
--- a/res/xml/connected_devices.xml
+++ b/res/xml/connected_devices.xml
@@ -42,6 +42,7 @@
android:key="sms_mirroring"
android:title="@string/sms_mirroring_pref"
android:icon="@drawable/ic_compare_arrows_24dp"
+ android:summary="@string/summary_placeholder"
android:order="-3"/>
();
- mAdminDisallowedTetherConfig = checkIfRestrictionEnforced(
- mContext, DISALLOW_CONFIG_TETHERING, UserHandle.myUserId()) != null;
+ mAdminDisallowedTetherConfig = isTetherConfigDisallowed(context);
mConnectivityManager =
(ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
@@ -170,6 +169,11 @@ public class TetherPreferenceController extends AbstractPreferenceController imp
}
}
+ public static boolean isTetherConfigDisallowed(Context context) {
+ return checkIfRestrictionEnforced(
+ context, DISALLOW_CONFIG_TETHERING, UserHandle.myUserId()) != null;
+ }
+
@VisibleForTesting
void updateSummary() {
if (mPreference == null) {
diff --git a/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImplTest.java
index 2fde357584f..59b918a936f 100644
--- a/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImplTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/suggestions/SuggestionFeatureProviderImplTest.java
@@ -17,8 +17,17 @@
package com.android.settings.dashboard.suggestions;
-import android.app.ActivityManager;
+import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.anyInt;
+import static org.mockito.Matchers.anyString;
+import static org.mockito.Matchers.eq;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.verifyZeroInteractions;
+import static org.mockito.Mockito.when;
+import android.app.ActivityManager;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
@@ -59,18 +68,6 @@ import org.robolectric.annotation.Config;
import java.util.ArrayList;
import java.util.List;
-import static com.google.common.truth.Truth.assertThat;
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.anyBoolean;
-import static org.mockito.Matchers.anyInt;
-import static org.mockito.Matchers.anyString;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyZeroInteractions;
-import static org.mockito.Mockito.when;
-
@RunWith(SettingsRobolectricTestRunner.class)
@Config(manifest = TestConfig.MANIFEST_PATH,
sdk = TestConfig.SDK_VERSION,
@@ -337,7 +334,7 @@ public class SuggestionFeatureProviderImplTest {
@Test
public void dismissSuggestion_hasMoreDismissCount_shouldNotDisableComponent() {
- when(mSuggestionParser.dismissSuggestion(any(Tile.class), anyBoolean()))
+ when(mSuggestionParser.dismissSuggestion(any(Tile.class)))
.thenReturn(false);
mProvider.dismissSuggestion(mContext, mSuggestionParser, mSuggestion);
@@ -348,25 +345,6 @@ public class SuggestionFeatureProviderImplTest {
verify(mContext, never()).getPackageManager();
}
- @Test
- public void dismissSuggestion_isShowingFirstImpressionType_dismissWithoutSmartSuggestionRule() {
- mProvider = spy(mProvider);
- when(mProvider.isSmartSuggestionEnabled(any(Context.class))).thenReturn(true);
- final SharedPreferences pref = RuntimeEnvironment.application.getSharedPreferences(
- "test_pref", Context.MODE_PRIVATE);
- when(mProvider.getSharedPrefs(mContext)).thenReturn(pref);
- when(mSuggestionParser.dismissSuggestion(any(Tile.class), anyBoolean()))
- .thenReturn(false);
-
- mProvider.dismissSuggestion(mContext, mSuggestionParser, mSuggestion);
-
- verify(mFactory.metricsFeatureProvider).action(
- eq(mContext),
- eq(MetricsProto.MetricsEvent.ACTION_SETTINGS_DISMISS_SUGGESTION),
- anyString());
- verify(mSuggestionParser).dismissSuggestion(any(Tile.class), eq(false));
- }
-
@Test
public void dismissSuggestion_noContext_shouldDoNothing() {
mProvider.dismissSuggestion(null, mSuggestionParser, mSuggestion);
@@ -376,7 +354,7 @@ public class SuggestionFeatureProviderImplTest {
@Test
public void dismissSuggestion_hasNoMoreDismissCount_shouldDisableComponent() {
- when(mSuggestionParser.dismissSuggestion(any(Tile.class), anyBoolean()))
+ when(mSuggestionParser.dismissSuggestion(any(Tile.class)))
.thenReturn(true);
mProvider.dismissSuggestion(mContext, mSuggestionParser, mSuggestion);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java
index c7eebc84e6c..54d043c419d 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java
@@ -368,6 +368,16 @@ public class AdvancedPowerUsageDetailTest {
"0%");
}
+ @Test
+ public void testStartBatteryDetailPage_batteryEntryNotExisted_extractUidFromPackageName() throws
+ PackageManager.NameNotFoundException{
+ doReturn(UID).when(mPackageManager).getPackageUid(PACKAGE_NAME[0], 0 /* no flag */);
+
+ AdvancedPowerUsageDetail.startBatteryDetailPage(mTestActivity, null, PACKAGE_NAME[0]);
+
+ assertThat(mBundle.getInt(AdvancedPowerUsageDetail.EXTRA_UID)).isEqualTo(UID);
+ }
+
@Test
public void testStartBatteryDetailPage_defaultPackageNull_chooseFromBatterySipper() {
mBatteryEntry.defaultPackageName = null;
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowSecureSettings.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowSecureSettings.java
index 1ae5398657e..0f61a5d816e 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowSecureSettings.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowSecureSettings.java
@@ -89,6 +89,32 @@ public class ShadowSecureSettings {
}
}
+ @Implementation
+ public static boolean putFloatForUser(
+ ContentResolver resolver, String name, float value, int userHandle) {
+ final Table userTable = getUserTable(resolver);
+ synchronized (userTable) {
+ userTable.put(userHandle, name, value);
+ return true;
+ }
+ }
+
+ @Implementation
+ public static float getFloatForUser(
+ ContentResolver resolver, String name, float def, int userHandle) {
+ final Table userTable = getUserTable(resolver);
+ synchronized (userTable) {
+ final Object object = userTable.get(userHandle, name);
+ return object instanceof Float ? (Float) object : def;
+ }
+ }
+
+ public static void clear() {
+ synchronized (sUserDataMap) {
+ sUserDataMap.clear();
+ }
+ }
+
private static Table getUserTable(ContentResolver contentResolver) {
synchronized (sUserDataMap) {
Table table = sUserDataMap.get(contentResolver);