| Index: chrome/android/javatests/src/org/chromium/chrome/browser/webapps/AddToHomescreenManagerTest.java
|
| diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/AddToHomescreenDialogHelperTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/AddToHomescreenManagerTest.java
|
| similarity index 86%
|
| copy from chrome/android/javatests/src/org/chromium/chrome/browser/webapps/AddToHomescreenDialogHelperTest.java
|
| copy to chrome/android/javatests/src/org/chromium/chrome/browser/webapps/AddToHomescreenManagerTest.java
|
| index 6a3538845f67cd8da28537e28af30316de6e85b3..0ee320584182b0ea480ae12468e3aeb192725298 100644
|
| --- a/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/AddToHomescreenDialogHelperTest.java
|
| +++ b/chrome/android/javatests/src/org/chromium/chrome/browser/webapps/AddToHomescreenManagerTest.java
|
| @@ -4,6 +4,7 @@
|
|
|
| package org.chromium.chrome.browser.webapps;
|
|
|
| +import android.app.Activity;
|
| import android.content.Context;
|
| import android.content.Intent;
|
| import android.graphics.Bitmap;
|
| @@ -30,9 +31,9 @@ import org.chromium.net.test.EmbeddedTestServer;
|
| import java.util.concurrent.Callable;
|
|
|
| /**
|
| - * Tests org.chromium.chrome.browser.webapps.AddToHomescreenDialogHelper and its C++ counterpart.
|
| + * Tests org.chromium.chrome.browser.webapps.AddToHomescreenManager and its C++ counterpart.
|
| */
|
| -public class AddToHomescreenDialogHelperTest extends ChromeActivityTestCaseBase<ChromeActivity> {
|
| +public class AddToHomescreenManagerTest extends ChromeActivityTestCaseBase<ChromeActivity> {
|
| private static final String WEBAPP_ACTION_NAME = "WEBAPP_ACTION";
|
|
|
| private static final String WEBAPP_TITLE = "Webapp shortcut";
|
| @@ -108,11 +109,43 @@ public class AddToHomescreenDialogHelperTest extends ChromeActivityTestCaseBase<
|
| }
|
| }
|
|
|
| + /**
|
| + * Test AddToHomescreenManager subclass which mocks showing the add-to-homescreen dialog and
|
| + * adds the shortcut to the home screen once it is ready.
|
| + */
|
| + private static class TestAddToHomescreenManager extends AddToHomescreenManager {
|
| + private String mTitle;
|
| +
|
| + /**
|
| + * Creates an instance of {@link TestAddToHomescreenManager}.
|
| + * @param title The title that the user entered into the add-to-homescreen dialog.
|
| + */
|
| + public TestAddToHomescreenManager(Activity activity, Tab tab, String title) {
|
| + super(activity, tab);
|
| + mTitle = title;
|
| + }
|
| +
|
| + @Override
|
| + public void showDialog() {
|
| + AddToHomescreenManager.Observer observer = new AddToHomescreenManager.Observer() {
|
| + @Override
|
| + public void onUserTitleAvailable(String title) {}
|
| +
|
| + @Override
|
| + public void onReadyToAdd(Bitmap icon) {
|
| + TestAddToHomescreenManager.this.addShortcut(mTitle);
|
| + }
|
| + };
|
| +
|
| + setObserver(observer);
|
| + }
|
| + }
|
| +
|
| private ChromeActivity mActivity;
|
| private Tab mTab;
|
| private TestShortcutHelperDelegate mShortcutHelperDelegate;
|
|
|
| - public AddToHomescreenDialogHelperTest() {
|
| + public AddToHomescreenManagerTest() {
|
| super(ChromeActivity.class);
|
| }
|
|
|
| @@ -249,27 +282,17 @@ public class AddToHomescreenDialogHelperTest extends ChromeActivityTestCaseBase<
|
|
|
| private void addShortcutToTab(final Tab tab, final String title) throws Exception {
|
| // Add the shortcut.
|
| - Callable<AddToHomescreenDialogHelper> callable =
|
| - new Callable<AddToHomescreenDialogHelper>() {
|
| + Callable<AddToHomescreenManager> callable =
|
| + new Callable<AddToHomescreenManager>() {
|
| @Override
|
| - public AddToHomescreenDialogHelper call() {
|
| - final AddToHomescreenDialogHelper helper =
|
| - new AddToHomescreenDialogHelper(mActivity.getApplicationContext(), tab);
|
| - // Calling initialize() isn't strictly required but it is testing this code path.
|
| - helper.initialize(new AddToHomescreenDialogHelper.Observer() {
|
| - @Override
|
| - public void onUserTitleAvailable(String t) {
|
| - }
|
| -
|
| - @Override
|
| - public void onIconAvailable(Bitmap icon) {
|
| - helper.addShortcut(title);
|
| - }
|
| - });
|
| - return helper;
|
| + public AddToHomescreenManager call() {
|
| + AddToHomescreenManager manager =
|
| + new TestAddToHomescreenManager(mActivity, tab, title);
|
| + manager.start();
|
| + return manager;
|
| }
|
| };
|
| - final AddToHomescreenDialogHelper helper =
|
| + final AddToHomescreenManager manager =
|
| ThreadUtils.runOnUiThreadBlockingNoException(callable);
|
|
|
| // Make sure that the shortcut was added.
|
| @@ -283,7 +306,7 @@ public class AddToHomescreenDialogHelperTest extends ChromeActivityTestCaseBase<
|
| ThreadUtils.runOnUiThreadBlocking(new Runnable() {
|
| @Override
|
| public void run() {
|
| - helper.destroy();
|
| + manager.destroy();
|
| }
|
| });
|
| }
|
|
|