Merge "Small fixes to power save UI." into lmp-preview-dev
diff --git a/res/layout/dashboard_category.xml b/res/layout/dashboard_category.xml
index 6e90fa9..afa038b 100644
--- a/res/layout/dashboard_category.xml
+++ b/res/layout/dashboard_category.xml
@@ -23,7 +23,7 @@
<TextView android:id="@+id/category_title"
android:layout_width="match_parent"
android:layout_height="@dimen/dashboard_category_title_height"
- android:paddingStart="@dimen/dashboard_category_title_padding_start"
+ android:layout_marginStart="@dimen/dashboard_category_title_margin_start"
android:singleLine="true"
android:ellipsize="marquee"
android:gravity="center_vertical"
diff --git a/res/layout/switch_bar.xml b/res/layout/switch_bar.xml
index 51914c9..cdf14d7 100644
--- a/res/layout/switch_bar.xml
+++ b/res/layout/switch_bar.xml
@@ -23,7 +23,7 @@
android:layout_height="wrap_content"
android:layout_width="0dp"
android:layout_weight="1"
- android:paddingStart="@dimen/switchbar_padding_start"
+ android:layout_marginStart="?attr/switchBarMarginStart"
android:layout_gravity="center_vertical"
android:textAppearance="@style/TextAppearance.Switch"
android:textAlignment="viewStart" />
@@ -32,6 +32,6 @@
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
- android:paddingEnd="@dimen/switchbar_padding_end" />
+ android:layout_marginEnd="?attr/switchBarMarginEnd" />
</merge>
diff --git a/res/values-sw600dp/dimens.xml b/res/values-sw600dp/dimens.xml
index fe42d69..dcf75e7 100755
--- a/res/values-sw600dp/dimens.xml
+++ b/res/values-sw600dp/dimens.xml
@@ -41,18 +41,22 @@
<!-- ActionBar contentInsetStart -->
<dimen name="actionbar_contentInsetStart">24dp</dimen>
+ <dimen name="actionbar_subsettings_contentInsetStart">80dp</dimen>
- <!-- Dashboard category title padding start -->
- <dimen name="dashboard_category_title_padding_start">24dp</dimen>
+ <!-- Dashboard category title margin start -->
+ <dimen name="dashboard_category_title_margin_start">23dp</dimen>
<!-- Dashboard tile image padding start / end -->
<dimen name="dashboard_tile_image_margin_start">24dp</dimen>
<dimen name="dashboard_tile_image_margin_end">32dp</dimen>
- <!-- SwitchBar padding start -->
- <dimen name="switchbar_padding_start">24dp</dimen>
- <!-- SwitchBar padding end -->
- <dimen name="switchbar_padding_end">24dp</dimen>
+ <!-- SwitchBar margin start / end -->
+ <dimen name="switchbar_margin_start">24dp</dimen>
+ <dimen name="switchbar_margin_end">24dp</dimen>
+
+ <!-- SwitchBar sub settings margin start / end -->
+ <dimen name="switchbar_subsettings_margin_start">80dp</dimen>
+ <dimen name="switchbar_subsettings_margin_end">24dp</dimen>
<!-- Search title (recent / results) padding start -->
<dimen name="search_title_padding_start">24dp</dimen>
diff --git a/res/values/attrs.xml b/res/values/attrs.xml
index c1cb5ae..86cffa9 100644
--- a/res/values/attrs.xml
+++ b/res/values/attrs.xml
@@ -96,4 +96,8 @@
<declare-styleable name="Preference">
<attr name="keywords" format="string" />
</declare-styleable>
+
+ <attr name="switchBarMarginStart" format="dimension" />
+ <attr name="switchBarMarginEnd" format="dimension" />
+
</resources>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 12c92c8..d3c4334 100755
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -92,6 +92,7 @@
<!-- ActionBar contentInsetStart -->
<dimen name="actionbar_contentInsetStart">16dp</dimen>
+ <dimen name="actionbar_subsettings_contentInsetStart">72dp</dimen>
<!-- Dashboard padding between each tiles within the layout -->
<dimen name="dashboard_cell_gap">1dp</dimen>
@@ -104,8 +105,8 @@
<!-- Dashboard category title layout height -->
<dimen name="dashboard_category_title_height">48dp</dimen>
- <!-- Dashboard category title padding start -->
- <dimen name="dashboard_category_title_padding_start">16dp</dimen>
+ <!-- Dashboard category title margin start -->
+ <dimen name="dashboard_category_title_margin_start">15dp</dimen>
<!-- Dashboard tile minimum height -->
<dimen name="dashboard_tile_minimum_height">72dp</dimen>
@@ -117,10 +118,13 @@
<dimen name="dashboard_tile_image_margin_start">16dp</dimen>
<dimen name="dashboard_tile_image_margin_end">32dp</dimen>
- <!-- SwitchBar padding start -->
- <dimen name="switchbar_padding_start">16dp</dimen>
- <!-- SwitchBar padding end. Should be n x @*android:dimen/preference_fragment_padding_side -->
- <dimen name="switchbar_padding_end">16dp</dimen>
+ <!-- SwitchBar margin start / end -->
+ <dimen name="switchbar_margin_start">16dp</dimen>
+ <dimen name="switchbar_margin_end">16dp</dimen>
+
+ <!-- SwitchBar sub settings margin start / end -->
+ <dimen name="switchbar_subsettings_margin_start">72dp</dimen>
+ <dimen name="switchbar_subsettings_margin_end">16dp</dimen>
<!-- Search Results padding in its container -->
<dimen name="search_results_padding_start">1dp</dimen>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 6b148f8..8ddde44 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -3565,16 +3565,6 @@
<string name="battery_stats_phone_signal_label">Mobile network signal</string>
<!-- Battery usage during last unplugged period -->
<string name="battery_stats_last_duration">@string/menu_stats_last_unplugged</string>
- <!-- [CHAR_LIMIT=5] Label for an hour time when using 24 hour mode -->
- <string name="battery_stats_hour_24_label"><xliff:g id="time">%1$d</xliff:g>:00</string>
- <!-- [CHAR_LIMIT=5] Label for an hour time when using 12 hour mode in the AM -->
- <string name="battery_stats_hour_am_label"><xliff:g id="time">%1$d</xliff:g> AM</string>
- <!-- [CHAR_LIMIT=5] Label for an hour time when using 12 hour mode in the PM -->
- <string name="battery_stats_hour_pm_label"><xliff:g id="time">%1$d</xliff:g> PM</string>
- <!-- [CHAR_LIMIT=3] Label for date of day and month (not year) when the day is shown first -->
- <string name="battery_stats_date_day_first_label"><xliff:g id="day">%1$d</xliff:g>/<xliff:g id="month">%2$d</xliff:g></string>
- <!-- [CHAR_LIMIT=3] Label for date of day and month (not year) when the month is shown first -->
- <string name="battery_stats_date_month_first_label"><xliff:g id="month">%2$d</xliff:g>/<xliff:g id="day">%1$d</xliff:g></string>
<!-- CPU awake time title -->
<string name="awake">Device awake time</string>
<!-- Wifi on time -->
diff --git a/res/values/themes.xml b/res/values/themes.xml
index 82f0bc1..e382de4 100644
--- a/res/values/themes.xml
+++ b/res/values/themes.xml
@@ -84,6 +84,9 @@
<item name="ic_wps">@drawable/ic_wps_dark</item>
<item name="wifi_signal">@drawable/wifi_signal_dark</item>
+ <item name="switchBarMarginStart">@dimen/switchbar_margin_start</item>
+ <item name="switchBarMarginEnd">@dimen/switchbar_margin_end</item>
+
<!-- Redefine the ActionBar style for contentInsetStart -->
<item name="android:actionBarStyle">@style/Theme.ActionBar</item>
@@ -100,6 +103,18 @@
<item name="android:contentInsetStart">@dimen/actionbar_contentInsetStart</item>
</style>
+ <style name="Theme.SubSettings" parent="Theme.Settings">
+ <!-- Redefine the ActionBar style for contentInsetStart -->
+ <item name="android:actionBarStyle">@style/Theme.SubSettingsActionBar</item>
+
+ <item name="switchBarMarginStart">@dimen/switchbar_subsettings_margin_start</item>
+ <item name="switchBarMarginEnd">@dimen/switchbar_subsettings_margin_end</item>
+ </style>
+
+ <style name="Theme.SubSettingsActionBar" parent="Theme.ActionBar">
+ <item name="android:contentInsetStart">@dimen/actionbar_subsettings_contentInsetStart</item>
+ </style>
+
<style name="Theme.DialogWhenLarge" parent="android:style/Theme.Material.Light.DialogWhenLarge">
<!-- Used by the ActionBar -->
<item name="android:colorPrimary">@color/theme_primary</item>
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index 5ca1f8b..9cce9a1 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -459,6 +459,20 @@
super.onCreate(savedState);
+ // Getting Intent properties can only be done after the super.onCreate(...)
+ final String initialFragmentName = getIntent().getStringExtra(EXTRA_SHOW_FRAGMENT);
+
+ mIsShowingDashboard = (initialFragmentName == null);
+
+ final ComponentName cn = getIntent().getComponent();
+ final boolean isShortcut = !cn.getClassName().equals(SubSettings.class.getName());
+
+ // If this is a subsettings (but not a Shortcut) then apply the correct theme for
+ // the ActionBar content inset
+ if (!mIsShowingDashboard && !isShortcut) {
+ setTheme(R.style.Theme_SubSettings);
+ }
+
setContentView(R.layout.settings_main);
mContent = (ViewGroup) findViewById(R.id.prefs);
@@ -468,11 +482,6 @@
mDisplayHomeAsUpEnabled = true;
mDisplaySearch = true;
- // Getting Intent properties can only be done after the super.onCreate(...)
- final String initialFragmentName = getIntent().getStringExtra(EXTRA_SHOW_FRAGMENT);
-
- mIsShowingDashboard = (initialFragmentName == null);
-
if (mIsShowingDashboard) {
Index.getInstance(getApplicationContext()).update();
}
@@ -497,9 +506,8 @@
mDisplaySearch = savedState.getBoolean(SAVE_KEY_SHOW_SEARCH);
} else {
if (!mIsShowingDashboard) {
- final ComponentName cn = getIntent().getComponent();
// No UP nor Search is shown we are launched thru a Settings "shortcut"
- if (!cn.getClassName().equals(SubSettings.class.getName())) {
+ if (isShortcut) {
mDisplayHomeAsUpEnabled = false;
mDisplaySearch = false;
}
diff --git a/src/com/android/settings/fuelgauge/BatteryHistoryChart.java b/src/com/android/settings/fuelgauge/BatteryHistoryChart.java
index 4c6a503..04f4050 100644
--- a/src/com/android/settings/fuelgauge/BatteryHistoryChart.java
+++ b/src/com/android/settings/fuelgauge/BatteryHistoryChart.java
@@ -45,6 +45,7 @@
import java.util.ArrayList;
import java.util.Calendar;
+import java.util.Locale;
public class BatteryHistoryChart extends View {
static final boolean DEBUG = false;
@@ -315,22 +316,11 @@
final String label;
final int width;
- TimeLabel(Context context, TextPaint paint, int x, Calendar cal, boolean use24hr) {
+ TimeLabel(TextPaint paint, int x, Calendar cal, boolean use24hr) {
this.x = x;
- if (use24hr) {
- label = context.getString(R.string.battery_stats_hour_24_label,
- cal.get(Calendar.HOUR_OF_DAY));
- } else {
- int hour = cal.get(Calendar.HOUR);
- if (hour == 0) {
- hour = 12;
- }
- if (cal.get(Calendar.AM_PM) == Calendar.AM) {
- label = context.getString(R.string.battery_stats_hour_am_label, hour);
- } else {
- label = context.getString(R.string.battery_stats_hour_pm_label, hour);
- }
- }
+ final String bestFormat = DateFormat.getBestDateTimePattern(
+ Locale.getDefault(), use24hr ? "km" : "ha");
+ label = DateFormat.format(bestFormat, cal).toString();
width = (int)paint.measureText(label);
}
}
@@ -340,15 +330,11 @@
final String label;
final int width;
- DateLabel(Context context, TextPaint paint, int x, Calendar cal, boolean dayFirst) {
+ DateLabel(TextPaint paint, int x, Calendar cal, boolean dayFirst) {
this.x = x;
- if (dayFirst) {
- label = context.getString(R.string.battery_stats_date_day_first_label,
- cal.get(Calendar.DAY_OF_MONTH), cal.get(Calendar.MONTH));
- } else {
- label = context.getString(R.string.battery_stats_date_month_first_label,
- cal.get(Calendar.DAY_OF_MONTH), cal.get(Calendar.MONTH));
- }
+ final String bestFormat = DateFormat.getBestDateTimePattern(
+ Locale.getDefault(), dayFirst ? "dM" : "Md");
+ label = DateFormat.format(bestFormat, cal).toString();
width = (int)paint.measureText(label);
}
}
@@ -1033,7 +1019,7 @@
void addTimeLabel(Calendar cal, int levelLeft, int levelRight, boolean is24hr) {
final long walltimeStart = mStartWallTime;
final long walltimeChange = mEndWallTime-walltimeStart;
- mTimeLabels.add(new TimeLabel(getContext(), mTextPaint,
+ mTimeLabels.add(new TimeLabel(mTextPaint,
levelLeft + (int)(((cal.getTimeInMillis()-walltimeStart)*(levelRight-levelLeft))
/ walltimeChange),
cal, is24hr));
@@ -1042,7 +1028,7 @@
void addDateLabel(Calendar cal, int levelLeft, int levelRight, boolean isDayFirst) {
final long walltimeStart = mStartWallTime;
final long walltimeChange = mEndWallTime-walltimeStart;
- mDateLabels.add(new DateLabel(getContext(), mTextPaint,
+ mDateLabels.add(new DateLabel(mTextPaint,
levelLeft + (int)(((cal.getTimeInMillis()-walltimeStart)*(levelRight-levelLeft))
/ walltimeChange),
cal, isDayFirst));