Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(431)

Side by Side Diff: chrome/android/java/src/org/chromium/chrome/browser/ChromeActivity.java

Issue 2625923002: Introduce the bottom sheet class for Chrome Home (Closed)
Patch Set: fix findbugs Created 3 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.chrome.browser; 5 package org.chromium.chrome.browser;
6 6
7 import android.annotation.SuppressLint; 7 import android.annotation.SuppressLint;
8 import android.annotation.TargetApi; 8 import android.annotation.TargetApi;
9 import android.app.Activity; 9 import android.app.Activity;
10 import android.app.SearchManager; 10 import android.app.SearchManager;
11 import android.app.assist.AssistContent; 11 import android.app.assist.AssistContent;
12 import android.content.Context; 12 import android.content.Context;
13 import android.content.Intent; 13 import android.content.Intent;
14 import android.content.res.Configuration; 14 import android.content.res.Configuration;
15 import android.graphics.Bitmap; 15 import android.graphics.Bitmap;
16 import android.graphics.Color; 16 import android.graphics.Color;
17 import android.graphics.Rect; 17 import android.graphics.Rect;
18 import android.graphics.drawable.ColorDrawable; 18 import android.graphics.drawable.ColorDrawable;
19 import android.graphics.drawable.Drawable; 19 import android.graphics.drawable.Drawable;
20 import android.net.Uri; 20 import android.net.Uri;
21 import android.os.Build; 21 import android.os.Build;
22 import android.os.Bundle; 22 import android.os.Bundle;
23 import android.os.StrictMode; 23 import android.os.StrictMode;
24 import android.os.SystemClock; 24 import android.os.SystemClock;
25 import android.support.design.widget.CoordinatorLayout.LayoutParams;
26 import android.support.v7.app.AlertDialog; 25 import android.support.v7.app.AlertDialog;
27 import android.util.DisplayMetrics; 26 import android.util.DisplayMetrics;
28 import android.util.Pair; 27 import android.util.Pair;
29 import android.view.Gravity;
30 import android.view.Menu; 28 import android.view.Menu;
31 import android.view.MenuItem; 29 import android.view.MenuItem;
32 import android.view.View; 30 import android.view.View;
33 import android.view.ViewConfiguration; 31 import android.view.ViewConfiguration;
34 import android.view.ViewGroup; 32 import android.view.ViewGroup;
35 import android.view.ViewStub; 33 import android.view.ViewStub;
36 import android.view.Window; 34 import android.view.Window;
37 import android.view.WindowManager; 35 import android.view.WindowManager;
38 import android.view.accessibility.AccessibilityManager; 36 import android.view.accessibility.AccessibilityManager;
39 import android.view.accessibility.AccessibilityManager.AccessibilityStateChangeL istener; 37 import android.view.accessibility.AccessibilityManager.AccessibilityStateChangeL istener;
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
120 import org.chromium.chrome.browser.tabmodel.TabModelSelectorTabObserver; 118 import org.chromium.chrome.browser.tabmodel.TabModelSelectorTabObserver;
121 import org.chromium.chrome.browser.tabmodel.TabModelUtils; 119 import org.chromium.chrome.browser.tabmodel.TabModelUtils;
122 import org.chromium.chrome.browser.tabmodel.TabWindowManager; 120 import org.chromium.chrome.browser.tabmodel.TabWindowManager;
123 import org.chromium.chrome.browser.toolbar.Toolbar; 121 import org.chromium.chrome.browser.toolbar.Toolbar;
124 import org.chromium.chrome.browser.toolbar.ToolbarControlContainer; 122 import org.chromium.chrome.browser.toolbar.ToolbarControlContainer;
125 import org.chromium.chrome.browser.toolbar.ToolbarManager; 123 import org.chromium.chrome.browser.toolbar.ToolbarManager;
126 import org.chromium.chrome.browser.util.ChromeFileProvider; 124 import org.chromium.chrome.browser.util.ChromeFileProvider;
127 import org.chromium.chrome.browser.util.ColorUtils; 125 import org.chromium.chrome.browser.util.ColorUtils;
128 import org.chromium.chrome.browser.util.FeatureUtilities; 126 import org.chromium.chrome.browser.util.FeatureUtilities;
129 import org.chromium.chrome.browser.webapps.AddToHomescreenManager; 127 import org.chromium.chrome.browser.webapps.AddToHomescreenManager;
128 import org.chromium.chrome.browser.widget.BottomSheet;
130 import org.chromium.chrome.browser.widget.ControlContainer; 129 import org.chromium.chrome.browser.widget.ControlContainer;
131 import org.chromium.components.bookmarks.BookmarkId; 130 import org.chromium.components.bookmarks.BookmarkId;
132 import org.chromium.content.browser.ContentVideoView; 131 import org.chromium.content.browser.ContentVideoView;
133 import org.chromium.content.browser.ContentViewCore; 132 import org.chromium.content.browser.ContentViewCore;
134 import org.chromium.content.common.ContentSwitches; 133 import org.chromium.content.common.ContentSwitches;
135 import org.chromium.content_public.browser.ContentBitmapCallback; 134 import org.chromium.content_public.browser.ContentBitmapCallback;
136 import org.chromium.content_public.browser.LoadUrlParams; 135 import org.chromium.content_public.browser.LoadUrlParams;
137 import org.chromium.content_public.browser.WebContents; 136 import org.chromium.content_public.browser.WebContents;
138 import org.chromium.content_public.browser.readback_types.ReadbackResponse; 137 import org.chromium.content_public.browser.readback_types.ReadbackResponse;
139 import org.chromium.policy.CombinedPolicyProvider; 138 import org.chromium.policy.CombinedPolicyProvider;
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after
373 // of our control, so we have to disable StrictMode to work. See crb ug.com/639352. 372 // of our control, so we have to disable StrictMode to work. See crb ug.com/639352.
374 StrictMode.ThreadPolicy oldPolicy = StrictMode.allowThreadDiskWrites (); 373 StrictMode.ThreadPolicy oldPolicy = StrictMode.allowThreadDiskWrites ();
375 try { 374 try {
376 setContentView(R.layout.main); 375 setContentView(R.layout.main);
377 if (controlContainerLayoutId != NO_CONTROL_CONTAINER) { 376 if (controlContainerLayoutId != NO_CONTROL_CONTAINER) {
378 ViewStub toolbarContainerStub = 377 ViewStub toolbarContainerStub =
379 ((ViewStub) findViewById(R.id.control_container_stub )); 378 ((ViewStub) findViewById(R.id.control_container_stub ));
380 379
381 toolbarContainerStub.setLayoutResource(controlContainerLayou tId); 380 toolbarContainerStub.setLayoutResource(controlContainerLayou tId);
382 View container = toolbarContainerStub.inflate(); 381 View container = toolbarContainerStub.inflate();
383
384 // If the control container is at the bottom apply Gravity.B OTTOM here since
385 // it is not respected in the XML while the ViewStub in betw een the
386 // CompositorViewHolder and ControlContainer.
387 if (controlContainerLayoutId == R.layout.bottom_control_cont ainer) {
388 ((LayoutParams) container.getLayoutParams()).gravity = G ravity.BOTTOM;
389 }
390 } 382 }
391 383
392 // It cannot be assumed that the result of toolbarContainerStub. inflate() will be 384 // It cannot be assumed that the result of toolbarContainerStub. inflate() will be
393 // the control container since it may be wrapped in another view . 385 // the control container since it may be wrapped in another view .
394 ControlContainer controlContainer = 386 ControlContainer controlContainer =
395 (ControlContainer) findViewById(R.id.control_container); 387 (ControlContainer) findViewById(R.id.control_container);
396 388
389 // Get a handle to the bottom sheet if using the bottom control container.
390 if (controlContainerLayoutId == R.layout.bottom_control_containe r) {
391 View coordinator = findViewById(R.id.coordinator);
392 BottomSheet bottomSheet = (BottomSheet) findViewById(R.id.bo ttom_sheet);
393 bottomSheet.init(coordinator, controlContainer.getView());
394 }
395
397 // Inflate the correct toolbar layout for the device. 396 // Inflate the correct toolbar layout for the device.
398 int toolbarLayoutId = getToolbarLayoutId(); 397 int toolbarLayoutId = getToolbarLayoutId();
399 if (toolbarLayoutId != NO_TOOLBAR_LAYOUT && controlContainer != null) { 398 if (toolbarLayoutId != NO_TOOLBAR_LAYOUT && controlContainer != null) {
400 controlContainer.initWithToolbar(toolbarLayoutId); 399 controlContainer.initWithToolbar(toolbarLayoutId);
401 } 400 }
402 } finally { 401 } finally {
403 StrictMode.setThreadPolicy(oldPolicy); 402 StrictMode.setThreadPolicy(oldPolicy);
404 } 403 }
405 } 404 }
406 TraceEvent.end("onCreate->setContentView()"); 405 TraceEvent.end("onCreate->setContentView()");
(...skipping 1549 matching lines...) Expand 10 before | Expand all | Expand 10 after
1956 "Android.MultiWindowMode.IsTabletScreenWidthBelow600", 1955 "Android.MultiWindowMode.IsTabletScreenWidthBelow600",
1957 mScreenWidthDp < DeviceFormFactor.MINIMUM_TABLET_WIDTH_DP); 1956 mScreenWidthDp < DeviceFormFactor.MINIMUM_TABLET_WIDTH_DP);
1958 1957
1959 if (mScreenWidthDp < DeviceFormFactor.MINIMUM_TABLET_WIDTH_DP) { 1958 if (mScreenWidthDp < DeviceFormFactor.MINIMUM_TABLET_WIDTH_DP) {
1960 RecordHistogram.recordLinearCountHistogram( 1959 RecordHistogram.recordLinearCountHistogram(
1961 "Android.MultiWindowMode.TabletScreenWidth", mScreenWidthDp, 1, 1960 "Android.MultiWindowMode.TabletScreenWidth", mScreenWidthDp, 1,
1962 DeviceFormFactor.MINIMUM_TABLET_WIDTH_DP, 50); 1961 DeviceFormFactor.MINIMUM_TABLET_WIDTH_DP, 50);
1963 } 1962 }
1964 } 1963 }
1965 } 1964 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698