diff --git a/android/brave_java_resources.gni b/android/brave_java_resources.gni index 55d7ce530c4f..2790374e0e17 100644 --- a/android/brave_java_resources.gni +++ b/android/brave_java_resources.gni @@ -197,44 +197,10 @@ brave_java_resources = [ "java/res/drawable-mdpi/verified_creator_large.png", "java/res/drawable-mdpi/verified_disclosure.png", "java/res/drawable-mdpi/yandex.png", - "java/res/drawable-nodpi/ada.png", - "java/res/drawable-nodpi/adx.png", - "java/res/drawable-nodpi/atom.png", - "java/res/drawable-nodpi/bat.png", - "java/res/drawable-nodpi/bch.png", - "java/res/drawable-nodpi/bnb.png", - "java/res/drawable-nodpi/btc.png", - "java/res/drawable-nodpi/busd.png", - "java/res/drawable-nodpi/dash.png", - "java/res/drawable-nodpi/doge.png", "java/res/drawable-nodpi/dylan_malval_sea_min.webp", - "java/res/drawable-nodpi/eng.png", - "java/res/drawable-nodpi/enj.png", - "java/res/drawable-nodpi/eos.png", - "java/res/drawable-nodpi/etc.png", - "java/res/drawable-nodpi/eth.png", "java/res/drawable-nodpi/fee_icon.png", - "java/res/drawable-nodpi/link.png", "java/res/drawable-nodpi/loader0.png", "java/res/drawable-nodpi/loader0_orange.png", - "java/res/drawable-nodpi/ltc.png", - "java/res/drawable-nodpi/matic.png", - "java/res/drawable-nodpi/nano.png", - "java/res/drawable-nodpi/ont.png", - "java/res/drawable-nodpi/pax.png", - "java/res/drawable-nodpi/rvn.png", - "java/res/drawable-nodpi/trx.png", - "java/res/drawable-nodpi/tusd.png", - "java/res/drawable-nodpi/usdc.png", - "java/res/drawable-nodpi/usdt.png", - "java/res/drawable-nodpi/vet.png", - "java/res/drawable-nodpi/xlm.png", - "java/res/drawable-nodpi/xrp.png", - "java/res/drawable-nodpi/xtz.png", - "java/res/drawable-nodpi/xvg.png", - "java/res/drawable-nodpi/zec.png", - "java/res/drawable-nodpi/zil.png", - "java/res/drawable-nodpi/zrx.png", "java/res/drawable-xhdpi/add_funds.png", "java/res/drawable-xhdpi/bat_logo.png", "java/res/drawable-xhdpi/bat_unverified.png", @@ -520,8 +486,6 @@ brave_java_resources = [ "java/res/drawable/bat_ads_logo_button.xml", "java/res/drawable/bat_panel_gradient.xml", "java/res/drawable/bat_rewards_summary_gradient.xml", - "java/res/drawable/binance_edittext.xml", - "java/res/drawable/binance_radio_button_selector.xml", "java/res/drawable/blue_rounded_button.xml", "java/res/drawable/blue_rounded_holo_button.xml", "java/res/drawable/brave_badge_rewards_background_large.xml", @@ -573,7 +537,6 @@ brave_java_resources = [ "java/res/drawable/ic_addresses.xml", "java/res/drawable/ic_appearance.xml", "java/res/drawable/ic_arrow_downward.xml", - "java/res/drawable/ic_arrow_drop_down_white.xml", "java/res/drawable/ic_arrow_forward.xml", "java/res/drawable/ic_back.xml", "java/res/drawable/ic_background_bat.xml", @@ -583,7 +546,6 @@ brave_java_resources = [ "java/res/drawable/ic_basic_check.xml", "java/res/drawable/ic_bg.xml", "java/res/drawable/ic_bg_video_playback.xml", - "java/res/drawable/ic_binance.xml", "java/res/drawable/ic_brave.xml", "java/res/drawable/ic_brave_logo.xml", "java/res/drawable/ic_brave_vpn_graphic.xml", @@ -689,7 +651,6 @@ brave_java_resources = [ "java/res/drawable/rounded_corners.xml", "java/res/drawable/rounded_filled.xml", "java/res/drawable/rounded_filled_bg_radius_12.xml", - "java/res/drawable/rounded_filled_binance.xml", "java/res/drawable/rounded_holo_button.xml", "java/res/drawable/rounded_shape.xml", "java/res/drawable/rounded_wallet_edittext.xml", @@ -735,11 +696,6 @@ brave_java_resources = [ "java/res/layout/activity_p3a_onboarding.xml", "java/res/layout/activity_set_default_browser.xml", "java/res/layout/approve_tx_bottom_sheet.xml", - "java/res/layout/binance_deposit_item.xml", - "java/res/layout/binance_deposit_layout.xml", - "java/res/layout/binance_spinner_dropdown_item.xml", - "java/res/layout/binance_spinner_item.xml", - "java/res/layout/binance_summary_item.xml", "java/res/layout/bottom_control_container.xml", "java/res/layout/bottom_toolbar.xml", "java/res/layout/bottom_toolbar_browsing.xml", @@ -796,21 +752,15 @@ brave_java_resources = [ "java/res/layout/brave_webrtc_policy_preference.xml", "java/res/layout/bre_bottom_banner.xml", "java/res/layout/copy_save_bottom_sheet.xml", - "java/res/layout/crypto_widget_layout.xml", "java/res/layout/edit_visible_assets_bottom_sheet.xml", "java/res/layout/fragment_accounts.xml", "java/res/layout/fragment_backup_wallet.xml", - "java/res/layout/fragment_binance_buy.xml", - "java/res/layout/fragment_binance_convert.xml", - "java/res/layout/fragment_binance_deposit.xml", - "java/res/layout/fragment_binance_summary.xml", "java/res/layout/fragment_brave_ads_onboarding.xml", "java/res/layout/fragment_brave_rewards_onboarding.xml", "java/res/layout/fragment_brave_vpn_confirm_dialog.xml", "java/res/layout/fragment_brave_vpn_plan.xml", "java/res/layout/fragment_cross_promotional_modal_dialog.xml", "java/res/layout/fragment_crypto_wallet_onboarding.xml", - "java/res/layout/fragment_crypto_widget_bottom_sheet_dialog.xml", "java/res/layout/fragment_onboarding_v2.xml", "java/res/layout/fragment_portfolio.xml", "java/res/layout/fragment_qr_code_share.xml", diff --git a/android/brave_java_sources.gni b/android/brave_java_sources.gni index 8d1066122450..cb2170e0a74e 100644 --- a/android/brave_java_sources.gni +++ b/android/brave_java_sources.gni @@ -292,22 +292,6 @@ brave_java_sources = [ "../../brave/android/java/org/chromium/chrome/browser/vpn/BraveVpnSupportActivity.java", "../../brave/android/java/org/chromium/chrome/browser/vpn/BraveVpnUtils.java", "../../brave/android/java/org/chromium/chrome/browser/vpn/InAppPurchaseWrapper.java", - "../../brave/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceAccountBalance.java", - "../../brave/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceActivity.java", - "../../brave/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceBuyFragment.java", - "../../brave/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceCoinNetworks.java", - "../../brave/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceConvert.java", - "../../brave/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceConvertFragment.java", - "../../brave/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceDepositFragment.java", - "../../brave/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceNativeWorker.java", - "../../brave/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceObserver.java", - "../../brave/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceSpinnerAdapter.java", - "../../brave/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceSummaryFragment.java", - "../../brave/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceWidgetManager.java", - "../../brave/android/java/org/chromium/chrome/browser/widget/crypto/binance/CoinNetworkModel.java", - "../../brave/android/java/org/chromium/chrome/browser/widget/crypto/binance/ConvertAsset.java", - "../../brave/android/java/org/chromium/chrome/browser/widget/crypto/binance/CryptoWidgetBottomSheetDialogFragment.java", - "../../brave/android/java/org/chromium/chrome/browser/widget/crypto/binance/CryptoWidgetTabAdapter.java", ] brave_java_sources += brave_ads_java_sources diff --git a/android/java/AndroidManifest.xml b/android/java/AndroidManifest.xml index ae49aae1b21b..b4628d62c2c3 100644 --- a/android/java/AndroidManifest.xml +++ b/android/java/AndroidManifest.xml @@ -117,18 +117,6 @@ android:screenOrientation="sensorPortrait" tools:ignore="LockedOrientationActivity"/> - - - - - - - - - widgetList = new ArrayList(); public static final int NTP_WIDGET_STACK_CODE = 3333; @@ -173,7 +158,6 @@ public BraveNewTabPageLayout(Context context, AttributeSet attrs) { super(context, attrs); mProfile = Profile.getLastUsedRegularProfile(); mNTPBackgroundImagesBridge = NTPBackgroundImagesBridge.getInstance(mProfile); - mBinanceNativeWorker = BinanceNativeWorker.getInstance(); mNTPBackgroundImagesBridge.setNewTabPageListener(newTabPageListener); mDatabaseHelper = DatabaseHelper.getInstance(); } @@ -195,10 +179,6 @@ public void onPageScrolled( @Override public void onPageSelected(int position) { - cancelTimer(); - if (NTPWidgetManager.getInstance().getBinanceWidget() == position) { - startTimer(); - } updateAndShowIndicators(position); NTPWidgetManager.getInstance().setNTPWidgetOrder(position); } @@ -321,54 +301,6 @@ public void onClick(View v) { ntpWidgetItem.setWidgetView(mTopSitesLayout); ntpWidgetMap.put(ntpWidgetManager.getFavoritesWidget(), ntpWidgetItem); } - } else if (widget.equals(NTPWidgetManager.PREF_BINANCE)) { - View binanceWidgetView = inflater.inflate(R.layout.crypto_widget_layout, null); - binanceWidgetLayout = binanceWidgetView.findViewById(R.id.binance_widget_layout); - bianceDisconnectLayout = - binanceWidgetView.findViewById(R.id.binance_disconnect_layout); - binanceWidgetProgress = - binanceWidgetView.findViewById(R.id.binance_widget_progress); - binanceWidgetProgress.setVisibility(View.GONE); - binanceWidgetView.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - if (InternetConnection.isNetworkAvailable(mActivity)) { - if (BinanceWidgetManager.getInstance() - .isUserAuthenticatedForBinance()) { - cancelTimer(); - cryptoWidgetBottomSheetDialogFragment = - new CryptoWidgetBottomSheetDialogFragment(); - cryptoWidgetBottomSheetDialogFragment - .setCryptoWidgetBottomSheetDialogDismissListener( - BraveNewTabPageLayout.this); - cryptoWidgetBottomSheetDialogFragment.show( - ((BraveActivity) mActivity).getSupportFragmentManager(), - CryptoWidgetBottomSheetDialogFragment.TAG_FRAGMENT); - } else { - TabUtils.openUrlInSameTab(mBinanceNativeWorker.getOAuthClientUrl()); - bianceDisconnectLayout.setVisibility(View.GONE); - binanceWidgetProgress.setVisibility(View.VISIBLE); - } - } else { - Toast.makeText(mActivity, - mActivity.getResources().getString( - R.string.please_check_the_connection), - Toast.LENGTH_SHORT) - .show(); - } - } - }); - Button connectButton = binanceWidgetView.findViewById(R.id.btn_connect); - connectButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - TabUtils.openUrlInSameTab(mBinanceNativeWorker.getOAuthClientUrl()); - bianceDisconnectLayout.setVisibility(View.GONE); - binanceWidgetProgress.setVisibility(View.VISIBLE); - } - }); - ntpWidgetItem.setWidgetView(binanceWidgetView); - ntpWidgetMap.put(ntpWidgetManager.getBinanceWidget(), ntpWidgetItem); } } @@ -460,14 +392,6 @@ protected void onAttachedToWindow() { mBadgeAnimationView.setVisibility(View.INVISIBLE); } showWidgets(); - if (BinanceWidgetManager.getInstance().isUserAuthenticatedForBinance()) { - if (binanceWidgetLayout != null) { - binanceWidgetLayout.setVisibility(View.GONE); - } - mBinanceNativeWorker.getAccountBalances(); - } - mBinanceNativeWorker.AddObserver(mBinanaceObserver); - startTimer(); } @Override @@ -484,8 +408,6 @@ protected void onDetachedFromWindow() { } } mNTPBackgroundImagesBridge.removeObserver(mNTPBackgroundImageServiceObserver); - mBinanceNativeWorker.RemoveObserver(mBinanaceObserver); - cancelTimer(); super.onDetachedFromWindow(); } @@ -844,21 +766,11 @@ private void updateAndShowIndicators(int position) { new NTPWidgetAdapter.NTPWidgetListener() { @Override public void onMenuEdit() { - cancelTimer(); openWidgetStack(); } @Override - public void onMenuRemove(int position, boolean isBinanceWidget) { - if (isBinanceWidget) { - mBinanceNativeWorker.revokeToken(); - BinanceWidgetManager.getInstance().setBinanceAccountBalance(""); - BinanceWidgetManager.getInstance().setUserAuthenticationForBinance(false); - if (cryptoWidgetBottomSheetDialogFragment != null) { - cryptoWidgetBottomSheetDialogFragment.dismiss(); - } - } - + public void onMenuRemove(int position) { if (BraveActivity.getBraveActivity() != null && BraveActivity.getBraveActivity().getActivityTab() != null && !UserPrefs.get(Profile.getLastUsedRegularProfile()) @@ -869,101 +781,8 @@ public void onMenuRemove(int position, boolean isBinanceWidget) { showWidgets(); } } - - @Override - public void onMenuLearnMore() { - TabUtils.openUrlInSameTab(BRAVE_BINANCE); - } - - @Override - public void onMenuRefreshData() { - mBinanceNativeWorker.getAccountBalances(); - } - - @Override - public void onMenuDisconnect() { - mBinanceNativeWorker.revokeToken(); - BinanceWidgetManager.getInstance().setBinanceAccountBalance(""); - BinanceWidgetManager.getInstance().setUserAuthenticationForBinance(false); - if (cryptoWidgetBottomSheetDialogFragment != null) { - cryptoWidgetBottomSheetDialogFragment.dismiss(); - } - // Reset binance widget to connect page - showWidgets(); - } }; - private BinanceObserver mBinanaceObserver = new BinanceObserver() { - @Override - public void OnGetAccessToken(boolean isSuccess) { - BinanceWidgetManager.getInstance().setUserAuthenticationForBinance(isSuccess); - if (isSuccess) { - mBinanceNativeWorker.getAccountBalances(); - if (bianceDisconnectLayout != null) { - bianceDisconnectLayout.setVisibility(View.GONE); - } - if (binanceWidgetProgress != null) { - binanceWidgetProgress.setVisibility(View.VISIBLE); - } - } - }; - - @Override - public void OnGetAccountBalances(String jsonBalances, boolean isSuccess) { - if (InternetConnection.isNetworkAvailable(mActivity)) { - if (!isSuccess) { - BinanceWidgetManager.getInstance().setUserAuthenticationForBinance(isSuccess); - if (cryptoWidgetBottomSheetDialogFragment != null) { - cryptoWidgetBottomSheetDialogFragment.dismiss(); - } - } else { - if (jsonBalances != null && !TextUtils.isEmpty(jsonBalances)) { - BinanceWidgetManager.getInstance().setBinanceAccountBalance(jsonBalances); - } - try { - BinanceWidgetManager.binanceAccountBalance = new BinanceAccountBalance( - BinanceWidgetManager.getInstance().getBinanceAccountBalance()); - } catch (JSONException e) { - Log.e("NTP", e.getMessage()); - } - } - } - // Reset binance widget to connect page - showWidgets(); - }; - }; - - // start timer function - public void startTimer() { - if (countDownTimer == null) { - countDownTimer = new Timer(); - final Handler handler = new Handler(); - countDownTimer.scheduleAtFixedRate(new TimerTask() { - @Override - public void run() { - handler.post(new Runnable() { - @Override - public void run() { - if (BinanceWidgetManager.getInstance() - .isUserAuthenticatedForBinance()) { - mBinanceNativeWorker.getAccountBalances(); - } - } - }); - } - }, 0, 30000); - } - } - - // cancel timer - public void cancelTimer() { - if (countDownTimer != null) { - countDownTimer.cancel(); - countDownTimer.purge(); - countDownTimer = null; - } - } - public void openWidgetStack() { final FragmentManager fm = ((BraveActivity) mActivity).getSupportFragmentManager(); Fragment auxiliary = new Fragment() { @@ -998,9 +817,4 @@ public void onTileCountChanged() { mTopsiteErrorMessage.setVisibility(View.VISIBLE); } } - - @Override - public void onCryptoWidgetBottomSheetDialogDismiss() { - startTimer(); - } } diff --git a/android/java/org/chromium/chrome/browser/ntp/widget/NTPWidgetAdapter.java b/android/java/org/chromium/chrome/browser/ntp/widget/NTPWidgetAdapter.java index 60fba93b625e..3b42df93b7f5 100644 --- a/android/java/org/chromium/chrome/browser/ntp/widget/NTPWidgetAdapter.java +++ b/android/java/org/chromium/chrome/browser/ntp/widget/NTPWidgetAdapter.java @@ -31,8 +31,6 @@ import org.chromium.chrome.browser.preferences.BravePref; import org.chromium.chrome.browser.preferences.BravePrefServiceBridge; import org.chromium.chrome.browser.profiles.Profile; -import org.chromium.chrome.browser.widget.crypto.binance.BinanceAccountBalance; -import org.chromium.chrome.browser.widget.crypto.binance.BinanceWidgetManager; import java.util.ArrayList; import java.util.List; @@ -48,13 +46,7 @@ public class NTPWidgetAdapter extends PagerAdapter { public interface NTPWidgetListener { void onMenuEdit(); - void onMenuRemove(int position, boolean isBinanceWidget); - - void onMenuLearnMore(); - - void onMenuRefreshData(); - - void onMenuDisconnect(); + void onMenuRemove(int position); } public void setNTPWidgetListener(NTPWidgetListener ntpWidgetListener) { @@ -82,35 +74,6 @@ public void onClick(View view) { } if (ntpWidgetItem.getWidgetType().equals(NTPWidgetManager.PREF_PRIVATE_STATS)) { BraveStatsUtil.updateBraveStatsLayout(mainView); - } else if (ntpWidgetItem.getWidgetType().equals(NTPWidgetManager.PREF_BINANCE)) { - Button connectButton = mainView.findViewById(R.id.btn_connect); - LinearLayout bianceDisconnectLayout = - mainView.findViewById(R.id.binance_disconnect_layout); - LinearLayout binanceWidgetLayout = - mainView.findViewById(R.id.binance_widget_layout); - TextView binanceBalanceText = - binanceWidgetLayout.findViewById(R.id.binance_balance_text); - TextView binanceBtcText = binanceWidgetLayout.findViewById(R.id.binance_btc_text); - TextView binanceUSDBalanceText = - binanceWidgetLayout.findViewById(R.id.binance_usd_balance_text); - - if (BinanceWidgetManager.binanceAccountBalance != null) { - binanceBalanceText.setText(String.format(Locale.getDefault(), "%.6f", - BinanceWidgetManager.binanceAccountBalance.getTotalBTC())); - binanceBtcText.setText(BTC); - - binanceUSDBalanceText.setText(String.format( - mContext.getResources().getString(R.string.usd_balance), - String.format(Locale.getDefault(), "%.2f", - BinanceWidgetManager.binanceAccountBalance.getTotalUSD()))); - } - if (BinanceWidgetManager.getInstance().isUserAuthenticatedForBinance()) { - binanceWidgetLayout.setVisibility(View.VISIBLE); - bianceDisconnectLayout.setVisibility(View.GONE); - } else { - binanceWidgetLayout.setVisibility(View.GONE); - bianceDisconnectLayout.setVisibility(View.VISIBLE); - } } container.addView(mainView); } @@ -148,12 +111,6 @@ private void showPopupMenu(Context context, View view, final int position) { popup.getMenuInflater().inflate(R.menu.ntp_widget_menu, popup.getMenu()); NTPWidgetItem ntpWidgetItem = widgetList.get(position); - if (ntpWidgetItem.getWidgetType().equals(NTPWidgetManager.PREF_BINANCE) - && BinanceWidgetManager.getInstance().isUserAuthenticatedForBinance()) { - popup.getMenu().findItem(R.id.learn_more).setVisible(true); - popup.getMenu().findItem(R.id.refresh_data).setVisible(true); - popup.getMenu().findItem(R.id.disconnect).setVisible(true); - } popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { @@ -163,14 +120,6 @@ public boolean onMenuItemClick(MenuItem item) { } else if (id == R.id.remove) { NTPWidgetItem ntpWidgetItem = widgetList.get(position); removeWidgetItem(position); - ntpWidgetListener.onMenuRemove(position, - ntpWidgetItem.getWidgetType().equals(NTPWidgetManager.PREF_BINANCE)); - } else if (id == R.id.learn_more) { - ntpWidgetListener.onMenuLearnMore(); - } else if (id == R.id.refresh_data) { - ntpWidgetListener.onMenuRefreshData(); - } else if (id == R.id.disconnect) { - ntpWidgetListener.onMenuDisconnect(); } return true; } diff --git a/android/java/org/chromium/chrome/browser/ntp/widget/NTPWidgetManager.java b/android/java/org/chromium/chrome/browser/ntp/widget/NTPWidgetManager.java index 0ca29d0b8ab6..9aeff24a4120 100644 --- a/android/java/org/chromium/chrome/browser/ntp/widget/NTPWidgetManager.java +++ b/android/java/org/chromium/chrome/browser/ntp/widget/NTPWidgetManager.java @@ -13,7 +13,6 @@ import org.chromium.base.ContextUtils; import org.chromium.chrome.R; import org.chromium.chrome.browser.ntp.widget.NTPWidgetItem; -import org.chromium.chrome.browser.widget.crypto.binance.BinanceNativeWorker; import java.util.ArrayList; import java.util.HashMap; @@ -24,7 +23,6 @@ public class NTPWidgetManager { public static final String PREF_PRIVATE_STATS = "private_stats"; public static final String PREF_FAVORITES = "favorites"; - public static final String PREF_BINANCE = "binance"; public static final String PREF_NTP_WIDGET_ORDER = "ntp_widget_order"; private static NTPWidgetManager sInstance; @@ -45,12 +43,6 @@ public class NTPWidgetManager { R.string.favorites), ContextUtils.getApplicationContext().getResources().getString( R.string.favorites_text))); - put(PREF_BINANCE, - new NTPWidgetItem(PREF_BINANCE, - ContextUtils.getApplicationContext().getResources().getString( - R.string.binance), - ContextUtils.getApplicationContext().getResources().getString( - R.string.binance_disconnect_text))); } }; @@ -73,10 +65,6 @@ public int getFavoritesWidget() { return mSharedPreferences.getInt(PREF_FAVORITES, 1); } - public int getBinanceWidget() { - return mSharedPreferences.getInt(PREF_BINANCE, 2); - } - public void setWidget(String widgetType, int position) { SharedPreferences.Editor sharedPreferencesEditor = mSharedPreferences.edit(); sharedPreferencesEditor.putInt(widgetType, position); @@ -101,10 +89,6 @@ public List getUsedWidgets() { if (getFavoritesWidget() != -1) { usedWidgetMap.put(getFavoritesWidget(), PREF_FAVORITES); } - if (getBinanceWidget() != -1 - && BinanceNativeWorker.getInstance().IsSupportedRegion()) { - usedWidgetMap.put(getBinanceWidget(), PREF_BINANCE); - } return new ArrayList(usedWidgetMap.values()); } @@ -116,10 +100,6 @@ public List getAvailableWidgets() { if (getFavoritesWidget() == -1) { availableWidgets.add(PREF_FAVORITES); } - if (getBinanceWidget() == -1 - && BinanceNativeWorker.getInstance().IsSupportedRegion()) { - availableWidgets.add(PREF_BINANCE); - } return availableWidgets; } } \ No newline at end of file diff --git a/android/java/org/chromium/chrome/browser/ntp/widget/NTPWidgetStackActivity.java b/android/java/org/chromium/chrome/browser/ntp/widget/NTPWidgetStackActivity.java index 31ddcebbf1db..3e8e3042b14b 100644 --- a/android/java/org/chromium/chrome/browser/ntp/widget/NTPWidgetStackActivity.java +++ b/android/java/org/chromium/chrome/browser/ntp/widget/NTPWidgetStackActivity.java @@ -28,8 +28,6 @@ import org.chromium.chrome.browser.ntp.widget.NTPWidgetAdapter; import org.chromium.chrome.browser.ntp.widget.NTPWidgetManager; import org.chromium.chrome.browser.ntp.widget.NTPWidgetStackAdapter; -import org.chromium.chrome.browser.widget.crypto.binance.BinanceNativeWorker; -import org.chromium.chrome.browser.widget.crypto.binance.BinanceWidgetManager; import java.util.ArrayList; import java.util.List; @@ -165,13 +163,6 @@ private void returnResult() { for (int i = 0; i < availableNTPWidgetStackAdapter.getWidgetList().size(); i++) { NTPWidgetManager.getInstance().setWidget( availableNTPWidgetStackAdapter.getWidgetList().get(i), -1); - if (availableNTPWidgetStackAdapter.getWidgetList().get(i).equals( - NTPWidgetManager.PREF_BINANCE) - && mNativeInitialized) { - BinanceNativeWorker.getInstance().revokeToken(); - BinanceWidgetManager.getInstance().setBinanceAccountBalance(""); - BinanceWidgetManager.getInstance().setUserAuthenticationForBinance(false); - } } if (isFromSettings) { if (BraveActivity.getBraveActivity() != null && BraveActivity.getBraveActivity().getActivityTab() != null) { diff --git a/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceAccountBalance.java b/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceAccountBalance.java deleted file mode 100644 index 70365232d435..000000000000 --- a/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceAccountBalance.java +++ /dev/null @@ -1,65 +0,0 @@ -/** - * Copyright (c) 2020 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. - */ -package org.chromium.chrome.browser.widget.crypto.binance; - -import android.util.Pair; - -import androidx.annotation.VisibleForTesting; - -import org.json.JSONArray; -import org.json.JSONException; -import org.json.JSONObject; - -import java.util.HashMap; -import java.util.Iterator; -import java.util.Map; - -public class BinanceAccountBalance { - private double mTotalUSD; - private double mTotalBTC; - private Map> - mCurrencyValues; // First : Currency value, Second : USD value - - public BinanceAccountBalance(String json_balance) throws JSONException { - fromJson(json_balance); - } - - private void fromJson(String json_balance) throws JSONException { - JSONObject jsonroot = new JSONObject(json_balance); - Iterator keys = jsonroot.keys(); - mCurrencyValues = new HashMap<>(); - while (keys.hasNext()) { - String key = keys.next(); - JSONArray data = jsonroot.getJSONArray(key); - mTotalBTC = mTotalBTC + data.getDouble(1); - mTotalUSD = mTotalUSD + data.getDouble(2); - mCurrencyValues.put(key, new Pair<>(data.getDouble(0), data.getDouble(2))); - } - } - - @VisibleForTesting - @Override - public String toString() { - return "BinanceAccountBalance{" - + "TotalUSD=" + mTotalUSD + ", TotalBTC=" + mTotalBTC + '}'; - } - - public double getTotalUSD() { - return mTotalUSD; - } - - public double getTotalBTC() { - return mTotalBTC; - } - - public Pair getCurrencyValue(String currency) { - if (mCurrencyValues.containsKey(currency) && mCurrencyValues.get(currency) != null) { - return mCurrencyValues.get(currency); - } - return null; - } -} \ No newline at end of file diff --git a/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceActivity.java b/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceActivity.java deleted file mode 100644 index 519bbe37e36c..000000000000 --- a/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceActivity.java +++ /dev/null @@ -1,53 +0,0 @@ -/** - * Copyright (c) 2020 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. - */ - -package org.chromium.chrome.browser.widget.crypto.binance; - -import android.net.Uri; -import android.os.Bundle; -import android.text.TextUtils; - -import org.chromium.base.Log; -import org.chromium.chrome.browser.init.AsyncInitializationActivity; -import org.chromium.chrome.browser.util.TabUtils; -import org.chromium.chrome.browser.widget.crypto.binance.BinanceNativeWorker; -import org.chromium.components.embedder_support.util.UrlConstants; - -import java.util.List; - -public class BinanceActivity extends AsyncInitializationActivity { - private static final String REDIRECT_URI_ROOT = "com.brave.binance"; - private static final String CODE = "code"; - - @Override - protected void triggerLayoutInflation() { - onInitialLayoutInflationComplete(); - } - - @Override - public void finishNativeInitialization() { - super.finishNativeInitialization(); - - Uri data = getIntent().getData(); - if (data != null && !TextUtils.isEmpty(data.getScheme())) { - if (REDIRECT_URI_ROOT.equals(data.getScheme())) { - String code = data.getQueryParameter(CODE); - if (!TextUtils.isEmpty(code)) { - TabUtils.openUrlInSameTab(UrlConstants.NTP_URL); - BinanceNativeWorker.getInstance().setAuthToken(code); - BinanceNativeWorker.getInstance().getAccessToken(); - finish(); - } - } - } - } - - @Override - public boolean shouldStartGpuProcess() { - return false; - } -} diff --git a/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceBuyFragment.java b/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceBuyFragment.java deleted file mode 100644 index 8bfdb2315ff0..000000000000 --- a/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceBuyFragment.java +++ /dev/null @@ -1,258 +0,0 @@ -/* Copyright (c) 2020 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -package org.chromium.chrome.browser.widget.crypto.binance; - -import android.os.Bundle; -import android.text.TextUtils; -import android.util.Pair; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.AdapterView; -import android.widget.ArrayAdapter; -import android.widget.Button; -import android.widget.EditText; -import android.widget.LinearLayout; -import android.widget.RadioButton; -import android.widget.RadioGroup; -import android.widget.Spinner; -import android.widget.TextView; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.fragment.app.Fragment; -import androidx.fragment.app.FragmentManager; -import androidx.fragment.app.FragmentTransaction; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; - -import com.google.android.material.bottomsheet.BottomSheetDialogFragment; - -import org.json.JSONException; - -import org.chromium.base.Log; -import org.chromium.chrome.R; -import org.chromium.chrome.browser.InternetConnection; -import org.chromium.chrome.browser.util.TabUtils; -import org.chromium.chrome.browser.widget.crypto.binance.BinanceAccountBalance; -import org.chromium.chrome.browser.widget.crypto.binance.BinanceCoinNetworks; -import org.chromium.chrome.browser.widget.crypto.binance.BinanceNativeWorker; -import org.chromium.chrome.browser.widget.crypto.binance.BinanceObserver; -import org.chromium.chrome.browser.widget.crypto.binance.BinanceSpinnerAdapter; -import org.chromium.chrome.browser.widget.crypto.binance.BinanceWidgetManager; -import org.chromium.chrome.browser.widget.crypto.binance.CoinNetworkModel; -import org.chromium.chrome.browser.widget.crypto.binance.CryptoWidgetBottomSheetDialogFragment; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -public class BinanceBuyFragment extends Fragment { - private BinanceNativeWorker mBinanceNativeWorker; - - private Button buyButton; - - private Spinner fiatSpinner; - private Spinner cryptoSpinner; - - private String selectedFiat; - private String selectedCrypto; - - private List fiatList = new ArrayList(); - private List cryptoList = new ArrayList(); - - private static final String US = ".us"; - private static final String COM = ".com"; - - private CryptoWidgetBottomSheetDialogFragment - .BinanceBottomSheetListener mBinanceBottomSheetListener; - - public BinanceBuyFragment() { - // Required empty public constructor - } - - public void setBinanceBottomSheetListener( - CryptoWidgetBottomSheetDialogFragment - .BinanceBottomSheetListener binanceBottomSheetListener) { - mBinanceBottomSheetListener = binanceBottomSheetListener; - } - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - mBinanceNativeWorker = BinanceNativeWorker.getInstance(); - } - - @Override - public View onCreateView( - LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - mBinanceNativeWorker.AddObserver(mBinanaceObserver); - return inflater.inflate(R.layout.fragment_binance_buy, container, false); - } - - @Override - public void onDestroyView() { - mBinanceNativeWorker.RemoveObserver(mBinanaceObserver); - super.onDestroyView(); - } - - @Override - public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { - super.onViewCreated(view, savedInstanceState); - LinearLayout buyMainLayout = view.findViewById(R.id.binance_buy_main_layout); - TextView noConnectionText = view.findViewById(R.id.no_connection_text); - if (InternetConnection.isNetworkAvailable(getActivity())) { - noConnectionText.setVisibility(View.GONE); - buyMainLayout.setVisibility(View.VISIBLE); - RadioGroup buyRadioGroup = view.findViewById(R.id.buy_radio_group); - RadioButton usRadioButton = view.findViewById(R.id.us_radio); - usRadioButton.setText(US); - RadioButton comRadioButton = view.findViewById(R.id.com_radio); - comRadioButton.setText(COM); - EditText amountEditText = view.findViewById(R.id.amount_edittext); - - buyButton = view.findViewById(R.id.btn_buy); - buyButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - String buyUrl = ""; - if (buyRadioGroup.getCheckedRadioButtonId() == R.id.com_radio) { - String localizedUrl = - new StringBuilder(BinanceWidgetManager.BINANCE_COM_ONE) - .append(mBinanceNativeWorker.getLocaleForURL()) - .append(BinanceWidgetManager.BINANCE_COM_TWO) - .toString(); - buyUrl = String.format(localizedUrl, selectedFiat, selectedCrypto, - amountEditText.getText()); - } else if (buyRadioGroup.getCheckedRadioButtonId() == R.id.us_radio) { - buyUrl = String.format(BinanceWidgetManager.BINANCE_US, selectedCrypto, - amountEditText.getText()); - } - if (!TextUtils.isEmpty(buyUrl)) { - TabUtils.openUrlInSameTab(buyUrl); - } - dismissBinanceBottomSheet(); - } - }); - - fiatSpinner = (Spinner) view.findViewById(R.id.fiat_spinner); - fiatSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { - @Override - public void onItemSelected( - AdapterView parentView, View selectedItemView, int position, long id) { - selectedFiat = fiatList.get(position); - } - - @Override - public void onNothingSelected(AdapterView parentView) {} - }); - setFiatSpinner(BinanceWidgetManager.fiatList); - - cryptoSpinner = (Spinner) view.findViewById(R.id.crypto_spinner); - cryptoSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { - @Override - public void onItemSelected( - AdapterView parentView, View selectedItemView, int position, long id) { - selectedCrypto = cryptoList.get(position); - if (buyButton != null) { - buyButton.setText(String.format(getActivity().getResources().getString( - R.string.buy_crypto_button_text), - selectedCrypto)); - } - } - - @Override - public void onNothingSelected(AdapterView parentView) {} - }); - - buyRadioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { - @Override - public void onCheckedChanged(RadioGroup group, int checkedId) { - if (R.id.com_radio == checkedId) { - setFiatSpinner(BinanceWidgetManager.fiatList); - } else { - setFiatSpinner(new ArrayList( - Arrays.asList(BinanceWidgetManager.fiatList.get(0)))); - } - } - }); - - mBinanceNativeWorker.getCoinNetworks(); - } else { - noConnectionText.setVisibility(View.VISIBLE); - buyMainLayout.setVisibility(View.GONE); - } - } - - private void setFiatSpinner(List fiatSpinnerList) { - fiatList = fiatSpinnerList; - - List tempFiatList = new ArrayList(); - for (String fiat : fiatList) { - tempFiatList.add(new CoinNetworkModel(fiat, "", 0)); - } - - BinanceSpinnerAdapter binanceSpinnerAdapter = - new BinanceSpinnerAdapter(getActivity(), tempFiatList, false); - fiatSpinner.setAdapter(binanceSpinnerAdapter); - - selectedFiat = fiatList.get(0); - } - - private void dismissBinanceBottomSheet() { - mBinanceBottomSheetListener.dismissBottomSheetDialog(); - } - - private BinanceObserver mBinanaceObserver = new BinanceObserver() { - @Override - public void OnGetAccessToken(boolean isSuccess){}; - - @Override - public void OnGetAccountBalances(String jsonBalances, boolean isSuccess){}; - - @Override - public void OnGetConvertQuote( - String quoteId, String quotePrice, String totalFee, String totalAmount){}; - - @Override - public void OnGetCoinNetworks(String jsonNetworks) { - try { - BinanceCoinNetworks binanceCoinNetworks = new BinanceCoinNetworks(jsonNetworks); - List tempCryptoList = new ArrayList(); - for (CoinNetworkModel coinNetworkModel : - binanceCoinNetworks.getCoinNetworksList()) { - tempCryptoList.add(coinNetworkModel.getCoin()); - } - if (cryptoSpinner != null) { - cryptoList = tempCryptoList; - - BinanceSpinnerAdapter binanceSpinnerAdapter = new BinanceSpinnerAdapter( - getActivity(), binanceCoinNetworks.getCoinNetworksList(), true); - cryptoSpinner.setAdapter(binanceSpinnerAdapter); - selectedCrypto = cryptoList.get(0); - buyButton.setText(String.format( - getActivity().getResources().getString(R.string.buy_crypto_button_text), - selectedCrypto)); - } - } catch (JSONException e) { - Log.e("NTP", e.getMessage()); - } - }; - - @Override - public void OnGetDepositInfo( - String depositAddress, String depositeTag, boolean isSuccess){}; - - @Override - public void OnConfirmConvert(boolean isSuccess, String message){}; - - @Override - public void OnGetConvertAssets(String jsonAssets){}; - - @Override - public void OnRevokeToken(boolean isSuccess){}; - }; -} \ No newline at end of file diff --git a/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceCoinNetworks.java b/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceCoinNetworks.java deleted file mode 100644 index 05c65ecb920c..000000000000 --- a/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceCoinNetworks.java +++ /dev/null @@ -1,54 +0,0 @@ -/** - * Copyright (c) 2020 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. - */ -package org.chromium.chrome.browser.widget.crypto.binance; - -import android.text.TextUtils; -import android.util.Pair; - -import androidx.annotation.VisibleForTesting; - -import org.json.JSONArray; -import org.json.JSONException; -import org.json.JSONObject; - -import org.chromium.base.Log; -import org.chromium.chrome.browser.widget.crypto.binance.CoinNetworkModel; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -public class BinanceCoinNetworks { - private List mCoinNetwroksList = new ArrayList<>(); - public BinanceCoinNetworks(String jsonNetworks) throws JSONException { - fromJson(jsonNetworks); - } - - private void fromJson(String jsonNetworks) throws JSONException { - JSONObject jsonroot = new JSONObject(jsonNetworks); - Iterator keys = jsonroot.keys(); - while (keys.hasNext()) { - String key = keys.next(); - if (BinanceWidgetManager.comCurrenciesMap.containsKey(key)) { - CoinNetworkModel coinNetworkModel = BinanceWidgetManager.comCurrenciesMap.get(key); - coinNetworkModel.setTickerNetwork(jsonroot.getString(key)); - mCoinNetwroksList.add(coinNetworkModel); - } - } - } - - public List getCoinNetworksList() { - return mCoinNetwroksList; - } - - @Override - public String toString() { - return TextUtils.join(", ", mCoinNetwroksList); - } -} \ No newline at end of file diff --git a/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceConvert.java b/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceConvert.java deleted file mode 100644 index c38febc91b13..000000000000 --- a/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceConvert.java +++ /dev/null @@ -1,64 +0,0 @@ -/** - * Copyright (c) 2020 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. - */ -package org.chromium.chrome.browser.widget.crypto.binance; - -import android.util.Pair; - -import androidx.annotation.VisibleForTesting; - -import org.json.JSONArray; -import org.json.JSONException; -import org.json.JSONObject; - -import org.chromium.base.Log; -import org.chromium.chrome.browser.widget.crypto.binance.ConvertAsset; - -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -public class BinanceConvert { - private Map> mCurrencyValues; - - public BinanceConvert(String json_balance) throws JSONException { - fromJson(json_balance); - } - - private void fromJson(String json_balance) throws JSONException { - JSONObject jsonroot = new JSONObject(json_balance); - Iterator keys = jsonroot.keys(); - mCurrencyValues = new HashMap<>(); - while (keys.hasNext()) { - String key = keys.next(); - JSONArray data = jsonroot.getJSONArray(key); - List tempList = new ArrayList<>(); - for (int i = 0; i < data.length(); i++) { - JSONObject convertAssetJsonObject = new JSONObject(data.getString(i)); - tempList.add(new ConvertAsset(convertAssetJsonObject.getString("asset"), - convertAssetJsonObject.getString("minAmount"))); - } - mCurrencyValues.put(key, tempList); - } - } - - public List getCurrencyValue(String currency) { - if (mCurrencyValues.containsKey(currency) && mCurrencyValues.get(currency) != null) { - return mCurrencyValues.get(currency); - } - return null; - } - - public List getCurrencyKeys() { - List tempList = new ArrayList(); - for (String key : mCurrencyValues.keySet()) { - tempList.add(key); - } - return tempList; - } -} \ No newline at end of file diff --git a/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceConvertFragment.java b/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceConvertFragment.java deleted file mode 100644 index a4f0771eed06..000000000000 --- a/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceConvertFragment.java +++ /dev/null @@ -1,411 +0,0 @@ -/* Copyright (c) 2020 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -package org.chromium.chrome.browser.widget.crypto.binance; - -import android.app.Activity; -import android.os.Bundle; -import android.os.CountDownTimer; -import android.text.TextUtils; -import android.util.Pair; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.view.inputmethod.InputMethodManager; -import android.widget.AdapterView; -import android.widget.ArrayAdapter; -import android.widget.Button; -import android.widget.EditText; -import android.widget.FrameLayout; -import android.widget.LinearLayout; -import android.widget.ProgressBar; -import android.widget.RadioGroup; -import android.widget.Spinner; -import android.widget.TextView; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.fragment.app.Fragment; -import androidx.fragment.app.FragmentManager; -import androidx.fragment.app.FragmentTransaction; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; - -import com.google.android.material.bottomsheet.BottomSheetDialogFragment; - -import org.json.JSONException; - -import org.chromium.base.Log; -import org.chromium.chrome.R; -import org.chromium.chrome.browser.InternetConnection; -import org.chromium.chrome.browser.util.TabUtils; -import org.chromium.chrome.browser.widget.crypto.binance.BinanceAccountBalance; -import org.chromium.chrome.browser.widget.crypto.binance.BinanceCoinNetworks; -import org.chromium.chrome.browser.widget.crypto.binance.BinanceNativeWorker; -import org.chromium.chrome.browser.widget.crypto.binance.BinanceObserver; -import org.chromium.chrome.browser.widget.crypto.binance.BinanceWidgetManager; -import org.chromium.chrome.browser.widget.crypto.binance.CoinNetworkModel; -import org.chromium.chrome.browser.widget.crypto.binance.ConvertAsset; -import org.chromium.chrome.browser.widget.crypto.binance.CryptoWidgetBottomSheetDialogFragment; -import org.chromium.ui.widget.Toast; - -import java.util.ArrayList; -import java.util.List; -import java.util.Locale; - -public class BinanceConvertFragment extends Fragment { - private BinanceNativeWorker mBinanceNativeWorker; - - private Button convertButton; - - private Spinner cryptoSpinner1; - private Spinner cryptoSpinner2; - - private String selectedCrypto1; - private ConvertAsset selectedCrypto2; - - private List cryptoList1 = new ArrayList(); - private List cryptoList2 = new ArrayList(); - - private BinanceConvert binanceConvert; - - private TextView binanceConvertTitle; - private LinearLayout convertLayout; - private LinearLayout errorLayout; - private LinearLayout successLayout; - private EditText amountEditText; - - private LinearLayout confirmLayout; - private TextView convertCurrencyText; - private TextView convertFeeText; - private TextView convertBalanceText; - private CountDownTimer countDownTimer; - private ProgressBar binanceWidgetProgress; - private TextView successText; - - private double convertAmount; - private String convertedAmount; - private CryptoWidgetBottomSheetDialogFragment.BinanceBottomSheetListener mBinanceBottomSheetListener; - - private static final String ZERO_BALANCE = "0.000000"; - - private Button confirmButton; - - public BinanceConvertFragment() { - // Required empty public constructor - } - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - mBinanceNativeWorker = BinanceNativeWorker.getInstance(); - } - - @Override - public View onCreateView( - LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - mBinanceNativeWorker.AddObserver(mBinanaceObserver); - return inflater.inflate(R.layout.fragment_binance_convert, container, false); - } - - @Override - public void onDestroyView() { - mBinanceNativeWorker.RemoveObserver(mBinanaceObserver); - cancelTimer(); - super.onDestroyView(); - } - - public void setBinanceBottomSheetListener(CryptoWidgetBottomSheetDialogFragment.BinanceBottomSheetListener binanceBottomSheetListener) { - mBinanceBottomSheetListener = binanceBottomSheetListener; - } - - @Override - public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { - super.onViewCreated(view, savedInstanceState); - FrameLayout convertMainLayout = view.findViewById(R.id.binance_convert_main_layout); - TextView noConnectionText = view.findViewById(R.id.no_connection_text); - if (InternetConnection.isNetworkAvailable(getActivity())) { - noConnectionText.setVisibility(View.GONE); - convertMainLayout.setVisibility(View.VISIBLE); - amountEditText = view.findViewById(R.id.amount_edittext); - binanceConvertTitle = view.findViewById(R.id.binance_convert_title); - convertLayout = view.findViewById(R.id.convert_layout); - convertLayout.setVisibility(View.GONE); - binanceWidgetProgress = view.findViewById(R.id.binance_widget_progress); - errorLayout = view.findViewById(R.id.error_layout); - TextView errorText = view.findViewById(R.id.error_message_text); - - Button retryButton = view.findViewById(R.id.btn_retry); - retryButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - convertLayout.setVisibility(View.VISIBLE); - errorLayout.setVisibility(View.GONE); - } - }); - - successLayout = view.findViewById(R.id.success_layout); - successText = view.findViewById(R.id.success_message_text); - Button continueButton = view.findViewById(R.id.btn_continue); - continueButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - amountEditText.getText().clear(); - mBinanceBottomSheetListener.onContinue(); - } - }); - - confirmLayout = view.findViewById(R.id.confirm_convert_layout); - convertCurrencyText = view.findViewById(R.id.convert_currency_text); - convertFeeText = view.findViewById(R.id.convert_fee_text); - convertBalanceText = view.findViewById(R.id.convert_balance_text); - confirmButton = view.findViewById(R.id.btn_confirm); - - Button cancelButton = view.findViewById(R.id.btn_cancel); - cancelButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - cancelTimer(); - amountEditText.getText().clear(); - convertLayout.setVisibility(View.VISIBLE); - confirmLayout.setVisibility(View.GONE); - } - }); - - convertButton = view.findViewById(R.id.btn_convert); - convertButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - InputMethodManager imm = (InputMethodManager) getActivity().getSystemService( - Activity.INPUT_METHOD_SERVICE); - imm.hideSoftInputFromWindow(amountEditText.getWindowToken(), 0); - if (InternetConnection.isNetworkAvailable(getActivity())) { - convertAmount = !TextUtils.isEmpty(amountEditText.getText().toString()) - ? Double.valueOf(amountEditText.getText().toString()) - : 0.0; - double availableBalance = - BinanceWidgetManager.binanceAccountBalance.getCurrencyValue( - selectedCrypto1) - != null - ? Double.valueOf(BinanceWidgetManager.binanceAccountBalance - .getCurrencyValue(selectedCrypto1) - .first) - : 0.0; - if (availableBalance < convertAmount) { - convertLayout.setVisibility(View.GONE); - errorLayout.setVisibility(View.VISIBLE); - errorText.setText(getActivity().getResources().getString( - R.string.not_enough_balance)); - } else if (Double.valueOf(selectedCrypto2.getMinAmount()) > convertAmount) { - convertLayout.setVisibility(View.GONE); - errorLayout.setVisibility(View.VISIBLE); - errorText.setText( - String.format(getActivity().getResources().getString( - R.string.minimum_amount_to_convert), - selectedCrypto2.getMinAmount(), selectedCrypto1)); - } else { - mBinanceNativeWorker.getConvertQuote(selectedCrypto1, - selectedCrypto2.getAsset(), String.valueOf(convertAmount)); - } - } else { - Toast.makeText(getActivity(), R.string.please_check_the_connection, - Toast.LENGTH_SHORT) - .show(); - } - } - }); - - cryptoSpinner1 = (Spinner) view.findViewById(R.id.crypto_spinner_1); - cryptoSpinner1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { - @Override - public void onItemSelected( - AdapterView parentView, View selectedItemView, int position, long id) { - selectedCrypto1 = cryptoList1.get(position); - setCryptoSpinner(selectedCrypto1); - setTitle(); - } - - @Override - public void onNothingSelected(AdapterView parentView) {} - }); - - cryptoSpinner2 = (Spinner) view.findViewById(R.id.crypto_spinner_2); - cryptoSpinner2.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { - @Override - public void onItemSelected( - AdapterView parentView, View selectedItemView, int position, long id) { - selectedCrypto2 = cryptoList2.get(position); - } - - @Override - public void onNothingSelected(AdapterView parentView) {} - }); - - mBinanceNativeWorker.getConvertAssets(); - binanceWidgetProgress.setVisibility(View.VISIBLE); - } else { - noConnectionText.setVisibility(View.VISIBLE); - convertMainLayout.setVisibility(View.GONE); - } - } - - private BinanceObserver mBinanaceObserver = new BinanceObserver() { - @Override - public void OnGetConvertQuote( - String quoteId, String quotePrice, String totalFee, String totalAmount) { - convertLayout.setVisibility(View.GONE); - confirmLayout.setVisibility(View.VISIBLE); - convertedAmount = !TextUtils.isEmpty(totalAmount) ? String.format( - Locale.getDefault(), "%.6f", Double.parseDouble(totalAmount)) - : ZERO_BALANCE; - convertCurrencyText.setText(String.format( - getActivity().getResources().getString(R.string.convert_stat_text), - convertAmount != 0.0 ? String.format( - Locale.getDefault(), "%.6f", convertAmount) - : ZERO_BALANCE, - selectedCrypto1)); - convertFeeText.setText(String.format( - getActivity().getResources().getString(R.string.convert_stat_text), - !TextUtils.isEmpty(totalFee) ? String.format( - Locale.getDefault(), "%.6f", Double.parseDouble(totalFee)) - : ZERO_BALANCE, - selectedCrypto1)); - convertBalanceText.setText(String.format( - getActivity().getResources().getString(R.string.convert_stat_text), - convertedAmount, - selectedCrypto2.getAsset())); - startTimer(); - - confirmButton.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - mBinanceNativeWorker.confirmConvert(quoteId); - cancelTimer(); - } - }); - }; - - @Override - public void OnConfirmConvert(boolean isSuccess, String message) { - confirmLayout.setVisibility(View.GONE); - if (!isSuccess) { - convertLayout.setVisibility(View.VISIBLE); - Toast.makeText(getActivity(), R.string.conversion_failed, Toast.LENGTH_SHORT) - .show(); - } else { - successLayout.setVisibility(View.VISIBLE); - if (successText != null) successText.setText(String.format(getActivity().getResources().getString(R.string.convert_success), convertAmount, selectedCrypto1, - convertedAmount, selectedCrypto2.getAsset())); - } - cancelTimer(); - }; - - @Override - public void OnGetConvertAssets(String jsonAssets) { - try { - binanceConvert = new BinanceConvert(jsonAssets); - cryptoList1 = binanceConvert.getCurrencyKeys(); - - List tempCryptoList = new ArrayList(); - for (String crypto : cryptoList1) { - int cryptoRes = 0; - if (BinanceWidgetManager.usCurrenciesMap.containsKey(crypto)) { - cryptoRes = BinanceWidgetManager.usCurrenciesMap.get(crypto).getCoinRes(); - } else if (BinanceWidgetManager.comCurrenciesMap.containsKey(crypto)) { - cryptoRes = BinanceWidgetManager.comCurrenciesMap.get(crypto).getCoinRes(); - } else if (BinanceWidgetManager.extraCurrenciesMap.containsKey(crypto)) { - cryptoRes = - BinanceWidgetManager.extraCurrenciesMap.get(crypto).getCoinRes(); - } - tempCryptoList.add(new CoinNetworkModel(crypto, "", cryptoRes)); - } - - BinanceSpinnerAdapter binanceSpinnerAdapter = - new BinanceSpinnerAdapter(getActivity(), tempCryptoList, true); - cryptoSpinner1.setAdapter(binanceSpinnerAdapter); - - selectedCrypto1 = cryptoList1.get(0); - setCryptoSpinner(selectedCrypto1); - setTitle(); - convertLayout.setVisibility(View.VISIBLE); - binanceWidgetProgress.setVisibility(View.GONE); - } catch (JSONException e) { - Log.e("NTP", e.getMessage()); - } - }; - }; - - private void setCryptoSpinner(String key) { - cryptoList2 = binanceConvert.getCurrencyValue(key); - if (cryptoSpinner2 != null) { - List tempCryptoList = new ArrayList(); - for (ConvertAsset convertAsset : cryptoList2) { - int cryptoRes = 0; - if (BinanceWidgetManager.usCurrenciesMap.containsKey(convertAsset.getAsset())) { - cryptoRes = BinanceWidgetManager.usCurrenciesMap.get(convertAsset.getAsset()) - .getCoinRes(); - } else if (BinanceWidgetManager.comCurrenciesMap.containsKey( - convertAsset.getAsset())) { - cryptoRes = BinanceWidgetManager.comCurrenciesMap.get(convertAsset.getAsset()) - .getCoinRes(); - } else if (BinanceWidgetManager.extraCurrenciesMap.containsKey( - convertAsset.getAsset())) { - cryptoRes = BinanceWidgetManager.extraCurrenciesMap.get(convertAsset.getAsset()) - .getCoinRes(); - } - tempCryptoList.add(new CoinNetworkModel(convertAsset.getAsset(), "", cryptoRes)); - } - - BinanceSpinnerAdapter binanceSpinnerAdapter = - new BinanceSpinnerAdapter(getActivity(), tempCryptoList, true); - cryptoSpinner2.setAdapter(binanceSpinnerAdapter); - - selectedCrypto2 = cryptoList2.get(0); - } - } - - private void setTitle() { - if (binanceConvertTitle != null) { - binanceConvertTitle.setText(String.format( - getActivity().getResources().getString(R.string.available_balance_text), - BinanceWidgetManager.binanceAccountBalance.getCurrencyValue(selectedCrypto1) - != null - ? String.format(Locale.getDefault(), "%.6f", - BinanceWidgetManager.binanceAccountBalance - .getCurrencyValue(selectedCrypto1) - .first) - : ZERO_BALANCE, - selectedCrypto1)); - } - } - - // start timer function - public void startTimer() { - countDownTimer = new CountDownTimer(30000, 1000) { - @Override - public void onTick(long millisUntilFinished) { - if (confirmButton != null) { - confirmButton.setText(String.format(getActivity().getResources().getString( - R.string.confirm_convert_binance), - String.valueOf(millisUntilFinished / 1000))); - } - } - - @Override - public void onFinish() { - cancelTimer(); - amountEditText.getText().clear(); - convertLayout.setVisibility(View.VISIBLE); - confirmLayout.setVisibility(View.GONE); - } - }; - countDownTimer.start(); - } - - // cancel timer - public void cancelTimer() { - if (countDownTimer != null) countDownTimer.cancel(); - } -} \ No newline at end of file diff --git a/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceDepositFragment.java b/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceDepositFragment.java deleted file mode 100644 index 4c933f48310b..000000000000 --- a/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceDepositFragment.java +++ /dev/null @@ -1,322 +0,0 @@ -/* Copyright (c) 2020 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -package org.chromium.chrome.browser.widget.crypto.binance; - -import android.content.Context; -import android.os.Bundle; -import android.text.Editable; -import android.text.TextUtils; -import android.text.TextWatcher; -import android.view.LayoutInflater; -import android.view.MotionEvent; -import android.view.View; -import android.view.ViewGroup; -import android.widget.Button; -import android.widget.EditText; -import android.widget.FrameLayout; -import android.widget.ImageView; -import android.widget.LinearLayout; -import android.widget.ProgressBar; -import android.widget.TextView; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.core.widget.NestedScrollView; -import androidx.fragment.app.Fragment; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; - -import com.google.android.material.bottomsheet.BottomSheetDialogFragment; - -import org.json.JSONException; - -import org.chromium.base.Log; -import org.chromium.chrome.R; -import org.chromium.chrome.browser.InternetConnection; -import org.chromium.chrome.browser.QRCodeShareDialogFragment; -import org.chromium.chrome.browser.widget.crypto.binance.BinanceCoinNetworks; -import org.chromium.chrome.browser.widget.crypto.binance.BinanceNativeWorker; -import org.chromium.chrome.browser.widget.crypto.binance.BinanceObserver; -import org.chromium.chrome.browser.widget.crypto.binance.BinanceWidgetManager; -import org.chromium.chrome.browser.widget.crypto.binance.CoinNetworkModel; -import org.chromium.ui.widget.Toast; - -import java.util.List; -import java.util.Locale; - -public class BinanceDepositFragment extends Fragment { - private BinanceNativeWorker mBinanceNativeWorker; - - private CoinNetworkModel selectedCoinNetworkModel; - private LinearLayout depositCoinListLayout; - private ProgressBar binanceCoinsProgress; - private NestedScrollView currentNestedScrollView; - private EditText searchEditText; - private String networksJson; - - public BinanceDepositFragment() { - // Required empty public constructor - } - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - mBinanceNativeWorker = BinanceNativeWorker.getInstance(); - } - - @Override - public View onCreateView( - LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - mBinanceNativeWorker.AddObserver(mBinanaceObserver); - return inflater.inflate(R.layout.fragment_binance_deposit, container, false); - } - - @Override - public void onDestroyView() { - mBinanceNativeWorker.RemoveObserver(mBinanaceObserver); - super.onDestroyView(); - } - - @Override - public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { - super.onViewCreated(view, savedInstanceState); - LinearLayout depositMainLayout = view.findViewById(R.id.binance_deposit_main_layout); - TextView noConnectionText = view.findViewById(R.id.no_connection_text); - if (InternetConnection.isNetworkAvailable(getActivity())) { - noConnectionText.setVisibility(View.GONE); - depositMainLayout.setVisibility(View.VISIBLE); - depositCoinListLayout = view.findViewById(R.id.deposit_layout); - binanceCoinsProgress = view.findViewById(R.id.binance_coins_progress); - searchEditText = view.findViewById(R.id.binance_coin_search); - searchEditText.addTextChangedListener(new TextWatcher() { - @Override - public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {} - - @Override - public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { - if (networksJson != null && !TextUtils.isEmpty(networksJson)) { - showCoinList(networksJson, - charSequence.toString().toLowerCase(Locale.getDefault())); - } - } - - @Override - public void afterTextChanged(Editable editable) {} - }); - depositCoinListLayout.setVisibility(View.GONE); - binanceCoinsProgress.setVisibility(View.VISIBLE); - mBinanceNativeWorker.getCoinNetworks(); - } else { - noConnectionText.setVisibility(View.VISIBLE); - depositMainLayout.setVisibility(View.GONE); - } - } - - private void showCoinList(String networks, String filterQuery) { - try { - BinanceCoinNetworks binanceCoinNetworks = new BinanceCoinNetworks(networks); - LayoutInflater inflater = (LayoutInflater) getActivity().getSystemService( - Context.LAYOUT_INFLATER_SERVICE); - if (depositCoinListLayout != null) { - depositCoinListLayout.removeAllViews(); - } - for (CoinNetworkModel coinNetworkModel : binanceCoinNetworks.getCoinNetworksList()) { - if (filterQuery == null - || (coinNetworkModel.getCoin() - .toLowerCase(Locale.getDefault()) - .contains(filterQuery) - || coinNetworkModel.getCoinDesc() - .toLowerCase(Locale.getDefault()) - .contains(filterQuery))) { - final View view = inflater.inflate(R.layout.binance_deposit_item, null); - - ImageView currencyImageView = view.findViewById(R.id.currency_image); - TextView currencyText = view.findViewById(R.id.currency_text); - - String currencyString = - new StringBuilder(coinNetworkModel.getCoin()) - .append((TextUtils.isEmpty(coinNetworkModel.getCoinDesc()) - ? "" - : " (" + coinNetworkModel.getCoinDesc() + ")")) - .toString(); - - currencyText.setText(currencyString); - if (coinNetworkModel.getCoinRes() == 0) { - currencyImageView.setImageResource(R.drawable.eth); - currencyImageView.setVisibility(View.INVISIBLE); - } else { - currencyImageView.setImageResource(coinNetworkModel.getCoinRes()); - } - view.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - selectedCoinNetworkModel = coinNetworkModel; - mBinanceNativeWorker.getDepositInfo(coinNetworkModel.getCoin(), - coinNetworkModel.getTickerNetwork()); - } - }); - if (depositCoinListLayout != null) { - depositCoinListLayout.addView(view); - } - } - } - if (depositCoinListLayout != null) { - depositCoinListLayout.setVisibility(View.VISIBLE); - } - if (binanceCoinsProgress != null) { - binanceCoinsProgress.setVisibility(View.GONE); - } - } catch (JSONException e) { - Log.e("NTP", e.getMessage()); - } - } - - private BinanceObserver mBinanaceObserver = new BinanceObserver() { - @Override - public void OnGetAccessToken(boolean isSuccess){}; - - @Override - public void OnGetAccountBalances(String jsonBalances, boolean isSuccess){}; - - @Override - public void OnGetConvertQuote( - String quoteId, String quotePrice, String totalFee, String totalAmount){}; - - @Override - public void OnGetCoinNetworks(String jsonNetworks) { - networksJson = jsonNetworks; - showCoinList(jsonNetworks, null); - }; - - @Override - public void OnGetDepositInfo(String depositAddress, String depositTag, boolean isSuccess) { - if (isSuccess && selectedCoinNetworkModel != null && getView() != null) { - FrameLayout depositLayout = - (FrameLayout) getView().findViewById(R.id.binance_deposit_layout); - ImageView depositBack = depositLayout.findViewById(R.id.currency_back); - TextView currencyTitleText = depositLayout.findViewById(R.id.currency_text); - ImageView depositIcon = depositLayout.findViewById(R.id.currency_image); - ImageView depositQrIcon = depositLayout.findViewById(R.id.currency_qr_image); - TextView currencyAddressText = - depositLayout.findViewById(R.id.currency_address_text); - TextView currencyMemoText = depositLayout.findViewById(R.id.currency_memo_text); - TextView currencyAddressValueText = - depositLayout.findViewById(R.id.currency_address_value_text); - TextView currencyMemoValueText = - depositLayout.findViewById(R.id.currency_memo_value_text); - Button btnCopyAddress = depositLayout.findViewById(R.id.btn_copy_address); - Button btnCopyMemo = depositLayout.findViewById(R.id.btn_copy_memo); - - depositQrIcon.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - QRCodeShareDialogFragment mQRCodeShareDialogFragment = - new QRCodeShareDialogFragment(); - mQRCodeShareDialogFragment.setQRCodeText(depositAddress); - mQRCodeShareDialogFragment.show( - getParentFragmentManager(), "QRCodeShareDialogFragment"); - } - }); - - if (selectedCoinNetworkModel != null) { - String currencyTitleString = - new StringBuilder(selectedCoinNetworkModel.getCoin()) - .append((TextUtils.isEmpty( - selectedCoinNetworkModel.getCoinDesc()) - ? "" - : " (" + selectedCoinNetworkModel.getCoinDesc() - + ")")) - .toString(); - currencyTitleText.setText(currencyTitleString); - currencyAddressText.setText(String.format( - getActivity().getResources().getString(R.string.currency_address_text), - selectedCoinNetworkModel.getCoin())); - currencyMemoText.setText(String.format( - getActivity().getResources().getString(R.string.currency_memo_text), - selectedCoinNetworkModel.getCoin())); - depositIcon.setImageResource(selectedCoinNetworkModel.getCoinRes()); - } - - depositBack.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - if (depositCoinListLayout != null) { - depositCoinListLayout.setVisibility(View.VISIBLE); - depositLayout.setVisibility(View.GONE); - currencyMemoText.setVisibility(View.GONE); - currencyMemoValueText.setVisibility(View.GONE); - btnCopyMemo.setVisibility(View.GONE); - } - if (searchEditText != null) { - searchEditText.setVisibility(View.VISIBLE); - } - selectedCoinNetworkModel = null; - } - }); - depositLayout.setVisibility(View.VISIBLE); - if (depositCoinListLayout != null) { - depositCoinListLayout.setVisibility(View.GONE); - } - - if (searchEditText != null) { - searchEditText.setVisibility(View.GONE); - } - - currencyAddressValueText.setText(depositAddress); - if (!TextUtils.isEmpty(depositTag)) { - currencyMemoText.setVisibility(View.VISIBLE); - currencyMemoValueText.setVisibility(View.VISIBLE); - btnCopyMemo.setVisibility(View.VISIBLE); - currencyMemoValueText.setText(depositTag); - } - - btnCopyAddress.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - if (selectedCoinNetworkModel != null) { - copyTextToClipboard( - String.format(getActivity().getResources().getString( - R.string.currency_address_text), - selectedCoinNetworkModel.getCoin()), - depositAddress); - } - } - }); - - btnCopyMemo.setOnClickListener(new View.OnClickListener() { - @Override - public void onClick(View view) { - if (selectedCoinNetworkModel != null) { - copyTextToClipboard( - String.format(getActivity().getResources().getString( - R.string.currency_memo_text), - selectedCoinNetworkModel.getCoin()), - depositTag); - } - } - }); - } - }; - - @Override - public void OnConfirmConvert(boolean isSuccess, String message){}; - - @Override - public void OnGetConvertAssets(String jsonAssets){}; - - @Override - public void OnRevokeToken(boolean isSuccess){}; - }; - - private void copyTextToClipboard(String title, String textToCopy) { - android.content.ClipboardManager clipboard = - (android.content.ClipboardManager) getActivity().getSystemService( - Context.CLIPBOARD_SERVICE); - android.content.ClipData clip = android.content.ClipData.newPlainText(title, textToCopy); - clipboard.setPrimaryClip(clip); - Toast.makeText(getActivity(), R.string.text_has_been_copied, Toast.LENGTH_LONG).show(); - } -} \ No newline at end of file diff --git a/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceNativeWorker.java b/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceNativeWorker.java deleted file mode 100644 index bea4f4fc2776..000000000000 --- a/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceNativeWorker.java +++ /dev/null @@ -1,203 +0,0 @@ -/** - * Copyright (c) 2020 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. - */ - -package org.chromium.chrome.browser.widget.crypto.binance; - -import org.chromium.base.annotations.CalledByNative; -import org.chromium.base.annotations.JNINamespace; -import org.chromium.base.annotations.NativeMethods; -import org.chromium.chrome.browser.widget.crypto.binance.BinanceObserver; - -import java.util.ArrayList; -import java.util.List; - -@JNINamespace("chrome::android") -public class BinanceNativeWorker { - private long mNativeBinanceNativeWorker; - private static final Object lock = new Object(); - private static BinanceNativeWorker instance; - - private List mObservers; - - public static BinanceNativeWorker getInstance() { - synchronized (lock) { - if (instance == null) { - instance = new BinanceNativeWorker(); - instance.Init(); - } - } - return instance; - } - - private BinanceNativeWorker() { - mObservers = new ArrayList(); - } - - private void Init() { - if (mNativeBinanceNativeWorker == 0) { - BinanceNativeWorkerJni.get().init(this); - } - } - - @Override - protected void finalize() { - Destroy(); - } - - private void Destroy() { - if (mNativeBinanceNativeWorker != 0) { - BinanceNativeWorkerJni.get().destroy(mNativeBinanceNativeWorker, this); - mNativeBinanceNativeWorker = 0; - } - } - - public void AddObserver(BinanceObserver observer) { - synchronized (lock) { - mObservers.add(observer); - } - } - - public void RemoveObserver(BinanceObserver observer) { - synchronized (lock) { - mObservers.remove(observer); - } - } - - public void getAccessToken() { - synchronized (lock) { - BinanceNativeWorkerJni.get().getAccessToken(mNativeBinanceNativeWorker); - } - } - - public boolean IsSupportedRegion() { - synchronized(lock) { - return BinanceNativeWorkerJni.get().isSupportedRegion(mNativeBinanceNativeWorker); - } - } - - public String getLocaleForURL() { - return BinanceNativeWorkerJni.get().getLocaleForURL(mNativeBinanceNativeWorker); - } - - @CalledByNative - private void setNativePtr(long nativePtr) { - assert mNativeBinanceNativeWorker == 0; - mNativeBinanceNativeWorker = nativePtr; - } - - @CalledByNative - public void OnGetAccessToken(boolean isSuccess) { - for (BinanceObserver observer : mObservers) { - observer.OnGetAccessToken(isSuccess); - } - } - - @CalledByNative - public void OnGetAccountBalances(String jsonBalances, boolean isSuccess) { - for (BinanceObserver observer : mObservers) { - observer.OnGetAccountBalances(jsonBalances, isSuccess); - } - } - - @CalledByNative - public void OnGetConvertQuote( - String quoteId, String quotePrice, String totalFee, String totalAmount) { - for (BinanceObserver observer : mObservers) { - observer.OnGetConvertQuote(quoteId, quotePrice, totalFee, totalAmount); - } - } - - @CalledByNative - public void OnGetCoinNetworks(String jsonNetworks) { - for (BinanceObserver observer : mObservers) { - observer.OnGetCoinNetworks(jsonNetworks); - } - } - - @CalledByNative - public void OnGetDepositInfo(String depositAddress, String depositTag, boolean isSuccess) { - for (BinanceObserver observer : mObservers) { - observer.OnGetDepositInfo(depositAddress, depositTag, isSuccess); - } - } - - @CalledByNative - public void OnConfirmConvert(boolean isSuccess, String message) { - for (BinanceObserver observer : mObservers) { - observer.OnConfirmConvert(isSuccess, message); - } - } - - @CalledByNative - public void OnGetConvertAssets(String jsonAssets) { - for (BinanceObserver observer : mObservers) { - observer.OnGetConvertAssets(jsonAssets); - } - } - - @CalledByNative - public void OnRevokeToken(boolean isSuccess) { - for (BinanceObserver observer : mObservers) { - observer.OnRevokeToken(isSuccess); - } - } - - public String getOAuthClientUrl() { - return BinanceNativeWorkerJni.get().getOAuthClientUrl(mNativeBinanceNativeWorker); - } - - public void setAuthToken(String authToken) { - BinanceNativeWorkerJni.get().setAuthToken(mNativeBinanceNativeWorker, authToken); - } - - public void getAccountBalances() { - BinanceNativeWorkerJni.get().getAccountBalances(mNativeBinanceNativeWorker); - } - - public void getConvertQuote(String from, String to, String amount) { - BinanceNativeWorkerJni.get().getConvertQuote(mNativeBinanceNativeWorker, from, to, amount); - } - - public void getCoinNetworks() { - BinanceNativeWorkerJni.get().getCoinNetworks(mNativeBinanceNativeWorker); - } - - public void getDepositInfo(String symbol, String tickerNetwork) { - BinanceNativeWorkerJni.get().getDepositInfo( - mNativeBinanceNativeWorker, symbol, tickerNetwork); - } - - public void confirmConvert(String quoteId) { - BinanceNativeWorkerJni.get().confirmConvert(mNativeBinanceNativeWorker, quoteId); - } - - public void getConvertAssets() { - BinanceNativeWorkerJni.get().getConvertAssets(mNativeBinanceNativeWorker); - } - - public void revokeToken() { - BinanceNativeWorkerJni.get().revokeToken(mNativeBinanceNativeWorker); - } - - @NativeMethods - interface Natives { - void init(BinanceNativeWorker caller); - void destroy(long nativeBinanceNativeWorker, BinanceNativeWorker caller); - String getOAuthClientUrl(long nativeBinanceNativeWorker); - void getAccessToken(long nativeBinanceNativeWorker); - boolean isSupportedRegion(long nativeBinanceNativeWorker); - String getLocaleForURL(long nativeBinanceNativeWorker); - void setAuthToken(long nativeBinanceNativeWorker, String authToken); - void getAccountBalances(long nativeBinanceNativeWorker); - void getConvertQuote(long nativeBinanceNativeWorker, String from, String to, String amount); - void getCoinNetworks(long nativeBinanceNativeWorker); - void getDepositInfo(long nativeBinanceNativeWorker, String symbol, String tickerNetwork); - void confirmConvert(long nativeBinanceNativeWorker, String quoteId); - void getConvertAssets(long nativeBinanceNativeWorker); - void revokeToken(long nativeBinanceNativeWorker); - } -} diff --git a/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceObserver.java b/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceObserver.java deleted file mode 100644 index 6796fc9fd250..000000000000 --- a/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceObserver.java +++ /dev/null @@ -1,18 +0,0 @@ -/* Copyright (c) 2019 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ -package org.chromium.chrome.browser.widget.crypto.binance; - -public interface BinanceObserver { - default public void OnGetAccessToken(boolean isSuccess){}; - default public void OnGetAccountBalances(String jsonBalances, boolean isSuccess){}; - default public void OnGetConvertQuote( - String quoteId, String quotePrice, String totalFee, String totalAmount){}; - default public void OnGetCoinNetworks(String jsonNetworks){}; - default public void OnGetDepositInfo( - String depositAddress, String depositTag, boolean isSuccess){}; - default public void OnConfirmConvert(boolean isSuccess, String message){}; - default public void OnGetConvertAssets(String jsonAssets){}; - default public void OnRevokeToken(boolean isSuccess){}; -} \ No newline at end of file diff --git a/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceSpinnerAdapter.java b/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceSpinnerAdapter.java deleted file mode 100644 index 830c5a63f9b0..000000000000 --- a/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceSpinnerAdapter.java +++ /dev/null @@ -1,101 +0,0 @@ -/** - * Copyright (c) 2020 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. - */ - -package org.chromium.chrome.browser.widget.crypto.binance; - -import static org.chromium.ui.base.ViewUtils.dpToPx; - -import android.content.Context; -import android.graphics.Bitmap; -import android.graphics.Canvas; -import android.graphics.drawable.BitmapDrawable; -import android.graphics.drawable.Drawable; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.ArrayAdapter; -import android.widget.ImageView; -import android.widget.TextView; - -import androidx.core.content.res.ResourcesCompat; - -import org.chromium.chrome.R; - -import java.util.List; - -public class BinanceSpinnerAdapter extends ArrayAdapter { - private List items; - private boolean shouldShowIcon; - - public BinanceSpinnerAdapter( - Context context, List items, boolean shouldShowIcon) { - super(context, R.layout.binance_spinner_item, items); - this.items = items; - this.shouldShowIcon = shouldShowIcon; - } - - @Override - public View getDropDownView(int position, View convertView, ViewGroup parent) { - View view = convertView; - if (view == null) { - LayoutInflater inflater = - (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); - view = inflater.inflate(R.layout.binance_spinner_dropdown_item, parent, false); - } - - TextView currencyText = view.findViewById(R.id.currency_text); - currencyText.setText(items.get(position).getCoin()); - - ImageView currencyImage = view.findViewById(R.id.currency_image); - if (shouldShowIcon && items.get(position).getCoinRes() != 0) { - currencyImage.setVisibility(View.VISIBLE); - currencyImage.setImageResource(items.get(position).getCoinRes()); - } else if (!shouldShowIcon) { - currencyImage.setVisibility(View.GONE); - } else { - currencyImage.setVisibility(View.INVISIBLE); - } - return view; - } - - @Override - public CoinNetworkModel getItem(int position) { - return items.get(position); - } - - @Override - public View getView(int position, View convertView, ViewGroup parent) { - TextView textView = (TextView) super.getView(position, convertView, parent); - - if (textView == null) { - textView = new TextView(getContext()); - } - textView.setText(items.get(position).getCoin()); - - Drawable coinDrawable; - if (shouldShowIcon && items.get(position).getCoinRes() != 0) { - Drawable tempCoinDrawable = ResourcesCompat.getDrawable(getContext().getResources(), - items.get(position).getCoinRes(), /* theme= */ null); - Bitmap bitmap = Bitmap.createBitmap(tempCoinDrawable.getIntrinsicWidth(), - tempCoinDrawable.getIntrinsicHeight(), Bitmap.Config.ARGB_8888); - Canvas canvas = new Canvas(bitmap); - tempCoinDrawable.setBounds(0, 0, canvas.getWidth(), canvas.getHeight()); - tempCoinDrawable.draw(canvas); - coinDrawable = new BitmapDrawable(getContext().getResources(), - Bitmap.createScaledBitmap( - bitmap, dpToPx(getContext(), 24), dpToPx(getContext(), 24), true)); - } else { - coinDrawable = null; - } - - textView.setCompoundDrawablesWithIntrinsicBounds(coinDrawable, null, - ResourcesCompat.getDrawable(getContext().getResources(), - R.drawable.ic_arrow_drop_down_white, /* theme= */ null), - null); - return textView; - } -} diff --git a/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceSummaryFragment.java b/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceSummaryFragment.java deleted file mode 100644 index 432685e369f9..000000000000 --- a/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceSummaryFragment.java +++ /dev/null @@ -1,188 +0,0 @@ -/* Copyright (c) 2020 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -package org.chromium.chrome.browser.widget.crypto.binance; - -import android.content.Context; -import android.os.Bundle; -import android.text.TextUtils; -import android.util.Pair; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; -import android.widget.ImageView; -import android.widget.LinearLayout; -import android.widget.ProgressBar; -import android.widget.TextView; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.fragment.app.Fragment; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; - -import com.google.android.material.bottomsheet.BottomSheetDialogFragment; - -import org.json.JSONException; - -import org.chromium.base.Log; -import org.chromium.chrome.R; -import org.chromium.chrome.browser.InternetConnection; -import org.chromium.chrome.browser.widget.crypto.binance.BinanceAccountBalance; -import org.chromium.chrome.browser.widget.crypto.binance.BinanceCoinNetworks; -import org.chromium.chrome.browser.widget.crypto.binance.BinanceNativeWorker; -import org.chromium.chrome.browser.widget.crypto.binance.BinanceObserver; -import org.chromium.chrome.browser.widget.crypto.binance.BinanceWidgetManager; - -import java.util.List; -import java.util.Locale; - -public class BinanceSummaryFragment extends Fragment { - private BinanceNativeWorker mBinanceNativeWorker; - private LinearLayout summaryLayout; - private ProgressBar binanceCoinsProgress; - private TextView binanceBalanceText; - private TextView binanceBtcText; - private TextView binanceUSDBalanceText; - - private static final String ZERO_BALANCE = "0.000000"; - private static final String ZERO_USD_BALANCE = "0.00"; - private static final String BTC = "BTC"; - - public BinanceSummaryFragment() { - // Required empty public constructor - } - - @Override - public void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); - mBinanceNativeWorker = BinanceNativeWorker.getInstance(); - } - - @Override - public View onCreateView( - LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { - mBinanceNativeWorker.AddObserver(mBinanaceObserver); - return inflater.inflate(R.layout.fragment_binance_summary, container, false); - } - - @Override - public void onDestroyView() { - mBinanceNativeWorker.RemoveObserver(mBinanaceObserver); - super.onDestroyView(); - } - - @Override - public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { - super.onViewCreated(view, savedInstanceState); - LinearLayout binanceSummaryLayout = view.findViewById(R.id.binance_summary_layout); - TextView noConnectionText = view.findViewById(R.id.no_connection_text); - if (InternetConnection.isNetworkAvailable(getActivity())) { - binanceSummaryLayout.setVisibility(View.VISIBLE); - noConnectionText.setVisibility(View.GONE); - mBinanceNativeWorker.getAccountBalances(); - binanceBalanceText = view.findViewById(R.id.binance_balance_text); - binanceBtcText = view.findViewById(R.id.binance_btc_text); - binanceUSDBalanceText = view.findViewById(R.id.binance_usd_balance_text); - - binanceCoinsProgress = view.findViewById(R.id.binance_coins_progress); - - summaryLayout = view.findViewById(R.id.summary_layout); - binanceCoinsProgress.setVisibility(View.VISIBLE); - summaryLayout.setVisibility(View.GONE); - } else { - noConnectionText.setVisibility(View.VISIBLE); - binanceSummaryLayout.setVisibility(View.GONE); - } - } - - private BinanceObserver mBinanaceObserver = new BinanceObserver() { - @Override - public void OnGetAccountBalances(String jsonBalances, boolean isSuccess) { - if (isSuccess) { - if (jsonBalances != null && !TextUtils.isEmpty(jsonBalances)) { - BinanceWidgetManager.getInstance().setBinanceAccountBalance(jsonBalances); - } - try { - BinanceWidgetManager.binanceAccountBalance = - new BinanceAccountBalance(jsonBalances); - binanceBalanceText.setText(String.format(Locale.getDefault(), "%.6f", - BinanceWidgetManager.binanceAccountBalance.getTotalBTC())); - binanceBtcText.setText(BTC); - binanceUSDBalanceText.setText(String.format( - getActivity().getResources().getString(R.string.usd_balance), - String.format(Locale.getDefault(), "%.2f", - BinanceWidgetManager.binanceAccountBalance.getTotalUSD()))); - } catch (JSONException e) { - Log.e("NTP", e.getMessage()); - } - - mBinanceNativeWorker.getCoinNetworks(); - } - }; - - @Override - public void OnGetCoinNetworks(String jsonNetworks) { - try { - BinanceCoinNetworks binanceCoinNetworks = new BinanceCoinNetworks(jsonNetworks); - LayoutInflater inflater = (LayoutInflater) getActivity().getSystemService( - Context.LAYOUT_INFLATER_SERVICE); - if (summaryLayout != null) { - summaryLayout.removeAllViews(); - } - for (CoinNetworkModel coinNetworkModel : - binanceCoinNetworks.getCoinNetworksList()) { - final View view = inflater.inflate(R.layout.binance_summary_item, null); - - ImageView currencyImageView = view.findViewById(R.id.currency_image); - TextView currencyText = view.findViewById(R.id.currency_text); - TextView currencyValueText = view.findViewById(R.id.currency_value_text); - TextView currencyUsdText = view.findViewById(R.id.currency_usd_text); - - currencyText.setText(coinNetworkModel.getCoin()); - - if (coinNetworkModel.getCoinRes() == 0) { - currencyImageView.setImageResource(R.drawable.eth); - currencyImageView.setVisibility(View.INVISIBLE); - } else { - currencyImageView.setImageResource(coinNetworkModel.getCoinRes()); - } - - String coinBalance; - String usdBalance; - if (BinanceWidgetManager.binanceAccountBalance.getCurrencyValue( - coinNetworkModel.getCoin()) - != null) { - Pair currencyValue = - BinanceWidgetManager.binanceAccountBalance.getCurrencyValue( - coinNetworkModel.getCoin()); - coinBalance = - String.format(Locale.getDefault(), "%.6f", currencyValue.first); - usdBalance = - String.format(Locale.getDefault(), "%.2f", currencyValue.second); - } else { - coinBalance = ZERO_BALANCE; - usdBalance = ZERO_USD_BALANCE; - } - - currencyValueText.setText(coinBalance); - currencyUsdText.setText(String.format( - getActivity().getResources().getString(R.string.usd_balance), - usdBalance)); - - if (summaryLayout != null) { - summaryLayout.addView(view); - summaryLayout.setVisibility(View.VISIBLE); - } - if (binanceCoinsProgress != null) { - binanceCoinsProgress.setVisibility(View.GONE); - } - } - } catch (JSONException e) { - Log.e("NTP", e.getMessage()); - } - }; - }; -} \ No newline at end of file diff --git a/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceWidgetManager.java b/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceWidgetManager.java deleted file mode 100644 index fe4cb12f9908..000000000000 --- a/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceWidgetManager.java +++ /dev/null @@ -1,135 +0,0 @@ -/** - * Copyright (c) 2020 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. - */ - -package org.chromium.chrome.browser.widget.crypto.binance; - -import android.content.SharedPreferences; - -import org.chromium.base.ContextUtils; -import org.chromium.chrome.R; -import org.chromium.chrome.browser.widget.crypto.binance.BinanceAccountBalance; -import org.chromium.chrome.browser.widget.crypto.binance.CoinNetworkModel; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.TreeMap; - -public class BinanceWidgetManager { - public static final String PREF_BINANCE_USER_AUTHENTICATION = "binance_user_authentication"; - public static final String PREF_BINANCE_ACCOUNT_BALANCE = "binance_account_balance"; - - public static final String BINANCE_US = - "https://www.binance.us/en/buy-sell-crypto?crypto=%1$s&amount=%2$s&ref=35089877&utm_source=brave"; - public static final String BINANCE_COM_ONE = "https://www.binance.com/"; - public static final String BINANCE_COM_TWO = - "/buy-sell-crypto?fiat=%1$s&crypto=%2$s&amount=%3$s&ref=W4GYNUAJ&utm_source=brave"; - - private static BinanceWidgetManager sInstance; - - private final SharedPreferences mSharedPreferences; - - public static BinanceAccountBalance binanceAccountBalance; - - public static final List fiatList = Arrays.asList("USD", "AUD", "ARS", "BGN", "BRL", - "CAD", "CHF", "CNY", "COP", "CZK", "DKK", "EUR", "GBP", "HKD", "HRK", "HUF", "IDR", - "ILS", "INR", "JPY", "KRW", "KZT", "MXN", "NGN", "NOK", "NZD", "PLN", "RON", "RUB", - "SEK", "THB", "TRY", "UAH", "VND", "ZAR"); - public static final Map extraCurrenciesMap = - new HashMap() { - { - put("XVG", new CoinNetworkModel("XVG", "", R.drawable.xvg)); - put("DOGE", new CoinNetworkModel("DOGE", "", R.drawable.doge)); - put("ETC", new CoinNetworkModel("ETC", "", R.drawable.etc)); - put("ZEC", new CoinNetworkModel("ZEC", "", R.drawable.zec)); - put("LTC", new CoinNetworkModel("LTC", "", R.drawable.ltc)); - put("USDC", new CoinNetworkModel("USDC", "", R.drawable.usdc)); - put("ENG", new CoinNetworkModel("ENG", "", R.drawable.eng)); - put("ADX", new CoinNetworkModel("ADX", "", R.drawable.adx)); - } - }; - public static final Map usCurrenciesMap = - new HashMap() { - { - put("BTC", new CoinNetworkModel("BTC", "Bitcoin", R.drawable.btc)); - put("ETH", new CoinNetworkModel("ETH", "Ethereum", R.drawable.eth)); - put("BNB", new CoinNetworkModel("BNB", "Binance Coin", R.drawable.bnb)); - put("BCH", new CoinNetworkModel("BCH", "Bitcoin Cash", R.drawable.bch)); - put("XRP", new CoinNetworkModel("XRP", "Ripple", R.drawable.xrp)); - put("BUSD", new CoinNetworkModel("BUSD", "US Dollar", R.drawable.busd)); - put("BAT", - new CoinNetworkModel("BAT", "Basic Attention Token", R.drawable.bat)); - put("XTZ", new CoinNetworkModel("XTZ", "", R.drawable.xtz)); - put("ALGO", new CoinNetworkModel("ALGO", "", 0)); - put("ATOM", new CoinNetworkModel("ATOM", "", R.drawable.atom)); - put("LINK", new CoinNetworkModel("LINK", "", R.drawable.link)); - put("VET", new CoinNetworkModel("VET", "", R.drawable.vet)); - put("ZRX", new CoinNetworkModel("ZRX", "", R.drawable.zrx)); - put("ADA", new CoinNetworkModel("ADA", "", R.drawable.ada)); - put("XLM", new CoinNetworkModel("XLM", "", R.drawable.xlm)); - put("ENJ", new CoinNetworkModel("ENJ", "", R.drawable.enj)); - put("ZIL", new CoinNetworkModel("ZIL", "", R.drawable.zil)); - put("RVN", new CoinNetworkModel("RVN", "", R.drawable.rvn)); - put("ONT", new CoinNetworkModel("ONT", "", R.drawable.ont)); - put("HBAR", new CoinNetworkModel("HBAR", "", 0)); - put("MATIC", new CoinNetworkModel("MATIC", "", R.drawable.matic)); - } - }; - public static final Map comCurrenciesMap = - new HashMap() { - { - put("BTC", new CoinNetworkModel("BTC", "Bitcoin", R.drawable.btc)); - put("ETH", new CoinNetworkModel("ETH", "Ethereum", R.drawable.eth)); - put("BAT", - new CoinNetworkModel("BAT", "Basic Attention Token", R.drawable.bat)); - put("XRP", new CoinNetworkModel("XRP", "Ripple", R.drawable.xrp)); - put("BNB", new CoinNetworkModel("BNB", "Binance Coin", R.drawable.bnb)); - put("BCH", new CoinNetworkModel("BCH", "Bitcoin Cash", R.drawable.bch)); - put("DASH", new CoinNetworkModel("DASH", "", R.drawable.dash)); - put("EOS", new CoinNetworkModel("EOS", "", R.drawable.eos)); - put("NANO", new CoinNetworkModel("NANO", "", R.drawable.nano)); - put("PAX", new CoinNetworkModel("PAX", "", R.drawable.pax)); - put("TRX", new CoinNetworkModel("TRX", "", R.drawable.trx)); - put("BUSD", new CoinNetworkModel("BUSD", "US Dollar", R.drawable.busd)); - put("TUSD", new CoinNetworkModel("TUSD", "", R.drawable.tusd)); - put("USDT", new CoinNetworkModel("USDT", "", R.drawable.usdt)); - } - }; - - private BinanceWidgetManager() { - mSharedPreferences = ContextUtils.getAppSharedPreferences(); - } - - public static BinanceWidgetManager getInstance() { - if (sInstance == null) { - sInstance = new BinanceWidgetManager(); - } - return sInstance; - } - - public boolean isUserAuthenticatedForBinance() { - return mSharedPreferences.getBoolean(PREF_BINANCE_USER_AUTHENTICATION, false); - } - - public void setUserAuthenticationForBinance(boolean isAuthenticated) { - SharedPreferences.Editor sharedPreferencesEditor = mSharedPreferences.edit(); - sharedPreferencesEditor.putBoolean(PREF_BINANCE_USER_AUTHENTICATION, isAuthenticated); - sharedPreferencesEditor.apply(); - } - - public String getBinanceAccountBalance() { - return mSharedPreferences.getString(PREF_BINANCE_ACCOUNT_BALANCE, ""); - } - - public void setBinanceAccountBalance(String accountBalance) { - SharedPreferences.Editor sharedPreferencesEditor = mSharedPreferences.edit(); - sharedPreferencesEditor.putString(PREF_BINANCE_ACCOUNT_BALANCE, accountBalance); - sharedPreferencesEditor.apply(); - } -} \ No newline at end of file diff --git a/android/java/org/chromium/chrome/browser/widget/crypto/binance/CoinNetworkModel.java b/android/java/org/chromium/chrome/browser/widget/crypto/binance/CoinNetworkModel.java deleted file mode 100644 index b425ab51eaee..000000000000 --- a/android/java/org/chromium/chrome/browser/widget/crypto/binance/CoinNetworkModel.java +++ /dev/null @@ -1,50 +0,0 @@ -/** - * Copyright (c) 2020 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. - */ -package org.chromium.chrome.browser.widget.crypto.binance; - -import androidx.annotation.VisibleForTesting; - -public class CoinNetworkModel { - private String coin; - private String tickerNetwork; - private String coinDesc; - private int coinRes; - - public CoinNetworkModel(String coin, String coinDesc, int coinRes) { - this.coin = coin; - this.coinDesc = coinDesc; - this.coinRes = coinRes; - } - - public void setTickerNetwork(String tickerNetwork) { - this.tickerNetwork = tickerNetwork; - } - - public String getCoin() { - return coin; - } - - public String getTickerNetwork() { - return tickerNetwork; - } - - public String getCoinDesc() { - return coinDesc; - } - - public int getCoinRes() { - return coinRes; - } - - @Override - public String toString() { - StringBuilder strBuilder = new StringBuilder(coin); - strBuilder.append(tickerNetwork); - strBuilder.append(coinDesc); - return strBuilder.toString(); - } -} \ No newline at end of file diff --git a/android/java/org/chromium/chrome/browser/widget/crypto/binance/ConvertAsset.java b/android/java/org/chromium/chrome/browser/widget/crypto/binance/ConvertAsset.java deleted file mode 100644 index 270460488f74..000000000000 --- a/android/java/org/chromium/chrome/browser/widget/crypto/binance/ConvertAsset.java +++ /dev/null @@ -1,25 +0,0 @@ -/** - * Copyright (c) 2020 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. - */ -package org.chromium.chrome.browser.widget.crypto.binance; - -public class ConvertAsset { - private String mAsset; - private String mMinAmount; - - public ConvertAsset(String asset, String minAmount) { - this.mAsset = asset; - this.mMinAmount = minAmount; - } - - public String getAsset() { - return mAsset; - } - - public String getMinAmount() { - return mMinAmount; - } -} \ No newline at end of file diff --git a/android/java/org/chromium/chrome/browser/widget/crypto/binance/CryptoWidgetBottomSheetDialogFragment.java b/android/java/org/chromium/chrome/browser/widget/crypto/binance/CryptoWidgetBottomSheetDialogFragment.java deleted file mode 100644 index b761263baf05..000000000000 --- a/android/java/org/chromium/chrome/browser/widget/crypto/binance/CryptoWidgetBottomSheetDialogFragment.java +++ /dev/null @@ -1,100 +0,0 @@ -/* Copyright (c) 2020 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -package org.chromium.chrome.browser.widget.crypto.binance; - -import android.content.DialogInterface; -import android.os.Bundle; -import android.view.LayoutInflater; -import android.view.View; -import android.view.ViewGroup; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.fragment.app.FragmentPagerAdapter; -import androidx.viewpager.widget.ViewPager; - -import com.google.android.material.bottomsheet.BottomSheetDialogFragment; -import com.google.android.material.tabs.TabLayout; - -import org.json.JSONException; - -import org.chromium.base.Log; -import org.chromium.chrome.R; -import org.chromium.chrome.browser.widget.crypto.binance.BinanceAccountBalance; -import org.chromium.chrome.browser.widget.crypto.binance.BinanceCoinNetworks; -import org.chromium.chrome.browser.widget.crypto.binance.BinanceNativeWorker; -import org.chromium.chrome.browser.widget.crypto.binance.BinanceObserver; -import org.chromium.chrome.browser.widget.crypto.binance.BinanceWidgetManager; - -import java.util.ArrayList; -import java.util.List; - -public class CryptoWidgetBottomSheetDialogFragment extends BottomSheetDialogFragment{ - final public static String TAG_FRAGMENT = "CRYPTO_WIDGET_FRAG"; - private ViewPager viewPager; - private CryptoWidgetTabAdapter adapter; - private CryptoWidgetBottomSheetDialogDismissListener - mCryptoWidgetBottomSheetDialogDismissListener; - - public interface BinanceBottomSheetListener { - void onContinue(); - void dismissBottomSheetDialog(); - } - - public interface CryptoWidgetBottomSheetDialogDismissListener { - void onCryptoWidgetBottomSheetDialogDismiss(); - } - - public void setCryptoWidgetBottomSheetDialogDismissListener( - CryptoWidgetBottomSheetDialogDismissListener - cryptoWidgetBottomSheetDialogDismissListener) { - this.mCryptoWidgetBottomSheetDialogDismissListener = - cryptoWidgetBottomSheetDialogDismissListener; - } - - @Nullable - @Override - public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, - @Nullable Bundle savedInstanceState) { - View view = inflater.inflate( - R.layout.fragment_crypto_widget_bottom_sheet_dialog, container, false); - - return view; - } - - @Override - public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) { - super.onViewCreated(view, savedInstanceState); - viewPager = view.findViewById(R.id.viewpager); - TabLayout tabLayout = view.findViewById(R.id.tablayout); - - assert getFragmentManager() != null; - adapter = new CryptoWidgetTabAdapter(getChildFragmentManager(), - FragmentPagerAdapter.BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT); - adapter.setBinanceBottomSheetListener(binanceBottomSheetListener); - viewPager.setAdapter(adapter); - tabLayout.setupWithViewPager(viewPager); - } - - @Override - public void onDismiss(DialogInterface dialog) { - super.onDismiss(dialog); - mCryptoWidgetBottomSheetDialogDismissListener.onCryptoWidgetBottomSheetDialogDismiss(); - } - - private BinanceBottomSheetListener binanceBottomSheetListener = - new BinanceBottomSheetListener() { - @Override - public void onContinue() { - if (viewPager != null && adapter != null) viewPager.setAdapter(adapter); - } - - @Override - public void dismissBottomSheetDialog() { - dismiss(); - } - }; -} \ No newline at end of file diff --git a/android/java/org/chromium/chrome/browser/widget/crypto/binance/CryptoWidgetTabAdapter.java b/android/java/org/chromium/chrome/browser/widget/crypto/binance/CryptoWidgetTabAdapter.java deleted file mode 100644 index 303561d5545d..000000000000 --- a/android/java/org/chromium/chrome/browser/widget/crypto/binance/CryptoWidgetTabAdapter.java +++ /dev/null @@ -1,102 +0,0 @@ -/* Copyright (c) 2020 The Brave Authors. All rights reserved. - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this file, - * You can obtain one at http://mozilla.org/MPL/2.0/. */ - -package org.chromium.chrome.browser.widget.crypto.binance; - -import android.content.Context; -import android.view.ViewGroup; - -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.core.widget.NestedScrollView; -import androidx.fragment.app.Fragment; -import androidx.fragment.app.FragmentManager; -import androidx.fragment.app.FragmentStatePagerAdapter; - -import org.chromium.base.ContextUtils; -import org.chromium.chrome.R; -import org.chromium.chrome.browser.widget.crypto.binance.CryptoWidgetBottomSheetDialogFragment; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -public class CryptoWidgetTabAdapter extends FragmentStatePagerAdapter { - Context mContext = ContextUtils.getApplicationContext(); - private CryptoWidgetBottomSheetDialogFragment.BinanceBottomSheetListener mBinanceBottomSheetListener; - List titles = Arrays.asList(mContext.getResources().getString(R.string.summary), - mContext.getResources().getString(R.string.deposit), - mContext.getResources().getString(R.string.convert), - mContext.getResources().getString(R.string.buy)); - - public CryptoWidgetTabAdapter(@NonNull FragmentManager fm, int behavior) { - super(fm, behavior); - } - - public void setBinanceBottomSheetListener(CryptoWidgetBottomSheetDialogFragment.BinanceBottomSheetListener binanceBottomSheetListener) { - mBinanceBottomSheetListener = binanceBottomSheetListener; - } - - @NonNull - @Override - public Fragment getItem(int position) { - Fragment fragment = null; - if (position == 0) { - fragment = new BinanceSummaryFragment(); - } else if (position == 1) { - fragment = new BinanceDepositFragment(); - } else if (position == 2) { - fragment = new BinanceConvertFragment(); - ((BinanceConvertFragment)fragment).setBinanceBottomSheetListener(mBinanceBottomSheetListener); - } else if (position == 3) { - fragment = new BinanceBuyFragment(); - ((BinanceBuyFragment) fragment) - .setBinanceBottomSheetListener(mBinanceBottomSheetListener); - } - return fragment; - } - - @Override - public int getCount() { - return titles.size(); - } - - @Nullable - @Override - public CharSequence getPageTitle(int position) { - return titles.get(position); - } - - @Override - public void setPrimaryItem(@NonNull ViewGroup container, int position, @NonNull Object object) { - super.setPrimaryItem(container, position, object); - for (int i = 0; i < getCount(); i++) { - if ((NestedScrollView) container.findViewById(R.id.summary_scrollview) != null) { - ((NestedScrollView) container.findViewById(R.id.summary_scrollview)) - .setNestedScrollingEnabled(false); - } else if ((NestedScrollView) container.findViewById(R.id.deposit_scrollview) != null) { - ((NestedScrollView) container.findViewById(R.id.deposit_scrollview)) - .setNestedScrollingEnabled(false); - } - } - - Fragment currentFragment = (Fragment) object; - if (currentFragment.getView() != null) { - if (currentFragment.getClass() == BinanceSummaryFragment.class) { - NestedScrollView currentNestedScrollView = - (NestedScrollView) currentFragment.getView().findViewById( - R.id.summary_scrollview); - currentNestedScrollView.setNestedScrollingEnabled(true); - } else if (currentFragment.getClass() == BinanceDepositFragment.class) { - NestedScrollView currentNestedScrollView = - (NestedScrollView) currentFragment.getView().findViewById( - R.id.deposit_scrollview); - currentNestedScrollView.setNestedScrollingEnabled(true); - } - } - - container.requestLayout(); - } -} \ No newline at end of file diff --git a/android/java/res/drawable-nodpi/ada.png b/android/java/res/drawable-nodpi/ada.png deleted file mode 100644 index 61ccdfbfbce1..000000000000 Binary files a/android/java/res/drawable-nodpi/ada.png and /dev/null differ diff --git a/android/java/res/drawable-nodpi/adx.png b/android/java/res/drawable-nodpi/adx.png deleted file mode 100644 index 3cc820187cde..000000000000 Binary files a/android/java/res/drawable-nodpi/adx.png and /dev/null differ diff --git a/android/java/res/drawable-nodpi/atom.png b/android/java/res/drawable-nodpi/atom.png deleted file mode 100644 index 96a87d1424d7..000000000000 Binary files a/android/java/res/drawable-nodpi/atom.png and /dev/null differ diff --git a/android/java/res/drawable-nodpi/bat.png b/android/java/res/drawable-nodpi/bat.png deleted file mode 100644 index f7ee15869c3e..000000000000 Binary files a/android/java/res/drawable-nodpi/bat.png and /dev/null differ diff --git a/android/java/res/drawable-nodpi/bch.png b/android/java/res/drawable-nodpi/bch.png deleted file mode 100644 index d3d2ba8d8cc5..000000000000 Binary files a/android/java/res/drawable-nodpi/bch.png and /dev/null differ diff --git a/android/java/res/drawable-nodpi/bnb.png b/android/java/res/drawable-nodpi/bnb.png deleted file mode 100644 index 19cbc2b10c00..000000000000 Binary files a/android/java/res/drawable-nodpi/bnb.png and /dev/null differ diff --git a/android/java/res/drawable-nodpi/btc.png b/android/java/res/drawable-nodpi/btc.png deleted file mode 100644 index 6402b75e436c..000000000000 Binary files a/android/java/res/drawable-nodpi/btc.png and /dev/null differ diff --git a/android/java/res/drawable-nodpi/busd.png b/android/java/res/drawable-nodpi/busd.png deleted file mode 100644 index 5b84d9127ecc..000000000000 Binary files a/android/java/res/drawable-nodpi/busd.png and /dev/null differ diff --git a/android/java/res/drawable-nodpi/dash.png b/android/java/res/drawable-nodpi/dash.png deleted file mode 100644 index b9fbbed77fca..000000000000 Binary files a/android/java/res/drawable-nodpi/dash.png and /dev/null differ diff --git a/android/java/res/drawable-nodpi/doge.png b/android/java/res/drawable-nodpi/doge.png deleted file mode 100644 index c0ea1cebfa3a..000000000000 Binary files a/android/java/res/drawable-nodpi/doge.png and /dev/null differ diff --git a/android/java/res/drawable-nodpi/eng.png b/android/java/res/drawable-nodpi/eng.png deleted file mode 100644 index 4c323a4a2af3..000000000000 Binary files a/android/java/res/drawable-nodpi/eng.png and /dev/null differ diff --git a/android/java/res/drawable-nodpi/enj.png b/android/java/res/drawable-nodpi/enj.png deleted file mode 100644 index 74378c05f788..000000000000 Binary files a/android/java/res/drawable-nodpi/enj.png and /dev/null differ diff --git a/android/java/res/drawable-nodpi/eos.png b/android/java/res/drawable-nodpi/eos.png deleted file mode 100644 index dc68b311a61b..000000000000 Binary files a/android/java/res/drawable-nodpi/eos.png and /dev/null differ diff --git a/android/java/res/drawable-nodpi/etc.png b/android/java/res/drawable-nodpi/etc.png deleted file mode 100644 index f650f278a42b..000000000000 Binary files a/android/java/res/drawable-nodpi/etc.png and /dev/null differ diff --git a/android/java/res/drawable-nodpi/eth.png b/android/java/res/drawable-nodpi/eth.png deleted file mode 100644 index c96f24cafb98..000000000000 Binary files a/android/java/res/drawable-nodpi/eth.png and /dev/null differ diff --git a/android/java/res/drawable-nodpi/link.png b/android/java/res/drawable-nodpi/link.png deleted file mode 100644 index c25dc58fff38..000000000000 Binary files a/android/java/res/drawable-nodpi/link.png and /dev/null differ diff --git a/android/java/res/drawable-nodpi/ltc.png b/android/java/res/drawable-nodpi/ltc.png deleted file mode 100644 index b80eff43e73f..000000000000 Binary files a/android/java/res/drawable-nodpi/ltc.png and /dev/null differ diff --git a/android/java/res/drawable-nodpi/matic.png b/android/java/res/drawable-nodpi/matic.png deleted file mode 100644 index 289125a7e883..000000000000 Binary files a/android/java/res/drawable-nodpi/matic.png and /dev/null differ diff --git a/android/java/res/drawable-nodpi/nano.png b/android/java/res/drawable-nodpi/nano.png deleted file mode 100644 index c535c2cdd909..000000000000 Binary files a/android/java/res/drawable-nodpi/nano.png and /dev/null differ diff --git a/android/java/res/drawable-nodpi/ont.png b/android/java/res/drawable-nodpi/ont.png deleted file mode 100644 index 2d0a011a4a68..000000000000 Binary files a/android/java/res/drawable-nodpi/ont.png and /dev/null differ diff --git a/android/java/res/drawable-nodpi/pax.png b/android/java/res/drawable-nodpi/pax.png deleted file mode 100644 index 7ef5e439df4f..000000000000 Binary files a/android/java/res/drawable-nodpi/pax.png and /dev/null differ diff --git a/android/java/res/drawable-nodpi/rvn.png b/android/java/res/drawable-nodpi/rvn.png deleted file mode 100644 index 7653049a76de..000000000000 Binary files a/android/java/res/drawable-nodpi/rvn.png and /dev/null differ diff --git a/android/java/res/drawable-nodpi/trx.png b/android/java/res/drawable-nodpi/trx.png deleted file mode 100644 index 7f8742edbde7..000000000000 Binary files a/android/java/res/drawable-nodpi/trx.png and /dev/null differ diff --git a/android/java/res/drawable-nodpi/tusd.png b/android/java/res/drawable-nodpi/tusd.png deleted file mode 100644 index fe99a4a2601a..000000000000 Binary files a/android/java/res/drawable-nodpi/tusd.png and /dev/null differ diff --git a/android/java/res/drawable-nodpi/usdc.png b/android/java/res/drawable-nodpi/usdc.png deleted file mode 100644 index 91b2ba39861f..000000000000 Binary files a/android/java/res/drawable-nodpi/usdc.png and /dev/null differ diff --git a/android/java/res/drawable-nodpi/usdt.png b/android/java/res/drawable-nodpi/usdt.png deleted file mode 100644 index c1bfa0f58547..000000000000 Binary files a/android/java/res/drawable-nodpi/usdt.png and /dev/null differ diff --git a/android/java/res/drawable-nodpi/vet.png b/android/java/res/drawable-nodpi/vet.png deleted file mode 100644 index 0623c184d32e..000000000000 Binary files a/android/java/res/drawable-nodpi/vet.png and /dev/null differ diff --git a/android/java/res/drawable-nodpi/xlm.png b/android/java/res/drawable-nodpi/xlm.png deleted file mode 100644 index ef9274038141..000000000000 Binary files a/android/java/res/drawable-nodpi/xlm.png and /dev/null differ diff --git a/android/java/res/drawable-nodpi/xrp.png b/android/java/res/drawable-nodpi/xrp.png deleted file mode 100644 index 68569c6de29a..000000000000 Binary files a/android/java/res/drawable-nodpi/xrp.png and /dev/null differ diff --git a/android/java/res/drawable-nodpi/xtz.png b/android/java/res/drawable-nodpi/xtz.png deleted file mode 100644 index 0e2cc89db8cb..000000000000 Binary files a/android/java/res/drawable-nodpi/xtz.png and /dev/null differ diff --git a/android/java/res/drawable-nodpi/xvg.png b/android/java/res/drawable-nodpi/xvg.png deleted file mode 100644 index 59ce2f4a8342..000000000000 Binary files a/android/java/res/drawable-nodpi/xvg.png and /dev/null differ diff --git a/android/java/res/drawable-nodpi/zec.png b/android/java/res/drawable-nodpi/zec.png deleted file mode 100644 index ec81d4c7c7f2..000000000000 Binary files a/android/java/res/drawable-nodpi/zec.png and /dev/null differ diff --git a/android/java/res/drawable-nodpi/zil.png b/android/java/res/drawable-nodpi/zil.png deleted file mode 100644 index ff4790a77b30..000000000000 Binary files a/android/java/res/drawable-nodpi/zil.png and /dev/null differ diff --git a/android/java/res/drawable-nodpi/zrx.png b/android/java/res/drawable-nodpi/zrx.png deleted file mode 100644 index 48019f71ba0d..000000000000 Binary files a/android/java/res/drawable-nodpi/zrx.png and /dev/null differ diff --git a/android/java/res/drawable/binance_edittext.xml b/android/java/res/drawable/binance_edittext.xml deleted file mode 100644 index a918cd64d4d2..000000000000 --- a/android/java/res/drawable/binance_edittext.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - \ No newline at end of file diff --git a/android/java/res/drawable/binance_radio_button_selector.xml b/android/java/res/drawable/binance_radio_button_selector.xml deleted file mode 100644 index 7e2b1e08e5cf..000000000000 --- a/android/java/res/drawable/binance_radio_button_selector.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/android/java/res/drawable/ic_arrow_drop_down_white.xml b/android/java/res/drawable/ic_arrow_drop_down_white.xml deleted file mode 100644 index 65e1e422817f..000000000000 --- a/android/java/res/drawable/ic_arrow_drop_down_white.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - diff --git a/android/java/res/drawable/ic_binance.xml b/android/java/res/drawable/ic_binance.xml deleted file mode 100644 index fa2898e1afd8..000000000000 --- a/android/java/res/drawable/ic_binance.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - diff --git a/android/java/res/drawable/rounded_filled_binance.xml b/android/java/res/drawable/rounded_filled_binance.xml deleted file mode 100644 index 33f51234e80c..000000000000 --- a/android/java/res/drawable/rounded_filled_binance.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/android/java/res/layout/binance_deposit_item.xml b/android/java/res/layout/binance_deposit_item.xml deleted file mode 100644 index cf2276825130..000000000000 --- a/android/java/res/layout/binance_deposit_item.xml +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/android/java/res/layout/binance_deposit_layout.xml b/android/java/res/layout/binance_deposit_layout.xml deleted file mode 100644 index f02e3b7e9003..000000000000 --- a/android/java/res/layout/binance_deposit_layout.xml +++ /dev/null @@ -1,183 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -