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)) {
|
||||
Estimate estimate = provider.getEnhancedBatteryPrediction(context);
|
||||
if (estimate != null) {
|
||||
Estimate.storeCachedEstimate(context, estimate);
|
||||
BatteryUtils
|
||||
.logRuntime(LOG_TAG, "time for enhanced BatteryInfo", startTime);
|
||||
return BatteryInfo.getBatteryInfo(context, batteryBroadcast, stats,
|
||||
|
@@ -450,7 +450,6 @@ public class BatteryUtils {
|
||||
SystemClock.elapsedRealtime());
|
||||
final BatteryStats stats = statsHelper.getStats();
|
||||
BatteryInfo batteryInfo;
|
||||
|
||||
Estimate estimate = null;
|
||||
// Get enhanced prediction if available
|
||||
if (mPowerUsageFeatureProvider != null &&
|
||||
@@ -458,7 +457,9 @@ public class BatteryUtils {
|
||||
estimate = mPowerUsageFeatureProvider.getEnhancedBatteryPrediction(mContext);
|
||||
}
|
||||
|
||||
if (estimate == null) {
|
||||
if (estimate != null) {
|
||||
Estimate.storeCachedEstimate(mContext, estimate);
|
||||
} else {
|
||||
estimate = new Estimate(
|
||||
PowerUtil.convertUsToMs(stats.computeBatteryTimeRemaining(elapsedRealtimeUs)),
|
||||
false /* isBasedOnUsage */,
|
||||
|
@@ -20,9 +20,14 @@ import static com.android.settings.fuelgauge.BatteryBroadcastReceiver.BatteryUpd
|
||||
|
||||
import android.app.settings.SettingsEnums;
|
||||
import android.content.Context;
|
||||
import android.database.ContentObserver;
|
||||
import android.net.Uri;
|
||||
import android.os.BatteryStats;
|
||||
import android.os.Bundle;
|
||||
import android.os.Handler;
|
||||
import android.provider.SearchIndexableResource;
|
||||
import android.provider.Settings;
|
||||
import android.provider.Settings.Global;
|
||||
import android.text.format.Formatter;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuInflater;
|
||||
@@ -102,6 +107,13 @@ public class PowerUsageSummary extends PowerUsageBase implements OnLongClickList
|
||||
BatteryTipPreferenceController mBatteryTipPreferenceController;
|
||||
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
|
||||
LoaderManager.LoaderCallbacks<BatteryInfo> mBatteryInfoLoaderCallbacks =
|
||||
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
|
||||
public void onAttach(Context context) {
|
||||
super.onAttach(context);
|
||||
|
Reference in New Issue
Block a user