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

Commit f51b8efa authored by Nick Chameyev's avatar Nick Chameyev
Browse files

[Chooser/ResolverActivity] Add option to show preview area even if there are no apps in the tab

Add a protected method that could be overriden
to change the default behavior that hides the
content preview area when there are not items
for the current user.

This is needed for the partial screen sharing
feature as we want to show the recents app selector
no matter if we have apps available for the
current profile or not. Recent app selector is
displayed in content preview area.

Test: atest com.android.internal.app.ChooserActivityTest
Test: atest com.android.internal.app.ResolverActivityTest
Test: manual test with overidden method to check that the preview is displayed when no apps available
Bug: 233348916
Change-Id: Iecc7ea5b15cb6cd2d864bd7adc84ab2f9f445fca
parent 04371410
Loading
Loading
Loading
Loading
+14 −2
Original line number Diff line number Diff line
@@ -2953,11 +2953,23 @@ public class ChooserActivity extends ResolverActivity implements

    private boolean shouldShowStickyContentPreviewNoOrientationCheck() {
        return shouldShowTabs()
                && mMultiProfilePagerAdapter.getListAdapterForUserHandle(
                && (mMultiProfilePagerAdapter.getListAdapterForUserHandle(
                        UserHandle.of(UserHandle.myUserId())).getCount() > 0
                    || shouldShowContentPreviewWhenEmpty())
                && shouldShowContentPreview();
    }

    /**
     * This method could be used to override the default behavior when we hide the preview area
     * when the current tab doesn't have any items.
     *
     * @return true if we want to show the content preview area even if the tab for the current
     *         user is empty
     */
    protected boolean shouldShowContentPreviewWhenEmpty() {
        return false;
    }

    /**
     * @return true if we want to show the content preview area
     */
+3 −3
Original line number Diff line number Diff line
@@ -209,7 +209,7 @@ public class ResolverActivity extends Activity implements
     * <p>Can only be used if there is a work profile.
     * <p>Possible values can be either {@link #PROFILE_PERSONAL} or {@link #PROFILE_WORK}.
     */
    static final String EXTRA_SELECTED_PROFILE =
    protected static final String EXTRA_SELECTED_PROFILE =
            "com.android.internal.app.ResolverActivity.EXTRA_SELECTED_PROFILE";

    /**
@@ -224,8 +224,8 @@ public class ResolverActivity extends Activity implements
    static final String EXTRA_CALLING_USER =
            "com.android.internal.app.ResolverActivity.EXTRA_CALLING_USER";

    static final int PROFILE_PERSONAL = AbstractMultiProfilePagerAdapter.PROFILE_PERSONAL;
    static final int PROFILE_WORK = AbstractMultiProfilePagerAdapter.PROFILE_WORK;
    protected static final int PROFILE_PERSONAL = AbstractMultiProfilePagerAdapter.PROFILE_PERSONAL;
    protected static final int PROFILE_WORK = AbstractMultiProfilePagerAdapter.PROFILE_WORK;

    private BroadcastReceiver mWorkProfileStateReceiver;
    private UserHandle mHeaderCreatorUser;