From 1bbece4a02c67b7de5a3f54f2354d075381ee1b1 Mon Sep 17 00:00:00 2001 From: Alex C Date: Thu, 15 Apr 2021 12:09:27 -0400 Subject: [PATCH 1/3] [Android] some refactoring and added permission check --- .../browser/brave_stats/BraveStatsUtil.java | 27 ++++ .../browser/shields/BraveShieldsHandler.java | 19 ++- .../toolbar/top/BraveToolbarLayout.java | 117 +++++++++--------- 3 files changed, 102 insertions(+), 61 deletions(-) diff --git a/android/java/org/chromium/chrome/browser/brave_stats/BraveStatsUtil.java b/android/java/org/chromium/chrome/browser/brave_stats/BraveStatsUtil.java index 676840ba44f..b29f234f337 100644 --- a/android/java/org/chromium/chrome/browser/brave_stats/BraveStatsUtil.java +++ b/android/java/org/chromium/chrome/browser/brave_stats/BraveStatsUtil.java @@ -40,8 +40,17 @@ import java.util.Date; import java.util.List; import java.util.Locale; +import android.Manifest; +import android.content.pm.PackageManager; +import android.os.Build; +import androidx.core.app.ActivityCompat; +import android.app.Activity; + + + public class BraveStatsUtil { public static final short MILLISECONDS_PER_ITEM = 50; + public static final int SHARE_STATS_WRITE_EXTERNAL_STORAGE_PERM = 3867; /* * Gets string view of specific time in seconds for Brave stats */ @@ -200,6 +209,24 @@ public class BraveStatsUtil { return canvasBitmap; } + public static boolean hasWritePermission(Activity activity){ + if (ActivityCompat.checkSelfPermission( + activity, Manifest.permission.WRITE_EXTERNAL_STORAGE) + == PackageManager.PERMISSION_GRANTED) { + return true; + } + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { + activity.requestPermissions(new String[] {Manifest.permission.WRITE_EXTERNAL_STORAGE}, SHARE_STATS_WRITE_EXTERNAL_STORAGE_PERM); + } + + return false; + } + + public static void shareStats(int layout){ + View shareStatsLayout = getLayout(layout); + updateBraveShareStatsLayoutAndShare(shareStatsLayout); + } + private static List> getStatsPairs() { List> statsPair = new ArrayList<>(); Profile mProfile = Profile.getLastUsedRegularProfile(); diff --git a/android/java/org/chromium/chrome/browser/shields/BraveShieldsHandler.java b/android/java/org/chromium/chrome/browser/shields/BraveShieldsHandler.java index dce70593454..8589ab119dd 100644 --- a/android/java/org/chromium/chrome/browser/shields/BraveShieldsHandler.java +++ b/android/java/org/chromium/chrome/browser/shields/BraveShieldsHandler.java @@ -80,6 +80,15 @@ import java.util.Collections; import java.util.HashMap; import java.util.Map; +import android.content.pm.PackageManager; +import android.os.Build; +import androidx.core.app.ActivityCompat; +import androidx.annotation.NonNull; +import android.Manifest; +import org.chromium.chrome.browser.app.BraveActivity; +import android.app.Activity; + + /** * Object responsible for handling the creation, showing, hiding of the BraveShields menu. */ @@ -421,8 +430,9 @@ public class BraveShieldsHandler implements BraveRewardsHelper.LargeIconReadyCal @Override public void onClick(View v) { mMainLayout.setVisibility(View.GONE); - View shareStatsLayout = BraveStatsUtil.getLayout(R.layout.brave_stats_share_layout); - BraveStatsUtil.updateBraveShareStatsLayoutAndShare(shareStatsLayout); + if (BraveStatsUtil.hasWritePermission(BraveActivity.getBraveActivity())) { + BraveStatsUtil.shareStats(R.layout.brave_stats_share_layout); + } } }); @@ -458,6 +468,11 @@ public class BraveShieldsHandler implements BraveRewardsHelper.LargeIconReadyCal setupMainSwitchClick(mShieldMainSwitch); } + private void shareStats(){ + View shareStatsLayout = BraveStatsUtil.getLayout(R.layout.brave_stats_share_layout); + BraveStatsUtil.updateBraveShareStatsLayoutAndShare(shareStatsLayout); + } + private void setToggleView(boolean shouldShow) { if (shouldShow) { mSecondaryLayout.setVisibility(View.VISIBLE); diff --git a/android/java/org/chromium/chrome/browser/toolbar/top/BraveToolbarLayout.java b/android/java/org/chromium/chrome/browser/toolbar/top/BraveToolbarLayout.java index 0121c831752..df4143e5503 100644 --- a/android/java/org/chromium/chrome/browser/toolbar/top/BraveToolbarLayout.java +++ b/android/java/org/chromium/chrome/browser/toolbar/top/BraveToolbarLayout.java @@ -466,62 +466,61 @@ public abstract class BraveToolbarLayout extends ToolbarLayout return; } int totalBlocked = Integer.parseInt(BraveStatsUtil.getAdsTrackersBlocked().first); - // show after 20 blockers in the current session - if (trackersPlusAdsBlocked > 20) { - if (!BraveShieldsUtils.hasShieldsTooltipShown( - BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER1) - && (totalBlocked >= BraveShieldsUtils.BRAVE_BLOCKED_TIER1 - && totalBlocked < BraveShieldsUtils.BRAVE_BLOCKED_TIER2)) { - showTooltip(ShieldsTooltipEnum.BRAVE_SHARE_STATS_TIER1_TOOLTIP, - BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER1); - } else if (!BraveShieldsUtils.hasShieldsTooltipShown( - BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER2) - && (totalBlocked >= BraveShieldsUtils.BRAVE_BLOCKED_TIER2 - && totalBlocked < BraveShieldsUtils.BRAVE_BLOCKED_TIER3)) { - showTooltip(ShieldsTooltipEnum.BRAVE_SHARE_STATS_TIER2_TOOLTIP, - BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER2); - } else if (!BraveShieldsUtils.hasShieldsTooltipShown( - BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER3) - && (totalBlocked >= BraveShieldsUtils.BRAVE_BLOCKED_TIER3 - && totalBlocked < BraveShieldsUtils.BRAVE_BLOCKED_TIER4)) { - showTooltip(ShieldsTooltipEnum.BRAVE_SHARE_STATS_TIER3_TOOLTIP, - BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER3); - } else if (!BraveShieldsUtils.hasShieldsTooltipShown( - BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER4) - && (totalBlocked >= BraveShieldsUtils.BRAVE_BLOCKED_TIER4 - && totalBlocked < BraveShieldsUtils.BRAVE_BLOCKED_TIER5)) { - showTooltip(ShieldsTooltipEnum.BRAVE_SHARE_STATS_TIER4_TOOLTIP, - BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER4); - } else if (!BraveShieldsUtils.hasShieldsTooltipShown( - BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER5) - && (totalBlocked >= BraveShieldsUtils.BRAVE_BLOCKED_TIER5 - && totalBlocked < BraveShieldsUtils.BRAVE_BLOCKED_TIER6)) { - showTooltip(ShieldsTooltipEnum.BRAVE_SHARE_STATS_TIER5_TOOLTIP, - BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER5); - } else if (!BraveShieldsUtils.hasShieldsTooltipShown( - BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER6) - && (totalBlocked >= BraveShieldsUtils.BRAVE_BLOCKED_TIER6 - && totalBlocked < BraveShieldsUtils.BRAVE_BLOCKED_TIER7)) { - showTooltip(ShieldsTooltipEnum.BRAVE_SHARE_STATS_TIER6_TOOLTIP, - BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER6); - } else if (!BraveShieldsUtils.hasShieldsTooltipShown( - BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER7) - && (totalBlocked >= BraveShieldsUtils.BRAVE_BLOCKED_TIER7 - && totalBlocked < BraveShieldsUtils.BRAVE_BLOCKED_TIER8)) { - showTooltip(ShieldsTooltipEnum.BRAVE_SHARE_STATS_TIER7_TOOLTIP, - BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER7); - } else if (!BraveShieldsUtils.hasShieldsTooltipShown( - BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER8) - && (totalBlocked >= BraveShieldsUtils.BRAVE_BLOCKED_TIER8 - && totalBlocked < BraveShieldsUtils.BRAVE_BLOCKED_TIER9)) { - showTooltip(ShieldsTooltipEnum.BRAVE_SHARE_STATS_TIER8_TOOLTIP, - BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER8); - } else if (!BraveShieldsUtils.hasShieldsTooltipShown( - BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER9) - && (totalBlocked >= BraveShieldsUtils.BRAVE_BLOCKED_TIER9)) { - showTooltip(ShieldsTooltipEnum.BRAVE_SHARE_STATS_TIER9_TOOLTIP, - BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER9); - } + + // show after BraveShieldsUtils.BRAVE_BLOCKED_SHOW_DIFF (20) blocked stuff above the TIER threshold + if (!BraveShieldsUtils.hasShieldsTooltipShown( + BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER1) + && (totalBlocked >= BraveShieldsUtils.BRAVE_BLOCKED_TIER1 + BraveShieldsUtils.BRAVE_BLOCKED_SHOW_DIFF + && totalBlocked < BraveShieldsUtils.BRAVE_BLOCKED_TIER2)) { + showTooltip(ShieldsTooltipEnum.BRAVE_SHARE_STATS_TIER1_TOOLTIP, + BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER1); + } else if (!BraveShieldsUtils.hasShieldsTooltipShown( + BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER2) + && (totalBlocked >= BraveShieldsUtils.BRAVE_BLOCKED_TIER2 + BraveShieldsUtils.BRAVE_BLOCKED_SHOW_DIFF + && totalBlocked < BraveShieldsUtils.BRAVE_BLOCKED_TIER3)) { + showTooltip(ShieldsTooltipEnum.BRAVE_SHARE_STATS_TIER2_TOOLTIP, + BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER2); + } else if (!BraveShieldsUtils.hasShieldsTooltipShown( + BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER3) + && (totalBlocked >= BraveShieldsUtils.BRAVE_BLOCKED_TIER3 + BraveShieldsUtils.BRAVE_BLOCKED_SHOW_DIFF + && totalBlocked < BraveShieldsUtils.BRAVE_BLOCKED_TIER4)) { + showTooltip(ShieldsTooltipEnum.BRAVE_SHARE_STATS_TIER3_TOOLTIP, + BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER3); + } else if (!BraveShieldsUtils.hasShieldsTooltipShown( + BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER4) + && (totalBlocked >= BraveShieldsUtils.BRAVE_BLOCKED_TIER4 + BraveShieldsUtils.BRAVE_BLOCKED_SHOW_DIFF + && totalBlocked < BraveShieldsUtils.BRAVE_BLOCKED_TIER5)) { + showTooltip(ShieldsTooltipEnum.BRAVE_SHARE_STATS_TIER4_TOOLTIP, + BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER4); + } else if (!BraveShieldsUtils.hasShieldsTooltipShown( + BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER5) + && (totalBlocked >= BraveShieldsUtils.BRAVE_BLOCKED_TIER5 + BraveShieldsUtils.BRAVE_BLOCKED_SHOW_DIFF + && totalBlocked < BraveShieldsUtils.BRAVE_BLOCKED_TIER6)) { + showTooltip(ShieldsTooltipEnum.BRAVE_SHARE_STATS_TIER5_TOOLTIP, + BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER5); + } else if (!BraveShieldsUtils.hasShieldsTooltipShown( + BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER6) + && (totalBlocked >= BraveShieldsUtils.BRAVE_BLOCKED_TIER6 + BraveShieldsUtils.BRAVE_BLOCKED_SHOW_DIFF + && totalBlocked < BraveShieldsUtils.BRAVE_BLOCKED_TIER7)) { + showTooltip(ShieldsTooltipEnum.BRAVE_SHARE_STATS_TIER6_TOOLTIP, + BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER6); + } else if (!BraveShieldsUtils.hasShieldsTooltipShown( + BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER7) + && (totalBlocked >= BraveShieldsUtils.BRAVE_BLOCKED_TIER7 + BraveShieldsUtils.BRAVE_BLOCKED_SHOW_DIFF + && totalBlocked < BraveShieldsUtils.BRAVE_BLOCKED_TIER8)) { + showTooltip(ShieldsTooltipEnum.BRAVE_SHARE_STATS_TIER7_TOOLTIP, + BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER7); + } else if (!BraveShieldsUtils.hasShieldsTooltipShown( + BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER8) + && (totalBlocked >= BraveShieldsUtils.BRAVE_BLOCKED_TIER8 + BraveShieldsUtils.BRAVE_BLOCKED_SHOW_DIFF + && totalBlocked < BraveShieldsUtils.BRAVE_BLOCKED_TIER9)) { + showTooltip(ShieldsTooltipEnum.BRAVE_SHARE_STATS_TIER8_TOOLTIP, + BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER8); + } else if (!BraveShieldsUtils.hasShieldsTooltipShown( + BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER9) + && (totalBlocked >= BraveShieldsUtils.BRAVE_BLOCKED_TIER9 + BraveShieldsUtils.BRAVE_BLOCKED_SHOW_DIFF)) { + showTooltip(ShieldsTooltipEnum.BRAVE_SHARE_STATS_TIER9_TOOLTIP, + BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER9); } } @@ -603,9 +602,9 @@ public abstract class BraveToolbarLayout extends ToolbarLayout @Override public void onClick(View view) { dismissShieldsTooltip(); - View shareStatsLayout = - BraveStatsUtil.getLayout(R.layout.brave_stats_share_layout); - BraveStatsUtil.updateBraveShareStatsLayoutAndShare(shareStatsLayout); + if (BraveStatsUtil.hasWritePermission(BraveActivity.getBraveActivity())) { + BraveStatsUtil.shareStats(R.layout.brave_stats_share_layout); + } } }); } From 47a35f7ed669e50b55777be0754f1930a96de18e Mon Sep 17 00:00:00 2001 From: Alex C Date: Thu, 15 Apr 2021 12:38:06 -0400 Subject: [PATCH 2/3] [Android] added permission granted behavior --- .../org/chromium/chrome/browser/app/BraveActivity.java | 10 ++++++++++ .../chrome/browser/shields/BraveShieldsUtils.java | 4 +++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/android/java/org/chromium/chrome/browser/app/BraveActivity.java b/android/java/org/chromium/chrome/browser/app/BraveActivity.java index 4ef15236319..df731973648 100644 --- a/android/java/org/chromium/chrome/browser/app/BraveActivity.java +++ b/android/java/org/chromium/chrome/browser/app/BraveActivity.java @@ -104,6 +104,7 @@ import java.util.Calendar; import java.util.Date; import java.util.List; import java.util.Locale; +import androidx.annotation.NonNull; /** * Brave's extension for ChromeActivity @@ -814,6 +815,15 @@ public abstract class BraveActivity super.onActivityResult(requestCode, resultCode, data); } + @Override + public void onRequestPermissionsResult( + int requestCode,@NonNull String[] permissions,@NonNull int[] grantResults) { + if (requestCode == BraveStatsUtil.SHARE_STATS_WRITE_EXTERNAL_STORAGE_PERM && grantResults.length != 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { + BraveStatsUtil.shareStats(R.layout.brave_stats_share_layout); + } + super.onRequestPermissionsResult(requestCode, permissions, grantResults); + } + /** * Disable background ads on Android. Issue #8641. */ diff --git a/android/java/org/chromium/chrome/browser/shields/BraveShieldsUtils.java b/android/java/org/chromium/chrome/browser/shields/BraveShieldsUtils.java index 919324635a7..4beac3b305d 100644 --- a/android/java/org/chromium/chrome/browser/shields/BraveShieldsUtils.java +++ b/android/java/org/chromium/chrome/browser/shields/BraveShieldsUtils.java @@ -67,7 +67,9 @@ public class BraveShieldsUtils { public static final int BRAVE_BLOCKED_TIER6 = 100000; public static final int BRAVE_BLOCKED_TIER7 = 250000; public static final int BRAVE_BLOCKED_TIER8 = 500000; - public static final int BRAVE_BLOCKED_TIER9 = 1000000; + public static final int BRAVE_BLOCKED_TIER9 = 1000000; + + public static final int BRAVE_BLOCKED_SHOW_DIFF = 20; public static boolean isTooltipShown; From a0cb7f39e99682d049a0f54fcb282f9265e766e9 Mon Sep 17 00:00:00 2001 From: Alex C Date: Fri, 16 Apr 2021 17:54:02 -0400 Subject: [PATCH 3/3] [Android] code format --- .../chrome/browser/app/BraveActivity.java | 12 ++++---- .../browser/brave_stats/BraveStatsUtil.java | 23 +++++++------- .../browser/shields/BraveShieldsHandler.java | 16 ++++------ .../browser/shields/BraveShieldsUtils.java | 2 +- .../toolbar/top/BraveToolbarLayout.java | 30 ++++++++++++------- 5 files changed, 44 insertions(+), 39 deletions(-) diff --git a/android/java/org/chromium/chrome/browser/app/BraveActivity.java b/android/java/org/chromium/chrome/browser/app/BraveActivity.java index df731973648..81929f9584a 100644 --- a/android/java/org/chromium/chrome/browser/app/BraveActivity.java +++ b/android/java/org/chromium/chrome/browser/app/BraveActivity.java @@ -24,6 +24,7 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import androidx.annotation.NonNull; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction; @@ -104,7 +105,6 @@ import java.util.Calendar; import java.util.Date; import java.util.List; import java.util.Locale; -import androidx.annotation.NonNull; /** * Brave's extension for ChromeActivity @@ -815,14 +815,16 @@ public abstract class BraveActivity super.onActivityResult(requestCode, resultCode, data); } - @Override + @Override public void onRequestPermissionsResult( - int requestCode,@NonNull String[] permissions,@NonNull int[] grantResults) { - if (requestCode == BraveStatsUtil.SHARE_STATS_WRITE_EXTERNAL_STORAGE_PERM && grantResults.length != 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED) { + int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { + if (requestCode == BraveStatsUtil.SHARE_STATS_WRITE_EXTERNAL_STORAGE_PERM + && grantResults.length != 0 + && grantResults[0] == PackageManager.PERMISSION_GRANTED) { BraveStatsUtil.shareStats(R.layout.brave_stats_share_layout); } super.onRequestPermissionsResult(requestCode, permissions, grantResults); - } + } /** * Disable background ads on Android. Issue #8641. diff --git a/android/java/org/chromium/chrome/browser/brave_stats/BraveStatsUtil.java b/android/java/org/chromium/chrome/browser/brave_stats/BraveStatsUtil.java index b29f234f337..cb816510e40 100644 --- a/android/java/org/chromium/chrome/browser/brave_stats/BraveStatsUtil.java +++ b/android/java/org/chromium/chrome/browser/brave_stats/BraveStatsUtil.java @@ -5,12 +5,16 @@ package org.chromium.chrome.browser.brave_stats; +import android.Manifest; +import android.app.Activity; import android.content.Context; import android.content.Intent; +import android.content.pm.PackageManager; import android.content.pm.ResolveInfo; import android.graphics.Bitmap; import android.graphics.Canvas; import android.net.Uri; +import android.os.Build; import android.provider.MediaStore; import android.util.Pair; import android.view.LayoutInflater; @@ -18,6 +22,7 @@ import android.view.View; import android.widget.TextView; import androidx.appcompat.app.AppCompatActivity; +import androidx.core.app.ActivityCompat; import org.chromium.base.ContextUtils; import org.chromium.base.Log; @@ -40,14 +45,6 @@ import java.util.Date; import java.util.List; import java.util.Locale; -import android.Manifest; -import android.content.pm.PackageManager; -import android.os.Build; -import androidx.core.app.ActivityCompat; -import android.app.Activity; - - - public class BraveStatsUtil { public static final short MILLISECONDS_PER_ITEM = 50; public static final int SHARE_STATS_WRITE_EXTERNAL_STORAGE_PERM = 3867; @@ -209,20 +206,20 @@ public class BraveStatsUtil { return canvasBitmap; } - public static boolean hasWritePermission(Activity activity){ - if (ActivityCompat.checkSelfPermission( - activity, Manifest.permission.WRITE_EXTERNAL_STORAGE) + public static boolean hasWritePermission(Activity activity) { + if (ActivityCompat.checkSelfPermission(activity, Manifest.permission.WRITE_EXTERNAL_STORAGE) == PackageManager.PERMISSION_GRANTED) { return true; } if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { - activity.requestPermissions(new String[] {Manifest.permission.WRITE_EXTERNAL_STORAGE}, SHARE_STATS_WRITE_EXTERNAL_STORAGE_PERM); + activity.requestPermissions(new String[] {Manifest.permission.WRITE_EXTERNAL_STORAGE}, + SHARE_STATS_WRITE_EXTERNAL_STORAGE_PERM); } return false; } - public static void shareStats(int layout){ + public static void shareStats(int layout) { View shareStatsLayout = getLayout(layout); updateBraveShareStatsLayoutAndShare(shareStatsLayout); } diff --git a/android/java/org/chromium/chrome/browser/shields/BraveShieldsHandler.java b/android/java/org/chromium/chrome/browser/shields/BraveShieldsHandler.java index 8589ab119dd..4fb47a26928 100644 --- a/android/java/org/chromium/chrome/browser/shields/BraveShieldsHandler.java +++ b/android/java/org/chromium/chrome/browser/shields/BraveShieldsHandler.java @@ -5,6 +5,7 @@ package org.chromium.chrome.browser.shields; +import android.Manifest; import android.animation.Animator; import android.animation.Animator.AnimatorListener; import android.animation.AnimatorListenerAdapter; @@ -12,6 +13,7 @@ import android.animation.AnimatorSet; import android.app.Activity; import android.content.Context; import android.content.ContextWrapper; +import android.content.pm.PackageManager; import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Color; @@ -55,6 +57,8 @@ import android.widget.RadioGroup; import android.widget.Switch; import android.widget.TextView; +import androidx.annotation.NonNull; +import androidx.core.app.ActivityCompat; import androidx.core.widget.TextViewCompat; import org.chromium.base.Log; @@ -63,6 +67,7 @@ import org.chromium.base.task.AsyncTask; import org.chromium.chrome.R; import org.chromium.chrome.browser.BraveRewardsHelper; import org.chromium.chrome.browser.BraveRewardsNativeWorker; +import org.chromium.chrome.browser.app.BraveActivity; import org.chromium.chrome.browser.brave_stats.BraveStatsUtil; import org.chromium.chrome.browser.night_mode.GlobalNightModeStateProviderHolder; import org.chromium.chrome.browser.onboarding.OnboardingPrefManager; @@ -80,15 +85,6 @@ import java.util.Collections; import java.util.HashMap; import java.util.Map; -import android.content.pm.PackageManager; -import android.os.Build; -import androidx.core.app.ActivityCompat; -import androidx.annotation.NonNull; -import android.Manifest; -import org.chromium.chrome.browser.app.BraveActivity; -import android.app.Activity; - - /** * Object responsible for handling the creation, showing, hiding of the BraveShields menu. */ @@ -468,7 +464,7 @@ public class BraveShieldsHandler implements BraveRewardsHelper.LargeIconReadyCal setupMainSwitchClick(mShieldMainSwitch); } - private void shareStats(){ + private void shareStats() { View shareStatsLayout = BraveStatsUtil.getLayout(R.layout.brave_stats_share_layout); BraveStatsUtil.updateBraveShareStatsLayoutAndShare(shareStatsLayout); } diff --git a/android/java/org/chromium/chrome/browser/shields/BraveShieldsUtils.java b/android/java/org/chromium/chrome/browser/shields/BraveShieldsUtils.java index 4beac3b305d..a1673a2d928 100644 --- a/android/java/org/chromium/chrome/browser/shields/BraveShieldsUtils.java +++ b/android/java/org/chromium/chrome/browser/shields/BraveShieldsUtils.java @@ -67,7 +67,7 @@ public class BraveShieldsUtils { public static final int BRAVE_BLOCKED_TIER6 = 100000; public static final int BRAVE_BLOCKED_TIER7 = 250000; public static final int BRAVE_BLOCKED_TIER8 = 500000; - public static final int BRAVE_BLOCKED_TIER9 = 1000000; + public static final int BRAVE_BLOCKED_TIER9 = 1000000; public static final int BRAVE_BLOCKED_SHOW_DIFF = 20; diff --git a/android/java/org/chromium/chrome/browser/toolbar/top/BraveToolbarLayout.java b/android/java/org/chromium/chrome/browser/toolbar/top/BraveToolbarLayout.java index df4143e5503..2a452dc0aaf 100644 --- a/android/java/org/chromium/chrome/browser/toolbar/top/BraveToolbarLayout.java +++ b/android/java/org/chromium/chrome/browser/toolbar/top/BraveToolbarLayout.java @@ -467,58 +467,68 @@ public abstract class BraveToolbarLayout extends ToolbarLayout } int totalBlocked = Integer.parseInt(BraveStatsUtil.getAdsTrackersBlocked().first); - // show after BraveShieldsUtils.BRAVE_BLOCKED_SHOW_DIFF (20) blocked stuff above the TIER threshold + // show after BraveShieldsUtils.BRAVE_BLOCKED_SHOW_DIFF (20) blocked stuff above the TIER + // threshold if (!BraveShieldsUtils.hasShieldsTooltipShown( BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER1) - && (totalBlocked >= BraveShieldsUtils.BRAVE_BLOCKED_TIER1 + BraveShieldsUtils.BRAVE_BLOCKED_SHOW_DIFF + && (totalBlocked >= BraveShieldsUtils.BRAVE_BLOCKED_TIER1 + + BraveShieldsUtils.BRAVE_BLOCKED_SHOW_DIFF && totalBlocked < BraveShieldsUtils.BRAVE_BLOCKED_TIER2)) { showTooltip(ShieldsTooltipEnum.BRAVE_SHARE_STATS_TIER1_TOOLTIP, BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER1); } else if (!BraveShieldsUtils.hasShieldsTooltipShown( BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER2) - && (totalBlocked >= BraveShieldsUtils.BRAVE_BLOCKED_TIER2 + BraveShieldsUtils.BRAVE_BLOCKED_SHOW_DIFF + && (totalBlocked >= BraveShieldsUtils.BRAVE_BLOCKED_TIER2 + + BraveShieldsUtils.BRAVE_BLOCKED_SHOW_DIFF && totalBlocked < BraveShieldsUtils.BRAVE_BLOCKED_TIER3)) { showTooltip(ShieldsTooltipEnum.BRAVE_SHARE_STATS_TIER2_TOOLTIP, BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER2); } else if (!BraveShieldsUtils.hasShieldsTooltipShown( BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER3) - && (totalBlocked >= BraveShieldsUtils.BRAVE_BLOCKED_TIER3 + BraveShieldsUtils.BRAVE_BLOCKED_SHOW_DIFF + && (totalBlocked >= BraveShieldsUtils.BRAVE_BLOCKED_TIER3 + + BraveShieldsUtils.BRAVE_BLOCKED_SHOW_DIFF && totalBlocked < BraveShieldsUtils.BRAVE_BLOCKED_TIER4)) { showTooltip(ShieldsTooltipEnum.BRAVE_SHARE_STATS_TIER3_TOOLTIP, BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER3); } else if (!BraveShieldsUtils.hasShieldsTooltipShown( BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER4) - && (totalBlocked >= BraveShieldsUtils.BRAVE_BLOCKED_TIER4 + BraveShieldsUtils.BRAVE_BLOCKED_SHOW_DIFF + && (totalBlocked >= BraveShieldsUtils.BRAVE_BLOCKED_TIER4 + + BraveShieldsUtils.BRAVE_BLOCKED_SHOW_DIFF && totalBlocked < BraveShieldsUtils.BRAVE_BLOCKED_TIER5)) { showTooltip(ShieldsTooltipEnum.BRAVE_SHARE_STATS_TIER4_TOOLTIP, BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER4); } else if (!BraveShieldsUtils.hasShieldsTooltipShown( BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER5) - && (totalBlocked >= BraveShieldsUtils.BRAVE_BLOCKED_TIER5 + BraveShieldsUtils.BRAVE_BLOCKED_SHOW_DIFF + && (totalBlocked >= BraveShieldsUtils.BRAVE_BLOCKED_TIER5 + + BraveShieldsUtils.BRAVE_BLOCKED_SHOW_DIFF && totalBlocked < BraveShieldsUtils.BRAVE_BLOCKED_TIER6)) { showTooltip(ShieldsTooltipEnum.BRAVE_SHARE_STATS_TIER5_TOOLTIP, BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER5); } else if (!BraveShieldsUtils.hasShieldsTooltipShown( BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER6) - && (totalBlocked >= BraveShieldsUtils.BRAVE_BLOCKED_TIER6 + BraveShieldsUtils.BRAVE_BLOCKED_SHOW_DIFF + && (totalBlocked >= BraveShieldsUtils.BRAVE_BLOCKED_TIER6 + + BraveShieldsUtils.BRAVE_BLOCKED_SHOW_DIFF && totalBlocked < BraveShieldsUtils.BRAVE_BLOCKED_TIER7)) { showTooltip(ShieldsTooltipEnum.BRAVE_SHARE_STATS_TIER6_TOOLTIP, BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER6); } else if (!BraveShieldsUtils.hasShieldsTooltipShown( BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER7) - && (totalBlocked >= BraveShieldsUtils.BRAVE_BLOCKED_TIER7 + BraveShieldsUtils.BRAVE_BLOCKED_SHOW_DIFF + && (totalBlocked >= BraveShieldsUtils.BRAVE_BLOCKED_TIER7 + + BraveShieldsUtils.BRAVE_BLOCKED_SHOW_DIFF && totalBlocked < BraveShieldsUtils.BRAVE_BLOCKED_TIER8)) { showTooltip(ShieldsTooltipEnum.BRAVE_SHARE_STATS_TIER7_TOOLTIP, BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER7); } else if (!BraveShieldsUtils.hasShieldsTooltipShown( BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER8) - && (totalBlocked >= BraveShieldsUtils.BRAVE_BLOCKED_TIER8 + BraveShieldsUtils.BRAVE_BLOCKED_SHOW_DIFF + && (totalBlocked >= BraveShieldsUtils.BRAVE_BLOCKED_TIER8 + + BraveShieldsUtils.BRAVE_BLOCKED_SHOW_DIFF && totalBlocked < BraveShieldsUtils.BRAVE_BLOCKED_TIER9)) { showTooltip(ShieldsTooltipEnum.BRAVE_SHARE_STATS_TIER8_TOOLTIP, BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER8); } else if (!BraveShieldsUtils.hasShieldsTooltipShown( BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER9) - && (totalBlocked >= BraveShieldsUtils.BRAVE_BLOCKED_TIER9 + BraveShieldsUtils.BRAVE_BLOCKED_SHOW_DIFF)) { + && (totalBlocked >= BraveShieldsUtils.BRAVE_BLOCKED_TIER9 + + BraveShieldsUtils.BRAVE_BLOCKED_SHOW_DIFF)) { showTooltip(ShieldsTooltipEnum.BRAVE_SHARE_STATS_TIER9_TOOLTIP, BraveShieldsUtils.PREF_SHARE_SHIELDS_TOOLTIP_TIER9); }