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

Commit dde6d4d1 authored by Miriam Polzer's avatar Miriam Polzer
Browse files

HSUM user fixes for ChooserActivityTest

This CL contains two fixes for the ChooserActivityTest:
- Set the work profile id based on HSUM or non HSUM.
- Create a list controller mock based on the overriden work profile and
  not on system user.

With both of these together, tests are not crashing anymore on HSUM, and
the testWorkTab_workUserNotRunning_workTargetsShown test succeeds.

Other tests are still failing and more work will be required to make
those tests HSUM-compatible.

Fix: 383079863
Test: atest com.android.internal.app.ChooserActivityTest
Flag: EXEMPT TEST_ONLY
Change-Id: I7b744f1bd78b2a48f9b71b3b3c6e4259e5e4f56d
parent c13717cd
Loading
Loading
Loading
Loading
+6 −1
Original line number Original line Diff line number Diff line
@@ -79,6 +79,7 @@ import android.graphics.drawable.Icon;
import android.metrics.LogMaker;
import android.metrics.LogMaker;
import android.net.Uri;
import android.net.Uri;
import android.os.UserHandle;
import android.os.UserHandle;
import android.os.UserManager;
import android.provider.DeviceConfig;
import android.provider.DeviceConfig;
import android.service.chooser.ChooserTarget;
import android.service.chooser.ChooserTarget;
import android.util.Pair;
import android.util.Pair;
@@ -3178,8 +3179,12 @@ public class ChooserActivityTest {
    }
    }


    private void markWorkProfileUserAvailable() {
    private void markWorkProfileUserAvailable() {
        if (UserManager.isHeadlessSystemUserMode()) {
            ChooserActivityOverrideData.getInstance().workProfileUserHandle = UserHandle.of(11);
        } else {
            ChooserActivityOverrideData.getInstance().workProfileUserHandle = UserHandle.of(10);
            ChooserActivityOverrideData.getInstance().workProfileUserHandle = UserHandle.of(10);
        }
        }
    }


    private void markCloneProfileUserAvailable() {
    private void markCloneProfileUserAvailable() {
        ChooserActivityOverrideData.getInstance().cloneProfileUserHandle = UserHandle.of(11);
        ChooserActivityOverrideData.getInstance().cloneProfileUserHandle = UserHandle.of(11);
+5 −5
Original line number Original line Diff line number Diff line
@@ -155,13 +155,13 @@ public class ChooserWrapperActivity extends ChooserActivity implements IChooserW


    @Override
    @Override
    protected ResolverListController createListController(UserHandle userHandle) {
    protected ResolverListController createListController(UserHandle userHandle) {
        if (userHandle == UserHandle.SYSTEM) {
        if (userHandle.equals(sOverrides.workProfileUserHandle)) {
            when(sOverrides.resolverListController.getUserHandle()).thenReturn(UserHandle.SYSTEM);
            return sOverrides.resolverListController;
        }
            when(sOverrides.workResolverListController.getUserHandle()).thenReturn(userHandle);
            when(sOverrides.workResolverListController.getUserHandle()).thenReturn(userHandle);
            return sOverrides.workResolverListController;
            return sOverrides.workResolverListController;
        }
        }
        when(sOverrides.resolverListController.getUserHandle()).thenReturn(userHandle);
        return sOverrides.resolverListController;
    }


    @Override
    @Override
    public PackageManager getPackageManager() {
    public PackageManager getPackageManager() {