Commit 21f59b73 authored by Theresa's avatar Theresa Committed by Commit Bot

Move ObservableSupplier* to org.chromium.base

There's nothing Chrome specific about ObservableSupplier*. Rather, it is
a generally useful class for providing dependencies that will be
available asynchronously. Moving to base will allow this interface and
its implementation to be used more broadly.

BUG=960129

Change-Id: Ib556570f4a802180aab8b87eeaa30fa073363555
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1636713Reviewed-by: default avatarTommy Nyquist <nyquist@chromium.org>
Reviewed-by: default avatarDavid Trainor <dtrainor@chromium.org>
Commit-Queue: Theresa <twellington@chromium.org>
Cr-Commit-Position: refs/heads/master@{#664923}
parent 397151e2
......@@ -3186,6 +3186,8 @@ if (is_android) {
"android/java/src/org/chromium/base/MemoryPressureListener.java",
"android/java/src/org/chromium/base/NonThreadSafe.java",
"android/java/src/org/chromium/base/ObserverList.java",
"android/java/src/org/chromium/base/ObservableSupplier.java",
"android/java/src/org/chromium/base/ObservableSupplierImpl.java",
"android/java/src/org/chromium/base/PackageUtils.java",
"android/java/src/org/chromium/base/PathService.java",
"android/java/src/org/chromium/base/PathUtils.java",
......@@ -3441,6 +3443,7 @@ if (is_android) {
"android/junit/src/org/chromium/base/LifetimeAssertTest.java",
"android/junit/src/org/chromium/base/LogTest.java",
"android/junit/src/org/chromium/base/NonThreadSafeTest.java",
"android/junit/src/org/chromium/base/ObservableSupplierImplTest.java",
"android/junit/src/org/chromium/base/PiiEliderTest.java",
"android/junit/src/org/chromium/base/PromiseTest.java",
"android/junit/src/org/chromium/base/memory/MemoryPressureMonitorTest.java",
......
......@@ -2,10 +2,7 @@
// 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.util;
import org.chromium.base.Callback;
import org.chromium.base.Supplier;
package org.chromium.base;
/**
* ObservableSupplier wraps an asynchronously provided object E, notifying observers when the
......
......@@ -2,14 +2,11 @@
// 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.util;
package org.chromium.base;
import android.os.Handler;
import android.support.annotation.Nullable;
import org.chromium.base.Callback;
import org.chromium.base.ObserverList;
/**
* Concrete implementation of {@link ObservableSupplier} to be used by classes owning the
* ObservableSupplier and providing it as a dependency to others.
......@@ -75,7 +72,8 @@ public class ObservableSupplierImpl<E> implements ObservableSupplier<E> {
}
private void checkThread() {
assert mThread == Thread.currentThread()
assert mThread
== Thread.currentThread()
: "ObservableSupplierImpl must only be used on a single Thread.";
}
}
......@@ -2,7 +2,7 @@
// 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.util;
package org.chromium.base;
import android.os.Handler;
......@@ -11,7 +11,6 @@ import org.junit.Test;
import org.junit.runner.RunWith;
import org.robolectric.annotation.Config;
import org.chromium.base.Callback;
import org.chromium.base.test.BaseRobolectricTestRunner;
/**
......
......@@ -1645,8 +1645,6 @@ chrome_java_sources = [
"java/src/org/chromium/chrome/browser/util/IntentUtils.java",
"java/src/org/chromium/chrome/browser/util/KeyNavigationUtil.java",
"java/src/org/chromium/chrome/browser/util/MathUtils.java",
"java/src/org/chromium/chrome/browser/util/ObservableSupplier.java",
"java/src/org/chromium/chrome/browser/util/ObservableSupplierImpl.java",
"java/src/org/chromium/chrome/browser/util/PlatformUtil.java",
"java/src/org/chromium/chrome/browser/util/UrlUtilities.java",
"java/src/org/chromium/chrome/browser/util/ViewUtils.java",
......
......@@ -186,7 +186,6 @@ chrome_junit_test_java_sources = [
"junit/src/org/chromium/chrome/browser/toolbar/ToolbarSecurityIconTest.java",
"junit/src/org/chromium/chrome/browser/usage_stats/EventTrackerTest.java",
"junit/src/org/chromium/chrome/browser/usage_stats/PageViewObserverTest.java",
"junit/src/org/chromium/chrome/browser/util/ObservableSupplierImplTest.java",
"junit/src/org/chromium/chrome/browser/util/UrlUtilitiesUnitTest.java",
"junit/src/org/chromium/chrome/browser/util/test/ShadowUrlUtilities.java",
"junit/src/org/chromium/chrome/browser/webapps/MockWebappDataStorageClockRule.java",
......
......@@ -48,6 +48,7 @@ import org.chromium.base.Callback;
import org.chromium.base.CommandLine;
import org.chromium.base.ContextUtils;
import org.chromium.base.DiscardableReferencePool;
import org.chromium.base.ObservableSupplier;
import org.chromium.base.StrictModeContext;
import org.chromium.base.SysUtils;
import org.chromium.base.TraceEvent;
......@@ -149,7 +150,6 @@ import org.chromium.chrome.browser.ui.system.StatusBarColorController;
import org.chromium.chrome.browser.util.AccessibilityUtil;
import org.chromium.chrome.browser.util.FeatureUtilities;
import org.chromium.chrome.browser.util.MathUtils;
import org.chromium.chrome.browser.util.ObservableSupplier;
import org.chromium.chrome.browser.vr.ArDelegate;
import org.chromium.chrome.browser.vr.ArDelegateProvider;
import org.chromium.chrome.browser.vr.VrModuleProvider;
......
......@@ -41,6 +41,8 @@ import org.chromium.base.CommandLine;
import org.chromium.base.ContextUtils;
import org.chromium.base.Log;
import org.chromium.base.MemoryPressureListener;
import org.chromium.base.ObservableSupplier;
import org.chromium.base.ObservableSupplierImpl;
import org.chromium.base.ObserverList;
import org.chromium.base.ThreadUtils;
import org.chromium.base.TraceEvent;
......@@ -153,8 +155,6 @@ import org.chromium.chrome.browser.usage_stats.UsageStatsService;
import org.chromium.chrome.browser.util.AccessibilityUtil;
import org.chromium.chrome.browser.util.FeatureUtilities;
import org.chromium.chrome.browser.util.IntentUtils;
import org.chromium.chrome.browser.util.ObservableSupplier;
import org.chromium.chrome.browser.util.ObservableSupplierImpl;
import org.chromium.chrome.browser.vr.VrModuleProvider;
import org.chromium.chrome.browser.widget.OverviewListLayout;
import org.chromium.components.feature_engagement.EventConstants;
......
......@@ -8,10 +8,10 @@ import android.content.Context;
import android.support.annotation.Nullable;
import android.view.View;
import org.chromium.base.ObservableSupplier;
import org.chromium.chrome.browser.compositor.layouts.OverviewModeBehavior;
import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher;
import org.chromium.chrome.browser.toolbar.ToolbarManager;
import org.chromium.chrome.browser.util.ObservableSupplier;
/**
* A factory for creating an {@link AppMenuCoordinator}.
......
......@@ -10,13 +10,13 @@ import android.view.MenuItem;
import android.view.View;
import android.view.ViewConfiguration;
import org.chromium.base.ObservableSupplier;
import org.chromium.base.VisibleForTesting;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.compositor.layouts.OverviewModeBehavior;
import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher;
import org.chromium.chrome.browser.omaha.UpdateMenuItemHelper;
import org.chromium.chrome.browser.toolbar.ToolbarManager;
import org.chromium.chrome.browser.util.ObservableSupplier;
/** A UI coordinator the app menu. */
class AppMenuCoordinatorImpl implements AppMenuCoordinator {
......
......@@ -20,6 +20,7 @@ import android.view.WindowManager;
import android.widget.PopupMenu;
import org.chromium.base.Callback;
import org.chromium.base.ObservableSupplier;
import org.chromium.base.VisibleForTesting;
import org.chromium.base.metrics.RecordUserAction;
import org.chromium.chrome.R;
......@@ -27,7 +28,6 @@ import org.chromium.chrome.browser.compositor.layouts.OverviewModeBehavior;
import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher;
import org.chromium.chrome.browser.lifecycle.ConfigurationChangedObserver;
import org.chromium.chrome.browser.lifecycle.StartStopWithNativeObserver;
import org.chromium.chrome.browser.util.ObservableSupplier;
import org.chromium.chrome.browser.widget.textbubble.TextBubble;
import java.util.ArrayList;
......
......@@ -21,6 +21,7 @@ import android.view.View;
import org.chromium.base.Callback;
import org.chromium.base.CommandLine;
import org.chromium.base.ContextUtils;
import org.chromium.base.ObservableSupplier;
import org.chromium.base.metrics.RecordHistogram;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.ActivityTabProvider;
......@@ -41,7 +42,6 @@ import org.chromium.chrome.browser.tab.Tab;
import org.chromium.chrome.browser.tabmodel.TabModelSelector;
import org.chromium.chrome.browser.toolbar.ToolbarManager;
import org.chromium.chrome.browser.translate.TranslateBridge;
import org.chromium.chrome.browser.util.ObservableSupplier;
import org.chromium.components.dom_distiller.core.DomDistillerUrlUtils;
import org.chromium.ui.base.DeviceFormFactor;
import org.chromium.webapk.lib.client.WebApkValidator;
......
......@@ -7,6 +7,7 @@ package org.chromium.chrome.browser.tabbed_mode;
import android.content.Context;
import android.view.View;
import org.chromium.base.ObservableSupplier;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.ActivityTabProvider;
import org.chromium.chrome.browser.appmenu.AppMenuDelegate;
......@@ -19,7 +20,6 @@ import org.chromium.chrome.browser.multiwindow.MultiWindowModeStateDispatcher;
import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings;
import org.chromium.chrome.browser.tabmodel.TabModelSelector;
import org.chromium.chrome.browser.toolbar.ToolbarManager;
import org.chromium.chrome.browser.util.ObservableSupplier;
/**
* An {@link AppMenuPropertiesDelegateImpl} for ChromeTabbedActivity.
......
......@@ -17,6 +17,7 @@ import android.view.Window;
import org.chromium.base.ApiCompatibilityUtils;
import org.chromium.base.BuildInfo;
import org.chromium.base.Callback;
import org.chromium.base.ObservableSupplier;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.ChromeFeatureList;
import org.chromium.chrome.browser.compositor.layouts.EmptyOverviewModeObserver;
......@@ -28,7 +29,6 @@ import org.chromium.chrome.browser.tabmodel.TabModel;
import org.chromium.chrome.browser.tabmodel.TabModelSelector;
import org.chromium.chrome.browser.tabmodel.TabModelSelectorObserver;
import org.chromium.chrome.browser.ui.ImmersiveModeManager;
import org.chromium.chrome.browser.util.ObservableSupplier;
import org.chromium.chrome.browser.vr.VrModeObserver;
import org.chromium.chrome.browser.vr.VrModuleProvider;
import org.chromium.ui.UiUtils;
......
......@@ -8,10 +8,10 @@ import android.os.Build;
import android.support.annotation.Nullable;
import android.view.Window;
import org.chromium.base.ObservableSupplier;
import org.chromium.chrome.browser.compositor.layouts.OverviewModeBehavior;
import org.chromium.chrome.browser.tabmodel.TabModelSelector;
import org.chromium.chrome.browser.ui.ImmersiveModeManager;
import org.chromium.chrome.browser.util.ObservableSupplier;
/**
* A UI coordinator that manages the system status bar and bottom navigation bar for
......
......@@ -11,6 +11,7 @@ import android.view.View.OnAttachStateChangeListener;
import android.view.ViewStub;
import org.chromium.base.Callback;
import org.chromium.base.ObservableSupplier;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.appmenu.AppMenuHandler;
import org.chromium.chrome.browser.compositor.layouts.OverviewModeBehavior;
......@@ -24,7 +25,6 @@ import org.chromium.chrome.browser.tabmodel.TabModel;
import org.chromium.chrome.browser.tabmodel.TabModelObserver;
import org.chromium.chrome.browser.tabmodel.TabModelSelector;
import org.chromium.chrome.browser.tabmodel.TabModelSelectorObserver;
import org.chromium.chrome.browser.util.ObservableSupplier;
import java.util.List;
......
......@@ -18,6 +18,7 @@ import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.chromium.base.ObservableSupplier;
import org.chromium.base.task.PostTask;
import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.DisabledTest;
......@@ -29,7 +30,6 @@ import org.chromium.chrome.browser.ChromeSwitches;
import org.chromium.chrome.browser.ChromeTabbedActivity;
import org.chromium.chrome.browser.compositor.layouts.OverviewModeBehavior;
import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher;
import org.chromium.chrome.browser.util.ObservableSupplier;
import org.chromium.chrome.test.ChromeActivityTestRule;
import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
import org.chromium.chrome.test.util.ChromeTabUtils;
......
......@@ -13,6 +13,7 @@ import org.junit.Rule;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.chromium.base.ObservableSupplier;
import org.chromium.base.test.util.CommandLineFlags;
import org.chromium.base.test.util.Feature;
import org.chromium.base.test.util.RetryOnFailure;
......@@ -22,7 +23,6 @@ import org.chromium.chrome.browser.ChromeSwitches;
import org.chromium.chrome.browser.compositor.layouts.OverviewModeBehavior;
import org.chromium.chrome.browser.lifecycle.ActivityLifecycleDispatcher;
import org.chromium.chrome.browser.net.spdyproxy.DataReductionProxySettings;
import org.chromium.chrome.browser.util.ObservableSupplier;
import org.chromium.chrome.test.ChromeActivityTestRule;
import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
import org.chromium.chrome.test.util.browser.Features.EnableFeatures;
......
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