am 537a0a82: Fix issue #16555033: Battery history overflowing too much

* commit '537a0a82351d9671d14dccde8c9fc2a45c3c4f3a':
  Fix issue #16555033: Battery history overflowing too much
This commit is contained in:
Dianne Hackborn
2014-08-07 21:04:22 +00:00
committed by Android Git Automerger
3 changed files with 10 additions and 18 deletions

View File

@@ -18,31 +18,27 @@ package com.android.settings.fuelgauge;
import android.app.Fragment;
import android.content.Intent;
import android.os.BatteryStats;
import android.os.Bundle;
import android.os.Parcel;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.android.internal.os.BatteryStatsImpl;
import com.android.internal.os.BatteryStatsHelper;
import com.android.settings.R;
public class BatteryHistoryDetail extends Fragment {
public static final String EXTRA_STATS = "stats";
public static final String EXTRA_BROADCAST = "broadcast";
private BatteryStatsImpl mStats;
private BatteryStats mStats;
private Intent mBatteryBroadcast;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
byte[] data = getArguments().getByteArray(EXTRA_STATS);
Parcel parcel = Parcel.obtain();
parcel.unmarshall(data, 0, data.length);
parcel.setDataPosition(0);
mStats = com.android.internal.os.BatteryStatsImpl.CREATOR
.createFromParcel(parcel);
String histFile = getArguments().getString(EXTRA_STATS);
mStats = BatteryStatsHelper.statsFromFile(getActivity(), histFile);
mBatteryBroadcast = getArguments().getParcelable(EXTRA_BROADCAST);
}

View File

@@ -47,8 +47,6 @@ public class BatteryHistoryPreference extends Preference {
setLayoutResource(R.layout.preference_batteryhistory);
mStats = stats;
mBatteryBroadcast = batteryBroadcast;
// Make it non selectable
setSelectable(false);
}
BatteryStats getStats() {

View File

@@ -26,7 +26,6 @@ import android.os.BatteryStats;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.os.Parcel;
import android.os.UserHandle;
import android.os.UserManager;
import android.preference.Preference;
@@ -46,8 +45,6 @@ import com.android.settings.R;
import com.android.settings.SettingsActivity;
import java.util.List;
import java.util.ArrayList;
import java.util.Collections;
/**
* Displays a list of apps and subsystems that consume power, ordered by how much power was
@@ -61,6 +58,8 @@ public class PowerUsageSummary extends PreferenceFragment {
private static final String KEY_APP_LIST = "app_list";
private static final String BATTERY_HISTORY_FILE = "tmp_bat_history.bin";
private static final int MENU_STATS_TYPE = Menu.FIRST;
private static final int MENU_STATS_REFRESH = Menu.FIRST + 1;
private static final int MENU_BATTERY_SAVER = Menu.FIRST + 2;
@@ -116,6 +115,7 @@ public class PowerUsageSummary extends PreferenceFragment {
@Override
public void onResume() {
super.onResume();
BatteryStatsHelper.dropFile(getActivity(), BATTERY_HISTORY_FILE);
updateBatteryStatus(getActivity().registerReceiver(mBatteryInfoReceiver,
new IntentFilter(Intent.ACTION_BATTERY_CHANGED)));
if (mHandler.hasMessages(MSG_REFRESH_STATS)) {
@@ -151,11 +151,9 @@ public class PowerUsageSummary extends PreferenceFragment {
@Override
public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, Preference preference) {
if (preference instanceof BatteryHistoryPreference) {
Parcel hist = Parcel.obtain();
mStatsHelper.getStats().writeToParcelWithoutUids(hist, 0);
byte[] histData = hist.marshall();
mStatsHelper.storeStatsHistoryInFile(BATTERY_HISTORY_FILE);
Bundle args = new Bundle();
args.putByteArray(BatteryHistoryDetail.EXTRA_STATS, histData);
args.putString(BatteryHistoryDetail.EXTRA_STATS, BATTERY_HISTORY_FILE);
args.putParcelable(BatteryHistoryDetail.EXTRA_BROADCAST,
mStatsHelper.getBatteryBroadcast());
SettingsActivity sa = (SettingsActivity) getActivity();