Merge "Avoid load icon and label in the background for periodic job" into sc-dev
This commit is contained in:
@@ -209,7 +209,8 @@ public class BatteryAppListPreferenceController extends AbstractPreferenceContro
|
|||||||
|
|
||||||
if (sConfig.shouldShowBatteryAttributionList(mContext)) {
|
if (sConfig.shouldShowBatteryAttributionList(mContext)) {
|
||||||
final int dischargePercentage = getDischargePercentage(batteryUsageStats);
|
final int dischargePercentage = getDischargePercentage(batteryUsageStats);
|
||||||
final List<BatteryEntry> usageList = getCoalescedUsageList(showAllApps);
|
final List<BatteryEntry> usageList =
|
||||||
|
getCoalescedUsageList(showAllApps, /*loadDataInBackground=*/ true);
|
||||||
final double totalPower = batteryUsageStats.getConsumedPower();
|
final double totalPower = batteryUsageStats.getConsumedPower();
|
||||||
final int numSippers = usageList.size();
|
final int numSippers = usageList.size();
|
||||||
for (int i = 0; i < numSippers; i++) {
|
for (int i = 0; i < numSippers; i++) {
|
||||||
@@ -267,7 +268,8 @@ public class BatteryAppListPreferenceController extends AbstractPreferenceContro
|
|||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
final int dischargePercentage = getDischargePercentage(batteryUsageStats);
|
final int dischargePercentage = getDischargePercentage(batteryUsageStats);
|
||||||
final List<BatteryEntry> usageList = getCoalescedUsageList(showAllApps);
|
final List<BatteryEntry> usageList =
|
||||||
|
getCoalescedUsageList(showAllApps, /*loadDataInBackground=*/ false);
|
||||||
final double totalPower = batteryUsageStats.getConsumedPower();
|
final double totalPower = batteryUsageStats.getConsumedPower();
|
||||||
for (int i = 0; i < usageList.size(); i++) {
|
for (int i = 0; i < usageList.size(); i++) {
|
||||||
final BatteryEntry entry = usageList.get(i);
|
final BatteryEntry entry = usageList.get(i);
|
||||||
@@ -293,7 +295,8 @@ public class BatteryAppListPreferenceController extends AbstractPreferenceContro
|
|||||||
*
|
*
|
||||||
* @return A sorted list of apps using power.
|
* @return A sorted list of apps using power.
|
||||||
*/
|
*/
|
||||||
private List<BatteryEntry> getCoalescedUsageList(boolean showAllApps) {
|
private List<BatteryEntry> getCoalescedUsageList(
|
||||||
|
boolean showAllApps, boolean loadDataInBackground) {
|
||||||
final SparseArray<BatteryEntry> batteryEntryList = new SparseArray<>();
|
final SparseArray<BatteryEntry> batteryEntryList = new SparseArray<>();
|
||||||
|
|
||||||
final ArrayList<BatteryEntry> results = new ArrayList<>();
|
final ArrayList<BatteryEntry> results = new ArrayList<>();
|
||||||
@@ -333,7 +336,7 @@ public class BatteryAppListPreferenceController extends AbstractPreferenceContro
|
|||||||
if (index < 0) {
|
if (index < 0) {
|
||||||
// New entry.
|
// New entry.
|
||||||
batteryEntryList.put(realUid, new BatteryEntry(mContext, mHandler, mUserManager,
|
batteryEntryList.put(realUid, new BatteryEntry(mContext, mHandler, mUserManager,
|
||||||
consumer, isHidden, packages, null));
|
consumer, isHidden, packages, null, loadDataInBackground));
|
||||||
} else {
|
} else {
|
||||||
// Combine BatterySippers if we already have one with this UID.
|
// Combine BatterySippers if we already have one with this UID.
|
||||||
final BatteryEntry existingSipper = batteryEntryList.valueAt(index);
|
final BatteryEntry existingSipper = batteryEntryList.valueAt(index);
|
||||||
@@ -350,7 +353,7 @@ public class BatteryAppListPreferenceController extends AbstractPreferenceContro
|
|||||||
}
|
}
|
||||||
|
|
||||||
results.add(new BatteryEntry(mContext, mHandler, mUserManager,
|
results.add(new BatteryEntry(mContext, mHandler, mUserManager,
|
||||||
consumer, /* isHidden */ true, null, null));
|
consumer, /* isHidden */ true, null, null, loadDataInBackground));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (showAllApps) {
|
if (showAllApps) {
|
||||||
@@ -359,7 +362,7 @@ public class BatteryAppListPreferenceController extends AbstractPreferenceContro
|
|||||||
for (int i = 0, size = userBatteryConsumers.size(); i < size; i++) {
|
for (int i = 0, size = userBatteryConsumers.size(); i < size; i++) {
|
||||||
final UserBatteryConsumer consumer = userBatteryConsumers.get(i);
|
final UserBatteryConsumer consumer = userBatteryConsumers.get(i);
|
||||||
results.add(new BatteryEntry(mContext, mHandler, mUserManager,
|
results.add(new BatteryEntry(mContext, mHandler, mUserManager,
|
||||||
consumer, /* isHidden */ true, null, null));
|
consumer, /* isHidden */ true, null, null, loadDataInBackground));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -178,6 +178,12 @@ public class BatteryEntry {
|
|||||||
public BatteryEntry(Context context, Handler handler, UserManager um,
|
public BatteryEntry(Context context, Handler handler, UserManager um,
|
||||||
@NonNull BatteryConsumer batteryConsumer, boolean isHidden, String[] packages,
|
@NonNull BatteryConsumer batteryConsumer, boolean isHidden, String[] packages,
|
||||||
String packageName) {
|
String packageName) {
|
||||||
|
this(context, handler, um, batteryConsumer, isHidden, packages, packageName, true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public BatteryEntry(Context context, Handler handler, UserManager um,
|
||||||
|
@NonNull BatteryConsumer batteryConsumer, boolean isHidden, String[] packages,
|
||||||
|
String packageName, boolean loadDataInBackground) {
|
||||||
sHandler = handler;
|
sHandler = handler;
|
||||||
mContext = context;
|
mContext = context;
|
||||||
mBatteryConsumer = batteryConsumer;
|
mBatteryConsumer = batteryConsumer;
|
||||||
@@ -209,7 +215,7 @@ public class BatteryEntry {
|
|||||||
name = mDefaultPackageName;
|
name = mDefaultPackageName;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
getQuickNameIconForUid(uid, packages);
|
getQuickNameIconForUid(uid, packages, loadDataInBackground);
|
||||||
return;
|
return;
|
||||||
} else if (batteryConsumer instanceof SystemBatteryConsumer) {
|
} else if (batteryConsumer instanceof SystemBatteryConsumer) {
|
||||||
mConsumedPower = batteryConsumer.getConsumedPower()
|
mConsumedPower = batteryConsumer.getConsumedPower()
|
||||||
@@ -242,7 +248,8 @@ public class BatteryEntry {
|
|||||||
return name;
|
return name;
|
||||||
}
|
}
|
||||||
|
|
||||||
void getQuickNameIconForUid(final int uid, final String[] packages) {
|
void getQuickNameIconForUid(
|
||||||
|
final int uid, final String[] packages, final boolean loadDataInBackground) {
|
||||||
// Locale sync to system config in Settings
|
// Locale sync to system config in Settings
|
||||||
final Locale locale = Locale.getDefault();
|
final Locale locale = Locale.getDefault();
|
||||||
if (sCurrentLocale != locale) {
|
if (sCurrentLocale != locale) {
|
||||||
@@ -267,7 +274,7 @@ public class BatteryEntry {
|
|||||||
icon = mContext.getPackageManager().getDefaultActivityIcon();
|
icon = mContext.getPackageManager().getDefaultActivityIcon();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (sHandler != null) {
|
if (sHandler != null && loadDataInBackground) {
|
||||||
synchronized (sRequestQueue) {
|
synchronized (sRequestQueue) {
|
||||||
sRequestQueue.add(this);
|
sRequestQueue.add(this);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user