Commit acbc2641 authored by Evan Stade's avatar Evan Stade Committed by Commit Bot

Remove VrModeProvider code from SelectableList widget.

Bug: 1110930, 1016938
Change-Id: I60d7bccc8dda4ea46708b92f7816fc17892e57af
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2380646
Commit-Queue: Evan Stade <estade@chromium.org>
Reviewed-by: default avatarTed Choc <tedchoc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#803929}
parent 2f5d1202
...@@ -18,7 +18,6 @@ import androidx.annotation.Nullable; ...@@ -18,7 +18,6 @@ import androidx.annotation.Nullable;
import androidx.annotation.VisibleForTesting; import androidx.annotation.VisibleForTesting;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import org.chromium.chrome.browser.vr.VrModeProviderImpl;
import org.chromium.chrome.tab_ui.R; import org.chromium.chrome.tab_ui.R;
import org.chromium.components.browser_ui.widget.selectable_list.SelectableListLayout; import org.chromium.components.browser_ui.widget.selectable_list.SelectableListLayout;
import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelegate; import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelegate;
...@@ -58,7 +57,7 @@ class TabSelectionEditorLayout extends SelectableListLayout<Integer> { ...@@ -58,7 +57,7 @@ class TabSelectionEditorLayout extends SelectableListLayout<Integer> {
initializeRecyclerView(adapter, recyclerView); initializeRecyclerView(adapter, recyclerView);
mToolbar = mToolbar =
(TabSelectionEditorToolbar) initializeToolbar(R.layout.tab_selection_editor_toolbar, (TabSelectionEditorToolbar) initializeToolbar(R.layout.tab_selection_editor_toolbar,
selectionDelegate, 0, 0, 0, null, false, true, new VrModeProviderImpl()); selectionDelegate, 0, 0, 0, null, false, true);
mParentView = parentView; mParentView = parentView;
} }
......
...@@ -27,7 +27,6 @@ import org.chromium.chrome.browser.profiles.Profile; ...@@ -27,7 +27,6 @@ import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.ui.favicon.LargeIconBridge; import org.chromium.chrome.browser.ui.favicon.LargeIconBridge;
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
import org.chromium.chrome.browser.ui.native_page.BasicNativePage; import org.chromium.chrome.browser.ui.native_page.BasicNativePage;
import org.chromium.chrome.browser.vr.VrModeProviderImpl;
import org.chromium.components.bookmarks.BookmarkId; import org.chromium.components.bookmarks.BookmarkId;
import org.chromium.components.browser_ui.util.ConversionUtils; import org.chromium.components.browser_ui.util.ConversionUtils;
import org.chromium.components.browser_ui.widget.dragreorder.DragStateDelegate; import org.chromium.components.browser_ui.widget.dragreorder.DragStateDelegate;
...@@ -209,7 +208,7 @@ public class BookmarkManager ...@@ -209,7 +208,7 @@ public class BookmarkManager
mToolbar = (BookmarkActionBar) mSelectableListLayout.initializeToolbar( mToolbar = (BookmarkActionBar) mSelectableListLayout.initializeToolbar(
R.layout.bookmark_action_bar, mSelectionDelegate, 0, R.id.normal_menu_group, R.layout.bookmark_action_bar, mSelectionDelegate, 0, R.id.normal_menu_group,
R.id.selection_mode_menu_group, null, true, isDialogUi, new VrModeProviderImpl()); R.id.selection_mode_menu_group, null, true, isDialogUi);
mToolbar.initializeSearchView( mToolbar.initializeSearchView(
this, R.string.bookmark_action_bar_search, R.id.search_menu_id); this, R.string.bookmark_action_bar_search, R.id.search_menu_id);
......
...@@ -14,7 +14,6 @@ import org.chromium.chrome.browser.profiles.Profile; ...@@ -14,7 +14,6 @@ import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.settings.SettingsLauncher; import org.chromium.chrome.browser.settings.SettingsLauncher;
import org.chromium.chrome.browser.settings.SettingsLauncherImpl; import org.chromium.chrome.browser.settings.SettingsLauncherImpl;
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
import org.chromium.chrome.browser.vr.VrModeProviderImpl;
import org.chromium.components.browser_ui.util.GlobalDiscardableReferencePool; import org.chromium.components.browser_ui.util.GlobalDiscardableReferencePool;
import org.chromium.components.user_prefs.UserPrefs; import org.chromium.components.user_prefs.UserPrefs;
import org.chromium.ui.modaldialog.ModalDialogManager; import org.chromium.ui.modaldialog.ModalDialogManager;
...@@ -42,7 +41,7 @@ public class DownloadManagerCoordinatorFactoryHelper { ...@@ -42,7 +41,7 @@ public class DownloadManagerCoordinatorFactoryHelper {
modalDialogManager, UserPrefs.get(profile), modalDialogManager, UserPrefs.get(profile),
TrackerFactory.getTrackerForProfile(profile), new FaviconProviderImpl(profile), TrackerFactory.getTrackerForProfile(profile), new FaviconProviderImpl(profile),
OfflineContentAggregatorFactory.get(), legacyProvider, OfflineContentAggregatorFactory.get(), legacyProvider,
GlobalDiscardableReferencePool.getReferencePool(), new VrModeProviderImpl()); GlobalDiscardableReferencePool.getReferencePool());
} }
private static void settingsLaunchHelper(Context context) { private static void settingsLaunchHelper(Context context) {
......
...@@ -33,7 +33,6 @@ import org.chromium.components.offline_items_collection.OfflineContentProvider; ...@@ -33,7 +33,6 @@ import org.chromium.components.offline_items_collection.OfflineContentProvider;
import org.chromium.components.prefs.PrefService; import org.chromium.components.prefs.PrefService;
import org.chromium.content_public.browser.UiThreadTaskTraits; import org.chromium.content_public.browser.UiThreadTaskTraits;
import org.chromium.ui.modaldialog.ModalDialogManager; import org.chromium.ui.modaldialog.ModalDialogManager;
import org.chromium.ui.vr.VrModeProvider;
import java.io.Closeable; import java.io.Closeable;
...@@ -64,7 +63,7 @@ class DownloadManagerCoordinatorImpl ...@@ -64,7 +63,7 @@ class DownloadManagerCoordinatorImpl
ModalDialogManager modalDialogManager, PrefService prefService, Tracker tracker, ModalDialogManager modalDialogManager, PrefService prefService, Tracker tracker,
FaviconProvider faviconProvider, OfflineContentProvider provider, FaviconProvider faviconProvider, OfflineContentProvider provider,
LegacyDownloadProvider legacyProvider, LegacyDownloadProvider legacyProvider,
DiscardableReferencePool discardableReferencePool, VrModeProvider vrModeProvider) { DiscardableReferencePool discardableReferencePool) {
mActivity = activity; mActivity = activity;
mSettingsLauncher = settingsLauncher; mSettingsLauncher = settingsLauncher;
mDeleteCoordinator = new DeleteUndoCoordinator(snackbarManager); mDeleteCoordinator = new DeleteUndoCoordinator(snackbarManager);
...@@ -75,7 +74,7 @@ class DownloadManagerCoordinatorImpl ...@@ -75,7 +74,7 @@ class DownloadManagerCoordinatorImpl
createDateOrderedListObserver(), modalDialogManager, prefService, faviconProvider, createDateOrderedListObserver(), modalDialogManager, prefService, faviconProvider,
discardableReferencePool); discardableReferencePool);
mToolbarCoordinator = new ToolbarCoordinator(mActivity, this, mListCoordinator, mToolbarCoordinator = new ToolbarCoordinator(mActivity, this, mListCoordinator,
mSelectionDelegate, config.isSeparateActivity, tracker, vrModeProvider); mSelectionDelegate, config.isSeparateActivity, tracker);
initializeView(); initializeView();
if (config.startWithPrefetchedContent) { if (config.startWithPrefetchedContent) {
......
...@@ -20,7 +20,6 @@ import org.chromium.components.browser_ui.widget.selectable_list.SelectableListT ...@@ -20,7 +20,6 @@ import org.chromium.components.browser_ui.widget.selectable_list.SelectableListT
import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelegate; import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelegate;
import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelegate.SelectionObserver; import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelegate.SelectionObserver;
import org.chromium.components.feature_engagement.Tracker; import org.chromium.components.feature_engagement.Tracker;
import org.chromium.ui.vr.VrModeProvider;
import java.util.List; import java.util.List;
...@@ -92,8 +91,8 @@ public class ToolbarCoordinator implements SelectionObserver<ListItem> { ...@@ -92,8 +91,8 @@ public class ToolbarCoordinator implements SelectionObserver<ListItem> {
public ToolbarCoordinator(Context context, ToolbarActionDelegate delegate, public ToolbarCoordinator(Context context, ToolbarActionDelegate delegate,
ToolbarListActionDelegate listActionDelegate, ToolbarListActionDelegate listActionDelegate,
SelectionDelegate<ListItem> selectionDelegate, boolean hasCloseButton, Tracker tracker, SelectionDelegate<ListItem> selectionDelegate, boolean hasCloseButton,
VrModeProvider vrModeProvider) { Tracker tracker) {
mDelegate = delegate; mDelegate = delegate;
mListActionDelegate = listActionDelegate; mListActionDelegate = listActionDelegate;
...@@ -103,7 +102,7 @@ public class ToolbarCoordinator implements SelectionObserver<ListItem> { ...@@ -103,7 +102,7 @@ public class ToolbarCoordinator implements SelectionObserver<ListItem> {
mShadow = mView.findViewById(R.id.shadow); mShadow = mView.findViewById(R.id.shadow);
mToolbar.initialize(selectionDelegate, R.string.menu_downloads, R.id.normal_menu_group, mToolbar.initialize(selectionDelegate, R.string.menu_downloads, R.id.normal_menu_group,
R.id.selection_mode_menu_group, hasCloseButton, vrModeProvider); R.id.selection_mode_menu_group, hasCloseButton);
mToolbar.setOnMenuItemClickListener(this ::onMenuItemClick); mToolbar.setOnMenuItemClickListener(this ::onMenuItemClick);
// TODO(crbug.com/881037): Pass the visible group to the toolbar during initialization. // TODO(crbug.com/881037): Pass the visible group to the toolbar during initialization.
......
...@@ -49,7 +49,6 @@ import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar; ...@@ -49,7 +49,6 @@ import org.chromium.chrome.browser.ui.messages.snackbar.Snackbar;
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarController; import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager.SnackbarController;
import org.chromium.chrome.browser.util.ChromeAccessibilityUtil; import org.chromium.chrome.browser.util.ChromeAccessibilityUtil;
import org.chromium.chrome.browser.vr.VrModeProviderImpl;
import org.chromium.components.browser_ui.util.ConversionUtils; import org.chromium.components.browser_ui.util.ConversionUtils;
import org.chromium.components.browser_ui.widget.selectable_list.SelectableListLayout; import org.chromium.components.browser_ui.widget.selectable_list.SelectableListLayout;
import org.chromium.components.browser_ui.widget.selectable_list.SelectableListToolbar.SearchDelegate; import org.chromium.components.browser_ui.widget.selectable_list.SelectableListToolbar.SearchDelegate;
...@@ -144,7 +143,7 @@ public class HistoryManager implements OnMenuItemClickListener, SignInStateObser ...@@ -144,7 +143,7 @@ public class HistoryManager implements OnMenuItemClickListener, SignInStateObser
mToolbar = (HistoryManagerToolbar) mSelectableListLayout.initializeToolbar( mToolbar = (HistoryManagerToolbar) mSelectableListLayout.initializeToolbar(
R.layout.history_toolbar, mSelectionDelegate, R.string.menu_history, R.layout.history_toolbar, mSelectionDelegate, R.string.menu_history,
R.id.normal_menu_group, R.id.selection_mode_menu_group, this, true, R.id.normal_menu_group, R.id.selection_mode_menu_group, this, true,
isSeparateActivity, new VrModeProviderImpl()); isSeparateActivity);
mToolbar.setManager(this); mToolbar.setManager(this);
mToolbar.initializeSearchView(this, R.string.history_manager_search, R.id.search_menu_id); mToolbar.initializeSearchView(this, R.string.history_manager_search, R.id.search_menu_id);
mToolbar.setInfoMenuItem(R.id.info_menu_id); mToolbar.setInfoMenuItem(R.id.info_menu_id);
......
...@@ -74,7 +74,6 @@ import org.chromium.chrome.browser.share.clipboard.ClipboardImageFileProvider; ...@@ -74,7 +74,6 @@ import org.chromium.chrome.browser.share.clipboard.ClipboardImageFileProvider;
import org.chromium.chrome.browser.sharing.shared_clipboard.SharedClipboardShareActivity; import org.chromium.chrome.browser.sharing.shared_clipboard.SharedClipboardShareActivity;
import org.chromium.chrome.browser.signin.SigninHelper; import org.chromium.chrome.browser.signin.SigninHelper;
import org.chromium.chrome.browser.sync.SyncController; import org.chromium.chrome.browser.sync.SyncController;
import org.chromium.chrome.browser.vr.VrModeProviderImpl;
import org.chromium.chrome.browser.webapps.WebApkVersionManager; import org.chromium.chrome.browser.webapps.WebApkVersionManager;
import org.chromium.chrome.browser.webapps.WebappRegistry; import org.chromium.chrome.browser.webapps.WebappRegistry;
import org.chromium.components.background_task_scheduler.BackgroundTaskSchedulerFactory; import org.chromium.components.background_task_scheduler.BackgroundTaskSchedulerFactory;
...@@ -224,7 +223,7 @@ public class ProcessInitializationHandler { ...@@ -224,7 +223,7 @@ public class ProcessInitializationHandler {
List<String> mimeTypes) { List<String> mimeTypes) {
mDialog = new PhotoPickerDialog(windowAndroid, mDialog = new PhotoPickerDialog(windowAndroid,
windowAndroid.getContext().get().getContentResolver(), listener, windowAndroid.getContext().get().getContentResolver(), listener,
allowMultiple, mimeTypes, new VrModeProviderImpl()); allowMultiple, mimeTypes);
mDialog.getWindow().getAttributes().windowAnimations = mDialog.getWindow().getAttributes().windowAnimations =
R.style.PickerDialogAnimation; R.style.PickerDialogAnimation;
mDialog.show(); mDialog.show();
...@@ -255,8 +254,7 @@ public class ProcessInitializationHandler { ...@@ -255,8 +254,7 @@ public class ProcessInitializationHandler {
ChromeActivity activity = (ChromeActivity) context; ChromeActivity activity = (ChromeActivity) context;
mDialog = new ContactsPickerDialog(activity.getWindowAndroid(), mDialog = new ContactsPickerDialog(activity.getWindowAndroid(),
new ChromePickerAdapter(), listener, allowMultiple, includeNames, new ChromePickerAdapter(), listener, allowMultiple, includeNames,
includeEmails, includeTel, includeAddresses, includeIcons, formattedOrigin, includeEmails, includeTel, includeAddresses, includeIcons, formattedOrigin);
new VrModeProviderImpl());
mDialog.getWindow().getAttributes().windowAnimations = mDialog.getWindow().getAttributes().windowAnimations =
R.style.PickerDialogAnimation; R.style.PickerDialogAnimation;
mDialog.show(); mDialog.show();
......
...@@ -58,7 +58,6 @@ import org.chromium.chrome.browser.download.ui.StubbedProvider; ...@@ -58,7 +58,6 @@ import org.chromium.chrome.browser.download.ui.StubbedProvider;
import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.flags.ChromeFeatureList;
import org.chromium.chrome.browser.preferences.Pref; import org.chromium.chrome.browser.preferences.Pref;
import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager; import org.chromium.chrome.browser.ui.messages.snackbar.SnackbarManager;
import org.chromium.chrome.browser.vr.VrModeProviderImpl;
import org.chromium.chrome.test.ChromeJUnit4ClassRunner; import org.chromium.chrome.test.ChromeJUnit4ClassRunner;
import org.chromium.components.browser_ui.modaldialog.AppModalPresenter; import org.chromium.components.browser_ui.modaldialog.AppModalPresenter;
import org.chromium.components.embedder_support.util.UrlConstants; import org.chromium.components.embedder_support.util.UrlConstants;
...@@ -176,8 +175,7 @@ public class DownloadActivityV2Test extends DummyUiActivityTestCase { ...@@ -176,8 +175,7 @@ public class DownloadActivityV2Test extends DummyUiActivityTestCase {
mDownloadCoordinator = new DownloadManagerCoordinatorImpl(getActivity(), config, mDownloadCoordinator = new DownloadManagerCoordinatorImpl(getActivity(), config,
isPrefetchEnabledSupplier, settingsLauncher, mSnackbarManager, mModalDialogManager, isPrefetchEnabledSupplier, settingsLauncher, mSnackbarManager, mModalDialogManager,
mPrefService, mTracker, faviconProvider, OfflineContentAggregatorFactory.get(), mPrefService, mTracker, faviconProvider, OfflineContentAggregatorFactory.get(),
/* LegacyDownloadProvider */ null, mDiscardableReferencePool, /* LegacyDownloadProvider */ null, mDiscardableReferencePool);
new VrModeProviderImpl());
getActivity().setContentView(mDownloadCoordinator.getView()); getActivity().setContentView(mDownloadCoordinator.getView());
mDownloadCoordinator.updateForUrl(UrlConstants.DOWNLOADS_URL); mDownloadCoordinator.updateForUrl(UrlConstants.DOWNLOADS_URL);
......
...@@ -9,7 +9,6 @@ import androidx.appcompat.app.AlertDialog; ...@@ -9,7 +9,6 @@ import androidx.appcompat.app.AlertDialog;
import org.chromium.ui.ContactsPickerListener; import org.chromium.ui.ContactsPickerListener;
import org.chromium.ui.base.WindowAndroid; import org.chromium.ui.base.WindowAndroid;
import org.chromium.ui.vr.VrModeProvider;
/** /**
* UI for the contacts picker that shows on the Android platform as a result of * UI for the contacts picker that shows on the Android platform as a result of
...@@ -37,13 +36,12 @@ public class ContactsPickerDialog ...@@ -37,13 +36,12 @@ public class ContactsPickerDialog
public ContactsPickerDialog(WindowAndroid windowAndroid, PickerAdapter adapter, public ContactsPickerDialog(WindowAndroid windowAndroid, PickerAdapter adapter,
ContactsPickerListener listener, boolean allowMultiple, boolean includeNames, ContactsPickerListener listener, boolean allowMultiple, boolean includeNames,
boolean includeEmails, boolean includeTel, boolean includeAddresses, boolean includeEmails, boolean includeTel, boolean includeAddresses,
boolean includeIcons, String formattedOrigin, VrModeProvider vrModeProvider) { boolean includeIcons, String formattedOrigin) {
super(windowAndroid.getContext().get(), R.style.Theme_Chromium_Fullscreen); super(windowAndroid.getContext().get(), R.style.Theme_Chromium_Fullscreen);
// Initialize the main content view. // Initialize the main content view.
mCategoryView = new PickerCategoryView(windowAndroid, adapter, allowMultiple, includeNames, mCategoryView = new PickerCategoryView(windowAndroid, adapter, allowMultiple, includeNames,
includeEmails, includeTel, includeAddresses, includeIcons, formattedOrigin, this, includeEmails, includeTel, includeAddresses, includeIcons, formattedOrigin, this);
vrModeProvider);
mCategoryView.initialize(this, listener); mCategoryView.initialize(this, listener);
setView(mCategoryView); setView(mCategoryView);
} }
......
...@@ -41,8 +41,6 @@ import org.chromium.ui.base.WindowAndroid; ...@@ -41,8 +41,6 @@ import org.chromium.ui.base.WindowAndroid;
import org.chromium.ui.test.util.DisableAnimationsTestRule; import org.chromium.ui.test.util.DisableAnimationsTestRule;
import org.chromium.ui.test.util.DummyUiActivityTestCase; import org.chromium.ui.test.util.DummyUiActivityTestCase;
import org.chromium.ui.test.util.RenderTestRule; import org.chromium.ui.test.util.RenderTestRule;
import org.chromium.ui.vr.VrModeObserver;
import org.chromium.ui.vr.VrModeProvider;
import java.nio.ByteBuffer; import java.nio.ByteBuffer;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -182,17 +180,7 @@ public class ContactsPickerDialogTest extends DummyUiActivityTestCase ...@@ -182,17 +180,7 @@ public class ContactsPickerDialogTest extends DummyUiActivityTestCase
}, },
ContactsPickerDialogTest.this, multiselect, includeNames, ContactsPickerDialogTest.this, multiselect, includeNames,
includeEmails, includeTel, includeAddresses, includeIcons, includeEmails, includeTel, includeAddresses, includeIcons,
"example.com", "example.com");
new VrModeProvider() {
@Override
public boolean isInVr() {
return false;
}
@Override
public void registerVrModeObserver(VrModeObserver observer) {}
@Override
public void unregisterVrModeObserver(VrModeObserver observer) {}
});
dialog.show(); dialog.show();
return dialog; return dialog;
} }
......
...@@ -13,7 +13,6 @@ import androidx.core.widget.ImageViewCompat; ...@@ -13,7 +13,6 @@ import androidx.core.widget.ImageViewCompat;
import org.chromium.base.ApiCompatibilityUtils; import org.chromium.base.ApiCompatibilityUtils;
import org.chromium.components.browser_ui.widget.selectable_list.SelectableListToolbar; import org.chromium.components.browser_ui.widget.selectable_list.SelectableListToolbar;
import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelegate; import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelegate;
import org.chromium.ui.vr.VrModeProvider;
import org.chromium.ui.widget.ButtonCompat; import org.chromium.ui.widget.ButtonCompat;
import java.util.List; import java.util.List;
...@@ -78,10 +77,9 @@ public class ContactsPickerToolbar extends SelectableListToolbar<ContactDetails> ...@@ -78,10 +77,9 @@ public class ContactsPickerToolbar extends SelectableListToolbar<ContactDetails>
@Override @Override
public void initialize(SelectionDelegate<ContactDetails> delegate, int titleResId, public void initialize(SelectionDelegate<ContactDetails> delegate, int titleResId,
int normalGroupResId, int selectedGroupResId, boolean updateStatusBarColor, int normalGroupResId, int selectedGroupResId, boolean updateStatusBarColor) {
VrModeProvider vrModeProvider) { super.initialize(
super.initialize(delegate, titleResId, normalGroupResId, selectedGroupResId, delegate, titleResId, normalGroupResId, selectedGroupResId, updateStatusBarColor);
updateStatusBarColor, vrModeProvider);
showBackArrow(); showBackArrow();
} }
......
...@@ -32,7 +32,6 @@ import org.chromium.ui.ContactsPickerListener; ...@@ -32,7 +32,6 @@ import org.chromium.ui.ContactsPickerListener;
import org.chromium.ui.UiUtils; import org.chromium.ui.UiUtils;
import org.chromium.ui.base.WindowAndroid; import org.chromium.ui.base.WindowAndroid;
import org.chromium.ui.modaldialog.ModalDialogManager; import org.chromium.ui.modaldialog.ModalDialogManager;
import org.chromium.ui.vr.VrModeProvider;
import org.chromium.ui.widget.OptimizedFrameLayout; import org.chromium.ui.widget.OptimizedFrameLayout;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -138,14 +137,12 @@ public class PickerCategoryView extends OptimizedFrameLayout ...@@ -138,14 +137,12 @@ public class PickerCategoryView extends OptimizedFrameLayout
* @param formattedOrigin The origin receiving the contact details, formatted for display in the * @param formattedOrigin The origin receiving the contact details, formatted for display in the
* UI. * UI.
* @param delegate A delegate listening for events from the toolbar. * @param delegate A delegate listening for events from the toolbar.
* @param vrModeProvider Provides accessors for VR mode state.
*/ */
@SuppressWarnings("unchecked") // mSelectableListLayout @SuppressWarnings("unchecked") // mSelectableListLayout
public PickerCategoryView(WindowAndroid windowAndroid, PickerAdapter adapter, public PickerCategoryView(WindowAndroid windowAndroid, PickerAdapter adapter,
boolean multiSelectionAllowed, boolean shouldIncludeNames, boolean shouldIncludeEmails, boolean multiSelectionAllowed, boolean shouldIncludeNames, boolean shouldIncludeEmails,
boolean shouldIncludeTel, boolean shouldIncludeAddresses, boolean shouldIncludeIcons, boolean shouldIncludeTel, boolean shouldIncludeAddresses, boolean shouldIncludeIcons,
String formattedOrigin, ContactsPickerToolbar.ContactsToolbarDelegate delegate, String formattedOrigin, ContactsPickerToolbar.ContactsToolbarDelegate delegate) {
VrModeProvider vrModeProvider) {
super(windowAndroid.getContext().get(), null); super(windowAndroid.getContext().get(), null);
mWindowAndroid = windowAndroid; mWindowAndroid = windowAndroid;
...@@ -180,7 +177,7 @@ public class PickerCategoryView extends OptimizedFrameLayout ...@@ -180,7 +177,7 @@ public class PickerCategoryView extends OptimizedFrameLayout
: R.string.contacts_picker_select_contact; : R.string.contacts_picker_select_contact;
mToolbar = (ContactsPickerToolbar) mSelectableListLayout.initializeToolbar( mToolbar = (ContactsPickerToolbar) mSelectableListLayout.initializeToolbar(
R.layout.contacts_picker_toolbar, mSelectionDelegate, titleId, 0, 0, null, false, R.layout.contacts_picker_toolbar, mSelectionDelegate, titleId, 0, 0, null, false,
false, vrModeProvider); false);
mToolbar.setNavigationOnClickListener(this); mToolbar.setNavigationOnClickListener(this);
mToolbar.initializeSearchView(this, R.string.contacts_picker_search, 0); mToolbar.initializeSearchView(this, R.string.contacts_picker_search, 0);
mToolbar.setDelegate(delegate); mToolbar.setDelegate(delegate);
......
...@@ -17,7 +17,6 @@ import org.chromium.base.ApplicationStatus.ActivityStateListener; ...@@ -17,7 +17,6 @@ import org.chromium.base.ApplicationStatus.ActivityStateListener;
import org.chromium.base.ContextUtils; import org.chromium.base.ContextUtils;
import org.chromium.ui.base.PhotoPickerListener; import org.chromium.ui.base.PhotoPickerListener;
import org.chromium.ui.base.WindowAndroid; import org.chromium.ui.base.WindowAndroid;
import org.chromium.ui.vr.VrModeProvider;
import java.util.List; import java.util.List;
...@@ -85,19 +84,17 @@ public class PhotoPickerDialog ...@@ -85,19 +84,17 @@ public class PhotoPickerDialog
* @param multiSelectionAllowed Whether the photo picker should allow multiple items to be * @param multiSelectionAllowed Whether the photo picker should allow multiple items to be
* selected. * selected.
* @param mimeTypes A list of mime types to show in the dialog. * @param mimeTypes A list of mime types to show in the dialog.
* @param vrModeProvider Used to query VR mode state.
*/ */
public PhotoPickerDialog(WindowAndroid windowAndroid, ContentResolver contentResolver, public PhotoPickerDialog(WindowAndroid windowAndroid, ContentResolver contentResolver,
PhotoPickerListener listener, boolean multiSelectionAllowed, List<String> mimeTypes, PhotoPickerListener listener, boolean multiSelectionAllowed, List<String> mimeTypes) {
VrModeProvider vrModeProvider) {
super(windowAndroid.getContext().get(), R.style.Theme_Chromium_Fullscreen); super(windowAndroid.getContext().get(), R.style.Theme_Chromium_Fullscreen);
mWindowAndroid = windowAndroid; mWindowAndroid = windowAndroid;
mListenerWrapper = new PhotoPickerListenerWrapper(listener); mListenerWrapper = new PhotoPickerListenerWrapper(listener);
// Initialize the main content view. // Initialize the main content view.
mCategoryView = new PickerCategoryView( mCategoryView =
windowAndroid, contentResolver, multiSelectionAllowed, this, vrModeProvider); new PickerCategoryView(windowAndroid, contentResolver, multiSelectionAllowed, this);
mCategoryView.initialize(this, mListenerWrapper, mimeTypes); mCategoryView.initialize(this, mListenerWrapper, mimeTypes);
setView(mCategoryView); setView(mCategoryView);
} }
......
...@@ -44,8 +44,6 @@ import org.chromium.ui.base.WindowAndroid; ...@@ -44,8 +44,6 @@ import org.chromium.ui.base.WindowAndroid;
import org.chromium.ui.test.util.DisableAnimationsTestRule; import org.chromium.ui.test.util.DisableAnimationsTestRule;
import org.chromium.ui.test.util.DummyUiActivityTestCase; import org.chromium.ui.test.util.DummyUiActivityTestCase;
import org.chromium.ui.test.util.RenderTestRule; import org.chromium.ui.test.util.RenderTestRule;
import org.chromium.ui.vr.VrModeObserver;
import org.chromium.ui.vr.VrModeProvider;
import java.io.File; import java.io.File;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -261,18 +259,9 @@ public class PhotoPickerDialogTest extends DummyUiActivityTestCase ...@@ -261,18 +259,9 @@ public class PhotoPickerDialogTest extends DummyUiActivityTestCase
TestThreadUtils.runOnUiThreadBlocking(new Callable<PhotoPickerDialog>() { TestThreadUtils.runOnUiThreadBlocking(new Callable<PhotoPickerDialog>() {
@Override @Override
public PhotoPickerDialog call() { public PhotoPickerDialog call() {
final PhotoPickerDialog dialog = new PhotoPickerDialog(mWindowAndroid, final PhotoPickerDialog dialog =
contentResolver, PhotoPickerDialogTest.this, multiselect, mimeTypes, new PhotoPickerDialog(mWindowAndroid, contentResolver,
new VrModeProvider() { PhotoPickerDialogTest.this, multiselect, mimeTypes);
@Override
public boolean isInVr() {
return false;
}
@Override
public void registerVrModeObserver(VrModeObserver observer) {}
@Override
public void unregisterVrModeObserver(VrModeObserver observer) {}
});
dialog.show(); dialog.show();
return dialog; return dialog;
} }
......
...@@ -11,7 +11,6 @@ import android.widget.Button; ...@@ -11,7 +11,6 @@ import android.widget.Button;
import org.chromium.base.ApiCompatibilityUtils; import org.chromium.base.ApiCompatibilityUtils;
import org.chromium.components.browser_ui.widget.selectable_list.SelectableListToolbar; import org.chromium.components.browser_ui.widget.selectable_list.SelectableListToolbar;
import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelegate; import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelegate;
import org.chromium.ui.vr.VrModeProvider;
import java.util.List; import java.util.List;
...@@ -64,10 +63,9 @@ public class PhotoPickerToolbar extends SelectableListToolbar<PickerBitmap> { ...@@ -64,10 +63,9 @@ public class PhotoPickerToolbar extends SelectableListToolbar<PickerBitmap> {
@Override @Override
public void initialize(SelectionDelegate<PickerBitmap> delegate, int titleResId, public void initialize(SelectionDelegate<PickerBitmap> delegate, int titleResId,
int normalGroupResId, int selectedGroupResId, boolean updateStatusBarColor, int normalGroupResId, int selectedGroupResId, boolean updateStatusBarColor) {
VrModeProvider vrModeProvider) { super.initialize(
super.initialize(delegate, titleResId, normalGroupResId, selectedGroupResId, delegate, titleResId, normalGroupResId, selectedGroupResId, updateStatusBarColor);
updateStatusBarColor, vrModeProvider);
showBackArrow(); showBackArrow();
} }
......
...@@ -39,7 +39,6 @@ import org.chromium.net.MimeTypeFilter; ...@@ -39,7 +39,6 @@ import org.chromium.net.MimeTypeFilter;
import org.chromium.ui.base.PhotoPickerListener; import org.chromium.ui.base.PhotoPickerListener;
import org.chromium.ui.base.SelectFileDialog; import org.chromium.ui.base.SelectFileDialog;
import org.chromium.ui.base.WindowAndroid; import org.chromium.ui.base.WindowAndroid;
import org.chromium.ui.vr.VrModeProvider;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
...@@ -193,12 +192,10 @@ public class PickerCategoryView extends RelativeLayout ...@@ -193,12 +192,10 @@ public class PickerCategoryView extends RelativeLayout
* @param windowAndroid The window of the hosting {@link Activity}. * @param windowAndroid The window of the hosting {@link Activity}.
* @param contentResolver The ContentResolver to use to retrieve image metadata from disk. * @param contentResolver The ContentResolver to use to retrieve image metadata from disk.
* @param multiSelectionAllowed Whether to allow the user to select more than one image. * @param multiSelectionAllowed Whether to allow the user to select more than one image.
* @param vrModeProvider The VR mode provider for querying VR mode state.
*/ */
@SuppressWarnings("unchecked") // mSelectableListLayout @SuppressWarnings("unchecked") // mSelectableListLayout
public PickerCategoryView(WindowAndroid windowAndroid, ContentResolver contentResolver, public PickerCategoryView(WindowAndroid windowAndroid, ContentResolver contentResolver,
boolean multiSelectionAllowed, PhotoPickerToolbar.PhotoPickerToolbarDelegate delegate, boolean multiSelectionAllowed, PhotoPickerToolbar.PhotoPickerToolbarDelegate delegate) {
VrModeProvider vrModeProvider) {
super(windowAndroid.getContext().get()); super(windowAndroid.getContext().get());
mWindowAndroid = windowAndroid; mWindowAndroid = windowAndroid;
Context context = mWindowAndroid.getContext().get(); Context context = mWindowAndroid.getContext().get();
...@@ -222,7 +219,7 @@ public class PickerCategoryView extends RelativeLayout ...@@ -222,7 +219,7 @@ public class PickerCategoryView extends RelativeLayout
: R.string.photo_picker_select_image; : R.string.photo_picker_select_image;
PhotoPickerToolbar toolbar = (PhotoPickerToolbar) mSelectableListLayout.initializeToolbar( PhotoPickerToolbar toolbar = (PhotoPickerToolbar) mSelectableListLayout.initializeToolbar(
R.layout.photo_picker_toolbar, mSelectionDelegate, titleId, 0, 0, null, false, R.layout.photo_picker_toolbar, mSelectionDelegate, titleId, 0, 0, null, false,
false, vrModeProvider); false);
toolbar.setNavigationOnClickListener(this); toolbar.setNavigationOnClickListener(this);
toolbar.setDelegate(delegate); toolbar.setDelegate(delegate);
Button doneButton = (Button) toolbar.findViewById(R.id.done); Button doneButton = (Button) toolbar.findViewById(R.id.done);
......
...@@ -34,7 +34,6 @@ import org.chromium.components.browser_ui.widget.displaystyle.HorizontalDisplayS ...@@ -34,7 +34,6 @@ import org.chromium.components.browser_ui.widget.displaystyle.HorizontalDisplayS
import org.chromium.components.browser_ui.widget.displaystyle.UiConfig; import org.chromium.components.browser_ui.widget.displaystyle.UiConfig;
import org.chromium.components.browser_ui.widget.displaystyle.UiConfig.DisplayStyle; import org.chromium.components.browser_ui.widget.displaystyle.UiConfig.DisplayStyle;
import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelegate.SelectionObserver; import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelegate.SelectionObserver;
import org.chromium.ui.vr.VrModeProvider;
import java.util.List; import java.util.List;
...@@ -200,14 +199,13 @@ public class SelectableListLayout<E> ...@@ -200,14 +199,13 @@ public class SelectableListLayout<E>
public SelectableListToolbar<E> initializeToolbar(int toolbarLayoutId, public SelectableListToolbar<E> initializeToolbar(int toolbarLayoutId,
SelectionDelegate<E> delegate, int titleResId, int normalGroupResId, SelectionDelegate<E> delegate, int titleResId, int normalGroupResId,
int selectedGroupResId, @Nullable OnMenuItemClickListener listener, int selectedGroupResId, @Nullable OnMenuItemClickListener listener,
boolean showShadowOnSelection, boolean updateStatusBarColor, boolean showShadowOnSelection, boolean updateStatusBarColor) {
VrModeProvider vrModeProvider) {
mToolbarStub.setLayoutResource(toolbarLayoutId); mToolbarStub.setLayoutResource(toolbarLayoutId);
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
SelectableListToolbar<E> toolbar = (SelectableListToolbar<E>) mToolbarStub.inflate(); SelectableListToolbar<E> toolbar = (SelectableListToolbar<E>) mToolbarStub.inflate();
mToolbar = toolbar; mToolbar = toolbar;
mToolbar.initialize(delegate, titleResId, normalGroupResId, selectedGroupResId, mToolbar.initialize(
updateStatusBarColor, vrModeProvider); delegate, titleResId, normalGroupResId, selectedGroupResId, updateStatusBarColor);
if (listener != null) { if (listener != null) {
mToolbar.setOnMenuItemClickListener(listener); mToolbar.setOnMenuItemClickListener(listener);
......
...@@ -47,8 +47,6 @@ import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelega ...@@ -47,8 +47,6 @@ import org.chromium.components.browser_ui.widget.selectable_list.SelectionDelega
import org.chromium.ui.KeyboardVisibilityDelegate; import org.chromium.ui.KeyboardVisibilityDelegate;
import org.chromium.ui.UiUtils; import org.chromium.ui.UiUtils;
import org.chromium.ui.util.ColorUtils; import org.chromium.ui.util.ColorUtils;
import org.chromium.ui.vr.VrModeObserver;
import org.chromium.ui.vr.VrModeProvider;
import java.lang.annotation.Retention; import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy; import java.lang.annotation.RetentionPolicy;
...@@ -63,7 +61,7 @@ import java.util.List; ...@@ -63,7 +61,7 @@ import java.util.List;
*/ */
public class SelectableListToolbar<E> public class SelectableListToolbar<E>
extends Toolbar implements SelectionObserver<E>, OnClickListener, OnEditorActionListener, extends Toolbar implements SelectionObserver<E>, OnClickListener, OnEditorActionListener,
DisplayStyleObserver, VrModeObserver { DisplayStyleObserver {
/** /**
* A delegate that handles searching the list of selectable items associated with this toolbar. * A delegate that handles searching the list of selectable items associated with this toolbar.
*/ */
...@@ -97,7 +95,6 @@ public class SelectableListToolbar<E> ...@@ -97,7 +95,6 @@ public class SelectableListToolbar<E>
protected boolean mIsSelectionEnabled; protected boolean mIsSelectionEnabled;
protected SelectionDelegate<E> mSelectionDelegate; protected SelectionDelegate<E> mSelectionDelegate;
protected VrModeProvider mVrModeProvider;
private boolean mIsSearching; private boolean mIsSearching;
private boolean mHasSearchView; private boolean mHasSearchView;
...@@ -106,7 +103,6 @@ public class SelectableListToolbar<E> ...@@ -106,7 +103,6 @@ public class SelectableListToolbar<E>
private ImageButton mClearTextButton; private ImageButton mClearTextButton;
private SearchDelegate mSearchDelegate; private SearchDelegate mSearchDelegate;
private boolean mSearchEnabled; private boolean mSearchEnabled;
private boolean mIsVrEnabled;
private boolean mUpdateStatusBarColor; private boolean mUpdateStatusBarColor;
protected NumberRollView mNumberRollView; protected NumberRollView mNumberRollView;
...@@ -159,7 +155,6 @@ public class SelectableListToolbar<E> ...@@ -159,7 +155,6 @@ public class SelectableListToolbar<E>
mIsDestroyed = true; mIsDestroyed = true;
if (mSelectionDelegate != null) mSelectionDelegate.removeObserver(this); if (mSelectionDelegate != null) mSelectionDelegate.removeObserver(this);
if (mSearchEditText != null) hideKeyboard(); if (mSearchEditText != null) hideKeyboard();
if (mVrModeProvider != null) mVrModeProvider.unregisterVrModeObserver(this);
} }
/** /**
...@@ -175,10 +170,9 @@ public class SelectableListToolbar<E> ...@@ -175,10 +170,9 @@ public class SelectableListToolbar<E>
* @param updateStatusBarColor Whether the status bar color should be updated to match the * @param updateStatusBarColor Whether the status bar color should be updated to match the
* toolbar color. If true, the status bar will only be updated if * toolbar color. If true, the status bar will only be updated if
* the current device fully supports theming and is on Android M+. * the current device fully supports theming and is on Android M+.
* @param vrModeProvider Used to modify behavior based on VR state.
*/ */
public void initialize(SelectionDelegate<E> delegate, int titleResId, int normalGroupResId, public void initialize(SelectionDelegate<E> delegate, int titleResId, int normalGroupResId,
int selectedGroupResId, boolean updateStatusBarColor, VrModeProvider vrModeProvider) { int selectedGroupResId, boolean updateStatusBarColor) {
mTitleResId = titleResId; mTitleResId = titleResId;
mNormalGroupResId = normalGroupResId; mNormalGroupResId = normalGroupResId;
mSelectedGroupResId = selectedGroupResId; mSelectedGroupResId = selectedGroupResId;
...@@ -221,31 +215,11 @@ public class SelectableListToolbar<E> ...@@ -221,31 +215,11 @@ public class SelectableListToolbar<E>
mNavigationIconDrawable = UiUtils.getTintedDrawable(getContext(), mNavigationIconDrawable = UiUtils.getTintedDrawable(getContext(),
R.drawable.ic_arrow_back_white_24dp, R.color.default_icon_color_tint_list); R.drawable.ic_arrow_back_white_24dp, R.color.default_icon_color_tint_list);
mVrModeProvider = vrModeProvider;
mVrModeProvider.registerVrModeObserver(this);
if (mVrModeProvider.isInVr()) onEnterVr();
mShowInfoIcon = true; mShowInfoIcon = true;
mShowInfoStringId = R.string.show_info; mShowInfoStringId = R.string.show_info;
mHideInfoStringId = R.string.hide_info; mHideInfoStringId = R.string.hide_info;
} }
@Override
public void onEnterVr() {
// TODO(https://crbug.com/817177): Editing text is not supported in VR, so we disable
// searching.
mIsVrEnabled = true;
if (mHasSearchView) updateSearchMenuItem();
updateInfoMenuItem(mShowInfoItem, mInfoShowing);
}
@Override
public void onExitVr() {
mIsVrEnabled = false;
if (mHasSearchView) updateSearchMenuItem();
updateInfoMenuItem(mShowInfoItem, mInfoShowing);
}
/** /**
* Inflates and initializes the search view. * Inflates and initializes the search view.
* @param searchDelegate The delegate that will handle performing searches. * @param searchDelegate The delegate that will handle performing searches.
...@@ -574,8 +548,7 @@ public class SelectableListToolbar<E> ...@@ -574,8 +548,7 @@ public class SelectableListToolbar<E>
if (!mHasSearchView) return; if (!mHasSearchView) return;
MenuItem searchMenuItem = getMenu().findItem(mSearchMenuItemId); MenuItem searchMenuItem = getMenu().findItem(mSearchMenuItemId);
if (searchMenuItem != null) { if (searchMenuItem != null) {
searchMenuItem.setVisible( searchMenuItem.setVisible(mSearchEnabled && !mIsSelectionEnabled && !mIsSearching);
mSearchEnabled && !mIsSelectionEnabled && !mIsSearching && !mIsVrEnabled);
} }
} }
...@@ -618,16 +591,7 @@ public class SelectableListToolbar<E> ...@@ -618,16 +591,7 @@ public class SelectableListToolbar<E>
infoMenuItem.setIcon(iconDrawable); infoMenuItem.setIcon(iconDrawable);
} }
if (mVrModeProvider.isInVr()) {
// There seems to be a bug with the support library, only on Android N, where the
// toast showing the title shows up every time the info menu item is clicked or
// scrolled on, even if its long press handler is overridden. VR on N doesn't
// support toasts, which render monocularly over top of VR content, so we need to
// disable it.
infoMenuItem.setTitle("");
} else {
infoMenuItem.setTitle(infoShowing ? mHideInfoStringId : mShowInfoStringId); infoMenuItem.setTitle(infoShowing ? mHideInfoStringId : mShowInfoStringId);
}
infoMenuItem.setVisible(showItem); infoMenuItem.setVisible(showItem);
} }
} }
......
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