diff --git a/android/java/org/chromium/chrome/browser/BraveRewardsNativeWorker.java b/android/java/org/chromium/chrome/browser/BraveRewardsNativeWorker.java index cacb786d76c9..4dffd7c94cd0 100644 --- a/android/java/org/chromium/chrome/browser/BraveRewardsNativeWorker.java +++ b/android/java/org/chromium/chrome/browser/BraveRewardsNativeWorker.java @@ -417,13 +417,6 @@ public void DisconnectWallet() { } } - public void ProcessRewardsPageUrl(String path, String query) { - synchronized (lock) { - BraveRewardsNativeWorkerJni.get().processRewardsPageUrl( - mNativeBraveRewardsNativeWorker, path, query); - } - } - public void RecoverWallet(String passPhrase) { synchronized (lock) { BraveRewardsNativeWorkerJni.get().recoverWallet( @@ -631,15 +624,6 @@ public void OnDisconnectWallet(int error_code, String external_wallet) { } } - @CalledByNative - public void OnProcessRewardsPageUrl(int error_code, String wallet_type, - String action, String json_args) { - for (BraveRewardsObserver observer : mObservers) { - observer.OnProcessRewardsPageUrl(error_code, wallet_type, - action, json_args); - } - } - @CalledByNative public void OnClaimPromotion(int error_code) { grantClaimInProcess = false; @@ -711,7 +695,6 @@ boolean isCurrentPublisherInRecurrentDonations( boolean isRewardsEnabled(long nativeBraveRewardsNativeWorker); void getExternalWallet(long nativeBraveRewardsNativeWorker); void disconnectWallet(long nativeBraveRewardsNativeWorker); - void processRewardsPageUrl(long nativeBraveRewardsNativeWorker, String path, String query); void recoverWallet(long nativeBraveRewardsNativeWorker, String passPhrase); void refreshPublisher(long nativeBraveRewardsNativeWorker, String publisherKey); void getRewardsParameters(long nativeBraveRewardsNativeWorker); diff --git a/android/java/org/chromium/chrome/browser/BraveRewardsObserver.java b/android/java/org/chromium/chrome/browser/BraveRewardsObserver.java index 1c13f7a6248a..8bee6537b56e 100644 --- a/android/java/org/chromium/chrome/browser/BraveRewardsObserver.java +++ b/android/java/org/chromium/chrome/browser/BraveRewardsObserver.java @@ -21,12 +21,8 @@ default public void OnGetLatestNotification(String id, int type, long timestamp, default public void OnRecurringDonationUpdated() {}; default public void OnResetTheWholeState(boolean success) {}; default public void OnGrantFinish(int result) {}; - default public void OnGetExternalWallet(int error_code, - String external_wallet) {}; - default public void OnDisconnectWallet(int error_code, - String external_wallet) {}; - default public void OnProcessRewardsPageUrl(int error_code, - String wallet_type, String action, String json_args ) {}; + default public void OnGetExternalWallet(int error_code, String external_wallet){}; + default public void OnDisconnectWallet(int error_code, String external_wallet){}; default public void OnClaimPromotion(int error_code) {}; default public void onUnblindedTokensReady() {} default public void onReconcileComplete(int resultCode, int rewardsType, double amount) {} diff --git a/android/java/org/chromium/chrome/browser/BraveWalletProvider.java b/android/java/org/chromium/chrome/browser/BraveWalletProvider.java index fdb3ac9301a6..60e1e167e7b8 100644 --- a/android/java/org/chromium/chrome/browser/BraveWalletProvider.java +++ b/android/java/org/chromium/chrome/browser/BraveWalletProvider.java @@ -6,30 +6,18 @@ */ package org.chromium.chrome.browser; -import android.app.AlertDialog; import android.content.Context; -import android.content.DialogInterface; import android.net.Uri; import android.text.TextUtils; -import org.json.JSONException; -import org.json.JSONObject; - -import org.chromium.base.ContextUtils; import org.chromium.base.Log; -import org.chromium.chrome.R; -import org.chromium.chrome.browser.BraveRewardsBalance; -import org.chromium.chrome.browser.BraveRewardsHelper; -import org.chromium.chrome.browser.BraveRewardsNativeWorker; -import org.chromium.chrome.browser.BraveRewardsObserver; -import org.chromium.chrome.browser.app.BraveActivity; import org.chromium.chrome.browser.externalnav.BraveExternalNavigationHandler; import org.chromium.components.external_intents.ExternalNavigationParams; import java.util.Locale; // Used from org.chromium.chrome.browser.externalnav -public class BraveWalletProvider implements BraveRewardsObserver { +public class BraveWalletProvider { public static final String ACTION_VALUE = "authorization"; public static final String REDIRECT_URL_KEY = "redirect_url"; @@ -46,108 +34,10 @@ public class BraveWalletProvider implements BraveRewardsObserver { private static int UNKNOWN_ERROR_CODE = -1; - private ExternalNavigationParams mExternalNavigationParams; - private BraveExternalNavigationHandler mBraveExternalNavigationHandler; - private BraveRewardsNativeWorker rewardsNativeProxy; - public void completeWalletProviderVerification( ExternalNavigationParams params, BraveExternalNavigationHandler handler) { - mExternalNavigationParams = params; - mBraveExternalNavigationHandler = handler; - rewardsNativeProxy = BraveRewardsNativeWorker.getInstance(); - - Uri uri = Uri.parse(params.getUrl().getSpec()); - rewardsNativeProxy.AddObserver(this); - String path = uri.getPath(); - String query = uri.getQuery(); - - if (TextUtils.isEmpty(path) || TextUtils.isEmpty(query)) { - rewardsNativeProxy.RemoveObserver(this); - releaseDependencies(); - showErrorMessageBox(UNKNOWN_ERROR_CODE); - return; - } - - // Ledger expects: - // path: "/provider/path" - // query: "?query" - path = String.format(Locale.US, "/%s/%s", rewardsNativeProxy.getExternalWalletType(), path); - query = String.format(Locale.US, "?%s", query); - - rewardsNativeProxy.ProcessRewardsPageUrl(path, query); - } - - @Override - public void OnProcessRewardsPageUrl( - int errorCode, String walletType, String action, String jsonArgs) { - // remove observer - if (rewardsNativeProxy != null) { - rewardsNativeProxy.RemoveObserver(this); - } - - String redirectUrl = parseJsonArgs(jsonArgs); - if (BraveRewardsNativeWorker.LEDGER_OK == errorCode - && TextUtils.equals(action, ACTION_VALUE)) { - // wallet is verified: redirect to chrome://rewards for now - if (TextUtils.isEmpty(redirectUrl)) { - redirectUrl = BraveActivity.REWARDS_SETTINGS_URL; - } - mBraveExternalNavigationHandler.clobberCurrentTabWithFallbackUrl( - redirectUrl, mExternalNavigationParams); - - // temporary: open Rewards Panel to show wallet transition state. - // remove this step once settings activity has this info - BraveActivity.getBraveActivity().openRewardsPanel(); - releaseDependencies(); - } else { - showErrorMessageBox(errorCode); - } - } - - private String parseJsonArgs(String jsonArgs) { - String redirect_url = ""; - try { - JSONObject jsonObj = new JSONObject(jsonArgs); - if (jsonObj.has(REDIRECT_URL_KEY)) { - redirect_url = jsonObj.getString(REDIRECT_URL_KEY); - } - } catch (JSONException e) { - Log.e("BraveRewards", e.getMessage()); - } - return redirect_url; - } - - private void releaseDependencies() { - mExternalNavigationParams = null; - mBraveExternalNavigationHandler = null; - } - - private void showErrorMessageBox(int errorCode) { - String message = ""; - String messageTitle = ""; - Context context = ContextUtils.getApplicationContext(); - AlertDialog.Builder builder = new AlertDialog.Builder( - BraveRewardsHelper.getChromeTabbedActivity(), R.style.Theme_Chromium_AlertDialog); - - if (BraveRewardsNativeWorker.BAT_NOT_ALLOWED == errorCode) { - message = context.getResources().getString(R.string.bat_not_allowed_in_region); - messageTitle = - context.getResources().getString(R.string.bat_not_allowed_in_region_title); - } else { - message = context.getResources().getString(R.string.wallet_verification_generic_error); - messageTitle = context.getResources().getString( - R.string.wallet_verification_generic_error_title); - } - builder.setMessage(message) - .setTitle(messageTitle) - .setPositiveButton(R.string.ok, - (DialogInterface dialog, int which) -> { - mBraveExternalNavigationHandler.clobberCurrentTabWithFallbackUrl( - BRAVE_SUPPORT_URL, mExternalNavigationParams); - }) - .setOnDismissListener((DialogInterface dialog) -> { releaseDependencies(); }); - - AlertDialog dialog = builder.create(); - dialog.show(); + String originalUrl = params.getUrl().getSpec(); + String url = originalUrl.replaceFirst("^rewards://", "chrome://rewards/"); + handler.clobberCurrentTabWithFallbackUrl(url, params); } } diff --git a/browser/brave_rewards/android/brave_rewards_native_worker.cc b/browser/brave_rewards/android/brave_rewards_native_worker.cc index 2f3ab9a9df1e..90d511a830a2 100644 --- a/browser/brave_rewards/android/brave_rewards_native_worker.cc +++ b/browser/brave_rewards/android/brave_rewards_native_worker.cc @@ -733,34 +733,6 @@ void BraveRewardsNativeWorker::OnDisconnectWallet( base::android::ConvertUTF8ToJavaString(env, wallet_type)); } -void BraveRewardsNativeWorker::ProcessRewardsPageUrl(JNIEnv* env, - const base::android::JavaParamRef& path, - const base::android::JavaParamRef& query) { - if (brave_rewards_service_) { - std::string cpath = base::android::ConvertJavaStringToUTF8(env, path); - std::string cquery = base::android::ConvertJavaStringToUTF8(env, query); - brave_rewards_service_->ProcessRewardsPageUrl( - cpath, cquery, - base::BindOnce(&BraveRewardsNativeWorker::OnProcessRewardsPageUrl, - weak_factory_.GetWeakPtr())); - } -} - -void BraveRewardsNativeWorker::OnProcessRewardsPageUrl( - const ledger::type::Result result, - const std::string& wallet_type, - const std::string& action, - const base::flat_map& args) { - std::string json_args = StdStrStrMapToJsonString(args); - JNIEnv* env = base::android::AttachCurrentThread(); - Java_BraveRewardsNativeWorker_OnProcessRewardsPageUrl(env, - weak_java_brave_rewards_native_worker_.get(env), - static_cast(result), - base::android::ConvertUTF8ToJavaString(env, wallet_type), - base::android::ConvertUTF8ToJavaString(env, action), - base::android::ConvertUTF8ToJavaString(env, json_args)); -} - std::string BraveRewardsNativeWorker::StdStrStrMapToJsonString( const base::flat_map& args) { std::string json_args; diff --git a/browser/brave_rewards/android/brave_rewards_native_worker.h b/browser/brave_rewards/android/brave_rewards_native_worker.h index ce44ee97e3ac..0cc9266104b0 100644 --- a/browser/brave_rewards/android/brave_rewards_native_worker.h +++ b/browser/brave_rewards/android/brave_rewards_native_worker.h @@ -131,10 +131,6 @@ class BraveRewardsNativeWorker : public brave_rewards::RewardsServiceObserver, void DisconnectWallet(JNIEnv* env); - void ProcessRewardsPageUrl(JNIEnv* env, - const base::android::JavaParamRef& path, - const base::android::JavaParamRef& query); - void RecoverWallet(JNIEnv* env, const base::android::JavaParamRef& pass_phrase); @@ -215,12 +211,6 @@ class BraveRewardsNativeWorker : public brave_rewards::RewardsServiceObserver, const ledger::type::Result result, const std::string& wallet_type) override; - void OnProcessRewardsPageUrl( - const ledger::type::Result result, - const std::string& wallet_type, - const std::string& action, - const base::flat_map& args); - void OnRecoverWallet( brave_rewards::RewardsService* rewards_service, const ledger::type::Result result) override; diff --git a/browser/ui/android/strings/android_brave_strings.grd b/browser/ui/android/strings/android_brave_strings.grd index c2e869a1e070..4378209fe08b 100644 --- a/browser/ui/android/strings/android_brave_strings.grd +++ b/browser/ui/android/strings/android_brave_strings.grd @@ -1044,18 +1044,6 @@ Are you sure you want to do this? Pending - - BAT is not currently supported in your region based on the location your account is opened. Check back later for availability. - - - Region not supported - - - There was a problem verifying your wallet, please try again later. - - - Wallet verification error - NOTE: This Brave Verified Creator has not yet configured their account to receive contributions from Brave users. Your browser will keep trying to contribute until they verify, or until 90 days have passed.