Merge "Add location as a Inline list payload" into oc-dr1-dev
diff --git a/res/layout/preference_widget_seekbar_settings.xml b/res/layout/preference_widget_seekbar_settings.xml
index c25c598..fb1e9c8 100644
--- a/res/layout/preference_widget_seekbar_settings.xml
+++ b/res/layout/preference_widget_seekbar_settings.xml
@@ -58,6 +58,6 @@
android:layout_alignParentEnd="true"
android:layout_below="@android:id/summary"
android:paddingStart="56dp"
- android:paddingEnd="8dp" />
+ android:paddingEnd="12dp" />
</RelativeLayout>
diff --git a/res/layout/suggestion_condition_container.xml b/res/layout/suggestion_condition_container.xml
index 089c2c8..d9b4d6b 100644
--- a/res/layout/suggestion_condition_container.xml
+++ b/res/layout/suggestion_condition_container.xml
@@ -21,8 +21,8 @@
style="@style/SuggestionConditionStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:paddingStart="8dp"
- android:paddingEnd="8dp"
+ android:paddingStart="5dp"
+ android:paddingEnd="5dp"
android:paddingBottom="@dimen/dashboard_padding_bottom">
<android.support.v7.widget.CardView
diff --git a/res/values/styles_preference.xml b/res/values/styles_preference.xml
index 31e2e79..8b5e7d3 100644
--- a/res/values/styles_preference.xml
+++ b/res/values/styles_preference.xml
@@ -49,6 +49,7 @@
<item name="allowDividerAbove">false</item>
<item name="allowDividerBelow">true</item>
<item name="iconSpaceReserved">true</item>
+ <item name="singleLineTitle">false</item>
<item name="android:dialogLayout">@layout/preference_dialog_edittext</item>
</style>
@@ -72,6 +73,7 @@
<item name="allowDividerAbove">false</item>
<item name="allowDividerBelow">true</item>
<item name="iconSpaceReserved">true</item>
+ <item name="singleLineTitle">false</item>
</style>
<style name="SyncSwitchPreference" parent="SettingsPreference">
diff --git a/res/xml/display_settings.xml b/res/xml/display_settings.xml
index 0462e94..27ef869 100644
--- a/res/xml/display_settings.xml
+++ b/res/xml/display_settings.xml
@@ -35,6 +35,7 @@
settings:widgetLayout="@null"
settings:keywords="@string/keywords_display_night_display" />
+ <!-- Cross-listed item, if you change this, also change it in power_usage_summary.xml -->
<SwitchPreference
android:key="auto_brightness"
android:title="@string/auto_brightness_title"
@@ -51,6 +52,7 @@
android:targetClass="@string/config_wallpaper_picker_class" />
</com.android.settingslib.RestrictedPreference>
+ <!-- Cross-listed item, if you change this, also change it in power_usage_summary.xml -->
<com.android.settings.TimeoutListPreference
android:key="screen_timeout"
android:title="@string/screen_timeout"
@@ -82,6 +84,7 @@
android:title="@string/screensaver_settings_title"
android:fragment="com.android.settings.dream.DreamSettings" />
+ <!-- Cross-listed item, if you change this, also change it in power_usage_summary.xml -->
<Preference
android:key="ambient_display"
android:title="@string/ambient_display_screen_title"
diff --git a/res/xml/power_usage_summary.xml b/res/xml/power_usage_summary.xml
index 978fff8..efdae92 100644
--- a/res/xml/power_usage_summary.xml
+++ b/res/xml/power_usage_summary.xml
@@ -59,14 +59,14 @@
android:title="@string/battery_percentage"
android:summary="@string/battery_percentage_description"/>
- <!-- Cross-listed item, if you change this, also change it in ia_display_settings.xml -->
+ <!-- Cross-listed item, if you change this, also change it in display_settings.xml -->
<SwitchPreference
android:key="auto_brightness_battery"
android:title="@string/auto_brightness_title"
android:summary="@string/auto_brightness_summary"
settings:keywords="@string/keywords_display_auto_brightness"/>
- <!-- Cross-listed item, if you change this, also change it in ia_display_settings.xml -->
+ <!-- Cross-listed item, if you change this, also change it in display_settings.xml -->
<com.android.settings.TimeoutListPreference
android:key="screen_timeout_battery"
android:title="@string/screen_timeout"
@@ -74,6 +74,12 @@
android:entries="@array/screen_timeout_entries"
android:entryValues="@array/screen_timeout_values"/>
+ <!-- Cross-listed item, if you change this, also change it in display_settings.xml -->
+ <Preference
+ android:key="ambient_display_battery"
+ android:title="@string/ambient_display_screen_title"
+ android:fragment="com.android.settings.display.AmbientDisplaySettings" />
+
</PreferenceCategory>
<PreferenceCategory
diff --git a/src/com/android/settings/DisplaySettings.java b/src/com/android/settings/DisplaySettings.java
index c7f349e..15818e2 100644
--- a/src/com/android/settings/DisplaySettings.java
+++ b/src/com/android/settings/DisplaySettings.java
@@ -89,7 +89,6 @@
private static List<PreferenceController> buildPreferenceControllers(
Context context, Lifecycle lifecycle) {
final List<PreferenceController> controllers = new ArrayList<>();
- final AmbientDisplayConfiguration ambientDisplayConfig = new AmbientDisplayConfiguration(context);
controllers.add(new AutoBrightnessPreferenceController(context, KEY_AUTO_BRIGHTNESS));
controllers.add(new AutoRotatePreferenceController(context, lifecycle));
controllers.add(new CameraGesturePreferenceController(context));
@@ -98,7 +97,9 @@
controllers.add(new NightDisplayPreferenceController(context));
controllers.add(new NightModePreferenceController(context));
controllers.add(new ScreenSaverPreferenceController(context));
- controllers.add(new AmbientDisplayPreferenceController(context, ambientDisplayConfig,
+ controllers.add(new AmbientDisplayPreferenceController(
+ context,
+ new AmbientDisplayConfiguration(context),
KEY_AMBIENT_DISPLAY));
controllers.add(new TapToWakePreferenceController(context));
controllers.add(new TimeoutPreferenceController(context, KEY_SCREEN_TIMEOUT));
@@ -128,6 +129,7 @@
List<String> keys = super.getNonIndexableKeys(context);
keys.add(KEY_DISPLAY_SIZE);
keys.add(WallpaperPreferenceController.KEY_WALLPAPER);
+ keys.add(KEY_AMBIENT_DISPLAY);
return keys;
}
diff --git a/src/com/android/settings/fuelgauge/PowerUsageSummary.java b/src/com/android/settings/fuelgauge/PowerUsageSummary.java
index 3ad0142..963dbeb 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageSummary.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageSummary.java
@@ -46,6 +46,7 @@
import android.view.View.OnLongClickListener;
import android.widget.TextView;
+import com.android.internal.hardware.AmbientDisplayConfiguration;
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
import com.android.internal.os.BatterySipper;
import com.android.internal.os.BatterySipper.DrainType;
@@ -59,6 +60,7 @@
import com.android.settings.core.PreferenceController;
import com.android.settings.core.instrumentation.MetricsFeatureProvider;
import com.android.settings.dashboard.SummaryLoader;
+import com.android.settings.display.AmbientDisplayPreferenceController;
import com.android.settings.display.AutoBrightnessPreferenceController;
import com.android.settings.display.BatteryPercentagePreferenceController;
import com.android.settings.display.TimeoutPreferenceController;
@@ -96,6 +98,7 @@
private static final String KEY_AUTO_BRIGHTNESS = "auto_brightness_battery";
private static final String KEY_SCREEN_TIMEOUT = "screen_timeout_battery";
+ private static final String KEY_AMBIENT_DISPLAY = "ambient_display_battery";
private static final String KEY_BATTERY_SAVER_SUMMARY = "battery_saver_summary";
private static final String KEY_HIGH_USAGE = "high_usage";
@@ -314,6 +317,10 @@
controllers.add(new TimeoutPreferenceController(context, KEY_SCREEN_TIMEOUT));
controllers.add(new BatterySaverController(context, getLifecycle()));
controllers.add(new BatteryPercentagePreferenceController(context));
+ controllers.add(new AmbientDisplayPreferenceController(
+ context,
+ new AmbientDisplayConfiguration(context),
+ KEY_AMBIENT_DISPLAY));
return controllers;
}
@@ -710,8 +717,11 @@
if (usageTimeMs >= DateUtils.MINUTE_IN_MILLIS) {
final CharSequence timeSequence = Utils.formatElapsedTime(getContext(), usageTimeMs,
false);
- preference.setSummary(mBatteryUtils.shouldHideSipper(sipper) ? timeSequence :
- TextUtils.expandTemplate(getText(R.string.battery_screen_usage), timeSequence));
+ preference.setSummary(
+ (sipper.drainType != DrainType.APP || mBatteryUtils.shouldHideSipper(sipper))
+ ? timeSequence
+ : TextUtils.expandTemplate(getText(R.string.battery_screen_usage),
+ timeSequence));
}
}
@@ -895,11 +905,12 @@
@Override
public List<String> getNonIndexableKeys(Context context) {
List<String> niks = super.getNonIndexableKeys(context);
+ niks.add(KEY_HIGH_USAGE);
+ niks.add(KEY_BATTERY_SAVER_SUMMARY);
// Duplicates in display
niks.add(KEY_AUTO_BRIGHTNESS);
niks.add(KEY_SCREEN_TIMEOUT);
- niks.add(KEY_BATTERY_SAVER_SUMMARY);
- niks.add(KEY_HIGH_USAGE);
+ niks.add(KEY_AMBIENT_DISPLAY);
return niks;
}
};
diff --git a/src/com/android/settings/fuelgauge/anomaly/action/BackgroundCheckAction.java b/src/com/android/settings/fuelgauge/anomaly/action/BackgroundCheckAction.java
index 5526cc9..aa3fc39 100644
--- a/src/com/android/settings/fuelgauge/anomaly/action/BackgroundCheckAction.java
+++ b/src/com/android/settings/fuelgauge/anomaly/action/BackgroundCheckAction.java
@@ -38,6 +38,7 @@
super(context);
mAppOpsManager = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE);
mActionMetricKey = MetricsProto.MetricsEvent.ACTION_APP_BACKGROUND_CHECK;
+ mBatteryUtils = BatteryUtils.getInstance(context);
}
@Override
diff --git a/src/com/android/settings/utils/ManagedServiceSettings.java b/src/com/android/settings/utils/ManagedServiceSettings.java
index 6e3841d..ae393fd 100644
--- a/src/com/android/settings/utils/ManagedServiceSettings.java
+++ b/src/com/android/settings/utils/ManagedServiceSettings.java
@@ -34,6 +34,7 @@
import android.support.v7.preference.Preference;
import android.support.v7.preference.Preference.OnPreferenceChangeListener;
import android.support.v7.preference.PreferenceScreen;
+import android.util.IconDrawableFactory;
import android.util.Log;
import android.view.View;
@@ -54,6 +55,7 @@
private PackageManager mPm;
private DevicePolicyManager mDpm;
protected ServiceListing mServiceListing;
+ private IconDrawableFactory mIconDrawableFactory;
abstract protected Config getConfig();
@@ -68,6 +70,7 @@
mContext = getActivity();
mPm = mContext.getPackageManager();
mDpm = (DevicePolicyManager) mContext.getSystemService(Context.DEVICE_POLICY_SERVICE);
+ mIconDrawableFactory = IconDrawableFactory.newInstance(mContext);
mServiceListing = new ServiceListing(mContext, mConfig);
mServiceListing.addCallback(new ServiceListing.Callback() {
@Override
@@ -117,13 +120,15 @@
final String summary = service.loadLabel(mPm).toString();
final SwitchPreference pref = new SwitchPreference(getPrefContext());
pref.setPersistent(false);
- pref.setIcon(service.loadIcon(mPm));
+ pref.setIcon(mIconDrawableFactory.getBadgedIcon(service, service.applicationInfo,
+ UserHandle.getUserId(service.applicationInfo.uid)));
if (title != null && !title.equals(summary)) {
pref.setTitle(title);
pref.setSummary(summary);
} else {
pref.setTitle(summary);
}
+ pref.setKey(cn.flattenToString());
pref.setChecked(mServiceListing.isEnabled(cn));
if (managedProfileId != UserHandle.USER_NULL
&& !mDpm.isNotificationListenerServicePermitted(
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java
index eb22d22..b53b98d 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageSummaryTest.java
@@ -335,11 +335,10 @@
doReturn(mRealContext.getText(R.string.battery_screen_usage)).when(mFragment).getText(
R.string.battery_screen_usage);
doReturn(mRealContext).when(mFragment).getContext();
- final String expectedSummary = "Screen usage 2m";
mFragment.setUsageSummary(mPreference, mNormalBatterySipper);
- assertThat(mPreference.getSummary().toString()).isEqualTo(expectedSummary);
+ assertThat(mPreference.getSummary().toString()).isEqualTo("Screen usage 2m");
}
@Test
@@ -347,11 +346,21 @@
mNormalBatterySipper.usageTimeMs = 2 * DateUtils.MINUTE_IN_MILLIS;
doReturn(true).when(mFragment.mBatteryUtils).shouldHideSipper(mNormalBatterySipper);
doReturn(mRealContext).when(mFragment).getContext();
- final String expectedSummary = "2m";
mFragment.setUsageSummary(mPreference, mNormalBatterySipper);
- assertThat(mPreference.getSummary().toString()).isEqualTo(expectedSummary);
+ assertThat(mPreference.getSummary().toString()).isEqualTo("2m");
+ }
+
+ @Test
+ public void testSetUsageSummary_timeMoreThanOneMinute_notApp_setUsedSummary() {
+ mNormalBatterySipper.usageTimeMs = 2 * DateUtils.MINUTE_IN_MILLIS;
+ mNormalBatterySipper.drainType = BatterySipper.DrainType.PHONE;
+ doReturn(mRealContext).when(mFragment).getContext();
+
+ mFragment.setUsageSummary(mPreference, mNormalBatterySipper);
+
+ assertThat(mPreference.getSummary().toString()).isEqualTo("2m");
}
private void testToggleAllApps(final boolean isShowApps) {
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/anomaly/action/BackgroundCheckActionTest.java b/tests/robotests/src/com/android/settings/fuelgauge/anomaly/action/BackgroundCheckActionTest.java
index e2b8656..7e5fc4a 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/anomaly/action/BackgroundCheckActionTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/anomaly/action/BackgroundCheckActionTest.java
@@ -94,4 +94,11 @@
assertThat(mBackgroundCheckAction.isActionActive(mAnomaly)).isFalse();
}
+
+ @Test
+ public void testConstructor_batteryUtilsNotNull() {
+ mBackgroundCheckAction = new BackgroundCheckAction(mContext);
+
+ assertThat(mBackgroundCheckAction.mBatteryUtils).isNotNull();
+ }
}