Skip to content

Commit 8a8f715

Browse files
authored
Merge pull request #7755 from brave/pr7715_in_app_callout_android_1.20.x
In app callout android (uplift to 1.20.x)
2 parents b8bbe9b + 588116d commit 8a8f715

18 files changed

+1104
-146
lines changed

android/brave_java_resources.gni

+4-1
Original file line numberDiff line numberDiff line change
@@ -676,6 +676,7 @@ brave_java_resources = [
676676
"java/res/drawable/ic_setbraveasdefault.xml",
677677
"java/res/drawable/ic_setbraveasdefault_dark.xml",
678678
"java/res/drawable/ic_shield_done_filled.xml",
679+
"java/res/drawable/ic_shield_done_filled_20dp.xml",
679680
"java/res/drawable/ic_sort.xml",
680681
"java/res/drawable/ic_spot_graphic.xml",
681682
"java/res/drawable/ic_spot_graphic_dark.xml",
@@ -712,12 +713,14 @@ brave_java_resources = [
712713
"java/res/drawable/rounded_holo_button.xml",
713714
"java/res/drawable/rounded_shape.xml",
714715
"java/res/drawable/selected_indicator.xml",
715-
"java/res/drawable/shields_tooltip_background.xml",
716+
"java/res/drawable/shields_tooltip_background_1.xml",
717+
"java/res/drawable/shields_tooltip_background_2.xml",
716718
"java/res/drawable/sync_icon.xml",
717719
"java/res/drawable/tip_amount.xml",
718720
"java/res/drawable/transparent_bg_bordered.xml",
719721
"java/res/drawable/wallet_disconnected_button.xml",
720722
"java/res/drawable/wallet_verify_button.xml",
723+
"java/res/drawable/white_rounded_holo_button.xml",
721724
"java/res/font/poppins_light.ttf",
722725
"java/res/font/poppins_medium.ttf",
723726
"java/res/layout-land/brave_rewards_site_banner.xml",

android/brave_java_sources.gni

+4
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,9 @@ brave_java_sources = [
4646
"../../brave/android/java/org/chromium/chrome/browser/custom_layout/HeightWrappingViewPager.java",
4747
"../../brave/android/java/org/chromium/chrome/browser/custom_layout/NonSwipeableViewPager.java",
4848
"../../brave/android/java/org/chromium/chrome/browser/custom_layout/VerticalViewPager.java",
49+
"../../brave/android/java/org/chromium/chrome/browser/custom_layout/popup_window_tooltip/ArrowColorDrawable.java",
50+
"../../brave/android/java/org/chromium/chrome/browser/custom_layout/popup_window_tooltip/PopupWindowTooltip.java",
51+
"../../brave/android/java/org/chromium/chrome/browser/custom_layout/popup_window_tooltip/PopupWindowTooltipUtils.java",
4952
"../../brave/android/java/org/chromium/chrome/browser/document/BraveLauncherActivity.java",
5053
"../../brave/android/java/org/chromium/chrome/browser/download/BraveMimeUtils.java",
5154
"../../brave/android/java/org/chromium/chrome/browser/download/settings/BraveDownloadSettings.java",
@@ -149,6 +152,7 @@ brave_java_sources = [
149152
"../../brave/android/java/org/chromium/chrome/browser/shields/BraveShieldsHandler.java",
150153
"../../brave/android/java/org/chromium/chrome/browser/shields/BraveShieldsMenuObserver.java",
151154
"../../brave/android/java/org/chromium/chrome/browser/shields/BraveShieldsUtils.java",
155+
"../../brave/android/java/org/chromium/chrome/browser/shields/ShieldsTooltipEnum.java",
152156
"../../brave/android/java/org/chromium/chrome/browser/signin/BraveSigninManager.java",
153157
"../../brave/android/java/org/chromium/chrome/browser/site_settings/DesktopModePreferences.java",
154158
"../../brave/android/java/org/chromium/chrome/browser/site_settings/PlayYTVideoInBrowserPreferences.java",
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
/**
2+
* Copyright (c) 2021 The Brave Authors. All rights reserved.
3+
* This Source Code Form is subject to the terms of the Mozilla Public
4+
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
5+
* You can obtain one at http://mozilla.org/MPL/2.0/.
6+
*/
7+
package org.chromium.chrome.browser.custom_layout.popup_window_tooltip;
8+
9+
import android.graphics.Canvas;
10+
import android.graphics.Color;
11+
import android.graphics.ColorFilter;
12+
import android.graphics.Paint;
13+
import android.graphics.Path;
14+
import android.graphics.PixelFormat;
15+
import android.graphics.Rect;
16+
import android.graphics.drawable.ColorDrawable;
17+
18+
import androidx.annotation.ColorInt;
19+
20+
public class ArrowColorDrawable extends ColorDrawable {
21+
public static final int LEFT = 0, TOP = 1, RIGHT = 2, BOTTOM = 3, AUTO = 4;
22+
23+
private final Paint mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);
24+
private final int mBackgroundColor;
25+
private Path mPath;
26+
private final int mDirection;
27+
28+
ArrowColorDrawable(@ColorInt int foregroundColor, int direction) {
29+
this.mBackgroundColor = Color.TRANSPARENT;
30+
this.mPaint.setColor(foregroundColor);
31+
this.mDirection = direction;
32+
}
33+
34+
@Override
35+
protected void onBoundsChange(Rect bounds) {
36+
super.onBoundsChange(bounds);
37+
updatePath(bounds);
38+
}
39+
40+
private synchronized void updatePath(Rect bounds) {
41+
mPath = new Path();
42+
43+
switch (mDirection) {
44+
case LEFT:
45+
mPath.moveTo(bounds.width(), bounds.height());
46+
mPath.lineTo(0, (float) bounds.height() / 2);
47+
mPath.lineTo(bounds.width(), 0);
48+
mPath.lineTo(bounds.width(), bounds.height());
49+
break;
50+
case TOP:
51+
mPath.moveTo(0, bounds.height());
52+
mPath.lineTo((float) bounds.width() / 2, 0);
53+
mPath.lineTo(bounds.width(), bounds.height());
54+
mPath.lineTo(0, bounds.height());
55+
break;
56+
case RIGHT:
57+
mPath.moveTo(0, 0);
58+
mPath.lineTo(bounds.width(), (float) bounds.height() / 2);
59+
mPath.lineTo(0, bounds.height());
60+
mPath.lineTo(0, 0);
61+
break;
62+
case BOTTOM:
63+
mPath.moveTo(0, 0);
64+
mPath.lineTo((float) bounds.width() / 2, bounds.height());
65+
mPath.lineTo(bounds.width(), 0);
66+
mPath.lineTo(0, 0);
67+
break;
68+
}
69+
70+
mPath.close();
71+
}
72+
73+
@Override
74+
public void draw(Canvas canvas) {
75+
canvas.drawColor(mBackgroundColor);
76+
if (mPath == null) updatePath(getBounds());
77+
canvas.drawPath(mPath, mPaint);
78+
}
79+
80+
@Override
81+
public void setAlpha(int alpha) {
82+
mPaint.setAlpha(alpha);
83+
}
84+
85+
public void setColor(@ColorInt int color) {
86+
mPaint.setColor(color);
87+
}
88+
89+
@Override
90+
public void setColorFilter(ColorFilter colorFilter) {
91+
mPaint.setColorFilter(colorFilter);
92+
}
93+
94+
@Override
95+
public int getOpacity() {
96+
if (mPaint.getColorFilter() != null) {
97+
return PixelFormat.TRANSLUCENT;
98+
}
99+
100+
switch (mPaint.getColor() >>> 24) {
101+
case 255:
102+
return PixelFormat.OPAQUE;
103+
case 0:
104+
return PixelFormat.TRANSPARENT;
105+
}
106+
return PixelFormat.TRANSLUCENT;
107+
}
108+
}

0 commit comments

Comments
 (0)