diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 178d2252cbe..fb9264790aa 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -3030,6 +3030,8 @@
android:value="com.android.settings.category.ia.homepage"/>
+
+
+
+
+
+
+
+ android:resource="@string/support_summary"/>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 6cb164a0df2..d4a1786dc1e 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -743,7 +743,8 @@
Accounts
- Security & lockscreen
+ Security & screen lock
+
Set My Location, screen unlock, SIM card lock, credential storage lock
@@ -754,7 +755,8 @@
Disabled by administrator
Security status
-
+
+ Location, fingerprint
Fingerprint
@@ -3960,6 +3962,8 @@
Accessibility
Accessibility settings
+
+ Screen readers, audio, display, interaction controls
Vision Settings
@@ -5698,6 +5702,9 @@
Help & feedback
+
+ Help articles, phone & chat support
+
@@ -5956,17 +5963,23 @@
Network & internet
+
+ Wi-Fi, cellular, data usage, hotspot
Connected devices
+
+ Bluetooth, NFC, cast
Apps & notifications
+
+ Permissions, default apps
User & accounts
Default apps
-
- Language: %1$s
+
+ Languages, backup, updates, about phone
@@ -6060,6 +6073,9 @@
[CHAR LIMIT=100] -->
Ring volume at %1$s
+
+ Volume, vibration, Do not disturb
+
Ringer set to vibrate
@@ -7403,6 +7419,8 @@
Sleep after %1$s of inactivity
+
+ Wallpaper, sleep, font size
Sleep after 10 minutes of inactivity
diff --git a/src/com/android/settings/DisplaySettings.java b/src/com/android/settings/DisplaySettings.java
index d9cd047da9c..aa174999209 100644
--- a/src/com/android/settings/DisplaySettings.java
+++ b/src/com/android/settings/DisplaySettings.java
@@ -16,15 +16,12 @@
package com.android.settings;
-import android.app.Activity;
import android.content.Context;
import android.provider.SearchIndexableResource;
-import android.provider.Settings;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
-import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.display.AutoBrightnessPreferenceController;
import com.android.settings.display.AutoRotatePreferenceController;
import com.android.settings.display.CameraGesturePreferenceController;
@@ -42,13 +39,10 @@ import com.android.settings.display.WallpaperPreferenceController;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
-import com.android.settingslib.drawer.CategoryKey;
import java.util.ArrayList;
import java.util.List;
-import static android.provider.Settings.System.SCREEN_OFF_TIMEOUT;
-
public class DisplaySettings extends DashboardFragment {
private static final String TAG = "DisplaySettings";
@@ -102,46 +96,6 @@ public class DisplaySettings extends DashboardFragment {
return R.string.help_uri_display;
}
- private static class SummaryProvider implements SummaryLoader.SummaryProvider {
- private final Context mContext;
- private final SummaryLoader mLoader;
-
- private SummaryProvider(Context context, SummaryLoader loader) {
- mContext = context;
- mLoader = loader;
- }
-
- @Override
- public void setListening(boolean listening) {
- if (listening) {
- updateSummary();
- }
- }
-
- private void updateSummary() {
- final long currentTimeout = Settings.System.getLong(mContext.getContentResolver(),
- SCREEN_OFF_TIMEOUT, TimeoutPreferenceController.FALLBACK_SCREEN_TIMEOUT_VALUE);
- final CharSequence[] entries =
- mContext.getResources().getTextArray(R.array.screen_timeout_entries);
- final CharSequence[] values =
- mContext.getResources().getTextArray(R.array.screen_timeout_values);
- final CharSequence timeoutDescription = TimeoutPreferenceController
- .getTimeoutDescription(currentTimeout, entries, values);
- final String summary = timeoutDescription == null ? ""
- : mContext.getString(R.string.display_summary, timeoutDescription);
- mLoader.setSummary(this, summary);
- }
- }
-
- public static final SummaryLoader.SummaryProviderFactory SUMMARY_PROVIDER_FACTORY
- = new SummaryLoader.SummaryProviderFactory() {
- @Override
- public SummaryLoader.SummaryProvider createSummaryProvider(Activity activity,
- SummaryLoader summaryLoader) {
- return new SummaryProvider(activity, summaryLoader);
- }
- };
-
public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider() {
@Override
diff --git a/src/com/android/settings/SecuritySettings.java b/src/com/android/settings/SecuritySettings.java
index 4dc545bb0ce..f274114c73c 100644
--- a/src/com/android/settings/SecuritySettings.java
+++ b/src/com/android/settings/SecuritySettings.java
@@ -1300,7 +1300,8 @@ public class SecuritySettings extends SettingsPreferenceFragment
dashboardFeatureProvider.getTilesForCategory(CategoryKey.CATEGORY_SECURITY);
mSummaryLoader.setSummary(this, getPackageVerifierSummary(dashboardCategory));
} else {
- mSummaryLoader.setSummary(this, null);
+ mSummaryLoader.setSummary(this,
+ mContext.getString(R.string.security_dashboard_summary));
}
}
diff --git a/src/com/android/settings/accounts/UserAndAccountDashboardFragment.java b/src/com/android/settings/accounts/UserAndAccountDashboardFragment.java
index dbc0292677a..66fd85ae69c 100644
--- a/src/com/android/settings/accounts/UserAndAccountDashboardFragment.java
+++ b/src/com/android/settings/accounts/UserAndAccountDashboardFragment.java
@@ -15,14 +15,19 @@
*/
package com.android.settings.accounts;
+import android.app.Activity;
import android.content.Context;
+import android.content.pm.UserInfo;
import android.os.Bundle;
+import android.os.UserHandle;
+import android.os.UserManager;
import android.provider.SearchIndexableResource;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.settings.R;
import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settingslib.drawer.Tile;
@@ -81,6 +86,36 @@ public class UserAndAccountDashboardFragment extends DashboardFragment {
return true;
}
+ private static class SummaryProvider implements SummaryLoader.SummaryProvider {
+
+ private final Context mContext;
+ private final SummaryLoader mSummaryLoader;
+
+ public SummaryProvider(Context context, SummaryLoader summaryLoader) {
+ mContext = context;
+ mSummaryLoader = summaryLoader;
+ }
+
+ @Override
+ public void setListening(boolean listening) {
+ if (listening) {
+ UserInfo info = mContext.getSystemService(UserManager.class).getUserInfo(
+ UserHandle.myUserId());
+ mSummaryLoader.setSummary(this, mContext.getString(R.string.user_summary,
+ info.name));
+ }
+ }
+ }
+
+ public static final SummaryLoader.SummaryProviderFactory SUMMARY_PROVIDER_FACTORY
+ = new SummaryLoader.SummaryProviderFactory() {
+ @Override
+ public SummaryLoader.SummaryProvider createSummaryProvider(Activity activity,
+ SummaryLoader summaryLoader) {
+ return new SummaryProvider(activity, summaryLoader);
+ }
+ };
+
public static final SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider() {
@Override
diff --git a/src/com/android/settings/notification/SoundSettings.java b/src/com/android/settings/notification/SoundSettings.java
index 1cf0ae691cc..c1a21599ea6 100644
--- a/src/com/android/settings/notification/SoundSettings.java
+++ b/src/com/android/settings/notification/SoundSettings.java
@@ -16,14 +16,8 @@
package com.android.settings.notification;
-import android.app.Activity;
-import android.app.NotificationManager;
-import android.content.BroadcastReceiver;
-import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
-import android.content.IntentFilter;
-import android.media.AudioManager;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
@@ -39,11 +33,9 @@ import com.android.settings.RingtonePreference;
import com.android.settings.core.PreferenceController;
import com.android.settings.core.lifecycle.Lifecycle;
import com.android.settings.dashboard.DashboardFragment;
-import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.BaseSearchIndexProvider;
-import java.text.NumberFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -109,7 +101,7 @@ public class SoundSettings extends DashboardFragment {
@Override
protected int getPreferenceScreenResId() {
return mDashboardFeatureProvider.isEnabled()
- ? R.xml.ia_sound_settings : R.xml.sound_settings;
+ ? R.xml.ia_sound_settings : R.xml.sound_settings;
}
@Override
@@ -127,7 +119,7 @@ public class SoundSettings extends DashboardFragment {
controllers.add(new AlarmVolumePreferenceController(context, mVolumeCallback, lifecycle));
controllers.add(new MediaVolumePreferenceController(context, mVolumeCallback, lifecycle));
controllers.add(
- new NotificationVolumePreferenceController(context, mVolumeCallback, lifecycle));
+ new NotificationVolumePreferenceController(context, mVolumeCallback, lifecycle));
controllers.add(new RingVolumePreferenceController(context, mVolumeCallback, lifecycle));
// === Phone & notification ringtone ===
@@ -198,7 +190,9 @@ public class SoundSettings extends DashboardFragment {
mCurrent.stopSample();
}
}
- };
+ }
+
+ ;
// === Callbacks ===
@@ -220,130 +214,63 @@ public class SoundSettings extends DashboardFragment {
}
}
- // === Summary ===
-
- private static class SummaryProvider extends BroadcastReceiver
- implements SummaryLoader.SummaryProvider {
-
- private final Context mContext;
- private final AudioManager mAudioManager;
- private final SummaryLoader mSummaryLoader;
- private final int maxVolume;
-
- public SummaryProvider(Context context, SummaryLoader summaryLoader) {
- mContext = context;
- mSummaryLoader = summaryLoader;
- mAudioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
- maxVolume = mAudioManager.getStreamMaxVolume(AudioManager.STREAM_RING);
- }
-
- @Override
- public void setListening(boolean listening) {
- if (listening) {
- IntentFilter filter = new IntentFilter();
- filter.addAction(AudioManager.VOLUME_CHANGED_ACTION);
- filter.addAction(AudioManager.STREAM_DEVICES_CHANGED_ACTION);
- filter.addAction(AudioManager.RINGER_MODE_CHANGED_ACTION);
- filter.addAction(AudioManager.INTERNAL_RINGER_MODE_CHANGED_ACTION);
- filter.addAction(AudioManager.STREAM_MUTE_CHANGED_ACTION);
- filter.addAction(NotificationManager.ACTION_EFFECTS_SUPPRESSOR_CHANGED);
- mContext.registerReceiver(this, filter);
- } else {
- mContext.unregisterReceiver(this);
- }
- }
-
- @Override
- public void onReceive(Context context, Intent intent) {
- final int ringerMode = mAudioManager.getRingerMode();
- int resId;
- String percent = "";
- if (ringerMode == mAudioManager.RINGER_MODE_SILENT) {
- resId = R.string.sound_settings_summary_silent;
- } else if (ringerMode == mAudioManager.RINGER_MODE_VIBRATE){
- resId = R.string.sound_settings_summary_vibrate;
- }
- else {
- percent = NumberFormat.getPercentInstance().format(
- (double) mAudioManager.getStreamVolume(
- AudioManager.STREAM_RING) / maxVolume);
- resId = R.string.sound_settings_summary;
- }
-
- final ComponentName suppressor = NotificationManager.from(mContext)
- .getEffectsSuppressor();
- if (suppressor != null) {
- String suppressText = SuppressorHelper.getSuppressionText(mContext, suppressor);
- mSummaryLoader.setSummary(this, suppressText);
- } else {
- mSummaryLoader.setSummary(this, mContext.getString(resId, percent));
- }
- }
- }
-
- public static final SummaryLoader.SummaryProviderFactory SUMMARY_PROVIDER_FACTORY
- = new SummaryLoader.SummaryProviderFactory() {
- @Override
- public SummaryLoader.SummaryProvider createSummaryProvider(Activity activity,
- SummaryLoader summaryLoader) {
- return new SummaryProvider(activity, summaryLoader);
- }
- };
-
// === Indexing ===
public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider() {
- public List getXmlResourcesToIndex(
- Context context, boolean enabled) {
- final SearchIndexableResource sir = new SearchIndexableResource(context);
- sir.xmlResId = R.xml.sound_settings;
- return Arrays.asList(sir);
- }
+ public List getXmlResourcesToIndex(
+ Context context, boolean enabled) {
+ final SearchIndexableResource sir = new SearchIndexableResource(context);
+ sir.xmlResId = R.xml.sound_settings;
+ return Arrays.asList(sir);
+ }
- public List getNonIndexableKeys(Context context) {
- final ArrayList rt = new ArrayList();
- new NotificationVolumePreferenceController(
- context, null /* Callback */, null /* Lifecycle */).updateNonIndexableKeys(rt);
- new RingVolumePreferenceController(
- context, null /* Callback */, null /* Lifecycle */).updateNonIndexableKeys(rt);
- new PhoneRingtonePreferenceController(context).updateNonIndexableKeys(rt);
- new VibrateWhenRingPreferenceController(context).updateNonIndexableKeys(rt);
- new EmergencyBroadcastPreferenceController(context).updateNonIndexableKeys(rt);
- if (FeatureFactory.getFactory(context).getDashboardFeatureProvider(context)
- .isEnabled()) {
- new DialPadTonePreferenceController(context,
- null /* SettingsPreferenceFragment */,
- null /* Lifecycle */).updateNonIndexableKeys(rt);
- new ScreenLockSoundPreferenceController(context,
- null /* SettingsPreferenceFragment */,
- null /* Lifecycle */).updateNonIndexableKeys(rt);
- new ChargingSoundPreferenceController(context,
- null /* SettingsPreferenceFragment */,
- null /* Lifecycle */).updateNonIndexableKeys(rt);
- new DockingSoundPreferenceController(context,
- null /* SettingsPreferenceFragment */,
- null /* Lifecycle */).updateNonIndexableKeys(rt);
- new TouchSoundPreferenceController(context, null /* SettingsPreferenceFragment */,
- null /* Lifecycle */).updateNonIndexableKeys(rt);
- new VibrateOnTouchPreferenceController(context,
- null /* SettingsPreferenceFragment */,
- null /* Lifecycle */).updateNonIndexableKeys(rt);
- new DockAudioMediaPreferenceController(context,
- null /* SettingsPreferenceFragment */,
- null /* Lifecycle */).updateNonIndexableKeys(rt);
- new BootSoundPreferenceController(context).updateNonIndexableKeys(rt);
- new EmergencyTonePreferenceController(context,
- null /* SettingsPreferenceFragment */,
- null /* Lifecycle */).updateNonIndexableKeys(rt);
- } else {
- new CastPreferenceController(context).updateNonIndexableKeys(rt);
- }
+ public List getNonIndexableKeys(Context context) {
+ final ArrayList rt = new ArrayList();
+ new NotificationVolumePreferenceController(
+ context, null /* Callback */,
+ null /* Lifecycle */).updateNonIndexableKeys(rt);
+ new RingVolumePreferenceController(
+ context, null /* Callback */,
+ null /* Lifecycle */).updateNonIndexableKeys(rt);
+ new PhoneRingtonePreferenceController(context).updateNonIndexableKeys(rt);
+ new VibrateWhenRingPreferenceController(context).updateNonIndexableKeys(rt);
+ new EmergencyBroadcastPreferenceController(context).updateNonIndexableKeys(rt);
+ if (FeatureFactory.getFactory(context).getDashboardFeatureProvider(context)
+ .isEnabled()) {
+ new DialPadTonePreferenceController(context,
+ null /* SettingsPreferenceFragment */,
+ null /* Lifecycle */).updateNonIndexableKeys(rt);
+ new ScreenLockSoundPreferenceController(context,
+ null /* SettingsPreferenceFragment */,
+ null /* Lifecycle */).updateNonIndexableKeys(rt);
+ new ChargingSoundPreferenceController(context,
+ null /* SettingsPreferenceFragment */,
+ null /* Lifecycle */).updateNonIndexableKeys(rt);
+ new DockingSoundPreferenceController(context,
+ null /* SettingsPreferenceFragment */,
+ null /* Lifecycle */).updateNonIndexableKeys(rt);
+ new TouchSoundPreferenceController(context, null /*
+ SettingsPreferenceFragment */,
+ null /* Lifecycle */).updateNonIndexableKeys(rt);
+ new VibrateOnTouchPreferenceController(context,
+ null /* SettingsPreferenceFragment */,
+ null /* Lifecycle */).updateNonIndexableKeys(rt);
+ new DockAudioMediaPreferenceController(context,
+ null /* SettingsPreferenceFragment */,
+ null /* Lifecycle */).updateNonIndexableKeys(rt);
+ new BootSoundPreferenceController(context).updateNonIndexableKeys(rt);
+ new EmergencyTonePreferenceController(context,
+ null /* SettingsPreferenceFragment */,
+ null /* Lifecycle */).updateNonIndexableKeys(rt);
+ } else {
+ new CastPreferenceController(context).updateNonIndexableKeys(rt);
+ }
- return rt;
- }
- };
+ return rt;
+ }
+ };
// === Work Sound Settings ===
diff --git a/src/com/android/settings/system/SystemDashboardFragment.java b/src/com/android/settings/system/SystemDashboardFragment.java
index c46bc6fbeba..2898ce27bf2 100644
--- a/src/com/android/settings/system/SystemDashboardFragment.java
+++ b/src/com/android/settings/system/SystemDashboardFragment.java
@@ -23,10 +23,8 @@ import com.android.internal.logging.nano.MetricsProto;
import com.android.settings.R;
import com.android.settings.core.PreferenceController;
import com.android.settings.dashboard.DashboardFragment;
-import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.deviceinfo.AdditionalSystemUpdatePreferenceController;
import com.android.settings.deviceinfo.SystemUpdatePreferenceController;
-import com.android.settings.localepicker.LocaleFeatureProvider;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
@@ -63,34 +61,6 @@ public class SystemDashboardFragment extends DashboardFragment {
return controllers;
}
- /**
- * For Summary
- */
- private static class SummaryProvider implements SummaryLoader.SummaryProvider {
-
- private final Context mContext;
- private final SummaryLoader mSummaryLoader;
- private final LocaleFeatureProvider mLocaleFeatureProvider;
-
- public SummaryProvider(Context context, SummaryLoader summaryLoader) {
- mContext = context;
- mSummaryLoader = summaryLoader;
- mLocaleFeatureProvider = FeatureFactory.getFactory(context).getLocaleFeatureProvider();
- }
-
- @Override
- public void setListening(boolean listening) {
- if (listening) {
- final String language = mContext.getString(
- R.string.system_dashboard_summary, mLocaleFeatureProvider.getLocaleNames());
- mSummaryLoader.setSummary(this, language);
- }
- }
- }
-
- public static final SummaryLoader.SummaryProviderFactory SUMMARY_PROVIDER_FACTORY =
- (context, summaryLoader) -> new SummaryProvider(context, summaryLoader);
-
/**
* For Search.
*/
diff --git a/src/com/android/settings/users/UserSettings.java b/src/com/android/settings/users/UserSettings.java
index a7949534cb6..c49aa1d1af8 100644
--- a/src/com/android/settings/users/UserSettings.java
+++ b/src/com/android/settings/users/UserSettings.java
@@ -39,7 +39,6 @@ import android.os.Message;
import android.os.RemoteException;
import android.os.UserHandle;
import android.os.UserManager;
-import android.provider.Settings;
import android.provider.Settings.Global;
import android.support.v7.preference.Preference;
import android.support.v7.preference.Preference.OnPreferenceClickListener;
@@ -66,7 +65,6 @@ import com.android.settings.SettingsPreferenceFragment;
import com.android.settings.Utils;
import com.android.settings.accounts.AddUserWhenLockedPreferenceController;
import com.android.settings.accounts.EmergencyInfoPreferenceController;
-import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.overlay.FeatureFactory;
import com.android.settings.search.BaseSearchIndexProvider;
import com.android.settings.search.Indexable;
@@ -1060,36 +1058,6 @@ public class UserSettings extends SettingsPreferenceFragment
mMePreference.setTitle(label);
}
- private static class SummaryProvider implements SummaryLoader.SummaryProvider {
-
- private final Context mContext;
- private final SummaryLoader mSummaryLoader;
-
- public SummaryProvider(Context context, SummaryLoader summaryLoader) {
- mContext = context;
- mSummaryLoader = summaryLoader;
- }
-
- @Override
- public void setListening(boolean listening) {
- if (listening) {
- UserInfo info = mContext.getSystemService(UserManager.class).getUserInfo(
- UserHandle.myUserId());
- mSummaryLoader.setSummary(this, mContext.getString(R.string.user_summary,
- info.name));
- }
- }
- }
-
- public static final SummaryLoader.SummaryProviderFactory SUMMARY_PROVIDER_FACTORY
- = new SummaryLoader.SummaryProviderFactory() {
- @Override
- public SummaryLoader.SummaryProvider createSummaryProvider(Activity activity,
- SummaryLoader summaryLoader) {
- return new SummaryProvider(activity, summaryLoader);
- }
- };
-
public static final Indexable.SearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
new BaseSearchIndexProvider() {
@Override
diff --git a/tests/robotests/src/com/android/settings/DisplaySettingsTest.java b/tests/robotests/src/com/android/settings/DisplaySettingsTest.java
deleted file mode 100644
index ac499eb91cf..00000000000
--- a/tests/robotests/src/com/android/settings/DisplaySettingsTest.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright (C) 2016 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;
-
-import android.app.Activity;
-import android.provider.Settings.System;
-import com.android.settings.dashboard.SummaryLoader;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.Robolectric;
-import org.robolectric.annotation.Config;
-
-import static android.provider.Settings.System.SCREEN_OFF_TIMEOUT;
-import static junit.framework.Assert.assertEquals;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-
-@RunWith(SettingsRobolectricTestRunner.class)
-@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
-public class DisplaySettingsTest {
-
- private Activity mActivity;
- @Mock private SummaryLoader mSummaryLoader;
- private SummaryLoader.SummaryProvider mSummaryProvider;
-
- @Before
- public void setUp() {
- MockitoAnnotations.initMocks(this);
- mActivity = Robolectric.buildActivity(Activity.class).get();
- mSummaryProvider = DisplaySettings.SUMMARY_PROVIDER_FACTORY.createSummaryProvider(
- mActivity, mSummaryLoader);
- }
-
- @Test
- public void testInvalidTimeouts_summaryShouldBeEmpty() {
- System.putLong(mActivity.getContentResolver(), SCREEN_OFF_TIMEOUT, -1);
- assertEquals(System.getLong(mActivity.getContentResolver(), SCREEN_OFF_TIMEOUT, 0), -1);
- mSummaryProvider.setListening(true);
-
- System.putLong(mActivity.getContentResolver(), SCREEN_OFF_TIMEOUT, 1234);
- mSummaryProvider.setListening(true);
-
- verify(mSummaryLoader, times(2)).setSummary(mSummaryProvider, "");
- }
-
- @Test
- public void testValidTimeouts_summaryShouldNotBeEmpty() {
- final CharSequence[] values =
- mActivity.getResources().getTextArray(R.array.screen_timeout_values);
-
- for (CharSequence value : values) {
- long timeout = Long.parseLong(value.toString());
- System.putLong(mActivity.getContentResolver(), SCREEN_OFF_TIMEOUT, timeout);
- assertEquals(System.getLong(mActivity.getContentResolver(), SCREEN_OFF_TIMEOUT, 0), timeout);
- mSummaryProvider.setListening(true);
- }
-
- verify(mSummaryLoader, never()).setSummary(mSummaryProvider, "");
- }
-}
diff --git a/tests/robotests/src/com/android/settings/accounts/UserAndAccountDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/accounts/UserAndAccountDashboardFragmentTest.java
index 90761a01a77..e1c2abfe75e 100644
--- a/tests/robotests/src/com/android/settings/accounts/UserAndAccountDashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accounts/UserAndAccountDashboardFragmentTest.java
@@ -15,11 +15,16 @@
*/
package com.android.settings.accounts;
+import android.app.Activity;
import android.content.Context;
+import android.content.pm.UserInfo;
import android.os.Bundle;
+import android.os.UserManager;
import android.provider.SearchIndexableResource;
+import com.android.settings.R;
import com.android.settings.TestConfig;
+import com.android.settings.dashboard.SummaryLoader;
import com.android.settings.testutils.FakeFeatureFactory;
import com.android.settingslib.drawer.CategoryKey;
import com.android.settingslib.drawer.Tile;
@@ -37,6 +42,9 @@ import org.robolectric.shadows.ShadowApplication;
import java.util.List;
import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Matchers.anyInt;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
@RunWith(RobolectricTestRunner.class)
@@ -48,6 +56,8 @@ public class UserAndAccountDashboardFragmentTest {
@Mock(answer = Answers.RETURNS_DEEP_STUBS)
private Context mContext;
+ @Mock
+ private UserManager mUserManager;
private UserAndAccountDashboardFragment mFragment;
@Before
@@ -86,6 +96,24 @@ public class UserAndAccountDashboardFragmentTest {
assertThat(mFragment.displayTile(tile)).isTrue();
}
+ @Test
+ public void updateSummary_shouldDisplaySignedInUser() {
+ final Activity activity = mock(Activity.class);
+ final SummaryLoader loader = mock(SummaryLoader.class);
+ final UserInfo userInfo = new UserInfo();
+ userInfo.name = "test_name";
+
+ when(activity.getSystemService(UserManager.class)).thenReturn(mUserManager);
+ when(mUserManager.getUserInfo(anyInt())).thenReturn(userInfo);
+
+ final SummaryLoader.SummaryProvider provider = mFragment.SUMMARY_PROVIDER_FACTORY
+ .createSummaryProvider(activity, loader);
+ provider.setListening(true);
+
+ verify(activity).getString(R.string.user_summary,
+ userInfo.name);
+ }
+
@Test
public void testSearchIndexProvider_shouldIndexResource() {
final List indexRes =
diff --git a/tests/robotests/src/com/android/settings/system/SystemDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/system/SystemDashboardFragmentTest.java
deleted file mode 100644
index 65a8805e7b8..00000000000
--- a/tests/robotests/src/com/android/settings/system/SystemDashboardFragmentTest.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright (C) 2016 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.system;
-
-
-import android.app.Activity;
-import com.android.settings.SettingsRobolectricTestRunner;
-import com.android.settings.TestConfig;
-import com.android.settings.dashboard.SummaryLoader;
-import com.android.settings.testutils.FakeFeatureFactory;
-import com.google.common.truth.Truth;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Answers;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.annotation.Config;
-
-import static com.android.settings.system.SystemDashboardFragment.SUMMARY_PROVIDER_FACTORY;
-import static org.mockito.Matchers.anyString;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.verify;
-
-@RunWith(SettingsRobolectricTestRunner.class)
-@Config(manifest = TestConfig.MANIFEST_PATH, sdk = TestConfig.SDK_VERSION)
-public class SystemDashboardFragmentTest {
-
- @Mock(answer = Answers.RETURNS_DEEP_STUBS)
- private Activity mActivity;
- @Mock
- private SummaryLoader mSummaryLoader;
-
-
- @Before
- public void setUp() {
- MockitoAnnotations.initMocks(this);
- FakeFeatureFactory.setupForTest(mActivity);
- }
-
- @Test
- public void hasSummaryProvider() {
- Truth.assertThat(SUMMARY_PROVIDER_FACTORY).isNotNull();
- }
-
- @Test
- public void updateSummary_isListening_shouldNotifySummaryLoader() {
- final SummaryLoader.SummaryProvider summaryProvider =
- SUMMARY_PROVIDER_FACTORY.createSummaryProvider(mActivity, mSummaryLoader);
- summaryProvider.setListening(true);
-
- verify(mSummaryLoader).setSummary(eq(summaryProvider), anyString());
- }
-
- @Test
- public void updateSummary_notListening_shouldNotNotifySummaryLoader() {
- final SummaryLoader.SummaryProvider summaryProvider =
- SUMMARY_PROVIDER_FACTORY.createSummaryProvider(mActivity, mSummaryLoader);
- summaryProvider.setListening(false);
-
- verify(mSummaryLoader, never()).setSummary(eq(summaryProvider), anyString());
- }
-}