Don't apply fancy back logic when drawer is not present.

Add test coverage. Booya!

Bug: 27078649
Change-Id: Id2ce53009ee212b3af8d143091859d30e2bc76b1
This commit is contained in:
Steve McKay
2016-02-09 12:40:07 -08:00
parent f854174ee6
commit 9146ac608c
6 changed files with 10 additions and 42 deletions

View File

@ -539,7 +539,8 @@ public abstract class BaseActivity extends Activity
// Do some "do what a I want" drawer fiddling, but don't
// do it if user already hit back recently and we recently
// did some fiddling.
if ((System.currentTimeMillis() - mDrawerLastFiddled) > DRAWER_NO_FIDDLE_DELAY) {
if (mDrawer.isPresent()
&& (System.currentTimeMillis() - mDrawerLastFiddled) > DRAWER_NO_FIDDLE_DELAY) {
// Close drawer if it is open.
if (mDrawer.isOpen()) {
mDrawer.setOpen(false);

View File

@ -16,35 +16,18 @@
package com.android.documentsui;
import static com.android.documentsui.StubProvider.DEFAULT_AUTHORITY;
import static com.android.documentsui.StubProvider.ROOT_0_ID;
import android.app.Instrumentation;
import android.content.ContentProviderClient;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.os.RemoteException;
import android.provider.DocumentsContract;
import android.support.test.uiautomator.By;
import android.support.test.uiautomator.Configurator;
import android.support.test.uiautomator.UiDevice;
import android.support.test.uiautomator.Until;
import android.test.ActivityInstrumentationTestCase2;
import android.test.suitebuilder.annotation.LargeTest;
import android.util.Log;
import android.view.MotionEvent;
import com.android.documentsui.model.RootInfo;
@LargeTest
public class DownloadsActivityUiTest extends ActivityTest<DownloadsActivity> {
private static final int TIMEOUT = 5000;
private static final String TAG = "DownloadsActivityUiTest";
private static final String TARGET_PKG = "com.android.documentsui";
private static final String LAUNCHER_PKG = "com.android.launcher";
public DownloadsActivityUiTest() {
super(DownloadsActivity.class);
}
@ -108,4 +91,11 @@ public class DownloadsActivityUiTest extends ActivityTest<DownloadsActivity> {
device.waitForIdle();
assertNotNull(bot.menuShare());
}
public void testClosesOnBack() throws Exception {
DownloadsActivity activity = getActivity();
device.pressBack();
device.wait(Until.gone(By.text(ROOT_0_ID)), TIMEOUT); // wait for the window to go away
assertTrue(activity.isDestroyed());
}
}

View File

@ -16,34 +16,15 @@
package com.android.documentsui;
import static com.android.documentsui.StubProvider.DEFAULT_AUTHORITY;
import static com.android.documentsui.StubProvider.ROOT_0_ID;
import static com.android.documentsui.StubProvider.ROOT_1_ID;
import android.app.Instrumentation;
import android.content.ContentProviderClient;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.os.RemoteException;
import android.support.test.uiautomator.By;
import android.support.test.uiautomator.Configurator;
import android.support.test.uiautomator.UiDevice;
import android.support.test.uiautomator.Until;
import android.test.suitebuilder.annotation.LargeTest;
import android.util.Log;
import android.view.MotionEvent;
import com.android.documentsui.model.RootInfo;
@LargeTest
public class FilesActivityUiTest extends ActivityTest<FilesActivity> {
private static final int TIMEOUT = 5000;
private static final String TAG = "FilesActivityUiTest";
private static final String TARGET_PKG = "com.android.documentsui";
private static final String LAUNCHER_PKG = "com.android.launcher";
public FilesActivityUiTest() {
super(FilesActivity.class);
}

View File

@ -18,9 +18,6 @@ package com.android.documentsui;
import static com.android.documentsui.StubProvider.ROOT_0_ID;
import android.support.test.uiautomator.UiObject;
import android.support.test.uiautomator.UiObjectNotFoundException;
import android.test.InstrumentationTestCase;
import android.test.suitebuilder.annotation.LargeTest;
@LargeTest

View File

@ -19,8 +19,6 @@ package com.android.documentsui;
import static com.android.documentsui.StubProvider.ROOT_0_ID;
import static com.android.documentsui.StubProvider.ROOT_1_ID;
import android.support.test.uiautomator.UiObject;
import android.test.InstrumentationTestCase;
import android.test.suitebuilder.annotation.LargeTest;
@LargeTest

View File

@ -21,6 +21,7 @@ import static junit.framework.Assert.assertNotNull;
import static junit.framework.Assert.assertTrue;
import static junit.framework.Assert.assertFalse;
import android.app.Activity;
import android.content.Context;
import android.support.test.uiautomator.By;
import android.support.test.uiautomator.BySelector;