Fix Battery settings FC

PowerUsageFeatureProviderImpl.java getEnhancedBatteryPrediction can
return null when:
if (cursor == null || !cursor.moveToFirst()) {
return null;
}

and that leads to FC.
Todo: find if possibile the root of the issue

Logcat:
10-07 11:49:32.185  6632  6667 E AndroidRuntime: FATAL EXCEPTION: AsyncTask #3
10-07 11:49:32.185  6632  6667 E AndroidRuntime: Process: com.android.settings, PID: 6632
10-07 11:49:32.185  6632  6667 E AndroidRuntime: java.lang.RuntimeException: An error occurred while executing doInBackground()
10-07 11:49:32.185  6632  6667 E AndroidRuntime: 	at android.os.AsyncTask$3.done(AsyncTask.java:354)
10-07 11:49:32.185  6632  6667 E AndroidRuntime: 	at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)
10-07 11:49:32.185  6632  6667 E AndroidRuntime: 	at java.util.concurrent.FutureTask.setException(FutureTask.java:252)
10-07 11:49:32.185  6632  6667 E AndroidRuntime: 	at java.util.concurrent.FutureTask.run(FutureTask.java:271)
10-07 11:49:32.185  6632  6667 E AndroidRuntime: 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
10-07 11:49:32.185  6632  6667 E AndroidRuntime: 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
10-07 11:49:32.185  6632  6667 E AndroidRuntime: 	at java.lang.Thread.run(Thread.java:764)
10-07 11:49:32.185  6632  6667 E AndroidRuntime: Caused by: java.lang.NullPointerException: Attempt to read from field 'long com.android.settings.fuelgauge.Estimate.averageDischargeTime' on a null object reference
10-07 11:49:32.185  6632  6667 E AndroidRuntime: 	at com.android.settings.fuelgauge.BatteryInfo.getBatteryInfo(BatteryInfo.java:223)
10-07 11:49:32.185  6632  6667 E AndroidRuntime: 	at com.android.settings.fuelgauge.BatteryUtils.getBatteryInfo(BatteryUtils.java:458)
10-07 11:49:32.185  6632  6667 E AndroidRuntime: 	at com.android.settings.fuelgauge.BatteryInfoLoader.loadInBackground(BatteryInfoLoader.java:51)
10-07 11:49:32.185  6632  6667 E AndroidRuntime: 	at com.android.settings.fuelgauge.BatteryInfoLoader.loadInBackground(BatteryInfoLoader.java:30)
10-07 11:49:32.185  6632  6667 E AndroidRuntime: 	at android.content.AsyncTaskLoader.onLoadInBackground(AsyncTaskLoader.java:319)
10-07 11:49:32.185  6632  6667 E AndroidRuntime: 	at android.content.AsyncTaskLoader$LoadTask.doInBackground(AsyncTaskLoader.java:73)
10-07 11:49:32.185  6632  6667 E AndroidRuntime: 	at android.content.AsyncTaskLoader$LoadTask.doInBackground(AsyncTaskLoader.java:61)
10-07 11:49:32.185  6632  6667 E AndroidRuntime: 	at android.os.AsyncTask$2.call(AsyncTask.java:333)
10-07 11:49:32.185  6632  6667 E AndroidRuntime: 	at java.util.concurrent.FutureTask.run(FutureTask.java:266)

Change-Id: I6fd5f3741374d0ac2b7067e48486b148b497299d
Signed-off-by: Josh Fox (XlxFoXxlX) <joshfox87@gmail.com>
1 file changed