diff --git a/android/java/org/chromium/chrome/browser/BraveRewardsUserWalletActivity.java b/android/java/org/chromium/chrome/browser/BraveRewardsUserWalletActivity.java index 7e184271a05..9c7cefe3cfc 100644 --- a/android/java/org/chromium/chrome/browser/BraveRewardsUserWalletActivity.java +++ b/android/java/org/chromium/chrome/browser/BraveRewardsUserWalletActivity.java @@ -14,7 +14,6 @@ import android.widget.Button; import android.widget.TextView; import androidx.appcompat.app.ActionBar; -import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.widget.Toolbar; import org.chromium.chrome.R; @@ -22,13 +21,13 @@ import org.chromium.chrome.browser.BraveRewardsBalance; import org.chromium.chrome.browser.BraveRewardsExternalWallet; import org.chromium.chrome.browser.BraveRewardsNativeWorker; import org.chromium.chrome.browser.app.BraveActivity; +import org.chromium.chrome.browser.init.AsyncInitializationActivity; -public class BraveRewardsUserWalletActivity extends AppCompatActivity { +public class BraveRewardsUserWalletActivity extends AsyncInitializationActivity { public static final String DISCONNECT_WALLET_URL = "chrome://rewards/#disconnect-wallet"; @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); + protected void triggerLayoutInflation() { setContentView(R.layout.user_wallet_activity); Toolbar toolbar = findViewById(R.id.toolbar); @@ -39,6 +38,8 @@ public class BraveRewardsUserWalletActivity extends AppCompatActivity { ab.setDisplayShowTitleEnabled(false); SetUIControls(); + + onInitialLayoutInflationComplete(); } private void SetUIControls() { @@ -124,6 +125,11 @@ public class BraveRewardsUserWalletActivity extends AppCompatActivity { */ } + @Override + public boolean shouldStartGpuProcess() { + return true; + } + @Override public boolean onOptionsItemSelected(MenuItem item) { if(item.getItemId()==android.R.id.home) { diff --git a/android/java/org/chromium/chrome/browser/SetDefaultBrowserActivity.java b/android/java/org/chromium/chrome/browser/SetDefaultBrowserActivity.java index f38ac683c3b..65326bdedae 100644 --- a/android/java/org/chromium/chrome/browser/SetDefaultBrowserActivity.java +++ b/android/java/org/chromium/chrome/browser/SetDefaultBrowserActivity.java @@ -7,40 +7,27 @@ package org.chromium.chrome.browser; +import static org.chromium.ui.base.ViewUtils.dpToPx; + import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.ImageView; -import android.widget.TextView; import android.widget.LinearLayout; +import android.widget.TextView; import androidx.annotation.NonNull; -import androidx.appcompat.app.AppCompatActivity; import org.chromium.chrome.R; -import org.chromium.chrome.browser.night_mode.GlobalNightModeStateProviderHolder; import org.chromium.chrome.browser.app.BraveActivity; +import org.chromium.chrome.browser.init.AsyncInitializationActivity; +import org.chromium.chrome.browser.night_mode.GlobalNightModeStateProviderHolder; -import static org.chromium.ui.base.ViewUtils.dpToPx; - -public class SetDefaultBrowserActivity extends AppCompatActivity { +public class SetDefaultBrowserActivity extends AsyncInitializationActivity { @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); + protected void triggerLayoutInflation() { setContentView(R.layout.activity_set_default_browser); - boolean isNightMode = GlobalNightModeStateProviderHolder.getInstance().isInNightMode(); - - ImageView setDefaultBrowserImg = findViewById(R.id.set_default_browser_img); - setDefaultBrowserImg.setImageResource(isNightMode - ? R.drawable.ic_setbraveasdefault_dark - : R.drawable.ic_setbraveasdefault); - if (isNightMode) { - LinearLayout.LayoutParams lp = (LinearLayout.LayoutParams) setDefaultBrowserImg.getLayoutParams(); - lp.setMargins(0, dpToPx(this, 16), 0, dpToPx(this, 16)); - setDefaultBrowserImg.setLayoutParams(lp); - } - Button btnSetDefaultBrowser = findViewById(R.id.btn_set_default_browser); btnSetDefaultBrowser.setOnClickListener(new View.OnClickListener() { @Override @@ -59,8 +46,32 @@ public class SetDefaultBrowserActivity extends AppCompatActivity { finish(); } }); + + onInitialLayoutInflationComplete(); + } + + @Override + public void finishNativeInitialization() { + super.finishNativeInitialization(); + + boolean isNightMode = GlobalNightModeStateProviderHolder.getInstance().isInNightMode(); + + ImageView setDefaultBrowserImg = findViewById(R.id.set_default_browser_img); + setDefaultBrowserImg.setImageResource(isNightMode ? R.drawable.ic_setbraveasdefault_dark + : R.drawable.ic_setbraveasdefault); + if (isNightMode) { + LinearLayout.LayoutParams lp = + (LinearLayout.LayoutParams) setDefaultBrowserImg.getLayoutParams(); + lp.setMargins(0, dpToPx(this, 16), 0, dpToPx(this, 16)); + setDefaultBrowserImg.setLayoutParams(lp); + } } @Override public void onBackPressed() {} + + @Override + public boolean shouldStartGpuProcess() { + return false; + } } diff --git a/android/java/org/chromium/chrome/browser/crypto_wallet/CryptoWalletActivity.java b/android/java/org/chromium/chrome/browser/crypto_wallet/CryptoWalletActivity.java index 705157170da..53ae6587656 100644 --- a/android/java/org/chromium/chrome/browser/crypto_wallet/CryptoWalletActivity.java +++ b/android/java/org/chromium/chrome/browser/crypto_wallet/CryptoWalletActivity.java @@ -13,7 +13,6 @@ import android.view.View; import android.widget.EditText; import android.widget.ImageView; -import androidx.appcompat.app.AppCompatActivity; import androidx.appcompat.widget.SearchView; import androidx.appcompat.widget.Toolbar; import androidx.core.content.ContextCompat; @@ -31,11 +30,12 @@ import org.chromium.chrome.browser.crypto_wallet.fragments.RewardsFragment; import org.chromium.chrome.browser.crypto_wallet.fragments.SwapBottomSheetDialogFragment; import org.chromium.chrome.browser.crypto_wallet.listeners.OnFinishOnboarding; import org.chromium.chrome.browser.crypto_wallet.util.NavigationItem; +import org.chromium.chrome.browser.init.AsyncInitializationActivity; import java.util.ArrayList; import java.util.List; -public class CryptoWalletActivity extends AppCompatActivity { +public class CryptoWalletActivity extends AsyncInitializationActivity { private BottomNavigationView bottomNavigationView; private Toolbar toolbar; private WalletNavigationFragmentPageAdapter walletNavigationFragmentPageAdapter; @@ -70,8 +70,7 @@ public class CryptoWalletActivity extends AppCompatActivity { } @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); + protected void triggerLayoutInflation() { setContentView(R.layout.activity_crypto_wallet); toolbar = findViewById(R.id.toolbar); toolbar.setTitleTextColor(getResources().getColor(android.R.color.black, null)); @@ -112,11 +111,16 @@ public class CryptoWalletActivity extends AppCompatActivity { } @Override - protected void onPause() { + public void onPause() { super.onPause(); BraveWalletNativeWorker.getInstance().lockWallet(); } + @Override + public boolean shouldStartGpuProcess() { + return true; + } + private void setNavigationFragments() { List navigationItems = new ArrayList<>(); int navigationMenu; 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 89150e09c12..31ddcebbf1d 100644 --- a/android/java/org/chromium/chrome/browser/ntp/widget/NTPWidgetStackActivity.java +++ b/android/java/org/chromium/chrome/browser/ntp/widget/NTPWidgetStackActivity.java @@ -16,7 +16,6 @@ import android.view.View; import android.widget.ImageView; import android.widget.LinearLayout; -import androidx.appcompat.app.AppCompatActivity; import androidx.cardview.widget.CardView; import androidx.recyclerview.widget.ItemTouchHelper; import androidx.recyclerview.widget.LinearLayoutManager; @@ -24,6 +23,7 @@ import androidx.recyclerview.widget.RecyclerView; import org.chromium.chrome.R; import org.chromium.chrome.browser.app.BraveActivity; +import org.chromium.chrome.browser.init.AsyncInitializationActivity; import org.chromium.chrome.browser.ntp.BraveNewTabPageLayout; import org.chromium.chrome.browser.ntp.widget.NTPWidgetAdapter; import org.chromium.chrome.browser.ntp.widget.NTPWidgetManager; @@ -34,7 +34,7 @@ import org.chromium.chrome.browser.widget.crypto.binance.BinanceWidgetManager; import java.util.ArrayList; import java.util.List; -public class NTPWidgetStackActivity extends AppCompatActivity { +public class NTPWidgetStackActivity extends AsyncInitializationActivity { private NTPWidgetAdapter.NTPWidgetListener ntpWidgetListener; private RecyclerView usedWidgetsRecyclerView; private RecyclerView availableWidgetsRecyclerView; @@ -43,6 +43,7 @@ public class NTPWidgetStackActivity extends AppCompatActivity { private LinearLayout availableWidgetLayout; private CardView usedWidgetLayout; private boolean isFromSettings; + private boolean mNativeInitialized; public static final int USED_WIDGET = 0; public static final int AVAILABLE_WIDGET = 1; public static final String FROM_SETTINGS = "from_settings"; @@ -57,8 +58,7 @@ public class NTPWidgetStackActivity extends AppCompatActivity { } @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); + protected void triggerLayoutInflation() { setContentView(R.layout.activity_ntp_widget_stack); if (getIntent() != null) { @@ -103,6 +103,15 @@ public class NTPWidgetStackActivity extends AppCompatActivity { availableWidgetsRecyclerView.setAdapter(availableNTPWidgetStackAdapter); availableNTPWidgetStackAdapter.setWidgetList(availableWidgetList); updateNTPWidgetStackLayout(); + + onInitialLayoutInflationComplete(); + } + + @Override + public void finishNativeInitialization() { + super.finishNativeInitialization(); + + mNativeInitialized = true; } @Override @@ -110,6 +119,11 @@ public class NTPWidgetStackActivity extends AppCompatActivity { returnResult(); } + @Override + public boolean shouldStartGpuProcess() { + return true; + } + private NTPWidgetStackUpdateListener ntpWidgetStackUpdateListener = new NTPWidgetStackUpdateListener() { @Override @@ -152,7 +166,8 @@ public class NTPWidgetStackActivity extends AppCompatActivity { NTPWidgetManager.getInstance().setWidget( availableNTPWidgetStackAdapter.getWidgetList().get(i), -1); if (availableNTPWidgetStackAdapter.getWidgetList().get(i).equals( - NTPWidgetManager.PREF_BINANCE)) { + NTPWidgetManager.PREF_BINANCE) + && mNativeInitialized) { BinanceNativeWorker.getInstance().revokeToken(); BinanceWidgetManager.getInstance().setBinanceAccountBalance(""); BinanceWidgetManager.getInstance().setUserAuthenticationForBinance(false); 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 index afc3a7df6ee..519bbe37e36 100644 --- a/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceActivity.java +++ b/android/java/org/chromium/chrome/browser/widget/crypto/binance/BinanceActivity.java @@ -11,22 +11,26 @@ import android.net.Uri; import android.os.Bundle; import android.text.TextUtils; -import androidx.appcompat.app.AppCompatActivity; - 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 AppCompatActivity { +public class BinanceActivity extends AsyncInitializationActivity { private static final String REDIRECT_URI_ROOT = "com.brave.binance"; private static final String CODE = "code"; @Override - protected void onCreate(Bundle savedInstanceState) { - super.onCreate(savedInstanceState); + protected void triggerLayoutInflation() { + onInitialLayoutInflationComplete(); + } + + @Override + public void finishNativeInitialization() { + super.finishNativeInitialization(); Uri data = getIntent().getData(); if (data != null && !TextUtils.isEmpty(data.getScheme())) { @@ -41,4 +45,9 @@ public class BinanceActivity extends AppCompatActivity { } } } -} \ No newline at end of file + + @Override + public boolean shouldStartGpuProcess() { + return false; + } +}