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

Commit ceec31b1 authored by kholoud mohamed's avatar kholoud mohamed
Browse files

Expose action that allows landing on the work tab

Bug: 217385869
Bug: 203531272
Test: manual
Change-Id: I68a6add9f603105e0a2ee01ebdc3059e18c9a050
parent c1b94255
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -58,6 +58,7 @@
            android:enabled="true">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <action android:name="android.intent.action.SHOW_WORK_APPS" />
                <category android:name="android.intent.category.HOME" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.MONKEY"/>
+9 −0
Original line number Diff line number Diff line
@@ -124,6 +124,7 @@ import com.android.launcher3.accessibility.LauncherAccessibilityDelegate;
import com.android.launcher3.allapps.ActivityAllAppsContainerView;
import com.android.launcher3.allapps.AllAppsStore;
import com.android.launcher3.allapps.AllAppsTransitionController;
import com.android.launcher3.allapps.BaseAllAppsContainerView;
import com.android.launcher3.allapps.DiscoveryBounce;
import com.android.launcher3.anim.AnimatorListeners;
import com.android.launcher3.anim.PropertyListBuilder;
@@ -1567,6 +1568,7 @@ public class Launcher extends StatefulActivity<LauncherState> implements Launche
        boolean isActionMain = Intent.ACTION_MAIN.equals(intent.getAction());
        boolean internalStateHandled = ACTIVITY_TRACKER.handleNewIntent(this);
        hideKeyboard();

        if (isActionMain) {
            if (!internalStateHandled) {
                // In all these cases, only animate if we're already on home
@@ -1595,6 +1597,8 @@ public class Launcher extends StatefulActivity<LauncherState> implements Launche
            handleGestureContract(intent);
        } else if (Intent.ACTION_ALL_APPS.equals(intent.getAction())) {
            showAllAppsFromIntent(alreadyOnHome);
        } else if (Intent.ACTION_SHOW_WORK_APPS.equals(intent.getAction())) {
            showAllAppsWorkTabFromIntent(alreadyOnHome);
        }

        TraceHelper.INSTANCE.endSection(traceToken);
@@ -1605,6 +1609,11 @@ public class Launcher extends StatefulActivity<LauncherState> implements Launche
        getStateManager().goToState(ALL_APPS, alreadyOnHome);
    }

    private void showAllAppsWorkTabFromIntent(boolean alreadyOnHome) {
        showAllAppsFromIntent(alreadyOnHome);
        mAppsView.switchToTab(BaseAllAppsContainerView.AdapterHolder.WORK);
    }

    /**
     * Handles gesture nav contract
     */
+10 −0
Original line number Diff line number Diff line
@@ -331,6 +331,16 @@ public abstract class BaseAllAppsContainerView<T extends Context & ActivityConte
        return mViewPager.getNextPage() == 0;
    }

    /**
     * Switches the current page to the provided {@code tab} if tabs are supported, otherwise does
     * nothing.
     */
    public void switchToTab(int tab) {
        if (mUsingTabs) {
            mViewPager.setCurrentPage(tab);
        }
    }

    public LayoutInflater getLayoutInflater() {
        return LayoutInflater.from(getContext());
    }