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

Commit dba7a167 authored by Wale Ogunwale's avatar Wale Ogunwale Committed by android-build-merger
Browse files

Merge "Revert "Add useSystemProvidedLauncherForSecondary config"" into qt-dev

am: dec25f3f

Change-Id: I8679b83556a100978db9672a446bb3a8e0b13b67
parents 20aee984 dec25f3f
Loading
Loading
Loading
Loading
+0 −4
Original line number Diff line number Diff line
@@ -3863,10 +3863,6 @@
         {@see android.view.Display#FLAG_SHOULD_SHOW_SYSTEM_DECORATIONS} -->
    <string name="config_secondaryHomeComponent" translatable="false">com.android.launcher3/com.android.launcher3.SecondaryDisplayLauncher</string>

    <!-- Force secondary home launcher specified in config_secondaryHomeComponent always. If this is
         not set, secondary home launcher can be replaced by user. -->
    <bool name ="config_useSystemProvidedLauncherForSecondary">false</bool>

    <!-- If device supports corner radius on windows.
         This should be turned off on low-end devices to improve animation performance. -->
    <bool name="config_supportsRoundedCornersOnWindows">true</bool>
+0 −1
Original line number Diff line number Diff line
@@ -3678,7 +3678,6 @@

  <!-- For Secondary Launcher -->
  <java-symbol type="string" name="config_secondaryHomeComponent" />
  <java-symbol type="bool" name="config_useSystemProvidedLauncherForSecondary" />

  <java-symbol type="string" name="battery_saver_notification_channel_name" />
  <java-symbol type="string" name="battery_saver_sticky_disabled_notification_title" />
+2 −4
Original line number Diff line number Diff line
@@ -5810,10 +5810,8 @@ public class ActivityTaskManagerService extends IActivityTaskManager.Stub {
     */
    Intent getSecondaryHomeIntent(String preferredPackage) {
        final Intent intent = new Intent(mTopAction, mTopData != null ? Uri.parse(mTopData) : null);
        final boolean useSystemProvidedLauncher = mContext.getResources().getBoolean(
                com.android.internal.R.bool.config_useSystemProvidedLauncherForSecondary);
        if (preferredPackage == null || useSystemProvidedLauncher) {
            // Using the component stored in config if no package name or forced.
        if (preferredPackage == null) {
            // Using the component stored in config if no package name.
            final String secondaryHomeComponent = mContext.getResources().getString(
                    com.android.internal.R.string.config_secondaryHomeComponent);
            intent.setComponent(ComponentName.unflattenFromString(secondaryHomeComponent));
+0 −67
Original line number Diff line number Diff line
@@ -31,7 +31,6 @@ import static com.android.dx.mockito.inline.extended.ExtendedMockito.mock;
import static com.android.dx.mockito.inline.extended.ExtendedMockito.never;
import static com.android.dx.mockito.inline.extended.ExtendedMockito.reset;
import static com.android.dx.mockito.inline.extended.ExtendedMockito.spy;
import static com.android.dx.mockito.inline.extended.ExtendedMockito.spyOn;
import static com.android.dx.mockito.inline.extended.ExtendedMockito.times;
import static com.android.dx.mockito.inline.extended.ExtendedMockito.verify;
import static com.android.server.wm.ActivityDisplay.POSITION_TOP;
@@ -56,7 +55,6 @@ import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.content.pm.ApplicationInfo;
import android.content.pm.ResolveInfo;
import android.content.res.Resources;
import android.graphics.Rect;
import android.platform.test.annotations.Presubmit;
import android.util.Pair;
@@ -538,71 +536,6 @@ public class RootActivityContainerTests extends ActivityTestsBase {
        assertEquals(comp.getClassName(), resolvedInfo.first.name);
    }

    /**
     * Tests that the default secondary home activity is always picked when it is in forced by
     * config_useSystemProvidedLauncherForSecondary.
     */
    @Test
    public void testResolveSecondaryHomeActivityForced() {
        Resources resources = mContext.getResources();
        spyOn(resources);
        final String defaultSecondaryHome =
                "com.android.test/com.android.test.TestDefaultSecondaryHome";
        final ComponentName secondaryComp = ComponentName.unflattenFromString(defaultSecondaryHome);
        doReturn(defaultSecondaryHome).when(resources).getString(
                com.android.internal.R.string.config_secondaryHomeComponent);
        doReturn(true).when(resources).getBoolean(
                com.android.internal.R.bool.config_useSystemProvidedLauncherForSecondary);

        final Intent secondaryHomeIntent = mService.getSecondaryHomeIntent(null);
        assertEquals(secondaryComp, secondaryHomeIntent.getComponent());

        final ActivityInfo aInfoSecondary = new ActivityInfo();
        aInfoSecondary.name = secondaryComp.getClassName();
        aInfoSecondary.applicationInfo = new ApplicationInfo();
        aInfoSecondary.applicationInfo.packageName = secondaryComp.getPackageName();
        doReturn(aInfoSecondary).when(mRootActivityContainer).resolveHomeActivity(anyInt(),
                refEq(secondaryHomeIntent));

        final Intent homeIntent = mService.getHomeIntent();
        final ActivityInfo aInfoDefault = new ActivityInfo();
        aInfoDefault.name = "fakeHomeActivity";
        aInfoDefault.applicationInfo = new ApplicationInfo();
        aInfoDefault.applicationInfo.packageName = "fakeHomePackage";
        doReturn(aInfoDefault).when(mRootActivityContainer).resolveHomeActivity(anyInt(),
                refEq(homeIntent));

        // Let resolveActivities call to validate both main launcher and second launcher so that
        // resolveActivities call does not work as enabler for secondary.
        final List<ResolveInfo> resolutions1 = new ArrayList<>();
        final ResolveInfo resolveInfo1 = new ResolveInfo();
        resolveInfo1.activityInfo = new ActivityInfo();
        resolveInfo1.activityInfo.name = aInfoDefault.name;
        resolveInfo1.activityInfo.applicationInfo = aInfoDefault.applicationInfo;
        resolutions1.add(resolveInfo1);
        doReturn(resolutions1).when(mRootActivityContainer).resolveActivities(anyInt(),
                refEq(homeIntent));
        final List<ResolveInfo> resolutions2 = new ArrayList<>();
        final ResolveInfo resolveInfo2 = new ResolveInfo();
        resolveInfo2.activityInfo = new ActivityInfo();
        resolveInfo2.activityInfo.name = aInfoSecondary.name;
        resolveInfo2.activityInfo.applicationInfo = aInfoSecondary.applicationInfo;
        resolutions2.add(resolveInfo2);
        doReturn(resolutions2).when(mRootActivityContainer).resolveActivities(anyInt(),
                refEq(secondaryHomeIntent));

        doReturn(true).when(mRootActivityContainer).canStartHomeOnDisplay(
                any(), anyInt(), anyBoolean());

        final Pair<ActivityInfo, Intent> resolvedInfo = mRootActivityContainer
                .resolveSecondaryHomeActivity(0 /* userId */, 1 /* displayId */);

        assertEquals(secondaryComp.getClassName(), resolvedInfo.first.name);
        assertEquals(secondaryComp.getPackageName(),
                resolvedInfo.first.applicationInfo.packageName);
        assertEquals(aInfoSecondary.name, resolvedInfo.first.name);
    }

    /**
     * Tests that secondary home should be selected if default home not support secondary displays
     * or there is no matched activity in the same package as selected default home.