From 2c647d479bd09f41b9986e27b71fdf16d4f410a5 Mon Sep 17 00:00:00 2001 From: deeppandya Date: Fri, 21 Oct 2022 21:35:44 -0400 Subject: [PATCH] Add link subscription menu --- .../browser/settings/BraveVpnPreferences.java | 17 +++++++++++++++++ .../browser/vpn/utils/BraveVpnPrefUtils.java | 12 +++++++++++- .../chrome/browser/vpn/utils/BraveVpnUtils.java | 8 ++++++++ android/java/res/xml/brave_vpn_preferences.xml | 5 +++++ .../android/strings/android_brave_strings.grd | 6 ++++++ 5 files changed, 47 insertions(+), 1 deletion(-) diff --git a/android/java/org/chromium/chrome/browser/settings/BraveVpnPreferences.java b/android/java/org/chromium/chrome/browser/settings/BraveVpnPreferences.java index 3212a3f84ac..21ed85d6a12 100644 --- a/android/java/org/chromium/chrome/browser/settings/BraveVpnPreferences.java +++ b/android/java/org/chromium/chrome/browser/settings/BraveVpnPreferences.java @@ -5,6 +5,7 @@ package org.chromium.chrome.browser.settings; +import android.app.Activity; import android.content.Context; import android.content.Intent; import android.net.ConnectivityManager; @@ -26,7 +27,9 @@ import com.wireguard.crypto.KeyPair; import org.chromium.base.Log; import org.chromium.chrome.R; +import org.chromium.chrome.browser.ChromeTabbedActivity; import org.chromium.chrome.browser.InternetConnection; +import org.chromium.chrome.browser.app.BraveActivity; import org.chromium.chrome.browser.customtabs.CustomTabActivity; import org.chromium.chrome.browser.settings.BravePreferenceFragment; import org.chromium.chrome.browser.vpn.BraveVpnNativeWorker; @@ -56,6 +59,7 @@ public class BraveVpnPreferences extends BravePreferenceFragment implements Brav private static final String TAG = "BraveVPN"; public static final String PREF_VPN_SWITCH = "vpn_switch"; public static final String PREF_SUBSCRIPTION_MANAGE = "subscription_manage"; + public static final String PREF_LINK_SUBSCRIPTION = "link_subscription"; public static final String PREF_SUBSCRIPTION_STATUS = "subscription_status"; public static final String PREF_SUBSCRIPTION_EXPIRES = "subscription_expires"; public static final String PREF_SERVER_HOST = "server_host"; @@ -159,6 +163,19 @@ public class BraveVpnPreferences extends BravePreferenceFragment implements Brav return true; } }); + findPreference(PREF_LINK_SUBSCRIPTION) + .setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { + @Override + public boolean onPreferenceClick(Preference preference) { + // BraveVpnUtils.getBraveAccountUrl(); + Intent intent = new Intent(getActivity(), ChromeTabbedActivity.class); + intent.putExtra(BraveActivity.OPEN_URL, BraveVpnUtils.getBraveAccountUrl()); + intent.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT); + getActivity().finish(); + startActivity(intent); + return true; + } + }); findPreference(PREF_SERVER_RESET_CONFIGURATION) .setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { diff --git a/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnPrefUtils.java b/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnPrefUtils.java index 36c67255b00..1df61c5ac90 100644 --- a/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnPrefUtils.java +++ b/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnPrefUtils.java @@ -39,7 +39,7 @@ public class BraveVpnPrefUtils { public static final String PREF_BRAVE_VPN_AUTOMATIC = "automatic"; public static final String PREF_BRAVE_VPN_FEATURE = "brave_vpn_feature"; public static final String PREF_BRAVE_VPN_LINK_SUBSCRIPTION_ON_DEV = - "vpn_link_subscription_on_dev"; + "brave_vpn_link_subscription_on_dev"; public static final String PREF_BRAVE_VPN_START = "brave_vpn_start"; public static final String PREF_BRAVE_VPN_API_AUTH_TOKEN = "brave_vpn_api_auth_token"; @@ -65,6 +65,16 @@ public class BraveVpnPrefUtils { sharedPreferencesEditor.apply(); } + public static boolean isLinkSubscriptionOnDev() { + return mSharedPreferences.getBoolean(PREF_BRAVE_VPN_LINK_SUBSCRIPTION_ON_DEV, false); + } + + public static void setLinkSubscriptionOnDev(boolean newValue) { + SharedPreferences.Editor sharedPreferencesEditor = mSharedPreferences.edit(); + sharedPreferencesEditor.putBoolean(PREF_BRAVE_VPN_LINK_SUBSCRIPTION_ON_DEV, newValue); + sharedPreferencesEditor.apply(); + } + public static boolean shouldShowCallout() { return mSharedPreferences.getBoolean(PREF_BRAVE_VPN_CALLOUT, true); } diff --git a/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnUtils.java b/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnUtils.java index ddd0e3853f0..c2208e1b1e0 100644 --- a/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnUtils.java +++ b/android/java/org/chromium/chrome/browser/vpn/utils/BraveVpnUtils.java @@ -53,6 +53,9 @@ public class BraveVpnUtils { public static final String VERIFY_CREDENTIALS_FAILED = "verify_credentials_failed"; public static final String DESKTOP_CREDENTIAL = "desktop_credential"; + private static final String BRAVE_ACCOUNT_PROD_PAGE_URL = "https://account.brave.com"; + private static final String BRAVE_ACCOUNT_DEV_PAGE_URL = "https://account.brave.software"; + public static boolean mIsServerLocationChanged; public static boolean mUpdateProfileAfterSplitTunnel; public static String selectedServerRegion; @@ -68,6 +71,11 @@ public class BraveVpnUtils { return false; } + public static String getBraveAccountUrl() { + return BraveVpnPrefUtils.isLinkSubscriptionOnDev() ? BRAVE_ACCOUNT_DEV_PAGE_URL + : BRAVE_ACCOUNT_PROD_PAGE_URL; + } + public static void openBraveVpnPlansActivity(Activity activity) { Intent braveVpnPlanIntent = new Intent(activity, BraveVpnPlansActivity.class); braveVpnPlanIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); diff --git a/android/java/res/xml/brave_vpn_preferences.xml b/android/java/res/xml/brave_vpn_preferences.xml index d7cd1cabb75..318e2f22c3f 100644 --- a/android/java/res/xml/brave_vpn_preferences.xml +++ b/android/java/res/xml/brave_vpn_preferences.xml @@ -29,6 +29,11 @@ android:key="subscription_manage" android:title="@string/manage_subscription"/> + + diff --git a/browser/ui/android/strings/android_brave_strings.grd b/browser/ui/android/strings/android_brave_strings.grd index fa04ca49cf8..80c059835a7 100644 --- a/browser/ui/android/strings/android_brave_strings.grd +++ b/browser/ui/android/strings/android_brave_strings.grd @@ -3246,6 +3246,12 @@ If you don't accept this request, VPN will not reconnect and your internet conne Token address + + Link purchase to your Brave account + + + Link your Play Store purchase to your Brave account to use Brave VPN on other devices. +