Implement Ads control center Brave Ads changes

This commit is contained in:
Terry Mancey
2023-07-18 14:41:17 -04:00
committed by zenparsing
parent 649e44af1a
commit 93c5e6c095
132 changed files with 1073 additions and 1016 deletions
@@ -77,6 +77,11 @@ public class BraveRewardsHelper implements LargeIconBridge.LargeIconCallback {
private Tab mTab;
private Profile mProfile;
public static boolean isRewardsEnabled() {
BraveRewardsNativeWorker worker = BraveRewardsNativeWorker.getInstance();
return worker != null && worker.isRewardsEnabled();
}
public static void resetRewards() {
SharedPreferences.Editor sharedPreferencesEditor =
ContextUtils.getAppSharedPreferences().edit();
@@ -132,7 +137,7 @@ public class BraveRewardsHelper implements LargeIconBridge.LargeIconCallback {
&& System.currentTimeMillis() > getNextRewardsOnboardingModalDate())
&& shouldShowBraveRewardsOnboardingModal() && braveRewardsNativeWorker != null
&& braveRewardsNativeWorker.IsSupported()) {
if (BraveAdsNativeHelper.nativeIsBraveAdsEnabled(Profile.getLastUsedRegularProfile())) {
if (isRewardsEnabled()) {
setRewardsOnboardingModalShown(true);
return false;
} else {
@@ -178,6 +178,13 @@ public class BraveRewardsNativeWorker {
}
}
public boolean isRewardsEnabled() {
synchronized (lock) {
return BraveRewardsNativeWorkerJni.get().isRewardsEnabled(
mNativeBraveRewardsNativeWorker);
}
}
public void CreateRewardsWallet(String countryCode) {
synchronized (lock) {
BraveRewardsNativeWorkerJni.get().createRewardsWallet(
@@ -775,6 +782,7 @@ public class BraveRewardsNativeWorker {
void destroy(long nativeBraveRewardsNativeWorker);
boolean isSupported(long nativeBraveRewardsNativeWorker);
boolean isSupportedSkipRegionCheck(long nativeBraveRewardsNativeWorker);
boolean isRewardsEnabled(long nativeBraveRewardsNativeWorker);
String getWalletBalance(long nativeBraveRewardsNativeWorker);
String getExternalWalletType(long nativeBraveRewardsNativeWorker);
void GetPublisherBanner(long nativeBraveRewardsNativeWorker, String publisher_key);
@@ -141,7 +141,7 @@ public class BraveRewardsOnboardingPagerAdapter extends PagerAdapter {
R.string.ads_per_hour),
adsValue));
}
if (BraveAdsNativeHelper.nativeIsBraveAdsEnabled(
if (BraveAdsNativeHelper.nativeIsOptedInToNotificationAds(
Profile.getLastUsedRegularProfile())) {
BraveRewardsNativeWorker.getInstance().SetAdsPerHour((int) slider.getValue());
}
@@ -25,10 +25,9 @@ import androidx.annotation.Nullable;
import androidx.core.content.res.ResourcesCompat;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.BraveAdsNativeHelper;
import org.chromium.chrome.browser.BraveDialogFragment;
import org.chromium.chrome.browser.BraveRewardsHelper;
import org.chromium.chrome.browser.onboarding.OnboardingPrefManager;
import org.chromium.chrome.browser.profiles.Profile;
/**
* This dialog is used to show different messages when notification permission is off and
@@ -88,7 +87,7 @@ public class BraveNotificationWarningDialog extends BraveDialogFragment {
}
public static boolean shouldShowRewardWarningDialog(Context context) {
return isBraveRewardsEnabled()
return BraveRewardsHelper.isRewardsEnabled()
&& BravePermissionUtils.isBraveAdsNotificationPermissionBlocked(context);
}
@@ -136,10 +135,6 @@ public class BraveNotificationWarningDialog extends BraveDialogFragment {
clickOnNotNow(view);
}
public static boolean isBraveRewardsEnabled() {
return BraveAdsNativeHelper.nativeIsBraveAdsEnabled(Profile.getLastUsedRegularProfile());
}
public static boolean isPrivacyReportsEnabled() {
return OnboardingPrefManager.getInstance().isBraveStatsEnabled();
}
@@ -16,11 +16,9 @@ import org.chromium.base.ApplicationStatus;
import org.chromium.base.Log;
import org.chromium.base.ThreadUtils;
import org.chromium.base.task.AsyncTask;
import org.chromium.chrome.browser.BraveAdsNativeHelper;
import org.chromium.chrome.browser.BraveRewardsNativeWorker;
import org.chromium.chrome.browser.app.BraveActivity;
import org.chromium.chrome.browser.onboarding.OnboardingPrefManager;
import org.chromium.chrome.browser.profiles.Profile;
import org.chromium.chrome.browser.set_default_browser.BraveSetDefaultBrowserUtils;
import org.chromium.chrome.browser.tab.TabLaunchType;
import org.chromium.components.embedder_support.util.UrlConstants;
@@ -111,12 +109,12 @@ public class RetentionNotificationPublisher extends BroadcastReceiver {
case RetentionNotificationUtil.DAY_35:
// Can't check for rewards code in background
try {
if (braveActivity != null
&& !BraveAdsNativeHelper.nativeIsBraveAdsEnabled(
Profile.getLastUsedRegularProfile())
&& BraveRewardsNativeWorker.getInstance() != null
&& BraveRewardsNativeWorker.getInstance().IsSupported()) {
createNotification(context, intent);
BraveRewardsNativeWorker rewardsNativeWorker =
BraveRewardsNativeWorker.getInstance();
if (braveActivity != null && rewardsNativeWorker != null
&& !rewardsNativeWorker.isRewardsEnabled()
&& rewardsNativeWorker.IsSupported()) {
createNotification(context, intent);
}
} catch (IllegalStateException exc) {
// We can receive 'Browser hasn't finished initialization yet!' if
@@ -59,7 +59,6 @@ import org.chromium.brave_news.mojom.FeedItemMetadata;
import org.chromium.brave_news.mojom.FeedPage;
import org.chromium.brave_news.mojom.FeedPageItem;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.BraveAdsNativeHelper;
import org.chromium.chrome.browser.BraveRewardsHelper;
import org.chromium.chrome.browser.app.BraveActivity;
import org.chromium.chrome.browser.brave_news.BraveNewsControllerFactory;
@@ -1166,11 +1165,8 @@ public class BraveNewTabPageLayout
private void checkForNonDisruptiveBanner(NTPImage ntpImage) {
int brOption = NTPUtil.checkForNonDisruptiveBanner(ntpImage, mSponsoredTab);
if (SponsoredImageUtil.BR_INVALID_OPTION != brOption && !NTPUtil.isReferralEnabled()
&& ((!BraveAdsNativeHelper.nativeIsBraveAdsEnabled(
Profile.getLastUsedRegularProfile())
&& BraveRewardsHelper.shouldShowBraveRewardsOnboardingModal())
|| BraveAdsNativeHelper.nativeIsBraveAdsEnabled(
Profile.getLastUsedRegularProfile()))
&& ((BraveRewardsHelper.isRewardsEnabled()
|| BraveRewardsHelper.shouldShowBraveRewardsOnboardingModal()))
&& (!ContextUtils.getAppSharedPreferences().getBoolean(
BraveNewsPreferencesV2.PREF_SHOW_OPTIN, true)
&& !BravePrefServiceBridge.getInstance().getShowNews())) {
@@ -29,7 +29,6 @@ import android.widget.TextView;
import org.chromium.base.ContextUtils;
import org.chromium.base.Log;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.BraveAdsNativeHelper;
import org.chromium.chrome.browser.BraveRewardsHelper;
import org.chromium.chrome.browser.app.BraveActivity;
import org.chromium.chrome.browser.app.ChromeActivity;
@@ -67,13 +66,10 @@ public class NTPUtil {
public static int checkForNonDisruptiveBanner(NTPImage ntpImage, SponsoredTab sponsoredTab) {
Context context = ContextUtils.getApplicationContext();
if(sponsoredTab.shouldShowBanner()) {
if(PackageUtils.isFirstInstall(context)
&& ntpImage instanceof Wallpaper
&& !BraveAdsNativeHelper.nativeIsBraveAdsEnabled(Profile.getLastUsedRegularProfile())) {
if (PackageUtils.isFirstInstall(context) && ntpImage instanceof Wallpaper
&& !BraveRewardsHelper.isRewardsEnabled()) {
return SponsoredImageUtil.BR_ON_ADS_OFF ;
} else if (ntpImage instanceof Wallpaper
&& BraveAdsNativeHelper.nativeIsBraveAdsEnabled(
Profile.getLastUsedRegularProfile())) {
} else if (ntpImage instanceof Wallpaper && BraveRewardsHelper.isRewardsEnabled()) {
return SponsoredImageUtil.BR_ON_ADS_ON;
}
}
@@ -82,8 +78,7 @@ public class NTPUtil {
public static void showBREBottomBanner(View view) {
Context context = ContextUtils.getApplicationContext();
if (!PackageUtils.isFirstInstall(context)
&& BraveAdsNativeHelper.nativeIsBraveAdsEnabled(Profile.getLastUsedRegularProfile())
if (!PackageUtils.isFirstInstall(context) && BraveRewardsHelper.isRewardsEnabled()
&& ContextUtils.getAppSharedPreferences().getBoolean(
BackgroundImagesPreferences.PREF_SHOW_BRE_BANNER, true)) {
final ViewGroup breBottomBannerLayout = (ViewGroup) view.findViewById(R.id.bre_banner);
@@ -119,8 +114,7 @@ public class NTPUtil {
nonDisruptiveBannerLayout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if (BraveAdsNativeHelper.nativeIsBraveAdsEnabled(
Profile.getLastUsedRegularProfile())) {
if (BraveRewardsHelper.isRewardsEnabled()) {
clickOnBottomBanner(chromeActivity, ntpType, nonDisruptiveBannerLayout,
sponsoredTab, newTabPageListener);
} else {
@@ -1143,8 +1143,7 @@ public class BraveRewardsPanel
if (mPopupView != null && mBraveRewardsNativeWorker.IsSupported()
&& BraveRewardsHelper.shouldShowBraveRewardsOnboardingModal()
&& !BraveAdsNativeHelper.nativeIsBraveAdsEnabled(
Profile.getLastUsedRegularProfile())) {
&& !BraveRewardsHelper.isRewardsEnabled()) {
showOnBoarding();
} else {
// fetchRewardsData();
@@ -1177,7 +1176,7 @@ public class BraveRewardsPanel
.getString(BravePref.DECLARED_GEO);
if (mPopupView != null && mBraveRewardsNativeWorker.IsSupported()) {
if (!BraveAdsNativeHelper.nativeIsBraveAdsEnabled(Profile.getLastUsedRegularProfile())
if (!BraveRewardsHelper.isRewardsEnabled()
&& BraveRewardsHelper.shouldShowBraveRewardsOnboardingModal()) {
showOnBoarding();
} else if (TextUtils.isEmpty(rewardsCountryCode)) {
@@ -1248,7 +1247,7 @@ public class BraveRewardsPanel
braveRewardsSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
BraveAdsNativeHelper.nativeSetAdsEnabled(
BraveAdsNativeHelper.nativeSetOptedInToNotificationAds(
Profile.getLastUsedRegularProfile(), isChecked);
showUnverifiedLayout();
}
@@ -1294,7 +1293,8 @@ public class BraveRewardsPanel
}
}));
if (BraveAdsNativeHelper.nativeIsBraveAdsEnabled(Profile.getLastUsedRegularProfile())) {
if (BraveAdsNativeHelper.nativeIsOptedInToNotificationAds(
Profile.getLastUsedRegularProfile())) {
if (mRewardsMainLayout != null) {
mRewardsMainLayout.setVisibility(View.GONE);
}
@@ -68,7 +68,6 @@ import org.chromium.brave_shields.mojom.CookieListOptInPageAndroidHandler;
import org.chromium.brave_shields.mojom.FilterListAndroidHandler;
import org.chromium.brave_shields.mojom.FilterListConstants;
import org.chromium.chrome.R;
import org.chromium.chrome.browser.BraveAdsNativeHelper;
import org.chromium.chrome.browser.BraveRelaunchUtils;
import org.chromium.chrome.browser.BraveRewardsHelper;
import org.chromium.chrome.browser.BraveRewardsNativeWorker;
@@ -563,10 +562,9 @@ public abstract class BraveToolbarLayoutImpl extends ToolbarLayout
}
if (PackageUtils.isFirstInstall(getContext()) && tab.getUrl().getSpec() != null
&& (tab.getUrl().getSpec().equals(BraveActivity.BRAVE_REWARDS_SETTINGS_URL))
&& !BraveAdsNativeHelper.nativeIsBraveAdsEnabled(
Profile.getLastUsedRegularProfile())
&& BraveRewardsHelper.shouldShowBraveRewardsOnboardingModal()
&& mBraveRewardsNativeWorker != null
&& !mBraveRewardsNativeWorker.isRewardsEnabled()
&& mBraveRewardsNativeWorker.IsSupported()) {
showOnBoarding();
}
@@ -1307,10 +1305,9 @@ public abstract class BraveToolbarLayoutImpl extends ToolbarLayout
}
private boolean checkForRewardsOnboarding() {
return PackageUtils.isFirstInstall(getContext())
&& !BraveAdsNativeHelper.nativeIsBraveAdsEnabled(
Profile.getLastUsedRegularProfile())
&& mBraveRewardsNativeWorker != null && mBraveRewardsNativeWorker.IsSupported()
return PackageUtils.isFirstInstall(getContext()) && mBraveRewardsNativeWorker != null
&& !mBraveRewardsNativeWorker.isRewardsEnabled()
&& mBraveRewardsNativeWorker.IsSupported()
&& !OnboardingPrefManager.getInstance().isOnboardingShown();
}