Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9bb7d794 authored by YUKAI HUNG's avatar YUKAI HUNG Committed by Automerger Merge Worker
Browse files

Merge "Include new "dex2oat64" process to map into App Optimization name" into...

Merge "Include new "dex2oat64" process to map into App Optimization name" into sc-dev am: 9d2048ab

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Settings/+/15343065

Change-Id: Iaa89d42b141defa3e3fb1ab8d5b03260d55fe2af
parents 05206947 9d2048ab
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -572,7 +572,8 @@ public class BatteryEntry {
            name = context.getResources().getString(R.string.process_kernel_label);
        } else if ("mediaserver".equals(name)) {
            name = context.getResources().getString(R.string.process_mediaserver_label);
        } else if ("dex2oat".equals(name)) {
        } else if ("dex2oat".equals(name) || "dex2oat32".equals(name) ||
                "dex2oat64".equals(name)) {
            name = context.getResources().getString(R.string.process_dex2oat_label);
        }
        return new NameAndIcon(name, icon, 0 /* iconId */);
+77 −0
Original line number Diff line number Diff line
@@ -22,6 +22,7 @@ import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.ArgumentMatchers.eq;
import static org.mockito.Mockito.doReturn;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.spy;
import static org.mockito.Mockito.when;

import android.content.Context;
@@ -36,6 +37,7 @@ import android.os.UserBatteryConsumer;
import android.os.UserManager;

import com.android.settings.R;
import com.android.settings.fuelgauge.BatteryEntry.NameAndIcon;

import org.junit.Before;
import org.junit.Rule;
@@ -64,6 +66,7 @@ public class BatteryEntryTest {

    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
    private Context mMockContext;
    private Context mContext;
    @Mock private Handler mockHandler;
    @Mock private PackageManager mockPackageManager;
    @Mock private UserManager mockUserManager;
@@ -71,6 +74,7 @@ public class BatteryEntryTest {

    @Before
    public void stubContextToReturnMockPackageManager() {
        mContext = spy(RuntimeEnvironment.application);
        when(mMockContext.getPackageManager()).thenReturn(mockPackageManager);
    }

@@ -248,4 +252,77 @@ public class BatteryEntryTest {
        final String key = entry.getKey();
        assertThat(key).isEqualTo("U|2");
    }

    @Test
    public void getNameAndIconFromUserId_nullUserInfo_returnDefaultNameAndIcon() {
        final int userId = 1001;
        doReturn(mockUserManager).when(mContext).getSystemService(UserManager.class);
        doReturn(null).when(mockUserManager).getUserInfo(userId);

        final NameAndIcon nameAndIcon = BatteryEntry.getNameAndIconFromUserId(
                mContext, userId);
        assertThat(nameAndIcon.name).isEqualTo(getString(
                R.string.running_process_item_removed_user_label));
        assertThat(nameAndIcon.icon).isNull();
    }

    @Test
    public void getNameAndIconFromUid_rerturnExpectedName() {
        final NameAndIcon nameAndIcon = BatteryEntry.getNameAndIconFromUid(
                mContext, /* name */ null, /* uid */ 0);
        assertThat(nameAndIcon.name).isEqualTo(getString(R.string.process_kernel_label));

        assertNameAndIcon("mediaserver", R.string.process_mediaserver_label);
        assertNameAndIcon("dex2oat32", R.string.process_dex2oat_label);
        assertNameAndIcon("dex2oat64", R.string.process_dex2oat_label);
        assertNameAndIcon("dex2oat", R.string.process_dex2oat_label);
    }

    @Test
    public void getNameAndIconFromPowerComponent_rerturnExpectedNameAndIcon() {
        assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_AMBIENT_DISPLAY,
                R.string.ambient_display_screen_title,
                R.drawable.ic_settings_aod);
        assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_BLUETOOTH,
                R.string.power_bluetooth,
                com.android.internal.R.drawable.ic_settings_bluetooth);
        assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_CAMERA,
                R.string.power_camera,
                R.drawable.ic_settings_camera);
        assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO,
                R.string.power_cell,
                R.drawable.ic_cellular_1_bar);
        assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_FLASHLIGHT,
                R.string.power_flashlight,
                R.drawable.ic_settings_display);
        assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_PHONE,
                R.string.power_phone,
                R.drawable.ic_settings_voice_calls);
        assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_SCREEN,
                R.string.power_screen,
                R.drawable.ic_settings_display);
        assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_WIFI,
                R.string.power_wifi,
                R.drawable.ic_settings_wireless);
        assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_IDLE,
                R.string.power_idle,
                R.drawable.ic_settings_phone_idle);
    }

    private void assertNameAndIcon(String name, int stringId) {
        final NameAndIcon nameAndIcon = BatteryEntry.getNameAndIconFromUid(
                mContext, name, /* uid */ 1000);
        assertThat(nameAndIcon.name).isEqualTo(getString(stringId));
    }

    private void assertNameAndIcon(int powerComponentId, int stringId, int iconId) {
        final NameAndIcon nameAndIcon = BatteryEntry.getNameAndIconFromPowerComponent(
                mContext, powerComponentId);
        assertThat(nameAndIcon.name).isEqualTo(getString(stringId));
        assertThat(nameAndIcon.iconId).isEqualTo(iconId);
    }

    private String getString(int stringId) {
        return mContext.getResources().getString(stringId);
    }
}