Merge "Show app battery usage in correct user" into oc-dev
am: 7226c9f4c4
Change-Id: I719a19c92d9671e471b648aa6db9881dbd01ad30
diff --git a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
index 7a2e4c0..d4f9641 100644
--- a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
+++ b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
@@ -129,7 +129,8 @@
args.putInt(EXTRA_POWER_USAGE_AMOUNT, (int) sipper.totalPowerMah);
caller.startPreferencePanelAsUser(fragment, AdvancedPowerUsageDetail.class.getName(), args,
- R.string.battery_details_title, null, new UserHandle(UserHandle.myUserId()));
+ R.string.battery_details_title, null,
+ new UserHandle(UserHandle.getUserId(sipper.getUid())));
}
@Override
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java
index 69bd767..fec9c5d 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java
@@ -28,6 +28,7 @@
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
import android.app.Activity;
import android.app.Fragment;
@@ -37,6 +38,7 @@
import android.graphics.drawable.Drawable;
import android.os.BatteryStats;
import android.os.Bundle;
+import android.os.UserHandle;
import android.view.View;
import com.android.internal.os.BatterySipper;
@@ -62,6 +64,8 @@
import org.mockito.stubbing.Answer;
import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config;
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
import org.robolectric.util.ReflectionHelpers;
@RunWith(SettingsRobolectricTestRunner.class)
@@ -261,4 +265,16 @@
assertThat(mBundle.getInt(AdvancedPowerUsageDetail.EXTRA_ICON_ID)).isEqualTo(ICON_ID);
assertThat(mBundle.getString(AdvancedPowerUsageDetail.EXTRA_PACKAGE_NAME)).isEqualTo(null);
}
+
+ @Test
+ public void testStartBatteryDetailPage_WorkApp() {
+ final int appUid = 1010019;
+ mBatterySipper.mPackages = PACKAGE_NAME;
+ doReturn(appUid).when(mBatterySipper).getUid();
+ AdvancedPowerUsageDetail.startBatteryDetailPage(mTestActivity, null, mBatteryStatsHelper, 0,
+ mBatteryEntry, USAGE_PERCENT);
+
+ verify(mTestActivity).startPreferencePanelAsUser(
+ any(), anyString(), any(), anyInt(), any(), eq(new UserHandle(10)));
+ }
}