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

Side by Side Diff: ui/android/java/src/org/chromium/ui/base/ViewAndroidDelegate.java

Issue 2738663003: Fix TODOs related to SDK 24 (Closed)
Patch Set: Re-revert fix TODOs related to SDK 24 Created 3 years, 9 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
« no previous file with comments | « content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 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.ui.base; 5 package org.chromium.ui.base;
6 6
7 import android.annotation.TargetApi;
7 import android.content.ClipData; 8 import android.content.ClipData;
8 import android.content.Intent; 9 import android.content.Intent;
9 import android.graphics.Bitmap; 10 import android.graphics.Bitmap;
10 import android.os.Build; 11 import android.os.Build;
11 import android.view.View; 12 import android.view.View;
12 import android.view.ViewGroup; 13 import android.view.ViewGroup;
13 import android.widget.FrameLayout.LayoutParams; 14 import android.widget.FrameLayout.LayoutParams;
14 import android.widget.ImageView; 15 import android.widget.ImageView;
15 16
16 import org.chromium.base.ApiCompatibilityUtils; 17 import org.chromium.base.ApiCompatibilityUtils;
17 import org.chromium.base.Log; 18 import org.chromium.base.Log;
18 import org.chromium.base.annotations.CalledByNative; 19 import org.chromium.base.annotations.CalledByNative;
19 import org.chromium.base.annotations.JNINamespace; 20 import org.chromium.base.annotations.JNINamespace;
20 21
21 import java.net.URISyntaxException; 22 import java.net.URISyntaxException;
22 23
23 /** 24 /**
24 * Class to acquire, position, and remove anchor views from the implementing Vie w. 25 * Class to acquire, position, and remove anchor views from the implementing Vie w.
25 */ 26 */
26 @JNINamespace("ui") 27 @JNINamespace("ui")
27 public abstract class ViewAndroidDelegate { 28 public abstract class ViewAndroidDelegate {
28 private static final String TAG = "ViewAndroidDelegate"; 29 private static final String TAG = "ViewAndroidDelegate";
29
30 // TODO(hush): use View#DRAG_FLAG_GLOBAL when Chromium starts to build with API 24.
31 private static final int DRAG_FLAG_GLOBAL = 1 << 8;
32
33 private static final String GEO_SCHEME = "geo"; 30 private static final String GEO_SCHEME = "geo";
34 private static final String TEL_SCHEME = "tel"; 31 private static final String TEL_SCHEME = "tel";
35 private static final String MAILTO_SCHEME = "mailto"; 32 private static final String MAILTO_SCHEME = "mailto";
36 33
37 /** 34 /**
38 * @return An anchor view that can be used to anchor decoration views like A utofill popup. 35 * @return An anchor view that can be used to anchor decoration views like A utofill popup.
39 */ 36 */
40 @CalledByNative 37 @CalledByNative
41 public View acquireView() { 38 public View acquireView() {
42 ViewGroup containerView = getContainerView(); 39 ViewGroup containerView = getContainerView();
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 lp.topMargin = topMargin; 85 lp.topMargin = topMargin;
89 view.setLayoutParams(lp); 86 view.setLayoutParams(lp);
90 } 87 }
91 88
92 /** 89 /**
93 * Drag the text out of current view. 90 * Drag the text out of current view.
94 * @param text The dragged text. 91 * @param text The dragged text.
95 * @param shadowImage The shadow image for the dragged text. 92 * @param shadowImage The shadow image for the dragged text.
96 */ 93 */
97 @SuppressWarnings("deprecation") 94 @SuppressWarnings("deprecation")
98 // TODO(hush): uncomment below when we build with API 24. 95 @TargetApi(Build.VERSION_CODES.N)
99 // @TargetApi(Build.VERSION_CODES.N)
100 @CalledByNative 96 @CalledByNative
101 private boolean startDragAndDrop(String text, Bitmap shadowImage) { 97 private boolean startDragAndDrop(String text, Bitmap shadowImage) {
102 if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) return false; 98 if (Build.VERSION.SDK_INT <= Build.VERSION_CODES.M) return false;
103 99
104 ViewGroup containerView = getContainerView(); 100 ViewGroup containerView = getContainerView();
105 if (containerView == null) return false; 101 if (containerView == null) return false;
106 102
107 ImageView imageView = new ImageView(containerView.getContext()); 103 ImageView imageView = new ImageView(containerView.getContext());
108 imageView.setImageBitmap(shadowImage); 104 imageView.setImageBitmap(shadowImage);
109 imageView.layout(0, 0, shadowImage.getWidth(), shadowImage.getHeight()); 105 imageView.layout(0, 0, shadowImage.getWidth(), shadowImage.getHeight());
110 106
111 // TODO(hush): use View#startDragAndDrop when Chromium starts to build w ith API 24. 107 return containerView.startDragAndDrop(ClipData.newPlainText(null, text),
112 return containerView.startDrag(ClipData.newPlainText(null, text), 108 new View.DragShadowBuilder(imageView), null, View.DRAG_FLAG_GLOB AL);
113 new View.DragShadowBuilder(imageView), null, DRAG_FLAG_GLOBAL);
114 } 109 }
115 110
116 /** 111 /**
117 * Called whenever the background color of the page changes as notified by B link. 112 * Called whenever the background color of the page changes as notified by B link.
118 * @param color The new ARGB color of the page background. 113 * @param color The new ARGB color of the page background.
119 */ 114 */
120 @CalledByNative 115 @CalledByNative
121 public void onBackgroundColorChanged(int color) {} 116 public void onBackgroundColorChanged(int color) {}
122 117
123 /** 118 /**
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
185 return this; 180 return this;
186 } 181 }
187 182
188 @Override 183 @Override
189 public ViewGroup getContainerView() { 184 public ViewGroup getContainerView() {
190 return mContainerView; 185 return mContainerView;
191 } 186 }
192 }.init(containerView); 187 }.init(containerView);
193 } 188 }
194 } 189 }
OLDNEW
« no previous file with comments | « content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698