Add uid data even though on battery stats
Advacned battery page doesn't show background toggle because it doesn't get uid from battery stats. This cl make it get uid by package name even though without battery stats. Bug: 64049162 Test: RunSettingsRoboTests Change-Id: Ie0f67ce9d080c02763a8382740e0640a66ce6053
This commit is contained in:
@@ -31,6 +31,7 @@ import android.support.annotation.VisibleForTesting;
|
||||
import android.support.v14.preference.PreferenceFragment;
|
||||
import android.support.v7.preference.Preference;
|
||||
import android.text.TextUtils;
|
||||
import android.util.Log;
|
||||
import android.view.View;
|
||||
|
||||
import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
|
||||
@@ -163,9 +164,15 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
|
||||
|
||||
public static void startBatteryDetailPage(SettingsActivity caller, PreferenceFragment fragment,
|
||||
String packageName) {
|
||||
final Bundle args = new Bundle(2);
|
||||
final Bundle args = new Bundle(3);
|
||||
final PackageManager packageManager = caller.getPackageManager();
|
||||
args.putString(EXTRA_PACKAGE_NAME, packageName);
|
||||
args.putString(EXTRA_POWER_USAGE_PERCENT, Utils.formatPercentage(0));
|
||||
try {
|
||||
args.putInt(EXTRA_UID, packageManager.getPackageUid(packageName, 0 /* no flag */));
|
||||
} catch (PackageManager.NameNotFoundException e) {
|
||||
Log.e(TAG, "Cannot find package: " + packageName, e);
|
||||
}
|
||||
|
||||
caller.startPreferencePanelAsUser(fragment, AdvancedPowerUsageDetail.class.getName(), args,
|
||||
R.string.battery_details_title, null, new UserHandle(UserHandle.myUserId()));
|
||||
|
@@ -368,6 +368,16 @@ public class AdvancedPowerUsageDetailTest {
|
||||
"0%");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testStartBatteryDetailPage_batteryEntryNotExisted_extractUidFromPackageName() throws
|
||||
PackageManager.NameNotFoundException{
|
||||
doReturn(UID).when(mPackageManager).getPackageUid(PACKAGE_NAME[0], 0 /* no flag */);
|
||||
|
||||
AdvancedPowerUsageDetail.startBatteryDetailPage(mTestActivity, null, PACKAGE_NAME[0]);
|
||||
|
||||
assertThat(mBundle.getInt(AdvancedPowerUsageDetail.EXTRA_UID)).isEqualTo(UID);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testStartBatteryDetailPage_defaultPackageNull_chooseFromBatterySipper() {
|
||||
mBatteryEntry.defaultPackageName = null;
|
||||
|
Reference in New Issue
Block a user