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

Commit 485796e8 authored by Samuel Fufa's avatar Samuel Fufa Committed by Automerger Merge Worker
Browse files

Merge "Allow AllApps to restore current selected tab on activity recreate"...

Merge "Allow AllApps to restore current selected tab on activity recreate" into sc-dev am: f44a9ca6

Original change: https://googleplex-android-review.googlesource.com/c/platform/packages/apps/Launcher3/+/15014304

Change-Id: Ifbedb11e2c42d66e04093f0ddc7dd983ab27c1b7
parents d352253c f44a9ca6
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -76,6 +76,9 @@
    <!-- View IDs to store item highlight information -->
    <item type="id" name="view_unhighlight_background" />

    <!-- view ID used to restore work tab state -->
    <item type="id" name="work_tab_state_id" />

    <!-- Menu id for feature flags -->
    <item type="id" name="menu_apply_flags" />

+23 −1
Original line number Diff line number Diff line
@@ -31,6 +31,7 @@ import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Point;
import android.graphics.Rect;
import android.os.Bundle;
import android.os.Parcelable;
import android.os.Process;
import android.text.Selection;
@@ -82,6 +83,8 @@ public class AllAppsContainerView extends SpringRelativeLayout implements DragSo
        Insettable, OnDeviceProfileChangeListener, OnActivePageChangedListener,
        ScrimView.ScrimDrawingController {

    private static final String BUNDLE_KEY_CURRENT_PAGE = "launcher.allapps.current_page";

    public static final float PULL_MULTIPLIER = .02f;
    public static final float FLING_VELOCITY_MULTIPLIER = 1200f;

@@ -181,6 +184,23 @@ public class AllAppsContainerView extends SpringRelativeLayout implements DragSo
        } catch (Exception e) {
            Log.e("AllAppsContainerView", "restoreInstanceState viewId = 0", e);
        }
        Bundle state = (Bundle) sparseArray.get(R.id.work_tab_state_id, null);
        if (state != null) {
            int currentPage = state.getInt(BUNDLE_KEY_CURRENT_PAGE, 0);
            if (currentPage != 0) {
                rebindAdapters(true);
                mViewPager.setCurrentPage(currentPage);
            }
        }
    }


    @Override
    protected void dispatchSaveInstanceState(SparseArray<Parcelable> container) {
        super.dispatchSaveInstanceState(container);
        Bundle state = new Bundle();
        state.putInt(BUNDLE_KEY_CURRENT_PAGE, getCurrentPage());
        container.put(R.id.work_tab_state_id, state);
    }

    /**
@@ -231,7 +251,9 @@ public class AllAppsContainerView extends SpringRelativeLayout implements DragSo

    private void resetWorkProfile() {
        boolean isEnabled = !mAllAppsStore.hasModelFlag(FLAG_QUIET_MODE_ENABLED);
        if (mWorkModeSwitch != null) {
            mWorkModeSwitch.updateCurrentState(isEnabled);
        }
        mWorkAdapterProvider.updateCurrentState(isEnabled);
        mAH[AdapterHolder.WORK].applyPadding();
    }
+1 −0
Original line number Diff line number Diff line
@@ -67,6 +67,7 @@ public class WorkModeSwitch extends Button implements Insettable, View.OnClickLi
    @Override
    protected void onFinishInflate() {
        super.onFinishInflate();
        setSelected(true);
        setOnClickListener(this);
        if (Utilities.ATLEAST_R) {
            mKeyboardInsetAnimationCallback = new KeyboardInsetAnimationCallback(this);
+0 −2
Original line number Diff line number Diff line
@@ -108,8 +108,6 @@ public class SpringRelativeLayout extends RelativeLayout {
            switch (direction) {
                case DIRECTION_TOP:
                    return new EdgeEffectProxy(getContext(), mEdgeGlowTop);
                case DIRECTION_BOTTOM:
                    return new EdgeEffectProxy(getContext(), mEdgeGlowBottom);
            }
            return super.createEdgeEffect(view, direction);
        }
+1 −1
Original line number Diff line number Diff line
@@ -127,7 +127,7 @@ public class PersonalWorkSlidingTabStrip extends LinearLayout implements PageInd
    @Override
    public void setActiveMarker(int activePage) {
        updateTabTextColor(activePage);
        updateIndicatorPosition(activePage);
        updateIndicatorPosition(mIsRtl ? 1 - activePage : activePage);
        if (mOnActivePageChangedListener != null && mLastActivePage != activePage) {
            mOnActivePageChangedListener.onActivePageChanged(activePage);
        }