From 137588d60b0d8bb9612fa42f6d650751f540177b Mon Sep 17 00:00:00 2001 From: Amith Yamasani Date: Fri, 12 Nov 2010 14:13:03 -0800 Subject: [PATCH 1/3] Don't show battery usage information if data is bogus. --- res/values/strings.xml | 2 ++ .../settings/fuelgauge/PowerUsageSummary.java | 30 ++++++++++++------- 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/res/values/strings.xml b/res/values/strings.xml index 7a5174e7242..d6376bc1486 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -2408,6 +2408,8 @@ found in the list of installed applications. Battery use What has been using the battery + + Battery usage data not available Battery use since unplugged diff --git a/src/com/android/settings/fuelgauge/PowerUsageSummary.java b/src/com/android/settings/fuelgauge/PowerUsageSummary.java index 9fdc7f21ddc..aae60eb8497 100644 --- a/src/com/android/settings/fuelgauge/PowerUsageSummary.java +++ b/src/com/android/settings/fuelgauge/PowerUsageSummary.java @@ -16,6 +16,13 @@ package com.android.settings.fuelgauge; +import com.android.internal.app.IBatteryStats; +import com.android.internal.os.BatteryStatsImpl; +import com.android.internal.os.PowerProfile; +import com.android.settings.R; +import com.android.settings.applications.InstalledAppDetails; +import com.android.settings.fuelgauge.PowerUsageDetail.DrainType; + import android.content.Context; import android.content.Intent; import android.hardware.SensorManager; @@ -40,13 +47,6 @@ import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; -import com.android.internal.app.IBatteryStats; -import com.android.internal.os.BatteryStatsImpl; -import com.android.internal.os.PowerProfile; -import com.android.settings.R; -import com.android.settings.applications.InstalledAppDetails; -import com.android.settings.fuelgauge.PowerUsageDetail.DrainType; - import java.io.PrintWriter; import java.io.StringWriter; import java.io.Writer; @@ -309,6 +309,12 @@ public class PowerUsageSummary extends PreferenceFragment implements Runnable { } } + private void addNotAvailableMessage() { + Preference notAvailable = new Preference(getActivity()); + notAvailable.setTitle(R.string.power_usage_not_available); + mAppListGroup.addPreference(notAvailable); + } + private void refreshStats() { if (mStats == null) { load(); @@ -323,15 +329,19 @@ public class PowerUsageSummary extends PreferenceFragment implements Runnable { mUsageList.clear(); mWifiSippers.clear(); mBluetoothSippers.clear(); - processAppUsage(); - processMiscUsage(); - mAppListGroup.setOrderingAsAdded(false); BatteryHistoryPreference hist = new BatteryHistoryPreference(getActivity(), mStats); hist.setOrder(-1); mAppListGroup.addPreference(hist); + if (mPowerProfile.getAveragePower(PowerProfile.POWER_SCREEN_FULL) < 10) { + addNotAvailableMessage(); + return; + } + processAppUsage(); + processMiscUsage(); + Collections.sort(mUsageList); for (BatterySipper sipper : mUsageList) { if (sipper.getSortValue() < MIN_POWER_THRESHOLD) continue; From 695dc5e8b6030bdb13f2a55b1c08dc2cbb339f2c Mon Sep 17 00:00:00 2001 From: Daisuke Miyakawa Date: Mon, 15 Nov 2010 10:20:31 -0800 Subject: [PATCH 2/3] Remove the limit of available Wi-Fi networks Change-Id: Ib9cf6753683ecf4d531c76cf1134757ad7d70c47 --- .../settings/wifi/WifiSettingsForSetupWizardXL.java | 9 --------- 1 file changed, 9 deletions(-) diff --git a/src/com/android/settings/wifi/WifiSettingsForSetupWizardXL.java b/src/com/android/settings/wifi/WifiSettingsForSetupWizardXL.java index 468e5c26108..798ec1211bb 100644 --- a/src/com/android/settings/wifi/WifiSettingsForSetupWizardXL.java +++ b/src/com/android/settings/wifi/WifiSettingsForSetupWizardXL.java @@ -45,10 +45,6 @@ import java.util.EnumMap; public class WifiSettingsForSetupWizardXL extends Activity implements OnClickListener { private static final String TAG = "SetupWizard"; - // We limit the number of showable access points so that the ListView won't become larger - // than the screen. - private static int MAX_MENU_COUNT_IN_XL = 8; - private static final EnumMap stateMap = new EnumMap(DetailedState.class); @@ -441,14 +437,9 @@ public class WifiSettingsForSetupWizardXL extends Activity implements OnClickLis */ /* package */ void onAccessPointsUpdated( PreferenceCategory holder, Collection accessPoints) { - int count = MAX_MENU_COUNT_IN_XL; for (AccessPoint accessPoint : accessPoints) { accessPoint.setLayoutResource(R.layout.custom_preference); holder.addPreference(accessPoint); - count--; - if (count <= 0) { - break; - } } } From 3965ae6d1f60527c49e7914b624c9afe5bdd15e9 Mon Sep 17 00:00:00 2001 From: Amith Yamasani Date: Mon, 15 Nov 2010 14:45:19 -0800 Subject: [PATCH 3/3] Jump to top-level settings when launched from system bar or Settings shortcut. Bug: 3192808 Also switch back to Theme.Holo, as Theme.Holo.Extended is deprecated. --- AndroidManifest.xml | 53 +++++++++++++------------- src/com/android/settings/Settings.java | 14 +++++++ 2 files changed, 41 insertions(+), 26 deletions(-) diff --git a/AndroidManifest.xml b/AndroidManifest.xml index c5e5eb73409..38579b69e14 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -52,7 +52,8 @@ @@ -73,7 +74,7 @@ @@ -93,7 +94,7 @@ @@ -209,7 +210,7 @@ @@ -223,7 +224,7 @@ @@ -241,7 +242,7 @@ @@ -265,7 +266,7 @@ @@ -281,7 +282,7 @@ @@ -298,7 +299,7 @@ @@ -324,7 +325,7 @@ @@ -342,7 +343,7 @@ @@ -360,7 +361,7 @@ @@ -379,7 +380,7 @@ @@ -429,7 +430,7 @@ @@ -444,7 +445,7 @@ @@ -490,7 +491,7 @@ @@ -507,7 +508,7 @@ @@ -523,7 +524,7 @@ @@ -551,7 +552,7 @@ @@ -603,7 +604,7 @@ @@ -618,7 +619,7 @@ @@ -686,7 +687,7 @@ @@ -742,7 +743,7 @@ @@ -917,7 +918,7 @@ @@ -933,7 +934,7 @@ diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java index 28a0f70f5fe..c94a0e16852 100644 --- a/src/com/android/settings/Settings.java +++ b/src/com/android/settings/Settings.java @@ -38,6 +38,7 @@ public class Settings extends PreferenceActivity { private String mFragmentClass; private int mTopLevelHeaderId; + private Header mFirstHeader; // TODO: Update Call Settings based on airplane mode state. @@ -52,6 +53,17 @@ public class Settings extends PreferenceActivity { highlightHeader(); } + @Override + public void onNewIntent(Intent intent) { + super.onNewIntent(intent); + + // If it is not launched from history, then reset to top-level + if ((intent.getFlags() & Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY) == 0 + && mFirstHeader != null) { + switchToHeader(mFirstHeader); + } + } + private void highlightHeader() { if (mTopLevelHeaderId != 0) { Integer index = mHeaderIndexMap.get(mTopLevelHeaderId); @@ -143,6 +155,8 @@ public class Settings extends PreferenceActivity { } // Increment if the current one wasn't removed by the Utils code. if (target.get(i) == header) { + // Hold on to the first header, when we need to reset to the top-level + if (i == 0) mFirstHeader = header; mHeaderIndexMap.put(id, i); i++; }