Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
64673d7
Move promo panel to the bottom of parent view
simoarpe Feb 17, 2026
a1fa304
Remove Android version checks
simoarpe Feb 17, 2026
c6d93f5
Append "android-widget" when a search comes from widget
simoarpe Feb 17, 2026
3558584
Add tests
simoarpe Feb 17, 2026
5ebfc67
Apply code formatting
simoarpe Feb 17, 2026
0bce188
Remove old icons
simoarpe Feb 19, 2026
b5bb1e0
Reposition SearchWidgetPromoPanel upon orientation changes
simoarpe Feb 19, 2026
ec79ac7
Calculate bottom inset
simoarpe Feb 20, 2026
145e98e
Recreate search widget promo panel upon config changes
simoarpe Feb 20, 2026
235193c
Fix transitions on foldable state changes
simoarpe Feb 20, 2026
fb9d3d1
Restore widget search promo panel on foldable
simoarpe Feb 23, 2026
3bad73e
Improve resource qualifier for tablets in portrait
simoarpe Feb 24, 2026
bece411
Modify font weight for Heading3 style
simoarpe Feb 24, 2026
fc03e77
Switch title style from H2 to H3 on tablets
simoarpe Feb 24, 2026
bf5c214
Fix H3 style font dimension
simoarpe Feb 24, 2026
0dc0b63
Change H2 and H3 text style to bold
simoarpe Feb 24, 2026
5ea3948
Tweaked dimensions for foldables
simoarpe Feb 24, 2026
ec289ee
Apply code formatting
simoarpe Feb 25, 2026
efd82c7
Implement rounded buttons and clean up layout
simoarpe Feb 25, 2026
5b8b7af
Apply max width to widget search promo panel
simoarpe Feb 25, 2026
3498b86
Implement widget search preview
simoarpe Feb 25, 2026
e4ceaa8
Add content description
simoarpe Feb 25, 2026
6047f94
Move widget search preview to a separate layout
simoarpe Feb 25, 2026
3004aef
Make variables final
simoarpe Feb 25, 2026
04f1646
Remove duplicate color already present in Nala tokens
simoarpe Feb 27, 2026
f4d8c03
Remove unneeded background color
simoarpe Feb 27, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 4 additions & 3 deletions android/BUILD.gn
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,6 @@ android_resources("java_resources") {
"java/brave-res/drawable/ad_free_card_bg.xml",
"java/brave-res/drawable/add_custom_filter_button_background_disabled.xml",
"java/brave-res/drawable/add_custom_filter_button_background_selector.xml",
"java/brave-res/drawable/add_widget_button.xml",
"java/brave-res/drawable/ads_custom_notification_border.xml",
"java/brave-res/drawable/ads_custom_notification_border_dark.xml",
"java/brave-res/drawable/always_on_tab_dot.xml",
Expand Down Expand Up @@ -254,6 +253,7 @@ android_resources("java_resources") {
"java/brave-res/drawable/btn_right_tablet.xml",
"java/brave-res/drawable/button_full.xml",
"java/brave-res/drawable/button_outline.xml",
"java/brave-res/drawable/button_transparent.xml",
"java/brave-res/drawable/card_bg.xml",
"java/brave-res/drawable/circular_progress.xml",
"java/brave-res/drawable/country_spinner_background.xml",
Expand Down Expand Up @@ -400,7 +400,6 @@ android_resources("java_resources") {
"java/brave-res/drawable/ic_rewards.xml",
"java/brave-res/drawable/ic_rocket.xml",
"java/brave-res/drawable/ic_search_21dp.xml",
"java/brave-res/drawable/ic_search_widget_promotion_icon.xml",
"java/brave-res/drawable/ic_settings.xml",
"java/brave-res/drawable/ic_settings_dapps.xml",
"java/brave-res/drawable/ic_share.xml",
Expand Down Expand Up @@ -431,7 +430,6 @@ android_resources("java_resources") {
"java/brave-res/drawable/ic_warning_circle_filled.xml",
"java/brave-res/drawable/ic_warning_circle_filled2.xml",
"java/brave-res/drawable/ic_web.xml",
"java/brave-res/drawable/ic_widget_generic.xml",
"java/brave-res/drawable/ic_widget_generic_with_container.xml",
"java/brave-res/drawable/ic_youtube_skip_ads.xml",
"java/brave-res/drawable/ic_zec_color.xml",
Expand Down Expand Up @@ -486,6 +484,7 @@ android_resources("java_resources") {
"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",
"java/brave-res/drawable/rounded_top_corners.xml",
"java/brave-res/drawable/rounded_wallet_edittext.xml",
"java/brave-res/drawable/selected_dot.xml",
Expand All @@ -509,6 +508,7 @@ android_resources("java_resources") {
"java/brave-res/drawable/warning_circle_filled.xml",
"java/brave-res/drawable/web_notification_small_icon_background.xml",
"java/brave-res/drawable/white_rounded_holo_button_thin.xml",
"java/brave-res/drawable/widget_promo_panel_search_background.xml",
"java/brave-res/layout-land/activity_brave_leo_plans.xml",
"java/brave-res/layout-land/activity_brave_origin_plans.xml",
"java/brave-res/layout-land/activity_vpn_paywall.xml",
Expand Down Expand Up @@ -703,6 +703,7 @@ android_resources("java_resources") {
"java/brave-res/layout/web_notification_small_icon.xml",
"java/brave-res/layout/widevine_permission_request_custom_view.xml",
"java/brave-res/layout/widget_bookmark_grid_item.xml",
"java/brave-res/layout/widget_search_preview.xml",
"java/brave-res/menu/bookmark_tab_menu.xml",
"java/brave-res/menu/exit_settings_menu.xml",
"java/brave-res/menu/menu_brave_news_settings_search.xml",
Expand Down
28 changes: 28 additions & 0 deletions android/java/brave-res/drawable/button_transparent.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2026 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 https://mozilla.org/MPL/2.0/.
-->
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false">
<shape android:shape="rectangle">
<solid android:color="@android:color/transparent" />
<corners android:radius="48dp" />
</shape>
</item>

<item android:state_pressed="true">
<shape android:shape="rectangle">
<solid android:color="@color/button_background_10" />
<corners android:radius="48dp" />
</shape>
</item>

<item>
<shape android:shape="rectangle">
<solid android:color="@android:color/transparent" />
<corners android:radius="48dp" />
</shape>
</item>
</selector>

This file was deleted.

16 changes: 0 additions & 16 deletions android/java/brave-res/drawable/ic_widget_generic.xml

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,17 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2023 The Brave Authors. All rights reserved.
<!-- Copyright (c) 2026 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 https://mozilla.org/MPL/2.0/.
-->
<shape xmlns:android="http://schemas.android.com/apk/res/android" >

<solid android:color="@color/button_background_widget_promo" />

<corners
android:bottomLeftRadius="12dp"
android:bottomRightRadius="12dp"
android:topLeftRadius="12dp"
android:topRightRadius="12dp" />

<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/schemes_surface_container_lowest" />
<corners android:radius="25dp" />
</shape>
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2026 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 https://mozilla.org/MPL/2.0/.
-->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<solid android:color="@color/schemes_surface_container" />
<corners android:radius="48dp" />
</shape>
116 changes: 47 additions & 69 deletions android/java/brave-res/layout/layout_search_widget_promo.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,103 +5,81 @@
You can obtain one at https://mozilla.org/MPL/2.0/.
-->

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content">

<androidx.cardview.widget.CardView
android:layout_width="match_parent"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:padding="24dp"
android:layout_margin="8dp"
android:layout_margin="16dp"
app:cardBackgroundColor="@color/schemes_surface_container_lowest"
app:cardCornerRadius="8dp"
app:cardElevation="0dp">
app:cardCornerRadius="25dp"

app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintWidth_max="380dp">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp"
android:layout_marginTop="16dp"
android:orientation="vertical">

<LinearLayout
<include layout="@layout/widget_search_preview" />

<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tvSearchWidgetPromoTitle"
style="@style/HeadingH4"
android:textStyle="bold"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">

<androidx.appcompat.widget.AppCompatImageView
android:id="@+id/ivSearchWidgetPromoIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
app:srcCompat="@drawable/ic_search_widget_promotion_icon" />

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:orientation="vertical">

<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tvSearchWidgetPromoTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/HeadingH4"
android:fontFamily="sans-serif-medium"
android:text="@string/try_brave_search_widget"
android:textColor="@color/schemes_on_surface"/>

<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tvSearchWidgetPromoDescription"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="2dp"
android:text="@string/try_brave_search_widget_description"
android:textColor="@color/schemes_on_surface_variant" />

</LinearLayout>
android:gravity="center"
android:layout_marginTop="16dp"
android:text="@string/try_brave_search_widget"
android:textColor="@color/text_primary"/>

</LinearLayout>
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tvSearchWidgetPromoDescription"
style="@style/DefaultRegular"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:layout_marginBottom="8dp"
android:text="@string/try_brave_search_widget_description"
android:textColor="@color/semantic_text_secondary" />

<LinearLayout
android:layout_width="wrap_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:layout_marginTop="16dp"
android:layout_gravity="center_vertical"
android:layout_margin="16dp"
android:orientation="horizontal">

<androidx.appcompat.widget.AppCompatTextView
<androidx.appcompat.widget.AppCompatButton
android:id="@+id/tvNotNow"
android:layout_width="wrap_content"
style="@style/LargeButtonBase"
android:background="@drawable/button_transparent"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text="@string/not_now"
android:layout_gravity="center_vertical"
android:ellipsize="end"
android:layout_marginEnd="8dp"
android:padding="12dp"
android:textColor="@color/text_secondary"
android:fontFamily="sans-serif-medium" />
android:layout_marginEnd="2dp"
android:textColor="@color/schemes_on_surface_variant" />

<androidx.appcompat.widget.AppCompatButton
android:id="@+id/btAddWidget"
android:layout_width="wrap_content"
style="@style/LargeFilledButton"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:gravity="center"
android:background="@drawable/add_widget_button"
android:text="@string/add_widget"
android:textAllCaps="false"
android:padding="12dp"
android:textColor="@color/schemes_on_primary"
android:fontFamily="sans-serif-medium"
app:drawableStartCompat="@drawable/ic_widget_generic"
app:drawableTint="@color/schemes_on_primary"
android:drawablePadding="2dp"
style="?android:attr/borderlessButtonStyle"/>

android:layout_weight="0.5"
android:layout_marginStart="2dp"
android:text="@string/add_widget" />
</LinearLayout>

</LinearLayout>
</androidx.cardview.widget.CardView>
</FrameLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
63 changes: 63 additions & 0 deletions android/java/brave-res/layout/widget_search_preview.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2026 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 https://mozilla.org/MPL/2.0/.
-->
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="14dp"
android:background="@drawable/rounded_surface_container_background"
android:elevation="6dp"
android:orientation="horizontal"
android:padding="16dp">

<FrameLayout
android:layout_width="0dp"
android:layout_height="40dp"
android:layout_weight="0.5"
android:layout_marginHorizontal="4dp"
android:background="@drawable/widget_promo_panel_search_background">
<ImageView
android:layout_width="wrap_content"
android:layout_height="40dp"
android:layout_gravity="center_vertical|start"
android:contentDescription="@string/search_widget_promo_search_content_description"
android:padding="8dp"
android:src="@drawable/brave_icon_search"
app:tint="@color/schemes_on_primary_container" />
</FrameLayout>

<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginHorizontal="4dp"
android:background="@drawable/widget_promo_panel_search_background"
android:contentDescription="@string/search_widget_promo_voice_search_content_description"
android:padding="8dp"
android:src="@drawable/ic_microphone"
app:tint="@color/schemes_on_surface_variant" />

<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginHorizontal="4dp"
android:background="@drawable/widget_promo_panel_search_background"
android:contentDescription="@string/search_widget_promo_private_search_content_description"
android:padding="8dp"
android:src="@drawable/ic_product_private_window"
app:tint="@color/schemes_on_surface_variant" />

<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_marginHorizontal="4dp"
android:background="@drawable/widget_promo_panel_search_background"
android:contentDescription="@string/search_widget_promo_leo_content_description"
android:padding="8dp"
android:src="@drawable/ic_product_brave_leo"
app:tint="@color/schemes_on_surface_variant" />
</LinearLayout>
Loading
Loading