Loading src/com/android/settings/fuelgauge/RestrictAppPreferenceController.java +1 −0 Original line number Diff line number Diff line Loading @@ -74,6 +74,7 @@ public class RestrictAppPreferenceController extends BasePreferenceController { final AppOpsManager.PackageOps packageOps = packageOpsList.get(i); mAppInfos.add(new AppInfo.Builder() .setPackageName(packageOps.getPackageName()) .setUid(packageOps.getUid()) .build()); } Loading src/com/android/settings/fuelgauge/RestrictedAppDetails.java +2 −6 Original line number Diff line number Diff line Loading @@ -130,19 +130,15 @@ public class RestrictedAppDetails extends DashboardFragment { appInfo.packageName, 0 /* flags */); checkBoxPreference.setChecked(true); checkBoxPreference.setTitle(mPackageManager.getApplicationLabel(applicationInfo)); checkBoxPreference.setKey(appInfo.packageName); checkBoxPreference.setIcon( Utils.getBadgedIcon(mIconDrawableFactory, mPackageManager, appInfo.packageName, UserHandle.getUserId( mBatteryUtils.getPackageUid(appInfo.packageName)))); UserHandle.getUserId(appInfo.uid))); checkBoxPreference.setOnPreferenceChangeListener((pref, value) -> { // change the toggle final int mode = (Boolean) value ? AppOpsManager.MODE_IGNORED : AppOpsManager.MODE_ALLOWED; final String packageName = pref.getKey(); final int uid = mBatteryUtils.getPackageUid(packageName); mBatteryUtils.setForceAppStandby(uid, packageName, mode); mBatteryUtils.setForceAppStandby(appInfo.uid, appInfo.packageName, mode); return true; }); mRestrictedAppListGroup.addPreference(checkBoxPreference); Loading src/com/android/settings/fuelgauge/batterytip/AppInfo.java +17 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.settings.fuelgauge.batterytip; import android.os.Parcel; import android.os.Parcelable; import android.support.annotation.VisibleForTesting; import android.text.TextUtils; import com.android.settings.fuelgauge.anomaly.Anomaly; Loading Loading @@ -74,6 +75,22 @@ public class AppInfo implements Comparable<AppInfo>, Parcelable { + screenOnTimeMs; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (!(obj instanceof AppInfo)) { return false; } AppInfo other = (AppInfo) obj; return anomalyType == other.anomalyType && uid == other.uid && screenOnTimeMs == other.screenOnTimeMs && TextUtils.equals(packageName, other.packageName); } public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { public AppInfo createFromParcel(Parcel in) { return new AppInfo(in); Loading src/com/android/settings/fuelgauge/batterytip/HighUsageAdapter.java +1 −1 Original line number Diff line number Diff line Loading @@ -76,7 +76,7 @@ public class HighUsageAdapter extends RecyclerView.Adapter<HighUsageAdapter.View final AppInfo app = mHighUsageAppList.get(position); holder.appIcon.setImageDrawable( Utils.getBadgedIcon(mIconDrawableFactory, mPackageManager, app.packageName, UserHandle.myUserId())); UserHandle.getUserId(app.uid))); holder.appName.setText(Utils.getApplicationLabel(mContext, app.packageName)); if (app.screenOnTimeMs != 0) { holder.appTime.setText(StringUtil.formatElapsedTime(mContext, app.screenOnTimeMs, false)); Loading src/com/android/settings/fuelgauge/batterytip/detectors/HighUsageDetector.java +1 −0 Original line number Diff line number Diff line Loading @@ -73,6 +73,7 @@ public class HighUsageDetector implements BatteryTipDetector { BatteryUtils.StatusType.FOREGROUND, batterySipper.uidObj, BatteryStats.STATS_SINCE_CHARGED); mHighUsageAppList.add(new AppInfo.Builder() .setUid(batterySipper.getUid()) .setPackageName( mBatteryUtils.getPackageName(batterySipper.getUid())) .setScreenOnTimeMs(foregroundTimeMs) Loading Loading
src/com/android/settings/fuelgauge/RestrictAppPreferenceController.java +1 −0 Original line number Diff line number Diff line Loading @@ -74,6 +74,7 @@ public class RestrictAppPreferenceController extends BasePreferenceController { final AppOpsManager.PackageOps packageOps = packageOpsList.get(i); mAppInfos.add(new AppInfo.Builder() .setPackageName(packageOps.getPackageName()) .setUid(packageOps.getUid()) .build()); } Loading
src/com/android/settings/fuelgauge/RestrictedAppDetails.java +2 −6 Original line number Diff line number Diff line Loading @@ -130,19 +130,15 @@ public class RestrictedAppDetails extends DashboardFragment { appInfo.packageName, 0 /* flags */); checkBoxPreference.setChecked(true); checkBoxPreference.setTitle(mPackageManager.getApplicationLabel(applicationInfo)); checkBoxPreference.setKey(appInfo.packageName); checkBoxPreference.setIcon( Utils.getBadgedIcon(mIconDrawableFactory, mPackageManager, appInfo.packageName, UserHandle.getUserId( mBatteryUtils.getPackageUid(appInfo.packageName)))); UserHandle.getUserId(appInfo.uid))); checkBoxPreference.setOnPreferenceChangeListener((pref, value) -> { // change the toggle final int mode = (Boolean) value ? AppOpsManager.MODE_IGNORED : AppOpsManager.MODE_ALLOWED; final String packageName = pref.getKey(); final int uid = mBatteryUtils.getPackageUid(packageName); mBatteryUtils.setForceAppStandby(uid, packageName, mode); mBatteryUtils.setForceAppStandby(appInfo.uid, appInfo.packageName, mode); return true; }); mRestrictedAppListGroup.addPreference(checkBoxPreference); Loading
src/com/android/settings/fuelgauge/batterytip/AppInfo.java +17 −0 Original line number Diff line number Diff line Loading @@ -19,6 +19,7 @@ package com.android.settings.fuelgauge.batterytip; import android.os.Parcel; import android.os.Parcelable; import android.support.annotation.VisibleForTesting; import android.text.TextUtils; import com.android.settings.fuelgauge.anomaly.Anomaly; Loading Loading @@ -74,6 +75,22 @@ public class AppInfo implements Comparable<AppInfo>, Parcelable { + screenOnTimeMs; } @Override public boolean equals(Object obj) { if (this == obj) { return true; } if (!(obj instanceof AppInfo)) { return false; } AppInfo other = (AppInfo) obj; return anomalyType == other.anomalyType && uid == other.uid && screenOnTimeMs == other.screenOnTimeMs && TextUtils.equals(packageName, other.packageName); } public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { public AppInfo createFromParcel(Parcel in) { return new AppInfo(in); Loading
src/com/android/settings/fuelgauge/batterytip/HighUsageAdapter.java +1 −1 Original line number Diff line number Diff line Loading @@ -76,7 +76,7 @@ public class HighUsageAdapter extends RecyclerView.Adapter<HighUsageAdapter.View final AppInfo app = mHighUsageAppList.get(position); holder.appIcon.setImageDrawable( Utils.getBadgedIcon(mIconDrawableFactory, mPackageManager, app.packageName, UserHandle.myUserId())); UserHandle.getUserId(app.uid))); holder.appName.setText(Utils.getApplicationLabel(mContext, app.packageName)); if (app.screenOnTimeMs != 0) { holder.appTime.setText(StringUtil.formatElapsedTime(mContext, app.screenOnTimeMs, false)); Loading
src/com/android/settings/fuelgauge/batterytip/detectors/HighUsageDetector.java +1 −0 Original line number Diff line number Diff line Loading @@ -73,6 +73,7 @@ public class HighUsageDetector implements BatteryTipDetector { BatteryUtils.StatusType.FOREGROUND, batterySipper.uidObj, BatteryStats.STATS_SINCE_CHARGED); mHighUsageAppList.add(new AppInfo.Builder() .setUid(batterySipper.getUid()) .setPackageName( mBatteryUtils.getPackageName(batterySipper.getUid())) .setScreenOnTimeMs(foregroundTimeMs) Loading