Fixed Widget and Notification crashes and added a better notification layout for Android 12

This commit is contained in:
Prathamesh More 2021-11-22 17:44:07 +05:30
parent 8e64f117f9
commit 574b990984
14 changed files with 254 additions and 27 deletions

View file

@ -0,0 +1,100 @@
<?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"
tools:background="@color/md_red_500"
tools:ignore="ContentDescription">
<RelativeLayout
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignBottom="@+id/content"
android:layout_alignParentEnd="true">
<ImageView
android:id="@+id/largeIcon"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentEnd="true"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
tools:src="@tools:sample/avatars" />
</RelativeLayout>
<LinearLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:layout_toStartOf="@id/actions"
android:orientation="vertical"
android:paddingStart="12dp"
android:paddingEnd="12dp"
android:paddingBottom="8dp">
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:lines="1"
android:singleLine="true"
android:textAppearance="@style/Theme.RetroMusic.Notification"
android:textStyle="bold"
tools:text="@tools:sample/lorem/random" />
<TextView
android:id="@+id/subtitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:lines="1"
android:singleLine="true"
android:textAppearance="@style/Theme.RetroMusic.Notification.Title"
tools:text="@tools:sample/lorem/random" />
</LinearLayout>
<LinearLayout
android:id="@+id/actions"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@id/content"
android:layout_alignBottom="@id/content"
android:layout_alignParentEnd="true"
android:layout_gravity="bottom"
android:layout_marginEnd="48dp"
android:orientation="horizontal">
<ImageButton
android:id="@+id/action_prev"
android:layout_width="38dp"
android:layout_height="38dp"
android:background="@drawable/notification_selector"
android:scaleType="centerInside"
android:src="@drawable/ic_skip_previous_round_white_32dp"
tools:tint="?colorOnPrimary" />
<ImageButton
android:id="@+id/action_play_pause"
android:layout_width="38dp"
android:layout_height="38dp"
android:background="@drawable/notification_selector"
android:scaleType="centerInside"
android:src="@drawable/ic_pause"
tools:tint="?colorOnPrimary" />
<ImageButton
android:id="@+id/action_next"
android:layout_width="38dp"
android:layout_height="38dp"
android:background="@drawable/notification_selector"
android:scaleType="centerInside"
android:src="@drawable/ic_skip_next_round_white_32dp"
tools:tint="?colorOnPrimary" />
</LinearLayout>
</RelativeLayout>

View file

@ -0,0 +1,104 @@
<?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"
tools:background="@color/md_red_500">
<RelativeLayout
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/content"
android:layout_alignParentEnd="true">
<ImageView
android:id="@+id/largeIcon"
android:layout_width="@dimen/notification_big_image_size"
android:layout_height="@dimen/notification_big_image_size"
android:layout_alignParentEnd="true"
android:scaleType="centerCrop"
tools:src="@tools:sample/avatars" />
</RelativeLayout>
<LinearLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentStart="true"
android:orientation="vertical"
android:paddingStart="0dp"
android:paddingTop="8dp"
android:paddingEnd="144dp">
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:lines="1"
android:paddingStart="16dp"
android:paddingEnd="0dp"
android:singleLine="true"
android:textAppearance="@style/Theme.RetroMusic.Notification"
android:textStyle="bold"
tools:text="@tools:sample/lorem/random" />
<TextView
android:id="@+id/subtitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:lines="1"
android:paddingStart="16dp"
android:paddingEnd="0dp"
android:singleLine="true"
android:textAppearance="@style/Theme.RetroMusic.Notification.Title"
tools:text="@tools:sample/lorem/random" />
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="horizontal"
android:paddingStart="8dp"
android:paddingEnd="0dp">
<ImageButton
android:id="@+id/action_prev"
android:layout_width="42dp"
android:layout_height="42dp"
android:background="@drawable/notification_selector"
android:scaleType="centerInside"
tools:src="@drawable/ic_skip_previous_round_white_32dp"
tools:tint="?colorOnPrimary" />
<ImageButton
android:id="@+id/action_play_pause"
android:layout_width="42dp"
android:layout_height="42dp"
android:background="@drawable/notification_selector"
android:scaleType="centerInside"
tools:src="@drawable/ic_pause_white_48dp"
tools:tint="?colorOnPrimary" />
<ImageButton
android:id="@+id/action_next"
android:layout_width="42dp"
android:layout_height="42dp"
android:background="@drawable/notification_selector"
android:scaleType="centerInside"
tools:src="@drawable/ic_skip_next_round_white_32dp"
tools:tint="?colorOnPrimary" />
<ImageButton
android:id="@+id/action_quit"
android:layout_width="42dp"
android:layout_height="42dp"
android:background="@drawable/notification_selector"
android:scaleType="centerInside"
tools:src="@drawable/ic_close"
tools:tint="?colorOnPrimary" />
</LinearLayout>
</LinearLayout>
</RelativeLayout>

View file

@ -2,4 +2,6 @@
<resources>
<bool name="md3_available">true</bool>
<bool name="md3_enabled">true</bool>
<bool name="colored_notification_available">false</bool>
</resources>

View file

@ -26,4 +26,6 @@
<string name="pref_title_md3">Material You</string>
<bool name="md3_available">false</bool>
<bool name="md3_enabled">false</bool>
<bool name="colored_notification_available">true</bool>
</resources>

View file

@ -13,6 +13,7 @@
android:defaultValue="true"
android:key="colored_notification"
android:layout="@layout/list_item_view_switch"
app:isPreferenceVisible="@bool/colored_notification_available"
android:summary="@string/pref_summary_colored_notification"
android:title="@string/pref_title_colored_notification" />