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

Commit d11b7e9b authored by Zemiao Zhu's avatar Zemiao Zhu
Browse files

Fix FileCopyUiTest failure because of Virtual SD Card not ejected

correctly.

Bug: 157092101
Test: atest DocumentsUIGoogleTests
Change-Id: Ibe72af521c4629fcf9563ef7018db141a692a83e
parent c91ac6bb
Loading
Loading
Loading
Loading
+16 −4
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@ import android.os.Bundle;
import android.os.RemoteException;
import android.os.SystemClock;
import android.provider.Settings;
import android.support.test.uiautomator.UiObjectNotFoundException;
import android.text.TextUtils;
import android.util.Log;

@@ -172,27 +173,38 @@ public class FileCopyUiTest extends ActivityTest<FilesActivity> {
    public void tearDown() throws Exception {
        // Delete created files
        deleteDocuments(mDeviceLabel);
        try {
            deleteDocuments(mSdCardLabel);
        } catch (UiObjectNotFoundException e) {
            Log.d(TAG, "SD Card ejected unexpectedly. ", e);
            mSdCardRoot = null;
            mSdCardLabel = null;
        }

        for (RootAndFolderPair rootAndFolder : mFoldersToCleanup) {
            deleteDocuments(rootAndFolder.root, rootAndFolder.folder);
        }

        // Eject virtual SD card
        if (mIsVirtualSdCard) {
        if (mIsVirtualSdCard && mSdCardRoot != null) {
            device.executeShellCommand("sm set-virtual-disk false");
            while (mSdCardRoot != null) {
            int attempts = 0;
            while (mSdCardRoot != null && attempts++ < 15) {
                List<RootInfo> rootList = mStorageDocsHelper.getRootList();
                boolean sdCardRootHidden = true;
                for (RootInfo info : rootList) {
                    if (info.isSd()) {
                        sdCardRootHidden = false;
                        SystemClock.sleep(1000);
                        break;
                    }

                }
                if (sdCardRootHidden) {
                    mSdCardRoot = null;
                    mSdCardLabel = null;
                }
            }
            assertNull("Cannot eject virtual SD Card", mSdCardRoot);
        }

        device.executeShellCommand("settings put global stay_on_while_plugged_in "