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

Commit 0bd88fb2 authored by Tony Huang's avatar Tony Huang
Browse files

Fix crash when stack push

Check current stack peek to avoid push same DocumentInfo into it.

Fix: 142486071
Fix: 144245604
Test: atest DocumentsUIGoogleTests
Change-Id: I2f174168b1804be39d6ca375b78fea9d070fdbc8
parent 20c326c3
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -412,6 +412,11 @@ public abstract class AbstractActionHandler<T extends FragmentActivity & CommonA
        }

        assert(currentDoc != null);
        if (currentDoc.equals(mState.stack.peek())) {
            Log.w(TAG, "This DocumentInfo is already in current DocumentsStack");
            return;
        }

        mActivity.notifyDirectoryNavigated(currentDoc.derivedUri);

        mState.stack.push(currentDoc);
+8 −0
Original line number Diff line number Diff line
@@ -255,6 +255,14 @@ public class ActionHandlerTest {
        mActivity.refreshCurrentRootAndDirectory.assertCalled();
    }

    @Test
    public void testOpenContainerDocument_sameDocumentInfo() {
        mHandler.openContainerDocument(TestEnv.FOLDER_0);
        mHandler.openContainerDocument(TestEnv.FOLDER_0);

        assertEquals(1, mEnv.state.stack.size());
    }

    @Test
    public void testIncreasePickCountRecordCalled() throws Exception {
        mEnv.state.action = State.ACTION_GET_CONTENT;