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

Commit 90db43d0 authored by Jeff Chang's avatar Jeff Chang
Browse files

Ignore launch_adjacent when launch from App picker

When a resolver activity is in split screen, starting an activity
with launch_adjacent from resolver activity introduces a poor user
experience for split screen mode. This CL keeps the resolver
activity and the new activity on the same side of spit.

Bug: 289909905
Test: 1. Make split (A|ResolverActivity)
      2. Launch Activity B from ResolverActivity
      3. Verfiy split (A|B)
Change-Id: Id22ce393523607aa20d4d00954cca6aaea669efa
parent fe395a0e
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ import static android.app.admin.DevicePolicyResources.Strings.Core.RESOLVER_PERS
import static android.app.admin.DevicePolicyResources.Strings.Core.RESOLVER_WORK_PROFILE_NOT_SUPPORTED;
import static android.app.admin.DevicePolicyResources.Strings.Core.RESOLVER_WORK_TAB;
import static android.app.admin.DevicePolicyResources.Strings.Core.RESOLVER_WORK_TAB_ACCESSIBILITY;
import static android.content.Intent.FLAG_ACTIVITY_LAUNCH_ADJACENT;
import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
import static android.content.PermissionChecker.PID_UNKNOWN;
import static android.stats.devicepolicy.nano.DevicePolicyEnums.RESOLVER_EMPTY_STATE_NO_SHARING_TO_PERSONAL;
@@ -356,6 +357,12 @@ public class ResolverActivity extends Activity implements
        // flag set, we are now losing it.  That should be a very rare case
        // and we can live with this.
        intent.setFlags(intent.getFlags()&~Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);

        // If FLAG_ACTIVITY_LAUNCH_ADJACENT was set, ResolverActivity was opened in the alternate
        // side, which means we want to open the target app on the same side as ResolverActivity.
        if ((intent.getFlags() & FLAG_ACTIVITY_LAUNCH_ADJACENT) != 0) {
            intent.setFlags(intent.getFlags() & ~FLAG_ACTIVITY_LAUNCH_ADJACENT);
        }
        return intent;
    }