diff --git a/android/BUILD.gn b/android/BUILD.gn
index 3cdb74bd083..c86d2097bfb 100644
--- a/android/BUILD.gn
+++ b/android/BUILD.gn
@@ -109,9 +109,6 @@ android_resources("java_resources") {
"java/brave-res/drawable-hdpi/check.png",
"java/brave-res/drawable-hdpi/copy_paste.png",
"java/brave-res/drawable-hdpi/ic_ad_free_videos.png",
- "java/brave-res/drawable-hdpi/ic_brave_onboarding.png",
- "java/brave-res/drawable-hdpi/ic_onboarding_bottom_leaf.png",
- "java/brave-res/drawable-hdpi/ic_onboarding_top_leaf.png",
"java/brave-res/drawable-hdpi/share_activity_background.png",
"java/brave-res/drawable-mdpi/brave_ads_launch_graphic.png",
"java/brave-res/drawable-mdpi/brave_sync_btn_laptop.png",
@@ -125,9 +122,6 @@ android_resources("java_resources") {
"java/brave-res/drawable-mdpi/check.png",
"java/brave-res/drawable-mdpi/copy_paste.png",
"java/brave-res/drawable-mdpi/ic_ad_free_videos.png",
- "java/brave-res/drawable-mdpi/ic_brave_onboarding.png",
- "java/brave-res/drawable-mdpi/ic_onboarding_bottom_leaf.png",
- "java/brave-res/drawable-mdpi/ic_onboarding_top_leaf.png",
"java/brave-res/drawable-mdpi/share_activity_background.png",
"java/brave-res/drawable-night-nodpi/ic_quick_action_search_and_bookmark_widget_preview.png",
"java/brave-res/drawable-night-nodpi/widget_preview.png",
@@ -160,9 +154,6 @@ android_resources("java_resources") {
"java/brave-res/drawable-xhdpi/check.png",
"java/brave-res/drawable-xhdpi/copy_paste.png",
"java/brave-res/drawable-xhdpi/ic_ad_free_videos.png",
- "java/brave-res/drawable-xhdpi/ic_brave_onboarding.png",
- "java/brave-res/drawable-xhdpi/ic_onboarding_bottom_leaf.png",
- "java/brave-res/drawable-xhdpi/ic_onboarding_top_leaf.png",
"java/brave-res/drawable-xhdpi/share_activity_background.png",
"java/brave-res/drawable-xxhdpi/brave_ads_launch_graphic.png",
"java/brave-res/drawable-xxhdpi/brave_sync_btn_laptop.png",
@@ -176,9 +167,6 @@ android_resources("java_resources") {
"java/brave-res/drawable-xxhdpi/check.png",
"java/brave-res/drawable-xxhdpi/copy_paste.png",
"java/brave-res/drawable-xxhdpi/ic_ad_free_videos.png",
- "java/brave-res/drawable-xxhdpi/ic_brave_onboarding.png",
- "java/brave-res/drawable-xxhdpi/ic_onboarding_bottom_leaf.png",
- "java/brave-res/drawable-xxhdpi/ic_onboarding_top_leaf.png",
"java/brave-res/drawable-xxhdpi/share_activity_background.png",
"java/brave-res/drawable-xxxhdpi/brave_ads_launch_graphic.png",
"java/brave-res/drawable-xxxhdpi/brave_sync_btn_laptop.png",
@@ -192,9 +180,6 @@ android_resources("java_resources") {
"java/brave-res/drawable-xxxhdpi/check.png",
"java/brave-res/drawable-xxxhdpi/copy_paste.png",
"java/brave-res/drawable-xxxhdpi/ic_ad_free_videos.png",
- "java/brave-res/drawable-xxxhdpi/ic_brave_onboarding.png",
- "java/brave-res/drawable-xxxhdpi/ic_onboarding_bottom_leaf.png",
- "java/brave-res/drawable-xxxhdpi/ic_onboarding_top_leaf.png",
"java/brave-res/drawable-xxxhdpi/share_activity_background.png",
"java/brave-res/drawable/ad_free_card_bg.xml",
"java/brave-res/drawable/add_custom_filter_button_background_disabled.xml",
@@ -376,12 +361,7 @@ android_resources("java_resources") {
"java/brave-res/drawable/ic_neon_color.xml",
"java/brave-res/drawable/ic_news_settings.xml",
"java/brave-res/drawable/ic_notification_icon.xml",
- "java/brave-res/drawable/ic_onboarding_arrow_down.xml",
- "java/brave-res/drawable/ic_onboarding_bg.xml",
"java/brave-res/drawable/ic_op_color.xml",
- "java/brave-res/drawable/ic_p3a_checkbox.xml",
- "java/brave-res/drawable/ic_p3a_checkbox_filled.xml",
- "java/brave-res/drawable/ic_p3a_checkbox_outline.xml",
"java/brave-res/drawable/ic_pause_filled.xml",
"java/brave-res/drawable/ic_phantom.xml",
"java/brave-res/drawable/ic_phone.xml",
@@ -475,7 +455,6 @@ android_resources("java_resources") {
"java/brave-res/drawable/rounded_dot_success_status.xml",
"java/brave-res/drawable/rounded_filled.xml",
"java/brave-res/drawable/rounded_holo_button.xml",
- "java/brave-res/drawable/rounded_onboarding_welcome_bg.xml",
"java/brave-res/drawable/rounded_set_default_top_corners.xml",
"java/brave-res/drawable/rounded_shape.xml",
"java/brave-res/drawable/rounded_surface_container_background.xml",
@@ -528,7 +507,6 @@ android_resources("java_resources") {
"java/brave-res/layout/activity_vpn_server.xml",
"java/brave-res/layout/activity_vpn_server_selection.xml",
"java/brave-res/layout/activity_welcome_onboarding.xml",
- "java/brave-res/layout/activity_welcome_onboarding_default.xml",
"java/brave-res/layout/application_item_layout.xml",
"java/brave-res/layout/approve_tx_bottom_sheet.xml",
"java/brave-res/layout/auto_reconnect_vpn_tutorial_item_layout.xml",
diff --git a/android/java/brave-res/drawable-hdpi/ic_brave_onboarding.png b/android/java/brave-res/drawable-hdpi/ic_brave_onboarding.png
deleted file mode 100644
index d6a1311ce6b..00000000000
Binary files a/android/java/brave-res/drawable-hdpi/ic_brave_onboarding.png and /dev/null differ
diff --git a/android/java/brave-res/drawable-hdpi/ic_onboarding_bottom_leaf.png b/android/java/brave-res/drawable-hdpi/ic_onboarding_bottom_leaf.png
deleted file mode 100644
index 94b5cc0d159..00000000000
Binary files a/android/java/brave-res/drawable-hdpi/ic_onboarding_bottom_leaf.png and /dev/null differ
diff --git a/android/java/brave-res/drawable-hdpi/ic_onboarding_top_leaf.png b/android/java/brave-res/drawable-hdpi/ic_onboarding_top_leaf.png
deleted file mode 100644
index a345285d8fa..00000000000
Binary files a/android/java/brave-res/drawable-hdpi/ic_onboarding_top_leaf.png and /dev/null differ
diff --git a/android/java/brave-res/drawable-mdpi/ic_brave_onboarding.png b/android/java/brave-res/drawable-mdpi/ic_brave_onboarding.png
deleted file mode 100644
index 94753315d84..00000000000
Binary files a/android/java/brave-res/drawable-mdpi/ic_brave_onboarding.png and /dev/null differ
diff --git a/android/java/brave-res/drawable-mdpi/ic_onboarding_bottom_leaf.png b/android/java/brave-res/drawable-mdpi/ic_onboarding_bottom_leaf.png
deleted file mode 100644
index e4e0f303811..00000000000
Binary files a/android/java/brave-res/drawable-mdpi/ic_onboarding_bottom_leaf.png and /dev/null differ
diff --git a/android/java/brave-res/drawable-mdpi/ic_onboarding_top_leaf.png b/android/java/brave-res/drawable-mdpi/ic_onboarding_top_leaf.png
deleted file mode 100644
index c10f7a9bb12..00000000000
Binary files a/android/java/brave-res/drawable-mdpi/ic_onboarding_top_leaf.png and /dev/null differ
diff --git a/android/java/brave-res/drawable-xhdpi/ic_brave_onboarding.png b/android/java/brave-res/drawable-xhdpi/ic_brave_onboarding.png
deleted file mode 100644
index a19870466a2..00000000000
Binary files a/android/java/brave-res/drawable-xhdpi/ic_brave_onboarding.png and /dev/null differ
diff --git a/android/java/brave-res/drawable-xhdpi/ic_onboarding_bottom_leaf.png b/android/java/brave-res/drawable-xhdpi/ic_onboarding_bottom_leaf.png
deleted file mode 100644
index 0b78f8194d3..00000000000
Binary files a/android/java/brave-res/drawable-xhdpi/ic_onboarding_bottom_leaf.png and /dev/null differ
diff --git a/android/java/brave-res/drawable-xhdpi/ic_onboarding_top_leaf.png b/android/java/brave-res/drawable-xhdpi/ic_onboarding_top_leaf.png
deleted file mode 100644
index caa814b6d8c..00000000000
Binary files a/android/java/brave-res/drawable-xhdpi/ic_onboarding_top_leaf.png and /dev/null differ
diff --git a/android/java/brave-res/drawable-xxhdpi/ic_brave_onboarding.png b/android/java/brave-res/drawable-xxhdpi/ic_brave_onboarding.png
deleted file mode 100644
index 16de7f77bbc..00000000000
Binary files a/android/java/brave-res/drawable-xxhdpi/ic_brave_onboarding.png and /dev/null differ
diff --git a/android/java/brave-res/drawable-xxhdpi/ic_onboarding_bottom_leaf.png b/android/java/brave-res/drawable-xxhdpi/ic_onboarding_bottom_leaf.png
deleted file mode 100644
index 43f2a7271b8..00000000000
Binary files a/android/java/brave-res/drawable-xxhdpi/ic_onboarding_bottom_leaf.png and /dev/null differ
diff --git a/android/java/brave-res/drawable-xxhdpi/ic_onboarding_top_leaf.png b/android/java/brave-res/drawable-xxhdpi/ic_onboarding_top_leaf.png
deleted file mode 100644
index 1d1d7c69635..00000000000
Binary files a/android/java/brave-res/drawable-xxhdpi/ic_onboarding_top_leaf.png and /dev/null differ
diff --git a/android/java/brave-res/drawable-xxxhdpi/ic_brave_onboarding.png b/android/java/brave-res/drawable-xxxhdpi/ic_brave_onboarding.png
deleted file mode 100644
index 5637ac9d604..00000000000
Binary files a/android/java/brave-res/drawable-xxxhdpi/ic_brave_onboarding.png and /dev/null differ
diff --git a/android/java/brave-res/drawable-xxxhdpi/ic_onboarding_bottom_leaf.png b/android/java/brave-res/drawable-xxxhdpi/ic_onboarding_bottom_leaf.png
deleted file mode 100644
index 48469b0cddc..00000000000
Binary files a/android/java/brave-res/drawable-xxxhdpi/ic_onboarding_bottom_leaf.png and /dev/null differ
diff --git a/android/java/brave-res/drawable-xxxhdpi/ic_onboarding_top_leaf.png b/android/java/brave-res/drawable-xxxhdpi/ic_onboarding_top_leaf.png
deleted file mode 100644
index dece1015e41..00000000000
Binary files a/android/java/brave-res/drawable-xxxhdpi/ic_onboarding_top_leaf.png and /dev/null differ
diff --git a/android/java/brave-res/drawable/ic_onboarding_arrow_down.xml b/android/java/brave-res/drawable/ic_onboarding_arrow_down.xml
deleted file mode 100644
index c4f98d26692..00000000000
--- a/android/java/brave-res/drawable/ic_onboarding_arrow_down.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/android/java/brave-res/drawable/ic_onboarding_bg.xml b/android/java/brave-res/drawable/ic_onboarding_bg.xml
deleted file mode 100644
index 6e6d0d17191..00000000000
--- a/android/java/brave-res/drawable/ic_onboarding_bg.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/android/java/brave-res/drawable/ic_p3a_checkbox.xml b/android/java/brave-res/drawable/ic_p3a_checkbox.xml
deleted file mode 100644
index f08e428dfc1..00000000000
--- a/android/java/brave-res/drawable/ic_p3a_checkbox.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/android/java/brave-res/drawable/ic_p3a_checkbox_filled.xml b/android/java/brave-res/drawable/ic_p3a_checkbox_filled.xml
deleted file mode 100644
index fd179a14bba..00000000000
--- a/android/java/brave-res/drawable/ic_p3a_checkbox_filled.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
diff --git a/android/java/brave-res/drawable/ic_p3a_checkbox_outline.xml b/android/java/brave-res/drawable/ic_p3a_checkbox_outline.xml
deleted file mode 100644
index 4d1afd419d3..00000000000
--- a/android/java/brave-res/drawable/ic_p3a_checkbox_outline.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
diff --git a/android/java/brave-res/drawable/rounded_onboarding_welcome_bg.xml b/android/java/brave-res/drawable/rounded_onboarding_welcome_bg.xml
deleted file mode 100644
index 1dd4996b177..00000000000
--- a/android/java/brave-res/drawable/rounded_onboarding_welcome_bg.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/android/java/brave-res/layout-sw600dp/activity_welcome_onboarding.xml b/android/java/brave-res/layout-sw600dp/activity_welcome_onboarding.xml
index c1c5a88eaff..d8a032fea62 100644
--- a/android/java/brave-res/layout-sw600dp/activity_welcome_onboarding.xml
+++ b/android/java/brave-res/layout-sw600dp/activity_welcome_onboarding.xml
@@ -4,54 +4,49 @@
License, v. 2.0. If a copy of the MPL was not distributed with this file,
You can obtain one at https://mozilla.org/MPL/2.0/.
-->
-
+ xmlns:tools="http://schemas.android.com/tools"
+ android:id="@+id/onboarding_container"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@drawable/onboarding_background">
-
-
-
-
-
-
-
+
+ android:layout_gravity="center"
+ android:src="@drawable/ic_brave_splash_animated"
+ android:contentDescription="@string/brave_onboarding_splash_logo_description"
+ android:alpha="0" />
+
-
-
+
-
-
+
+
diff --git a/android/java/brave-res/layout/activity_welcome_onboarding.xml b/android/java/brave-res/layout/activity_welcome_onboarding.xml
index e6d87f250eb..3d0d0c13f3a 100644
--- a/android/java/brave-res/layout/activity_welcome_onboarding.xml
+++ b/android/java/brave-res/layout/activity_welcome_onboarding.xml
@@ -4,47 +4,42 @@
License, v. 2.0. If a copy of the MPL was not distributed with this file,
You can obtain one at https://mozilla.org/MPL/2.0/.
-->
-
+
-
+
- app:layout_constraintTop_toTopOf="parent"
- app:layout_constraintBottom_toBottomOf="parent"
- app:layout_constraintStart_toStartOf="parent"
- app:layout_constraintEnd_toEndOf="parent"/>
+
-
-
-
-
-
-
-
+
+
diff --git a/android/java/brave-res/layout/activity_welcome_onboarding_default.xml b/android/java/brave-res/layout/activity_welcome_onboarding_default.xml
deleted file mode 100644
index 40f0aa42f3c..00000000000
--- a/android/java/brave-res/layout/activity_welcome_onboarding_default.xml
+++ /dev/null
@@ -1,182 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/android/java/brave-res/layout/layout_search_widget_promo.xml b/android/java/brave-res/layout/layout_search_widget_promo.xml
index 3f0019fd1c0..fbeaa48d63a 100644
--- a/android/java/brave-res/layout/layout_search_widget_promo.xml
+++ b/android/java/brave-res/layout/layout_search_widget_promo.xml
@@ -58,19 +58,19 @@
diff --git a/android/java/org/chromium/chrome/browser/firstrun/WelcomeOnboardingActivity.java b/android/java/org/chromium/chrome/browser/firstrun/WelcomeOnboardingActivity.java
index 5435fdad7e5..6091f891a7f 100644
--- a/android/java/org/chromium/chrome/browser/firstrun/WelcomeOnboardingActivity.java
+++ b/android/java/org/chromium/chrome/browser/firstrun/WelcomeOnboardingActivity.java
@@ -9,13 +9,10 @@ import static android.content.pm.ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED;
import static org.chromium.build.NullUtil.assumeNonNull;
import static org.chromium.chrome.browser.set_default_browser.BraveSetDefaultBrowserUtils.isBraveSetAsDefaultBrowser;
import static org.chromium.chrome.browser.set_default_browser.BraveSetDefaultBrowserUtils.setDefaultBrowser;
-import static org.chromium.ui.base.ViewUtils.dpToPx;
import android.animation.Animator;
import android.animation.AnimatorInflater;
-import android.animation.LayoutTransition;
import android.app.Activity;
-import android.content.Intent;
import android.graphics.drawable.Animatable2;
import android.graphics.drawable.AnimatedVectorDrawable;
import android.graphics.drawable.Drawable;
@@ -23,19 +20,10 @@ import android.os.Build;
import android.os.Bundle;
import android.os.RemoteException;
import android.text.SpannableString;
-import android.text.TextUtils;
-import android.text.method.LinkMovementMethod;
import android.view.View;
-import android.view.ViewGroup;
-import android.view.animation.Animation;
import android.view.animation.OvershootInterpolator;
-import android.view.animation.Transformation;
-import android.widget.Button;
-import android.widget.CheckBox;
import android.widget.FrameLayout;
import android.widget.ImageView;
-import android.widget.LinearLayout;
-import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.constraintlayout.widget.ConstraintLayout;
@@ -59,16 +47,13 @@ import org.chromium.chrome.R;
import org.chromium.chrome.browser.BraveConfig;
import org.chromium.chrome.browser.BraveLocalState;
import org.chromium.chrome.browser.customtabs.CustomTabActivity;
-import org.chromium.chrome.browser.day_zero.DayZeroHelper;
import org.chromium.chrome.browser.metrics.ChangeMetricsReportingStateCalledFrom;
import org.chromium.chrome.browser.metrics.UmaSessionStats;
-import org.chromium.chrome.browser.notifications.BravePermissionUtils;
import org.chromium.chrome.browser.onboarding.OnboardingPrefManager;
import org.chromium.chrome.browser.preferences.BravePref;
import org.chromium.chrome.browser.preferences.ChromeSharedPreferences;
import org.chromium.chrome.browser.privacy.settings.PrivacyPreferencesManagerImpl;
import org.chromium.chrome.browser.util.BraveConstants;
-import org.chromium.chrome.browser.util.BraveTouchUtils;
import org.chromium.chrome.browser.util.PackageUtils;
import org.chromium.components.user_prefs.UserPrefs;
import org.chromium.components.web_discovery.WebDiscoveryPrefs;
@@ -96,67 +81,35 @@ import org.chromium.ui.text.SpanApplier.SpanInfo;
@NullMarked
public class WelcomeOnboardingActivity extends FirstRunActivityBase
implements OnboardingStepAdapter.OnboardingNavigationListener {
- private static final String P3A_URL =
- "https://support.brave.app/hc/en-us/articles/9140465918093-What-is-P3A-in-Brave";
private static final String WDP_LINK =
"https://www.brave.com/browser/privacy/#web-discovery-project";
private static final String TAG = "WelcomeOnboarding";
- private static final String DAY_ZERO_DEFAULT_VARIANT = "X";
- private static final String DAY_ZERO_VARIANT_Y = "Y";
private static final String KEY_SPLASH_ANIMATION_FINISHED =
"WelcomeOnboardingActivity.SplashAnimationFinished";
- private static final String KEY_VARIANT_Y_PAGE_INDEX =
- "WelcomeOnboardingActivity.VariantYPageIndex";
+ private static final String KEY_PAGE_INDEX = "WelcomeOnboardingActivity.PageIndex";
- private static final float LEAF_SCALE_ANIMATION = 1.5f;
private static final float REDUCED_TENSION_OVERSHOOT_INTERPOLATOR = 1f;
private static final float BRAVE_SPLASH_SCALE_ANIMATION = 0.4f;
private static final int BRAVE_SPLASH_ANIMATION_DURATION_MS = 600;
private boolean mIsTablet;
- private int mCurrentStep = -1;
private boolean mSplashAnimationFinished;
- private int mRestoredVariantYPageIndex;
+ private int mRestoredPageIndex;
- private ConstraintLayout mDefaultConstraintLayout;
- private ConstraintLayout mVariantYConstraintLayout;
- private View mVLeafAlignTop;
- private View mVLeafAlignBottom;
- private ImageView mIvLeafTop;
- private ImageView mIvLeafBottom;
private ImageView mBraveSplash;
- private ImageView mIvBrave;
- private ImageView mIvArrowDown;
- private LinearLayout mLayoutCard;
- private TextView mTvCard;
- private TextView mTvDefault;
- private Button mBtnPositive;
- private Button mBtnNegative;
- private CheckBox mCheckboxCrash;
- private CheckBox mCheckboxP3a;
- private FrameLayout mBraveSplashContainer;
+ @Nullable private FrameLayout mBraveSplashContainer;
private Guideline mSplashGuideline;
- private ViewPager2 mVariantYPager;
- @Nullable private OnboardingStepAdapter mVariantYAdapter;
+ private ViewPager2 mOnboardingPager;
+
+ private OnboardingStepAdapter mStepAdapter;
+ private PageBounceAnimator mPageBounceAnimator;
- private String mDayZeroVariant = "";
- private SpannableString mWdpLearnMore;
- @Nullable private PageBounceAnimator mPageBounceAnimator;
private boolean mIsP3aManaged;
private boolean mIsCrashReportingManaged;
- private enum CurrentOnboardingPage {
- SET_AS_DEFAULT,
- NOTIFICATION_PERMISSION,
- WDP_PAGE,
- ANALYTICS_CONSENT_PAGE
- }
-
- @Nullable private CurrentOnboardingPage mCurrentOnboardingPage;
-
private void checkReferral() {
InstallReferrerClient referrerClient = InstallReferrerClient.newBuilder(this).build();
referrerClient.startConnection(
@@ -207,35 +160,13 @@ public class WelcomeOnboardingActivity extends FirstRunActivityBase
}
private void enableWebDiscoverPreference() {
- if ((isWDPSettingAvailable() && mCurrentOnboardingPage == CurrentOnboardingPage.WDP_PAGE)
- || isVariantY()) {
- UserPrefs.get(assumeNonNull(getProfileProviderSupplier().get()).getOriginalProfile())
- .setBoolean(BravePref.WEB_DISCOVERY_ENABLED, true);
- }
+ UserPrefs.get(assumeNonNull(getProfileProviderSupplier().get()).getOriginalProfile())
+ .setBoolean(BravePref.WEB_DISCOVERY_ENABLED, true);
}
- private void nextOnboardingStepForDefaultVariant() {
- if (isActivityFinishingOrDestroyed()) {
- return;
- }
-
- mCurrentStep++;
- if (mCurrentStep == 0) {
- handleSetAsDefaultStep();
- } else if (mCurrentStep == 1) {
- handleWDPStep();
- } else if (mCurrentStep == 2) {
- handleAnalyticsConsentPage();
- } else {
- finalStep(false);
- }
- }
-
- private void finalStep(final boolean showSearchWidgetPromoPanel) {
- if (showSearchWidgetPromoPanel) {
- ChromeSharedPreferences.getInstance()
- .writeBoolean(OnboardingPrefManager.SHOULD_SHOW_SEARCH_WIDGET_PROMO, true);
- }
+ private void finalStep() {
+ ChromeSharedPreferences.getInstance()
+ .writeBoolean(OnboardingPrefManager.SHOULD_SHOW_SEARCH_WIDGET_PROMO, true);
CustomizeBraveMenu.initDefaultInvisibleItems(getResources());
OnboardingPrefManager.getInstance().setP3aOnboardingShown(true);
@@ -282,26 +213,6 @@ public class WelcomeOnboardingActivity extends FirstRunActivityBase
}
}
- private void handleSetAsDefaultStep() {
- mCurrentOnboardingPage = CurrentOnboardingPage.SET_AS_DEFAULT;
- if (!maybeRequestDefaultBrowser()) {
- nextOnboardingStepForDefaultVariant();
- }
- }
-
- private void handleWDPStep() {
- if (!isWDPSettingAvailable()) {
- nextOnboardingStepForDefaultVariant();
- return;
- }
-
- mCurrentOnboardingPage = CurrentOnboardingPage.WDP_PAGE;
- if (isDefaultVariant() && mIvBrave != null) {
- mIvBrave.setVisibility(View.VISIBLE);
- }
- showWDPPage();
- }
-
private boolean isWDPSettingAvailable() {
if (!BraveConfig.WEB_DISCOVERY_ENABLED) {
return false;
@@ -311,74 +222,6 @@ public class WelcomeOnboardingActivity extends FirstRunActivityBase
.isManagedPreference(WebDiscoveryPrefs.WEB_DISCOVERY_ENABLED);
}
- private void handleAnalyticsConsentPage() {
- // If both settings are managed by policy, skip this page entirely
- if (mIsP3aManaged && mIsCrashReportingManaged) {
- nextOnboardingStepForDefaultVariant();
- return;
- }
-
- mCurrentOnboardingPage = CurrentOnboardingPage.ANALYTICS_CONSENT_PAGE;
- int margin = mIsTablet ? 250 : 60;
- setLeafAnimation(mVLeafAlignTop, mIvLeafTop, margin, true);
- setLeafAnimation(mVLeafAlignBottom, mIvLeafBottom, margin, false);
-
- if (mLayoutCard != null) {
- mLayoutCard.setVisibility(View.GONE);
- }
- if (mTvDefault != null) {
- mTvDefault.setVisibility(View.GONE);
- }
- if (mIvArrowDown != null) {
- mIvArrowDown.setVisibility(View.GONE);
- }
-
- if (mTvCard != null) {
- mTvCard.setText(getResources().getString(R.string.p3a_title));
- }
- if (mBtnPositive != null) {
- mBtnPositive.setText(getResources().getString(R.string.continue_text));
- }
- if (mBtnNegative != null) {
- mBtnNegative.setText(getResources().getString(R.string.learn_more_onboarding));
- mBtnNegative.setVisibility(View.VISIBLE);
- }
-
- if (!mIsCrashReportingManaged) {
- final boolean isCrashReporting = getCrashReportingPreference();
- if (mCheckboxCrash != null) {
- mCheckboxCrash.setChecked(isCrashReporting);
- mCheckboxCrash.setOnCheckedChangeListener(
- (buttonView, isChecked) -> setMetricsReportingConsent(isChecked, false));
- }
- }
-
- if (!mIsP3aManaged) {
- final boolean isP3aEnabled = getP3aPreference();
- if (mCheckboxP3a != null) {
- mCheckboxP3a.setChecked(isP3aEnabled);
- mCheckboxP3a.setOnCheckedChangeListener(
- (buttonView, isChecked) -> setP3aConsent(isChecked));
- }
- }
-
- if (mTvCard != null) {
- mTvCard.setVisibility(View.VISIBLE);
- }
- if (mCheckboxCrash != null) {
- mCheckboxCrash.setVisibility(mIsCrashReportingManaged ? View.GONE : View.VISIBLE);
- }
- if (mCheckboxP3a != null) {
- mCheckboxP3a.setVisibility(mIsP3aManaged ? View.GONE : View.VISIBLE);
- }
- if (mLayoutCard != null) {
- mLayoutCard.setVisibility(View.VISIBLE);
- }
- if (mIvArrowDown != null) {
- mIvArrowDown.setVisibility(View.VISIBLE);
- }
- }
-
private void setMetricsReportingConsent(final boolean consent, final boolean markAsShown) {
try {
// Updates reporting consent for first run.
@@ -403,113 +246,6 @@ public class WelcomeOnboardingActivity extends FirstRunActivityBase
}
}
- private void showWDPPage() {
- if (isDefaultVariant()) {
- int margin = mIsTablet ? 250 : 60;
- setLeafAnimation(mVLeafAlignTop, mIvLeafTop, margin, true);
- setLeafAnimation(mVLeafAlignBottom, mIvLeafBottom, margin, false);
-
- if (mLayoutCard != null) {
- mLayoutCard.setVisibility(View.GONE);
- }
- if (mIvArrowDown != null) {
- mIvArrowDown.setVisibility(View.GONE);
- }
-
- if (mTvCard != null) {
- mTvCard.setText(getResources().getString(R.string.wdp_title));
- }
-
- if (mTvDefault != null) {
- mTvDefault.setMovementMethod(LinkMovementMethod.getInstance());
- mTvDefault.setText(mWdpLearnMore);
- }
-
- if (mBtnPositive != null) {
- mBtnPositive.setText(getResources().getString(R.string.sure_ill_help_onboarding));
- }
- if (mBtnNegative != null) {
- mBtnNegative.setText(getResources().getString(R.string.maybe_later));
- mBtnNegative.setVisibility(View.VISIBLE);
- }
-
- if (mTvCard != null) {
- mTvCard.setVisibility(View.VISIBLE);
- }
-
- if (mTvDefault != null) {
- mTvDefault.setVisibility(View.VISIBLE);
- }
- if (mLayoutCard != null) {
- mLayoutCard.setVisibility(View.VISIBLE);
- }
- if (mIvArrowDown != null) {
- mIvArrowDown.setVisibility(View.VISIBLE);
- }
- if (mCheckboxCrash != null) {
- mCheckboxCrash.setVisibility(View.GONE);
- }
- if (mCheckboxP3a != null) {
- mCheckboxP3a.setVisibility(View.GONE);
- }
- }
- }
-
- private void setLeafAnimation(
- View leafAlignView, ImageView leafView, float leafMargin, boolean isTopLeaf) {
- if (leafMargin > 0 && leafAlignView != null) {
- int margin = dpToPx(this, leafMargin);
- Animation animation =
- new Animation() {
- @Override
- protected void applyTransformation(float time, Transformation t) {
- transformLeaf(time, margin, leafAlignView, isTopLeaf);
- }
- };
- animation.setDuration(800);
- leafAlignView.startAnimation(animation);
- }
- if (leafView != null) {
- leafView.animate()
- .scaleX(LEAF_SCALE_ANIMATION)
- .scaleY(LEAF_SCALE_ANIMATION)
- .setDuration(800);
- }
- }
-
- private void transformLeaf(
- final float time, final int margin, final View leafAlignView, final boolean isTopLeaf) {
- ViewGroup.MarginLayoutParams layoutParams =
- (ViewGroup.MarginLayoutParams) leafAlignView.getLayoutParams();
- if (isTopLeaf) {
- layoutParams.bottomMargin =
- margin - (int) ((margin - layoutParams.bottomMargin) * time);
- } else {
- layoutParams.topMargin = margin - (int) ((margin - layoutParams.topMargin) * time);
- }
- leafAlignView.setLayoutParams(layoutParams);
- }
-
- @Override
- public void onRequestPermissionsResult(
- int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) {
- super.onRequestPermissionsResult(requestCode, permissions, grantResults);
- if (requestCode == BravePermissionUtils.NOTIFICATION_PERMISSION_CODE) {
- if (isDefaultVariant()) {
- nextOnboardingStepForDefaultVariant();
- }
- }
- }
-
- @Override
- public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
- super.onActivityResult(requestCode, resultCode, data);
- assert requestCode == BraveConstants.DEFAULT_BROWSER_ROLE_REQUEST_CODE;
- if (isDefaultVariant()) {
- nextOnboardingStepForDefaultVariant();
- }
- }
-
@Override
protected void performPreInflationStartup() {
super.performPreInflationStartup();
@@ -525,7 +261,7 @@ public class WelcomeOnboardingActivity extends FirstRunActivityBase
setContentView(R.layout.activity_welcome_onboarding);
mSplashGuideline = findViewById(R.id.splash_anchor);
- mVariantYPager = findViewById(R.id.onboarding_steps_pager);
+ mOnboardingPager = findViewById(R.id.onboarding_steps_pager);
final ChromeClickableSpan wdpLearnMoreClickableSpan =
new ChromeClickableSpan(
@@ -533,91 +269,21 @@ public class WelcomeOnboardingActivity extends FirstRunActivityBase
(textView) -> CustomTabActivity.showInfoPage(this, WDP_LINK));
final String wdpText = getResources().getString(R.string.wdp_text);
- mWdpLearnMore =
+ final SpannableString wdpLearnMore =
SpanApplier.applySpans(
wdpText,
new SpanInfo("", "", wdpLearnMoreClickableSpan));
- if (mVariantYPager != null) {
- mVariantYPager.setUserInputEnabled(false);
- mPageBounceAnimator = new PageBounceAnimator(mVariantYPager);
- mVariantYAdapter = new OnboardingStepAdapter(mWdpLearnMore, this);
- mVariantYPager.setAdapter(mVariantYAdapter);
- }
+ mOnboardingPager.setUserInputEnabled(false);
+ mPageBounceAnimator = new PageBounceAnimator(mOnboardingPager);
+ mStepAdapter = new OnboardingStepAdapter(wdpLearnMore, this);
+ mOnboardingPager.setAdapter(mStepAdapter);
- mDefaultConstraintLayout = findViewById(R.id.onboarding_default_variant);
- mVariantYConstraintLayout = findViewById(R.id.onboarding_variant_y);
mBraveSplash = findViewById(R.id.brave_splash);
mBraveSplashContainer = findViewById(R.id.brave_splash_container);
assert !mIsTablet || mBraveSplashContainer != null
: "R.id.brave_splash_container must be declared on tablet layout.";
- mIvLeafTop = findViewById(R.id.iv_leaf_top);
- mIvLeafBottom = findViewById(R.id.iv_leaf_bottom);
- mVLeafAlignTop = findViewById(R.id.view_leaf_top_align);
- mVLeafAlignBottom = findViewById(R.id.view_leaf_bottom_align);
- mIvBrave = findViewById(R.id.iv_brave);
- mIvArrowDown = findViewById(R.id.iv_arrow_down);
- mLayoutCard = findViewById(R.id.layout_card);
- mTvCard = findViewById(R.id.tv_card);
- mTvDefault = findViewById(R.id.tv_default);
- mCheckboxCrash = findViewById(R.id.checkbox_crash);
- mCheckboxP3a = findViewById(R.id.checkbox_p3a);
- mBtnPositive = findViewById(R.id.btn_positive);
- mBtnNegative = findViewById(R.id.btn_negative);
- LinearLayout layoutData = findViewById(R.id.layout_data);
- LayoutTransition layoutTransition = new LayoutTransition();
- layoutTransition.setDuration(1000);
- if (layoutData != null) {
- layoutData.setLayoutTransition(layoutTransition);
- }
- int margin = mIsTablet ? 200 : 50;
-
- if (mVLeafAlignTop != null) {
- ViewGroup.MarginLayoutParams topLeafParams =
- (ViewGroup.MarginLayoutParams) mVLeafAlignTop.getLayoutParams();
- topLeafParams.bottomMargin = margin;
- mVLeafAlignTop.setLayoutParams(topLeafParams);
- }
-
- if (mVLeafAlignBottom != null) {
- ViewGroup.MarginLayoutParams bottomLeafParams =
- (ViewGroup.MarginLayoutParams) mVLeafAlignBottom.getLayoutParams();
- bottomLeafParams.topMargin = margin;
- mVLeafAlignBottom.setLayoutParams(bottomLeafParams);
- }
-
- if (mBtnPositive != null) {
- BraveTouchUtils.ensureMinTouchTarget(mBtnPositive);
- }
- if (mCheckboxCrash != null) {
- BraveTouchUtils.ensureMinTouchTarget(mCheckboxCrash);
- }
- if (mCheckboxP3a != null) {
- BraveTouchUtils.ensureMinTouchTarget(mCheckboxP3a);
- }
-
- if (mBtnPositive != null) {
- mBtnPositive.setOnClickListener(
- view -> {
- if (mCurrentStep != 0 || !maybeRequestDefaultBrowser()) {
- enableWebDiscoverPreference();
- nextOnboardingStepForDefaultVariant();
- }
- });
- }
-
- if (mBtnNegative != null) {
- mBtnNegative.setOnClickListener(
- view -> {
- if (mCurrentOnboardingPage
- == CurrentOnboardingPage.ANALYTICS_CONSENT_PAGE) {
- CustomTabActivity.showInfoPage(this, P3A_URL);
- } else {
- nextOnboardingStepForDefaultVariant();
- }
- });
- }
checkReferral();
if (PackageUtils.isFirstInstall(this)) {
ChromeSharedPreferences.getInstance()
@@ -636,49 +302,27 @@ public class WelcomeOnboardingActivity extends FirstRunActivityBase
!PrivacyPreferencesManagerImpl.getInstance()
.isUsageAndCrashReportingPermittedByPolicy();
- mDayZeroVariant = DayZeroHelper.getDayZeroVariant();
- // Filter out day zero variants different from X and Y.
- if (TextUtils.isEmpty(mDayZeroVariant)
- || (!mDayZeroVariant.equals(DAY_ZERO_VARIANT_Y)
- && !mDayZeroVariant.equals(DAY_ZERO_DEFAULT_VARIANT))) {
- mDayZeroVariant = DAY_ZERO_DEFAULT_VARIANT;
+ if (!mIsCrashReportingManaged) {
+ final boolean isCrashReporting = getCrashReportingPreference();
+ mStepAdapter.setCrashReportingChecked(isCrashReporting);
+ } else {
+ mStepAdapter.setCrashReportingManaged(true);
}
- if (isVariantY()) {
- if (!mIsCrashReportingManaged) {
- final boolean isCrashReporting = getCrashReportingPreference();
- if (mVariantYAdapter != null) {
- mVariantYAdapter.setCrashReportingChecked(isCrashReporting);
- }
- } else if (mVariantYAdapter != null) {
- mVariantYAdapter.setCrashReportingManaged(true);
- }
-
- if (!mIsP3aManaged) {
- final boolean isP3aEnabled = getP3aPreference();
- if (mVariantYAdapter != null) {
- mVariantYAdapter.setP3aChecked(isP3aEnabled);
- }
- } else if (mVariantYAdapter != null) {
- mVariantYAdapter.setP3aManaged(true);
- }
- mVariantYConstraintLayout.setVisibility(View.VISIBLE);
- if (mSplashAnimationFinished) {
- if (mBraveSplashContainer != null) {
- mBraveSplashContainer.setVisibility(View.GONE);
- }
- if (mVariantYPager != null) {
- mVariantYPager.setCurrentItem(mRestoredVariantYPageIndex, false);
- mVariantYPager.setVisibility(View.VISIBLE);
- }
- } else {
- final AnimatedVectorDrawable vectorDrawable = getAnimatedVectorDrawable();
- vectorDrawable.start();
- }
-
+ if (!mIsP3aManaged) {
+ final boolean isP3aEnabled = getP3aPreference();
+ mStepAdapter.setP3aChecked(isP3aEnabled);
} else {
- mDefaultConstraintLayout.setVisibility(View.VISIBLE);
- nextOnboardingStepForDefaultVariant();
+ mStepAdapter.setP3aManaged(true);
+ }
+ if (mSplashAnimationFinished) {
+ if (mBraveSplashContainer != null) {
+ mBraveSplashContainer.setVisibility(View.GONE);
+ }
+ mOnboardingPager.setCurrentItem(mRestoredPageIndex, false);
+ mOnboardingPager.setVisibility(View.VISIBLE);
+ } else {
+ playAnimatedVectorDrawable();
}
}
@@ -686,9 +330,7 @@ public class WelcomeOnboardingActivity extends FirstRunActivityBase
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putBoolean(KEY_SPLASH_ANIMATION_FINISHED, mSplashAnimationFinished);
- if (mVariantYPager != null) {
- outState.putInt(KEY_VARIANT_Y_PAGE_INDEX, mVariantYPager.getCurrentItem());
- }
+ outState.putInt(KEY_PAGE_INDEX, mOnboardingPager.getCurrentItem());
}
@Override
@@ -698,20 +340,13 @@ public class WelcomeOnboardingActivity extends FirstRunActivityBase
return;
}
mSplashAnimationFinished = state.getBoolean(KEY_SPLASH_ANIMATION_FINISHED, false);
- mRestoredVariantYPageIndex = state.getInt(KEY_VARIANT_Y_PAGE_INDEX, 0);
+ mRestoredPageIndex = state.getInt(KEY_PAGE_INDEX, 0);
}
- private boolean isDefaultVariant() {
- return mDayZeroVariant.equals(DAY_ZERO_DEFAULT_VARIANT);
- }
-
- private boolean isVariantY() {
- return mDayZeroVariant.equals(DAY_ZERO_VARIANT_Y);
- }
-
- private AnimatedVectorDrawable getAnimatedVectorDrawable() {
- final AnimatedVectorDrawable result = (AnimatedVectorDrawable) mBraveSplash.getDrawable();
- result.registerAnimationCallback(
+ private void playAnimatedVectorDrawable() {
+ final AnimatedVectorDrawable vectorDrawable =
+ (AnimatedVectorDrawable) mBraveSplash.getDrawable();
+ vectorDrawable.registerAnimationCallback(
new Animatable2.AnimationCallback() {
@Override
@@ -728,11 +363,11 @@ public class WelcomeOnboardingActivity extends FirstRunActivityBase
if (mIsTablet) {
fadeBraveSplashContainer();
} else {
- animateBraveSplash(result);
+ animateBraveSplash(vectorDrawable);
}
}
});
- return result;
+ vectorDrawable.start();
}
private boolean getCrashReportingPreference() {
@@ -763,19 +398,14 @@ public class WelcomeOnboardingActivity extends FirstRunActivityBase
return isP3aEnabled;
}
- private void showVariantYPagerAfterSplash() {
- if (mVariantYPager != null) {
- mVariantYPager.setCurrentItem(isWDPSettingAvailable() ? 0 : 1, false);
- mVariantYPager.setVisibility(View.VISIBLE);
- }
+ private void showPagerAfterSplash() {
+ mOnboardingPager.setCurrentItem(isWDPSettingAvailable() ? 0 : 1, false);
+ mOnboardingPager.setVisibility(View.VISIBLE);
mSplashAnimationFinished = true;
maybeRequestDefaultBrowser();
}
private void fadeBraveSplashContainer() {
- if (mBraveSplashContainer == null) {
- return;
- }
Animator animator =
AnimatorInflater.loadAnimator(
WelcomeOnboardingActivity.this, R.animator.ic_brave_splash_fade_out);
@@ -789,8 +419,8 @@ public class WelcomeOnboardingActivity extends FirstRunActivityBase
@Override
public void onAnimationEnd(@NonNull Animator animation) {
- mBraveSplashContainer.setVisibility(View.GONE);
- showVariantYPagerAfterSplash();
+ assumeNonNull(mBraveSplashContainer).setVisibility(View.GONE);
+ showPagerAfterSplash();
}
@Override
@@ -845,10 +475,7 @@ public class WelcomeOnboardingActivity extends FirstRunActivityBase
mSplashGuideline.getLayoutParams();
guidelineLayoutParams.guideBegin = Math.round(splashBottomPx);
mSplashGuideline.setLayoutParams(guidelineLayoutParams);
- if (mBraveSplashContainer != null) {
- mBraveSplashContainer.setVisibility(View.GONE);
- }
- showVariantYPagerAfterSplash();
+ showPagerAfterSplash();
}
@Override
@@ -864,15 +491,13 @@ public class WelcomeOnboardingActivity extends FirstRunActivityBase
.start();
}
- private boolean maybeRequestDefaultBrowser() {
+ private void maybeRequestDefaultBrowser() {
if (isActivityFinishingOrDestroyed()) {
- return false;
+ return;
}
if (!isBraveSetAsDefaultBrowser(this)) {
setDefaultBrowser(this);
- return true;
}
- return false;
}
@Override
@@ -885,18 +510,16 @@ public class WelcomeOnboardingActivity extends FirstRunActivityBase
if (position == 2) {
// If both settings are managed by policy, skip this page entirely
if (mIsP3aManaged && mIsCrashReportingManaged) {
- finalStep(true);
+ finalStep();
return;
}
}
- if (mPageBounceAnimator != null) {
- mPageBounceAnimator.animateToPosition(position);
- }
+ mPageBounceAnimator.animateToPosition(position);
}
@Override
public void onDismiss() {
- finalStep(true);
+ finalStep();
}
@Override
diff --git a/android/java/res/values-night/brave_colors.xml b/android/java/res/values-night/brave_colors.xml
index 872e75c5780..2028128f479 100644
--- a/android/java/res/values-night/brave_colors.xml
+++ b/android/java/res/values-night/brave_colors.xml
@@ -31,7 +31,6 @@
#212529
#1E2029
- #F0F2FF
#A0A5EB
#F0F2FF
diff --git a/android/java/res/values/brave_colors.xml b/android/java/res/values/brave_colors.xml
index 262e4532c5d..888f1ecf14f 100644
--- a/android/java/res/values/brave_colors.xml
+++ b/android/java/res/values/brave_colors.xml
@@ -99,7 +99,6 @@
#F0F2FF
@android:color/white
- #212529
#4C54D2
#737ADE
#4D54D3
diff --git a/browser/first_run/android/java/src/org/chromium/chrome/browser/firstrun/OnboardingStepAdapter.java b/browser/first_run/android/java/src/org/chromium/chrome/browser/firstrun/OnboardingStepAdapter.java
index cd01052a361..4299a92e83c 100644
--- a/browser/first_run/android/java/src/org/chromium/chrome/browser/firstrun/OnboardingStepAdapter.java
+++ b/browser/first_run/android/java/src/org/chromium/chrome/browser/firstrun/OnboardingStepAdapter.java
@@ -21,8 +21,8 @@ import org.chromium.brave.browser.firstrun.R;
import org.chromium.build.annotations.NullMarked;
/**
- * RecyclerView adapter for the variant-B onboarding ViewPager2, inflating one layout per step and
- * delegating navigation requests to the host via {@link OnboardingNavigationListener}.
+ * RecyclerView adapter for the onboarding ViewPager2, inflating one layout per step and delegating
+ * navigation requests to the host via {@link OnboardingNavigationListener}.
*/
@NullMarked
public class OnboardingStepAdapter
@@ -123,7 +123,7 @@ public class OnboardingStepAdapter
mP3aManaged = managed;
}
- abstract static class OnboardingBaseViewHolder extends RecyclerView.ViewHolder {
+ public abstract static class OnboardingBaseViewHolder extends RecyclerView.ViewHolder {
public OnboardingBaseViewHolder(View itemView) {
super(itemView);
diff --git a/browser/first_run/android/java/src/org/chromium/chrome/browser/firstrun/PageBounceAnimator.java b/browser/first_run/android/java/src/org/chromium/chrome/browser/firstrun/PageBounceAnimator.java
index 0a7d2f1da2b..14662c30d1d 100644
--- a/browser/first_run/android/java/src/org/chromium/chrome/browser/firstrun/PageBounceAnimator.java
+++ b/browser/first_run/android/java/src/org/chromium/chrome/browser/firstrun/PageBounceAnimator.java
@@ -50,11 +50,6 @@ public class PageBounceAnimator {
@Nullable private ValueAnimator mPageAnimator;
@Nullable private ValueAnimator mBounceAnimator;
- /** Listener called when a page finishes settling. */
- public interface OnPageShownListener {
- void onPageShown(final int position);
- }
-
/** Creates a new animator bound to the provided ViewPager2. */
public PageBounceAnimator(final ViewPager2 viewPager) {
mViewPager = viewPager;
@@ -138,11 +133,6 @@ public class PageBounceAnimator {
mPageAnimator.start();
}
- /** Returns the adapter position of the currently snapped page. */
- public int getCurrentPosition() {
- return mViewPager.getCurrentItem();
- }
-
private void playBounce(final int targetPosition) {
if (mBounceAnimator != null && mBounceAnimator.isRunning()) {
mBounceAnimator.cancel();
diff --git a/browser/ui/android/strings/android_brave_strings.grd b/browser/ui/android/strings/android_brave_strings.grd
index 3ea23aa2266..993ff7e8333 100644
--- a/browser/ui/android/strings/android_brave_strings.grd
+++ b/browser/ui/android/strings/android_brave_strings.grd
@@ -753,24 +753,12 @@ This file contains all "about" strings. It is set to NOT be translated, in tran
-
- Privacy. Made simple.
-
-
- With Brave as default, every link you tap opens with Brave's privacy protections.
-
Help make Brave better
Let us know which features you're enjoying the most.
-
- Send diagnostic reports if you experience a crash or freeze.
-
-
- Share private and anonymous product insights about what features are being used by Brave's users.
-
Help Brave Search grow
@@ -783,21 +771,6 @@ This file contains all "about" strings. It is set to NOT be translated, in tran
Brave logo
-
- Onboarding background
-
-
- Top leaf decoration
-
-
- Bottom leaf decoration
-
-
- Scroll down
-
-
- Brave logo
-
Help Brave Search illustration
@@ -843,9 +816,6 @@ This file contains all "about" strings. It is set to NOT be translated, in tran
Skip
-
- Learn more
-
Troubleshooting onboarding