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

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

Issue 2878543003: Hook up Reader Mode InfoBar (Closed)
Patch Set: fix tests Created 3 years, 6 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 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 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.infobar; 5 package org.chromium.chrome.browser.infobar;
6 6
7 import android.util.TypedValue; 7 import android.util.TypedValue;
8 import android.view.Gravity; 8 import android.view.Gravity;
9 import android.view.View; 9 import android.view.View;
10 import android.widget.TextView; 10 import android.widget.TextView;
11 11
12 import org.chromium.base.ApiCompatibilityUtils; 12 import org.chromium.base.ApiCompatibilityUtils;
13 import org.chromium.base.annotations.CalledByNative; 13 import org.chromium.base.annotations.CalledByNative;
14 import org.chromium.chrome.R; 14 import org.chromium.chrome.R;
15 import org.chromium.chrome.browser.compositor.bottombar.OverlayPanel;
16 import org.chromium.chrome.browser.compositor.bottombar.OverlayPanel.StateChange Reason;
15 import org.chromium.chrome.browser.dom_distiller.ReaderModeManager; 17 import org.chromium.chrome.browser.dom_distiller.ReaderModeManager;
16 import org.chromium.chrome.browser.tab.Tab; 18 import org.chromium.chrome.browser.tab.Tab;
17 19
18 /** 20 /**
19 * This is the InfoBar implementation of the Reader Mode UI. This is used in pla ce of the 21 * This is the InfoBar implementation of the Reader Mode UI. This is used in pla ce of the
20 * {@link OverlayPanel} implementation when Chrome Home is enabled. 22 * {@link OverlayPanel} implementation when Chrome Home is enabled.
21 */ 23 */
22 public class ReaderModeInfoBar extends InfoBar { 24 public class ReaderModeInfoBar extends InfoBar {
23 /** A handle to the {@link ReaderModeManager} to trigger page navigations. * / 25 /** A handle to the {@link ReaderModeManager} to trigger page navigations. * /
24 private static ReaderModeManager sManager; 26 private static ReaderModeManager sManager;
(...skipping 17 matching lines...) Expand all
42 prompt.setSingleLine(); 44 prompt.setSingleLine();
43 prompt.setTextSize(TypedValue.COMPLEX_UNIT_PX, 45 prompt.setTextSize(TypedValue.COMPLEX_UNIT_PX,
44 getContext().getResources().getDimension(R.dimen.infobar_text_si ze)); 46 getContext().getResources().getDimension(R.dimen.infobar_text_si ze));
45 prompt.setTextColor( 47 prompt.setTextColor(
46 ApiCompatibilityUtils.getColor(layout.getResources(), R.color.de fault_text_color)); 48 ApiCompatibilityUtils.getColor(layout.getResources(), R.color.de fault_text_color));
47 prompt.setGravity(Gravity.CENTER_VERTICAL); 49 prompt.setGravity(Gravity.CENTER_VERTICAL);
48 50
49 prompt.setOnClickListener(new View.OnClickListener() { 51 prompt.setOnClickListener(new View.OnClickListener() {
50 @Override 52 @Override
51 public void onClick(View v) { 53 public void onClick(View v) {
52 // TODO(mdjones): Trigger navigation from manager. 54 sManager.navigateToReaderMode();
53 } 55 }
54 }); 56 });
55 57
56 layout.addContent(prompt, 1f); 58 layout.addContent(prompt, 1f);
57 } 59 }
58 60
61 @Override
59 public void onCloseButtonClicked() { 62 public void onCloseButtonClicked() {
60 super.onCloseButtonClicked(); 63 super.onCloseButtonClicked();
61 64 sManager.onClosed(StateChangeReason.CLOSE_BUTTON);
62 // TODO(mdjones): Notifiy the manager that the infobar was closed.
63 } 65 }
64 66
65 /** 67 /**
66 * Create and show the Reader Mode {@link InfoBar}. 68 * Create and show the Reader Mode {@link InfoBar}.
67 * @param tab The tab that the {@link InfoBar} should be shown in. 69 * @param tab The tab that the {@link InfoBar} should be shown in.
68 * @param manager The {@link ReaderModeManager} for this instance of Chrome. 70 * @param manager The {@link ReaderModeManager} for this instance of Chrome.
69 */ 71 */
70 public static void showReaderModeInfoBar(Tab tab, ReaderModeManager manager) { 72 public static void showReaderModeInfoBar(Tab tab, ReaderModeManager manager) {
71 sManager = manager; 73 sManager = manager;
72 nativeCreate(tab); 74 nativeCreate(tab);
73 } 75 }
74 76
75 /** 77 /**
76 * @return An instance of the {@link ReaderModeInfoBar}. 78 * @return An instance of the {@link ReaderModeInfoBar}.
77 */ 79 */
78 @CalledByNative 80 @CalledByNative
79 private static ReaderModeInfoBar create() { 81 private static ReaderModeInfoBar create() {
80 return new ReaderModeInfoBar(); 82 return new ReaderModeInfoBar();
81 } 83 }
82 84
83 private static native void nativeCreate(Tab tab); 85 private static native void nativeCreate(Tab tab);
84 } 86 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698