Add dark mode layout for custom ads popup on android.
Also added functionality to switch between dark/light modes on theme setting change. fix https://github.com/brave/brave-browser/issues/16350
This commit is contained in:
@@ -535,6 +535,7 @@ brave_java_resources = [
|
||||
"java/res/drawable/ac_radio_group_bg.xml",
|
||||
"java/res/drawable/ac_text_selector.xml",
|
||||
"java/res/drawable/ads_custom_notification_border.xml",
|
||||
"java/res/drawable/ads_custom_notification_border_dark.xml",
|
||||
"java/res/drawable/bat_ads_close_button.xml",
|
||||
"java/res/drawable/bat_ads_logo_button.xml",
|
||||
"java/res/drawable/bat_panel_gradient.xml",
|
||||
@@ -727,6 +728,7 @@ brave_java_resources = [
|
||||
"java/res/layout/bottom_toolbar_menu_button.xml",
|
||||
"java/res/layout/bottom_toolbar_tab_switcher.xml",
|
||||
"java/res/layout/brave_ads_custom_notification.xml",
|
||||
"java/res/layout/brave_ads_custom_notification_dark.xml",
|
||||
"java/res/layout/brave_ads_existing_user_dialog_layout.xml",
|
||||
"java/res/layout/brave_ads_new_user_dialog_layout.xml",
|
||||
"java/res/layout/brave_bookmark_toolbar.xml",
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
|
||||
<solid android:color="#202327" />
|
||||
<stroke android:width="1dip" android:color="#3f4145"/>
|
||||
<corners android:radius="4dp"/>
|
||||
</shape>
|
||||
@@ -0,0 +1,63 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="horizontal">
|
||||
<LinearLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:orientation="vertical"
|
||||
android:padding="2dp"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:background="@drawable/ads_custom_notification_border_dark"
|
||||
android:id="@+id/brave_ads_custom_notification_popup">
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="2dp"
|
||||
android:orientation="horizontal"
|
||||
>
|
||||
<TextView
|
||||
android:id="@+id/brave_ads_custom_notification_header"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/poppins_medium"
|
||||
android:textColor="#e3e6ec"
|
||||
android:textSize="14sp"
|
||||
android:paddingStart="13dp"
|
||||
android:paddingTop="8dp"/>
|
||||
<View
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="0dp"
|
||||
android:layout_weight="1" />
|
||||
<ImageView
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="20dp"
|
||||
android:layout_gravity="center"
|
||||
android:src="@drawable/bat_ads_logo_button"
|
||||
android:paddingTop="2dp"
|
||||
android:paddingEnd="2dp"
|
||||
android:id="@+id/brave_ads_logo" />
|
||||
|
||||
</LinearLayout>
|
||||
<LinearLayout
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:padding="2dp"
|
||||
android:orientation="horizontal">
|
||||
<TextView
|
||||
android:id="@+id/brave_ads_custom_notification_body"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:fontFamily="@font/poppins_light"
|
||||
android:textColor="#d7dbe2"
|
||||
android:paddingEnd="2dp"
|
||||
android:paddingStart="13dp"
|
||||
android:layout_marginBottom="7dp"
|
||||
android:textSize="14sp" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</RelativeLayout>
|
||||
+10
-1
@@ -29,6 +29,7 @@ import org.chromium.chrome.R;
|
||||
import org.chromium.chrome.browser.BraveAdsNativeHelper;
|
||||
import org.chromium.chrome.browser.ChromeTabbedActivity;
|
||||
import org.chromium.chrome.browser.app.BraveActivity;
|
||||
import org.chromium.chrome.browser.night_mode.GlobalNightModeStateProviderHolder;
|
||||
import org.chromium.chrome.browser.notifications.BraveOnboardingNotification;
|
||||
import org.chromium.chrome.browser.profiles.Profile;
|
||||
import org.chromium.chrome.browser.tab.TabLaunchType;
|
||||
@@ -57,7 +58,11 @@ public class BraveAdsNotificationDialog {
|
||||
mNotificationId = notificationId;
|
||||
|
||||
LayoutInflater inflater = LayoutInflater.from(context);
|
||||
b.setView(inflater.inflate(R.layout.brave_ads_custom_notification, null));
|
||||
if (shouldUseDarkModeTheme()) {
|
||||
b.setView(inflater.inflate(R.layout.brave_ads_custom_notification_dark, null));
|
||||
} else {
|
||||
b.setView(inflater.inflate(R.layout.brave_ads_custom_notification, null));
|
||||
}
|
||||
mAdsDialog = b.create();
|
||||
|
||||
if (mNotificationId != null) {
|
||||
@@ -178,6 +183,10 @@ public class BraveAdsNotificationDialog {
|
||||
}
|
||||
}
|
||||
|
||||
private static boolean shouldUseDarkModeTheme() {
|
||||
return GlobalNightModeStateProviderHolder.getInstance().isInNightMode();
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts a px value to a dp value.
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user