Commit 061d1829 authored by Michael Thiessen's avatar Michael Thiessen Committed by Commit Bot

Refactor TouchlessUiCoordinator out of NoTouchactivity.

Renames TouchlessUiController to TouchlessModelCoordinator, and
introduces TouchlessUiCoordinator to abstract touchless UI logic out of
NoTouchActivity to be re-used by ChromeActivity et al soon.

Bug: 961734
Change-Id: I8f3d815067d314166f9777b954fc8b410c4dfa56
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1605633Reviewed-by: default avatarYaron Friedman <yfriedman@chromium.org>
Reviewed-by: default avatarMatthew Jones <mdjones@chromium.org>
Commit-Queue: Michael Thiessen <mthiesse@chromium.org>
Cr-Commit-Position: refs/heads/master@{#658771}
parent 2437a144
...@@ -53,7 +53,9 @@ import org.chromium.chrome.browser.signin.GoogleActivityController; ...@@ -53,7 +53,9 @@ import org.chromium.chrome.browser.signin.GoogleActivityController;
import org.chromium.chrome.browser.survey.SurveyController; import org.chromium.chrome.browser.survey.SurveyController;
import org.chromium.chrome.browser.tab.AuthenticatorNavigationInterceptor; import org.chromium.chrome.browser.tab.AuthenticatorNavigationInterceptor;
import org.chromium.chrome.browser.tab.Tab; import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.touchless.TouchlessModelCoordinator;
import org.chromium.chrome.browser.touchless.TouchlessUiController; import org.chromium.chrome.browser.touchless.TouchlessUiController;
import org.chromium.chrome.browser.touchless.TouchlessUiCoordinator;
import org.chromium.chrome.browser.ui.ImmersiveModeManager; import org.chromium.chrome.browser.ui.ImmersiveModeManager;
import org.chromium.chrome.browser.usage_stats.DigitalWellbeingClient; import org.chromium.chrome.browser.usage_stats.DigitalWellbeingClient;
import org.chromium.chrome.browser.webapps.GooglePlayWebApkInstallDelegate; import org.chromium.chrome.browser.webapps.GooglePlayWebApkInstallDelegate;
...@@ -378,38 +380,37 @@ public abstract class AppHooks { ...@@ -378,38 +380,37 @@ public abstract class AppHooks {
} }
/** /**
* Use {@link #attachTouchlessMenuCoordinator(ChromeActivity, TouchlessUiController)} instead. * @param activity An activity for access to different features.
* @return A new {@link TouchlessModelCoordinator} instance.
*/ */
@Deprecated public TouchlessModelCoordinator createTouchlessModelCoordinator(Activity activity) {
public void attachTouchlessMenuCoordinator(ChromeActivity activity) {} return null;
}
/** /**
* @param activity An activity for access to different features. * @param activity An activity for access to different features.
* @param uiController A TouchlessUiController to use. * @return A new {@link TouchlessUiCoordinator} instance.
*/ */
public void attachTouchlessMenuCoordinator( public TouchlessUiCoordinator createTouchlessUiCoordinator(ChromeActivity activity) {
ChromeActivity activity, TouchlessUiController uiController) { return null;
attachTouchlessMenuCoordinator(activity);
} }
/** /**
* Deprecated, use {@link #createTouchlessUiController(Activity)}. * Do not use, in the process of being deleted.
*/ */
@Deprecated @Deprecated
public TouchlessUiController createTouchlessUiController(ChromeActivity activity) { public void attachTouchlessMenuCoordinator(ChromeActivity activity) {}
return null;
}
/** /**
* @param activity An activity for access to different features. * Do not use, in the process of being deleted.
* @return A new {@link TouchlessUiController} instance.
*/ */
public TouchlessUiController createTouchlessUiController(Activity activity) { @Deprecated
return createTouchlessUiController((ChromeActivity) activity); public TouchlessUiController createTouchlessUiController(ChromeActivity activity) {
return null;
} }
/** /**
* Use {@link #attachTouchlessMenuCoordinator(ChromeActivity, TouchlessUiController)}. * Do not use, in the process of being deleted.
*/ */
@Deprecated @Deprecated
public TouchlessUiController getTouchlessUiControllerForActivity(ChromeActivity activity) { public TouchlessUiController getTouchlessUiControllerForActivity(ChromeActivity activity) {
......
...@@ -15,7 +15,6 @@ import android.view.ViewGroup; ...@@ -15,7 +15,6 @@ import android.view.ViewGroup;
import org.chromium.base.VisibleForTesting; import org.chromium.base.VisibleForTesting;
import org.chromium.base.metrics.RecordHistogram; import org.chromium.base.metrics.RecordHistogram;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.AppHooks; import org.chromium.chrome.browser.AppHooks;
import org.chromium.chrome.browser.ChromeActivity; import org.chromium.chrome.browser.ChromeActivity;
import org.chromium.chrome.browser.ChromeInactivityTracker; import org.chromium.chrome.browser.ChromeInactivityTracker;
...@@ -32,17 +31,10 @@ import org.chromium.chrome.browser.tab.Tab; ...@@ -32,17 +31,10 @@ import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.tab.TabRedirectHandler; import org.chromium.chrome.browser.tab.TabRedirectHandler;
import org.chromium.chrome.browser.tab.TabState; import org.chromium.chrome.browser.tab.TabState;
import org.chromium.chrome.browser.tabmodel.document.TabDelegate; import org.chromium.chrome.browser.tabmodel.document.TabDelegate;
import org.chromium.chrome.browser.touchless.dialog.TouchlessDialogPresenter;
import org.chromium.chrome.browser.touchless.snackbar.BlackHoleSnackbarManager;
import org.chromium.chrome.browser.touchless.ui.iph.KeyFunctionsIPHCoordinator;
import org.chromium.chrome.browser.touchless.ui.progressbar.ProgressBarCoordinator;
import org.chromium.chrome.browser.touchless.ui.progressbar.ProgressBarView;
import org.chromium.chrome.browser.touchless.ui.tooltip.TooltipView;
import org.chromium.content_public.browser.LoadUrlParams; import org.chromium.content_public.browser.LoadUrlParams;
import org.chromium.content_public.common.Referrer; import org.chromium.content_public.common.Referrer;
import org.chromium.ui.base.PageTransition; import org.chromium.ui.base.PageTransition;
import org.chromium.ui.modaldialog.ModalDialogManager; import org.chromium.ui.modaldialog.ModalDialogManager;
import org.chromium.ui.modaldialog.ModalDialogManager.ModalDialogType;
/** /**
* An Activity used to display WebContents on devices that don't support touch. * An Activity used to display WebContents on devices that don't support touch.
...@@ -57,16 +49,7 @@ public class NoTouchActivity extends SingleTabActivity { ...@@ -57,16 +49,7 @@ public class NoTouchActivity extends SingleTabActivity {
// Time at which an intent was received and handled. // Time at which an intent was received and handled.
private long mIntentHandlingTimeMs; private long mIntentHandlingTimeMs;
private KeyFunctionsIPHCoordinator mKeyFunctionsIPHCoordinator; private TouchlessUiCoordinator mUiCoordinator;
private ProgressBarCoordinator mProgressBarCoordinator;
private TooltipView mTooltipView;
private ProgressBarView mProgressBarView;
/** The class that enables zooming for all websites and handles touchless zooming. */
private TouchlessZoomHelper mTouchlessZoomHelper;
/** The class that controls the UI for touchless devices. */
private TouchlessUiController mUiController;
/** The class that finishes this activity after a timeout. */ /** The class that finishes this activity after a timeout. */
private ChromeInactivityTracker mInactivityTracker; private ChromeInactivityTracker mInactivityTracker;
...@@ -74,9 +57,6 @@ public class NoTouchActivity extends SingleTabActivity { ...@@ -74,9 +57,6 @@ public class NoTouchActivity extends SingleTabActivity {
/** Tab observer that tracks media state. */ /** Tab observer that tracks media state. */
private TouchlessTabObserver mTabObserver; private TouchlessTabObserver mTabObserver;
/** The snackbar manager for this activity that drops all snackbar requests. */
private BlackHoleSnackbarManager mSnackbarManager;
/** /**
* Internal class which performs the intent handling operations delegated by IntentHandler. * Internal class which performs the intent handling operations delegated by IntentHandler.
*/ */
...@@ -145,8 +125,6 @@ public class NoTouchActivity extends SingleTabActivity { ...@@ -145,8 +125,6 @@ public class NoTouchActivity extends SingleTabActivity {
getFullscreenManager().setTab(getActivityTab()); getFullscreenManager().setTab(getActivityTab());
mUiController = AppHooks.get().createTouchlessUiController(this);
AppHooks.get().attachTouchlessMenuCoordinator(this, mUiController);
super.finishNativeInitialization(); super.finishNativeInitialization();
} }
...@@ -162,13 +140,6 @@ public class NoTouchActivity extends SingleTabActivity { ...@@ -162,13 +140,6 @@ public class NoTouchActivity extends SingleTabActivity {
if (launchNtpDueToInactivity) resetSavedInstanceState(); if (launchNtpDueToInactivity) resetSavedInstanceState();
super.initializeState(); super.initializeState();
mSnackbarManager = new BlackHoleSnackbarManager(this);
mKeyFunctionsIPHCoordinator =
new KeyFunctionsIPHCoordinator(mTooltipView, getActivityTabProvider());
mProgressBarCoordinator =
new ProgressBarCoordinator(mProgressBarView, getActivityTabProvider());
mTouchlessZoomHelper = new TouchlessZoomHelper(getActivityTabProvider());
// By this point if we were going to restore a URL from savedInstanceState we would already // By this point if we were going to restore a URL from savedInstanceState we would already
// have done so. // have done so.
if (getActivityTab().getUrl().isEmpty()) { if (getActivityTab().getUrl().isEmpty()) {
...@@ -239,8 +210,7 @@ public class NoTouchActivity extends SingleTabActivity { ...@@ -239,8 +210,7 @@ public class NoTouchActivity extends SingleTabActivity {
@Override @Override
public ModalDialogManager createModalDialogManager() { public ModalDialogManager createModalDialogManager() {
return new ModalDialogManager( return getUiCoordinator().createModalDialogManager();
new TouchlessDialogPresenter(this, mUiController), ModalDialogType.APP);
} }
@Override @Override
...@@ -278,22 +248,14 @@ public class NoTouchActivity extends SingleTabActivity { ...@@ -278,22 +248,14 @@ public class NoTouchActivity extends SingleTabActivity {
} }
@Override @Override
protected void doLayoutInflation() { public void performPreInflationStartup() {
super.doLayoutInflation(); super.performPreInflationStartup();
ViewGroup coordinatorLayout = (ViewGroup) findViewById(R.id.coordinator); getUiCoordinator();
mTooltipView = new TooltipView(this);
mProgressBarView = new ProgressBarView(this);
coordinatorLayout.addView(mTooltipView);
coordinatorLayout.addView(mProgressBarView);
} }
@Override @Override
public boolean dispatchKeyEvent(KeyEvent event) { public boolean dispatchKeyEvent(KeyEvent event) {
if (mProgressBarCoordinator != null) mProgressBarCoordinator.onKeyEvent(); return getUiCoordinator().dispatchKeyEvent(event) || super.dispatchKeyEvent(event);
boolean consumedEvent = mUiController != null ? mUiController.onKeyEvent(event) : false;
return consumedEvent || super.dispatchKeyEvent(event);
} }
@Override @Override
...@@ -309,32 +271,27 @@ public class NoTouchActivity extends SingleTabActivity { ...@@ -309,32 +271,27 @@ public class NoTouchActivity extends SingleTabActivity {
getFullscreenManager().exitPersistentFullscreenMode(); getFullscreenManager().exitPersistentFullscreenMode();
} }
@Override private TouchlessUiCoordinator getUiCoordinator() {
protected void onDestroyInternal() { if (mUiCoordinator == null) {
super.onDestroyInternal(); mUiCoordinator = AppHooks.get().createTouchlessUiCoordinator(this);
if (mKeyFunctionsIPHCoordinator != null) mKeyFunctionsIPHCoordinator.destroy();
if (mProgressBarCoordinator != null) mProgressBarCoordinator.destroy();
if (mTouchlessZoomHelper != null) mTouchlessZoomHelper.destroy();
if (mUiController != null) {
mUiController.destroy();
mUiController = null;
} }
} return mUiCoordinator;
/**
* @return A UI controller implementation.
*/
public TouchlessUiController getTouchlessUiController() {
return mUiController;
} }
@Override @Override
public SnackbarManager getSnackbarManager() { public SnackbarManager getSnackbarManager() {
return mSnackbarManager; return getUiCoordinator().getSnackbarManager();
} }
@Override @Override
protected TabDelegate createTabDelegate(boolean incognito) { protected TabDelegate createTabDelegate(boolean incognito) {
return new TouchlessTabDelegate(incognito); return new TouchlessTabDelegate(incognito);
} }
/**
* TODO(mthiesse): Delete this, it's to keep downstream compiling with a 3-sided patch.
*/
public TouchlessUiController getTouchlessUiController() {
return null;
}
} }
// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.chrome.browser.touchless;
import android.view.KeyEvent;
import org.chromium.ui.modelutil.PropertyModel;
/** The Touchless Model Coordinator. */
public interface TouchlessModelCoordinator {
/**
* Add a model to the queue to be shown.
* @param model The model to add.
*/
default void addModelToQueue(PropertyModel model) {}
/**
* Remove a model from the queue to be shown.
* @param model The model to remove.
*/
default void removeModelFromQueue(PropertyModel model) {}
/**
* A notification that a key event occurred.
* @param event The event object.
* @return Whether the event was consumed.
*/
boolean onKeyEvent(KeyEvent event);
/**
* Clean up anything that needs to be.
*/
void destroy();
}
// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.chrome.browser.touchless;
import android.view.KeyEvent;
import org.chromium.chrome.browser.snackbar.SnackbarManager;
import org.chromium.ui.modaldialog.ModalDialogManager;
/** Coordinator for Touchless UI. */
public interface TouchlessUiCoordinator {
/**
* @param event The KeyEvent.
* @return Whether the KeyEvent was handled by the Touchless UI.
*/
boolean dispatchKeyEvent(KeyEvent event);
/**
* @return The SnackbarManager for touchless mode.
*/
SnackbarManager getSnackbarManager();
/**
* @return The ModalDialogManager for touchless mode.
*/
ModalDialogManager createModalDialogManager();
}
// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
package org.chromium.chrome.browser.touchless;
import android.support.annotation.CallSuper;
import android.view.KeyEvent;
import android.view.ViewGroup;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.AppHooks;
import org.chromium.chrome.browser.ChromeActivity;
import org.chromium.chrome.browser.lifecycle.Destroyable;
import org.chromium.chrome.browser.lifecycle.InflationObserver;
import org.chromium.chrome.browser.lifecycle.NativeInitObserver;
import org.chromium.chrome.browser.snackbar.SnackbarManager;
import org.chromium.chrome.browser.touchless.dialog.TouchlessDialogPresenter;
import org.chromium.chrome.browser.touchless.snackbar.BlackHoleSnackbarManager;
import org.chromium.chrome.browser.touchless.ui.iph.KeyFunctionsIPHCoordinator;
import org.chromium.chrome.browser.touchless.ui.progressbar.ProgressBarCoordinator;
import org.chromium.chrome.browser.touchless.ui.progressbar.ProgressBarView;
import org.chromium.chrome.browser.touchless.ui.tooltip.TooltipView;
import org.chromium.ui.modaldialog.ModalDialogManager;
import org.chromium.ui.modaldialog.ModalDialogManager.ModalDialogType;
/** A coordinator for touchless UI. */
public class TouchlessUiCoordinatorImpl
implements Destroyable, NativeInitObserver, InflationObserver, TouchlessUiCoordinator {
private ChromeActivity mActivity;
private TouchlessModelCoordinator mModelCoordinator;
private KeyFunctionsIPHCoordinator mKeyFunctionsIPHCoordinator;
/** The snackbar manager for this activity that drops all snackbar requests. */
private BlackHoleSnackbarManager mSnackbarManager;
private ProgressBarCoordinator mProgressBarCoordinator;
private TooltipView mTooltipView;
private ProgressBarView mProgressBarView;
/** The class that enables zooming for all websites and handles touchless zooming. */
private TouchlessZoomHelper mTouchlessZoomHelper;
public TouchlessUiCoordinatorImpl(ChromeActivity activity) {
mActivity = activity;
mActivity.getLifecycleDispatcher().register(this);
mModelCoordinator = AppHooks.get().createTouchlessModelCoordinator(mActivity);
}
@Override
public void onPreInflationStartup() {}
@Override
public void onPostInflationStartup() {
ViewGroup coordinatorLayout = (ViewGroup) mActivity.findViewById(R.id.coordinator);
mTooltipView = new TooltipView(mActivity);
mProgressBarView = new ProgressBarView(mActivity);
coordinatorLayout.addView(mTooltipView);
coordinatorLayout.addView(mProgressBarView);
mProgressBarCoordinator =
new ProgressBarCoordinator(mProgressBarView, mActivity.getActivityTabProvider());
}
@Override
public void onFinishNativeInitialization() {
mKeyFunctionsIPHCoordinator =
new KeyFunctionsIPHCoordinator(mTooltipView, mActivity.getActivityTabProvider());
mTouchlessZoomHelper = new TouchlessZoomHelper(mActivity.getActivityTabProvider());
}
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if (mProgressBarCoordinator != null) mProgressBarCoordinator.onKeyEvent();
return mModelCoordinator != null ? mModelCoordinator.onKeyEvent(event) : false;
}
@Override
public SnackbarManager getSnackbarManager() {
if (mSnackbarManager == null) {
mSnackbarManager = new BlackHoleSnackbarManager(mActivity);
}
return mSnackbarManager;
}
@Override
public ModalDialogManager createModalDialogManager() {
return new ModalDialogManager(
new TouchlessDialogPresenter(mActivity, mModelCoordinator), ModalDialogType.APP);
}
protected TouchlessModelCoordinator getModelCoordinator() {
return mModelCoordinator;
}
protected ChromeActivity getActivity() {
return mActivity;
}
@Override
@CallSuper
public void destroy() {
mActivity = null;
if (mKeyFunctionsIPHCoordinator != null) mKeyFunctionsIPHCoordinator.destroy();
if (mTouchlessZoomHelper != null) mTouchlessZoomHelper.destroy();
if (mProgressBarCoordinator != null) mProgressBarCoordinator.destroy();
}
}
...@@ -20,7 +20,7 @@ import android.widget.TextView; ...@@ -20,7 +20,7 @@ import android.widget.TextView;
import org.chromium.base.ApiCompatibilityUtils; import org.chromium.base.ApiCompatibilityUtils;
import org.chromium.chrome.browser.ChromeActivity; import org.chromium.chrome.browser.ChromeActivity;
import org.chromium.chrome.browser.touchless.TouchlessUiController; import org.chromium.chrome.browser.touchless.TouchlessModelCoordinator;
import org.chromium.chrome.browser.touchless.dialog.TouchlessDialogProperties.DialogListItemProperties; import org.chromium.chrome.browser.touchless.dialog.TouchlessDialogProperties.DialogListItemProperties;
import org.chromium.chrome.browser.touchless.dialog.TouchlessDialogProperties.ListItemType; import org.chromium.chrome.browser.touchless.dialog.TouchlessDialogProperties.ListItemType;
import org.chromium.chrome.touchless.R; import org.chromium.chrome.touchless.R;
...@@ -39,7 +39,7 @@ import java.util.ArrayList; ...@@ -39,7 +39,7 @@ import java.util.ArrayList;
public class TouchlessDialogPresenter extends Presenter { public class TouchlessDialogPresenter extends Presenter {
/** An activity to attach dialogs to. */ /** An activity to attach dialogs to. */
private final ChromeActivity mActivity; private final ChromeActivity mActivity;
private final TouchlessUiController mUiController; private final TouchlessModelCoordinator mModelCoordinator;
/** The dialog this class abstracts. */ /** The dialog this class abstracts. */
private Dialog mDialog; private Dialog mDialog;
...@@ -48,9 +48,10 @@ public class TouchlessDialogPresenter extends Presenter { ...@@ -48,9 +48,10 @@ public class TouchlessDialogPresenter extends Presenter {
private PropertyModelChangeProcessor<PropertyModel, Pair<ViewGroup, ModelListAdapter>, private PropertyModelChangeProcessor<PropertyModel, Pair<ViewGroup, ModelListAdapter>,
PropertyKey> mModelChangeProcessor; PropertyKey> mModelChangeProcessor;
public TouchlessDialogPresenter(ChromeActivity activity, TouchlessUiController uiController) { public TouchlessDialogPresenter(
ChromeActivity activity, TouchlessModelCoordinator modelCoordinator) {
mActivity = activity; mActivity = activity;
mUiController = uiController; mModelCoordinator = modelCoordinator;
} }
@Override @Override
...@@ -76,12 +77,18 @@ public class TouchlessDialogPresenter extends Presenter { ...@@ -76,12 +77,18 @@ public class TouchlessDialogPresenter extends Presenter {
mDialog.setOnCancelListener(dialogInterface mDialog.setOnCancelListener(dialogInterface
-> dismissCurrentDialog(DialogDismissalCause.NAVIGATE_BACK_OR_TOUCH_OUTSIDE)); -> dismissCurrentDialog(DialogDismissalCause.NAVIGATE_BACK_OR_TOUCH_OUTSIDE));
mDialog.setOnShowListener(dialog -> mUiController.addModelToQueue(model)); mDialog.setOnShowListener(dialog -> {
mDialog.setOnDismissListener(dialog -> mUiController.removeModelFromQueue(model)); if (mModelCoordinator != null) mModelCoordinator.addModelToQueue(model);
});
mDialog.setOnDismissListener(dialog -> {
if (mModelCoordinator != null) mModelCoordinator.removeModelFromQueue(model);
});
// Cancel on touch outside should be disabled by default. The ModelChangeProcessor wouldn't // Cancel on touch outside should be disabled by default. The ModelChangeProcessor wouldn't
// notify change if the property is not set during initialization. // notify change if the property is not set during initialization.
mDialog.setCanceledOnTouchOutside(false); mDialog.setCanceledOnTouchOutside(false);
mDialog.setOnKeyListener((dialog, keyCode, event) -> mUiController.onKeyEvent(event)); mDialog.setOnKeyListener((dialog, keyCode, event) -> {
return mModelCoordinator != null ? mModelCoordinator.onKeyEvent(event) : false;
});
ViewGroup dialogView = (ViewGroup) LayoutInflater.from(mDialog.getContext()) ViewGroup dialogView = (ViewGroup) LayoutInflater.from(mDialog.getContext())
.inflate(R.layout.touchless_dialog_view, null); .inflate(R.layout.touchless_dialog_view, null);
ModelListAdapter adapter = new ModelListAdapter(mActivity); ModelListAdapter adapter = new ModelListAdapter(mActivity);
......
...@@ -33,6 +33,7 @@ touchless_java_sources = [ ...@@ -33,6 +33,7 @@ touchless_java_sources = [
"touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessExploreSitesCategoryCardView.java", "touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessExploreSitesCategoryCardView.java",
"touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessExploreSitesPage.java", "touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessExploreSitesPage.java",
"touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessLayoutManager.java", "touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessLayoutManager.java",
"touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessModelCoordinator.java",
"touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessNewTabPage.java", "touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessNewTabPage.java",
"touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessNewTabPageAdapter.java", "touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessNewTabPageAdapter.java",
"touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessNewTabPageMediator.java", "touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessNewTabPageMediator.java",
...@@ -44,6 +45,8 @@ touchless_java_sources = [ ...@@ -44,6 +45,8 @@ touchless_java_sources = [
"touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessTabDelegate.java", "touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessTabDelegate.java",
"touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessTabObserver.java", "touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessTabObserver.java",
"touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessUiController.java", "touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessUiController.java",
"touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessUiCoordinator.java",
"touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessUiCoordinatorImpl.java",
"touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessZoomHelper.java", "touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessZoomHelper.java",
"touchless/java/src/org/chromium/chrome/browser/touchless/dialog/TouchlessDialogPresenter.java", "touchless/java/src/org/chromium/chrome/browser/touchless/dialog/TouchlessDialogPresenter.java",
"touchless/java/src/org/chromium/chrome/browser/touchless/dialog/TouchlessDialogProperties.java", "touchless/java/src/org/chromium/chrome/browser/touchless/dialog/TouchlessDialogProperties.java",
...@@ -67,6 +70,8 @@ touchless_junit_test_java_sources = [ "touchless/junit/src/org/chromium/chrome/b ...@@ -67,6 +70,8 @@ touchless_junit_test_java_sources = [ "touchless/junit/src/org/chromium/chrome/b
touchess_fallback_java_sources = [ touchess_fallback_java_sources = [
"touchless/fallback/java/src/org/chromium/chrome/browser/touchless/TouchlessDelegate.java", "touchless/fallback/java/src/org/chromium/chrome/browser/touchless/TouchlessDelegate.java",
"touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessModelCoordinator.java",
"touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessUiController.java", "touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessUiController.java",
"touchless/java/src/org/chromium/chrome/browser/touchless/TouchlessUiCoordinator.java",
"touchless/java/src/org/chromium/chrome/browser/touchless/dialog/TouchlessDialogProperties.java", "touchless/java/src/org/chromium/chrome/browser/touchless/dialog/TouchlessDialogProperties.java",
] ]
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment