Fix null pointer from PowerUsageFeatureProvider
Some locations did not check if the returned value was null before doing operations on them and could crash. This CL changes those spots to take that into account. Test: b/72463854 will add in follow up to unblock dogfood Bug: 72350595 Change-Id: I0ace5c0ab4a8aa9fd5b09d41d6f986143246f059
This commit is contained in:
@@ -171,19 +171,21 @@ public class BatteryInfo {
|
||||
if (discharging && provider != null
|
||||
&& provider.isEnhancedBatteryPredictionEnabled(context)) {
|
||||
Estimate estimate = provider.getEnhancedBatteryPrediction(context);
|
||||
BatteryUtils.logRuntime(LOG_TAG, "time for enhanced BatteryInfo", startTime);
|
||||
if(estimate != null) {
|
||||
BatteryUtils
|
||||
.logRuntime(LOG_TAG, "time for enhanced BatteryInfo", startTime);
|
||||
return BatteryInfo.getBatteryInfo(context, batteryBroadcast, stats,
|
||||
elapsedRealtimeUs, shortString,
|
||||
BatteryUtils.convertMsToUs(estimate.estimateMillis),
|
||||
estimate.isBasedOnUsage);
|
||||
} else {
|
||||
}
|
||||
}
|
||||
long prediction = discharging
|
||||
? stats.computeBatteryTimeRemaining(elapsedRealtimeUs) : 0;
|
||||
BatteryUtils.logRuntime(LOG_TAG, "time for regular BatteryInfo", startTime);
|
||||
return BatteryInfo.getBatteryInfo(context, batteryBroadcast, stats,
|
||||
elapsedRealtimeUs, shortString, prediction, false);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPostExecute(BatteryInfo batteryInfo) {
|
||||
|
@@ -55,6 +55,9 @@ public class DebugEstimatesLoader extends AsyncLoader<List<BatteryInfo>> {
|
||||
stats, elapsedRealtimeUs, false);
|
||||
|
||||
Estimate estimate = powerUsageFeatureProvider.getEnhancedBatteryPrediction(context);
|
||||
if (estimate == null) {
|
||||
estimate = new Estimate(0, false);
|
||||
}
|
||||
BatteryInfo newInfo = BatteryInfo.getBatteryInfo(getContext(), batteryBroadcast, stats,
|
||||
elapsedRealtimeUs, false,
|
||||
BatteryUtils.convertMsToUs(estimate.estimateMillis),
|
||||
|
Reference in New Issue
Block a user