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

Commit 7da7b0fd authored by Zemiao Zhu's avatar Zemiao Zhu
Browse files

Remove hamburger icon when there is only one root.

Bug: 149070877
Test: manual; atest DocumentsUIGoogleTests
Change-Id: I4d43e319966bc03e412e4b7d8a29b4bdaa3d7dad
parent bfadf609
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -964,6 +964,11 @@ public abstract class AbstractActionHandler<T extends FragmentActivity & CommonA
        boolean isInRecents();
        void setRootsDrawerOpen(boolean open);

        /**
         * Set the locked status of the DrawerController.
         */
        void setRootsDrawerLocked(boolean locked);

        // TODO: Let navigator listens to State
        void updateNavigator();

+6 −0
Original line number Diff line number Diff line
@@ -436,6 +436,12 @@ public abstract class BaseActivity
        mNavigator.revealRootsDrawer(open);
    }

    @Override
    public void setRootsDrawerLocked(boolean locked) {
        mDrawer.setLocked(locked);
        mNavigator.update();
    }

    @Override
    public void onRootPicked(RootInfo root) {
        // Clicking on the current root removes search
+16 −1
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import static com.android.documentsui.base.SharedMinimal.DEBUG;

import android.app.Activity;
import android.util.Log;
import android.view.Gravity;
import android.view.View;

import androidx.annotation.ColorRes;
@@ -41,6 +42,7 @@ public abstract class DrawerController implements DrawerListener {

    public abstract void update();
    public abstract void setOpen(boolean open);
    public abstract void setLocked(boolean locked);
    public abstract boolean isPresent();
    public abstract boolean isOpen();
    abstract void setTitle(String title);
@@ -178,6 +180,15 @@ public abstract class DrawerController implements DrawerListener {
            }
        }

        @Override
        public void setLocked(boolean locked) {
            if (locked) {
                mLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED);
            } else {
                mLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED);
            }
        }

        @Override
        public boolean isOpen() {
            return mLayout.isDrawerOpen(mDrawer);
@@ -185,7 +196,8 @@ public abstract class DrawerController implements DrawerListener {

        @Override
        public boolean isPresent() {
            return true;
            return DrawerLayout.LOCK_MODE_UNLOCKED
                    == mLayout.getDrawerLockMode(Gravity.START);
        }

        @Override
@@ -230,6 +242,9 @@ public abstract class DrawerController implements DrawerListener {
        @Override
        public void setOpen(boolean open) {}

        @Override
        public void setLocked(boolean locked) {}

        @Override
        public boolean isOpen() {
            return false;
+3 −0
Original line number Diff line number Diff line
@@ -254,6 +254,9 @@ public class RootsFragment extends Fragment {
                        DocumentsApplication.getUserIdManager(getContext()).getUserIds(),
                        maybeShowBadge);

                // Disable drawer if only one root
                activity.setRootsDrawerLocked(sortedItems.size() <= 1);

                // Get the first visible position and offset
                final int firstPosition = mList.getFirstVisiblePosition();
                View firstChild = mList.getChildAt(0);
+7 −0
Original line number Diff line number Diff line
@@ -79,6 +79,7 @@ public abstract class TestActivity extends AbstractBase {
    public TestEventListener<Void> restoreRootAndDirectory;
    public TestEventListener<Integer> refreshCurrentRootAndDirectory;
    public TestEventListener<Boolean> setRootsDrawerOpen;
    public TestEventListener<Boolean> setRootsDrawerLocked;
    public TestEventListener<Uri> notifyDirectoryNavigated;
    public TestEventHandler<Void> finishedHandler;

@@ -102,6 +103,7 @@ public abstract class TestActivity extends AbstractBase {
        restoreRootAndDirectory = new TestEventListener<>();
        refreshCurrentRootAndDirectory =  new TestEventListener<>();
        setRootsDrawerOpen = new TestEventListener<>();
        setRootsDrawerLocked = new TestEventListener<>();
        notifyDirectoryNavigated = new TestEventListener<>();
        contentResolver = env.contentResolver;
        loaderManager = new TestLoaderManager();
@@ -212,6 +214,11 @@ public abstract class TestActivity extends AbstractBase {
        setRootsDrawerOpen.accept(open);
    }

    @Override
    public final void setRootsDrawerLocked(boolean locked) {
        setRootsDrawerLocked.accept(locked);
    }

    @Override
    public final ContentResolver getContentResolver() {
        return contentResolver;
Loading