Merge "Update BatteryUtils to update system battery estimate cache" into qt-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
b96e56b16e
@@ -193,6 +193,7 @@ public class BatteryInfo {
|
|||||||
&& provider.isEnhancedBatteryPredictionEnabled(context)) {
|
&& provider.isEnhancedBatteryPredictionEnabled(context)) {
|
||||||
Estimate estimate = provider.getEnhancedBatteryPrediction(context);
|
Estimate estimate = provider.getEnhancedBatteryPrediction(context);
|
||||||
if (estimate != null) {
|
if (estimate != null) {
|
||||||
|
Estimate.storeCachedEstimate(context, estimate);
|
||||||
BatteryUtils
|
BatteryUtils
|
||||||
.logRuntime(LOG_TAG, "time for enhanced BatteryInfo", startTime);
|
.logRuntime(LOG_TAG, "time for enhanced BatteryInfo", startTime);
|
||||||
return BatteryInfo.getBatteryInfo(context, batteryBroadcast, stats,
|
return BatteryInfo.getBatteryInfo(context, batteryBroadcast, stats,
|
||||||
|
@@ -450,7 +450,6 @@ public class BatteryUtils {
|
|||||||
SystemClock.elapsedRealtime());
|
SystemClock.elapsedRealtime());
|
||||||
final BatteryStats stats = statsHelper.getStats();
|
final BatteryStats stats = statsHelper.getStats();
|
||||||
BatteryInfo batteryInfo;
|
BatteryInfo batteryInfo;
|
||||||
|
|
||||||
Estimate estimate = null;
|
Estimate estimate = null;
|
||||||
// Get enhanced prediction if available
|
// Get enhanced prediction if available
|
||||||
if (mPowerUsageFeatureProvider != null &&
|
if (mPowerUsageFeatureProvider != null &&
|
||||||
@@ -458,7 +457,9 @@ public class BatteryUtils {
|
|||||||
estimate = mPowerUsageFeatureProvider.getEnhancedBatteryPrediction(mContext);
|
estimate = mPowerUsageFeatureProvider.getEnhancedBatteryPrediction(mContext);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (estimate == null) {
|
if (estimate != null) {
|
||||||
|
Estimate.storeCachedEstimate(mContext, estimate);
|
||||||
|
} else {
|
||||||
estimate = new Estimate(
|
estimate = new Estimate(
|
||||||
PowerUtil.convertUsToMs(stats.computeBatteryTimeRemaining(elapsedRealtimeUs)),
|
PowerUtil.convertUsToMs(stats.computeBatteryTimeRemaining(elapsedRealtimeUs)),
|
||||||
false /* isBasedOnUsage */,
|
false /* isBasedOnUsage */,
|
||||||
|
@@ -20,9 +20,14 @@ import static com.android.settings.fuelgauge.BatteryBroadcastReceiver.BatteryUpd
|
|||||||
|
|
||||||
import android.app.settings.SettingsEnums;
|
import android.app.settings.SettingsEnums;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
|
import android.database.ContentObserver;
|
||||||
|
import android.net.Uri;
|
||||||
import android.os.BatteryStats;
|
import android.os.BatteryStats;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
|
import android.os.Handler;
|
||||||
import android.provider.SearchIndexableResource;
|
import android.provider.SearchIndexableResource;
|
||||||
|
import android.provider.Settings;
|
||||||
|
import android.provider.Settings.Global;
|
||||||
import android.text.format.Formatter;
|
import android.text.format.Formatter;
|
||||||
import android.view.Menu;
|
import android.view.Menu;
|
||||||
import android.view.MenuInflater;
|
import android.view.MenuInflater;
|
||||||
@@ -102,6 +107,13 @@ public class PowerUsageSummary extends PowerUsageBase implements OnLongClickList
|
|||||||
BatteryTipPreferenceController mBatteryTipPreferenceController;
|
BatteryTipPreferenceController mBatteryTipPreferenceController;
|
||||||
private int mStatsType = BatteryStats.STATS_SINCE_CHARGED;
|
private int mStatsType = BatteryStats.STATS_SINCE_CHARGED;
|
||||||
|
|
||||||
|
private final ContentObserver mSettingsObserver = new ContentObserver(new Handler()) {
|
||||||
|
@Override
|
||||||
|
public void onChange(boolean selfChange, Uri uri) {
|
||||||
|
restartBatteryInfoLoader();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
@VisibleForTesting
|
@VisibleForTesting
|
||||||
LoaderManager.LoaderCallbacks<BatteryInfo> mBatteryInfoLoaderCallbacks =
|
LoaderManager.LoaderCallbacks<BatteryInfo> mBatteryInfoLoaderCallbacks =
|
||||||
new LoaderManager.LoaderCallbacks<BatteryInfo>() {
|
new LoaderManager.LoaderCallbacks<BatteryInfo>() {
|
||||||
@@ -189,6 +201,21 @@ public class PowerUsageSummary extends PowerUsageBase implements OnLongClickList
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onStop() {
|
||||||
|
getContentResolver().unregisterContentObserver(mSettingsObserver);
|
||||||
|
super.onStop();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onResume() {
|
||||||
|
super.onResume();
|
||||||
|
getContentResolver().registerContentObserver(
|
||||||
|
Global.getUriFor(Global.BATTERY_ESTIMATES_LAST_UPDATE_TIME),
|
||||||
|
false,
|
||||||
|
mSettingsObserver);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onAttach(Context context) {
|
public void onAttach(Context context) {
|
||||||
super.onAttach(context);
|
super.onAttach(context);
|
||||||
|
Reference in New Issue
Block a user