Fix issue #15185822: Stability: ArithmeticException: divide by zero

Also small visual improvements.

Change-Id: I55dc30539a4ef67e9261f338c8c5a729a6958d9b
This commit is contained in:
Dianne Hackborn
2014-05-23 16:47:10 -07:00
parent 474c704221
commit a32d81797f
5 changed files with 55 additions and 5 deletions

View File

@@ -82,8 +82,9 @@ public class PowerUsageSummary extends PreferenceFragment {
String action = intent.getAction();
if (Intent.ACTION_BATTERY_CHANGED.equals(action)
&& updateBatteryStatus(intent)) {
mStatsHelper.clearStats();
refreshStats();
if (!mHandler.hasMessages(MSG_REFRESH_STATS)) {
mHandler.sendEmptyMessageDelayed(MSG_REFRESH_STATS, 500);
}
}
}
};
@@ -110,6 +111,10 @@ public class PowerUsageSummary extends PreferenceFragment {
super.onResume();
updateBatteryStatus(getActivity().registerReceiver(mBatteryInfoReceiver,
new IntentFilter(Intent.ACTION_BATTERY_CHANGED)));
if (mHandler.hasMessages(MSG_REFRESH_STATS)) {
mHandler.removeMessages(MSG_REFRESH_STATS);
mStatsHelper.clearStats();
}
refreshStats();
}
@@ -121,6 +126,12 @@ public class PowerUsageSummary extends PreferenceFragment {
super.onPause();
}
@Override
public void onStop() {
super.onStop();
mHandler.removeMessages(MSG_REFRESH_STATS);
}
@Override
public void onDestroy() {
super.onDestroy();
@@ -189,6 +200,7 @@ public class PowerUsageSummary extends PreferenceFragment {
case MENU_STATS_REFRESH:
mStatsHelper.clearStats();
refreshStats();
mHandler.removeMessages(MSG_REFRESH_STATS);
return true;
default:
return false;
@@ -258,6 +270,8 @@ public class PowerUsageSummary extends PreferenceFragment {
BatteryEntry.startRequestQueue();
}
static final int MSG_REFRESH_STATS = 100;
Handler mHandler = new Handler() {
@Override
@@ -279,6 +293,9 @@ public class PowerUsageSummary extends PreferenceFragment {
activity.reportFullyDrawn();
}
break;
case MSG_REFRESH_STATS:
mStatsHelper.clearStats();
refreshStats();
}
super.handleMessage(msg);
}