Show app battery usage in correct user

Test: m -j RunSettingsRoboTests

Change-Id: I6c0f74b79468ee670f642edb0a50400c030d1925

Merged-In: I6c0f74b79468ee670f642edb0a50400c030d1925

Fix: 38447829
This commit is contained in:
Tony Mak
2017-05-22 14:22:57 +01:00
parent 7d045387e0
commit 764e52c8cf
2 changed files with 18 additions and 1 deletions

View File

@@ -129,7 +129,8 @@ public class AdvancedPowerUsageDetail extends DashboardFragment implements
args.putInt(EXTRA_POWER_USAGE_AMOUNT, (int) sipper.totalPowerMah); args.putInt(EXTRA_POWER_USAGE_AMOUNT, (int) sipper.totalPowerMah);
caller.startPreferencePanelAsUser(fragment, AdvancedPowerUsageDetail.class.getName(), args, 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 @Override

View File

@@ -28,6 +28,7 @@ import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock; import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy; import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verify;
import static org.mockito.Mockito.when;
import android.app.Activity; import android.app.Activity;
import android.app.Fragment; import android.app.Fragment;
@@ -37,6 +38,7 @@ import android.content.pm.PackageManager;
import android.graphics.drawable.Drawable; import android.graphics.drawable.Drawable;
import android.os.BatteryStats; import android.os.BatteryStats;
import android.os.Bundle; import android.os.Bundle;
import android.os.UserHandle;
import android.view.View; import android.view.View;
import com.android.internal.os.BatterySipper; import com.android.internal.os.BatterySipper;
@@ -62,6 +64,8 @@ import org.mockito.invocation.InvocationOnMock;
import org.mockito.stubbing.Answer; import org.mockito.stubbing.Answer;
import org.robolectric.RuntimeEnvironment; import org.robolectric.RuntimeEnvironment;
import org.robolectric.annotation.Config; import org.robolectric.annotation.Config;
import org.robolectric.annotation.Implementation;
import org.robolectric.annotation.Implements;
import org.robolectric.util.ReflectionHelpers; import org.robolectric.util.ReflectionHelpers;
@RunWith(SettingsRobolectricTestRunner.class) @RunWith(SettingsRobolectricTestRunner.class)
@@ -261,4 +265,16 @@ public class AdvancedPowerUsageDetailTest {
assertThat(mBundle.getInt(AdvancedPowerUsageDetail.EXTRA_ICON_ID)).isEqualTo(ICON_ID); assertThat(mBundle.getInt(AdvancedPowerUsageDetail.EXTRA_ICON_ID)).isEqualTo(ICON_ID);
assertThat(mBundle.getString(AdvancedPowerUsageDetail.EXTRA_PACKAGE_NAME)).isEqualTo(null); 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)));
}
} }