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

Commit 1cee386c authored by Andy Yu's avatar Andy Yu
Browse files

Fix HintManagerServiceTest with mock PackageManager

In previous ag/27776376 we added querying to packagemanager
but didn't add corresponding testing to this, thus this patch

Bug: 347120905
Bug: 347112027
Test: atest HintManagerServiceTest
Change-Id: I15da43b7d795a868d46c8dfd038585f2a8c8cda2
parent f2c155a3
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -46,6 +46,8 @@ import android.annotation.NonNull;
import android.app.ActivityManager;
import android.app.ActivityManagerInternal;
import android.content.Context;
import android.content.pm.ApplicationInfo;
import android.content.pm.PackageManager;
import android.hardware.power.ChannelConfig;
import android.hardware.power.IPower;
import android.hardware.power.SessionConfig;
@@ -131,6 +133,7 @@ public class HintManagerServiceTest {
        makeWorkDuration(2L, 13L, 2L, 0L, 6L),
        makeWorkDuration(2L, 13L, 2L, 8L, 0L),
    };
    private static final String TEST_APP_NAME = "com.android.test.app";

    @Mock
    private Context mContext;
@@ -140,12 +143,15 @@ public class HintManagerServiceTest {
    private IPower mIPowerMock;
    @Mock
    private ActivityManagerInternal mAmInternalMock;
    @Mock
    private PackageManager mMockPackageManager;
    @Rule
    public final CheckFlagsRule mCheckFlagsRule =
            DeviceFlagsValueProvider.createCheckFlagsRule();

    private HintManagerService mService;
    private ChannelConfig mConfig;
    private ApplicationInfo mApplicationInfo;

    private static Answer<Long> fakeCreateWithConfig(Long ptr, Long sessionId) {
        return new Answer<Long>() {
@@ -162,6 +168,12 @@ public class HintManagerServiceTest {
        mConfig = new ChannelConfig();
        mConfig.readFlagBitmask = 1;
        mConfig.writeFlagBitmask = 2;
        mApplicationInfo = new ApplicationInfo();
        mApplicationInfo.category = ApplicationInfo.CATEGORY_GAME;
        when(mContext.getPackageManager()).thenReturn(mMockPackageManager);
        when(mMockPackageManager.getNameForUid(anyInt())).thenReturn(TEST_APP_NAME);
        when(mMockPackageManager.getApplicationInfo(eq(TEST_APP_NAME), anyInt()))
                .thenReturn(mApplicationInfo);
        when(mNativeWrapperMock.halGetHintSessionPreferredRate())
                .thenReturn(DEFAULT_HINT_PREFERRED_RATE);
        when(mNativeWrapperMock.halCreateHintSession(eq(TGID), eq(UID), eq(SESSION_TIDS_A),