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

Commit cdbaea44 authored by Jon Spivack's avatar Jon Spivack
Browse files

Disable NIU Actions on Work Profile apps

If the currently selected Recent app belongs to a Work Profile, do not allow the user to invoke any of the overview actions. Instead, show the standard blocked by policy message (R.string.blocked_by_policy).

Bug: 187491010
Test: Manual (Pixel 3A)
Test: m -j RunLauncherGoGoogleRoboTests
Change-Id: I552da9512ab19993eb4bb65fe9269d2aee9f0c4e
parent b605d1d7
Loading
Loading
Loading
Loading
+6 −3
Original line number Diff line number Diff line
@@ -27,6 +27,7 @@ import android.content.Intent;
import android.graphics.Matrix;
import android.net.Uri;
import android.os.SystemClock;
import android.os.UserManager;
import android.provider.Settings;
import android.text.TextUtils;

@@ -96,7 +97,10 @@ public final class TaskOverlayFactoryGo extends TaskOverlayFactory {
            }

            getActionsView().updateDisabledFlags(DISABLED_ROTATED, rotated);
            boolean isAllowedByPolicy = mThumbnailView.isRealSnapshot();
            // Disable Overview Actions for Work Profile apps
            boolean isManagedProfileTask =
                    UserManager.get(mApplicationContext).isManagedProfile(task.key.userId);
            boolean isAllowedByPolicy = mThumbnailView.isRealSnapshot() && !isManagedProfileTask;
            getActionsView().setCallbacks(new OverlayUICallbacksGoImpl(isAllowedByPolicy, task));
            mTaskPackageName = task.key.getPackageName();

@@ -127,8 +131,7 @@ public final class TaskOverlayFactoryGo extends TaskOverlayFactory {
        /**
         * Creates and sends an Intent corresponding to the button that was clicked
         */
        @VisibleForTesting
        public void sendNIUIntent(String actionType) {
        private void sendNIUIntent(String actionType) {
            Intent intent = createNIUIntent(actionType);
            // Only add and send the image if the appropriate permissions are held
            if (mAssistPermissionsEnabled) {