Browse Source

Move to Material 3 color theming for notification items

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
Andy Scherzinger 2 years ago
parent
commit
06388ba539

+ 6 - 12
app/src/main/java/com/owncloud/android/ui/adapter/NotificationListAdapter.java

@@ -47,6 +47,7 @@ import com.bumptech.glide.load.model.StreamEncoder;
 import com.bumptech.glide.load.resource.file.FileToStreamDecoder;
 import com.bumptech.glide.load.resource.file.FileToStreamDecoder;
 import com.caverock.androidsvg.SVG;
 import com.caverock.androidsvg.SVG;
 import com.google.android.material.button.MaterialButton;
 import com.google.android.material.button.MaterialButton;
+import com.nextcloud.android.common.ui.theme.utils.ColorRole;
 import com.owncloud.android.R;
 import com.owncloud.android.R;
 import com.owncloud.android.databinding.NotificationListItemBinding;
 import com.owncloud.android.databinding.NotificationListItemBinding;
 import com.owncloud.android.lib.common.OwnCloudClient;
 import com.owncloud.android.lib.common.OwnCloudClient;
@@ -149,18 +150,11 @@ public class NotificationListAdapter extends RecyclerView.Adapter<NotificationLi
             downloadIcon(notification.getIcon(), holder.binding.icon, notificationsActivity);
             downloadIcon(notification.getIcon(), holder.binding.icon, notificationsActivity);
         }
         }
 
 
-        int nightModeFlag =
-            notificationsActivity.getResources().getConfiguration().uiMode
-                & Configuration.UI_MODE_NIGHT_MASK;
-        if (Configuration.UI_MODE_NIGHT_YES == nightModeFlag) {
-            holder.binding.icon.setColorFilter(ResourcesCompat.getColor(notificationsActivity.getResources(),
-                                                                        R.color.grey_30, null),
-                                               PorterDuff.Mode.SRC_IN);
-        } else {
-            holder.binding.icon.setColorFilter(ResourcesCompat.getColor(notificationsActivity.getResources(),
-                                                                        R.color.text_color, null),
-                                               PorterDuff.Mode.SRC_IN);
-        }
+        viewThemeUtils.platform.colorImageView(holder.binding.icon, ColorRole.ON_SURFACE_VARIANT);
+        viewThemeUtils.platform.colorImageView(holder.binding.dismiss, ColorRole.ON_SURFACE_VARIANT);
+        viewThemeUtils.platform.colorTextView(holder.binding.subject, ColorRole.ON_SURFACE);
+        viewThemeUtils.platform.colorTextView(holder.binding.message, ColorRole.ON_SURFACE_VARIANT);
+        viewThemeUtils.platform.colorTextView(holder.binding.datetime, ColorRole.ON_SURFACE_VARIANT);
 
 
         setButtons(holder, notification);
         setButtons(holder, notification);
 
 

+ 21 - 19
app/src/main/res/layout/notification_list_item.xml

@@ -4,9 +4,10 @@
 
 
   @author Tobias Kaminsky
   @author Tobias Kaminsky
   @author TSI-mc
   @author TSI-mc
-  Copyright (C) 2018 Tobias Kaminsky
-  Copyright (C) 2018 Nextcloud GmbH.
+  Copyright (C) 2023 Andy Scherzinger
   Copyright (C) 2023 TSI-mc
   Copyright (C) 2023 TSI-mc
+  Copyright (C) 2018 Tobias Kaminsky
+  Copyright (C) 2018 Nextcloud GmbH
 
 
   This program is free software: you can redistribute it and/or modify
   This program is free software: you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   it under the terms of the GNU General Public License as published by
@@ -22,15 +23,15 @@
   along with this program. If not, see <https://www.gnu.org/licenses/>.
   along with this program. If not, see <https://www.gnu.org/licenses/>.
 -->
 -->
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_width="match_parent"
-    android:layout_height="@dimen/notification_row_item_height"
-    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_height="wrap_content"
     android:orientation="horizontal"
     android:orientation="horizontal"
+    android:paddingStart="@dimen/standard_padding"
     android:paddingTop="@dimen/standard_padding"
     android:paddingTop="@dimen/standard_padding"
-    android:paddingRight="@dimen/standard_padding"
+    android:paddingEnd="@dimen/standard_padding"
     android:paddingBottom="@dimen/standard_padding"
     android:paddingBottom="@dimen/standard_padding"
-    android:paddingLeft="@dimen/standard_padding"
     tools:ignore="UseCompoundDrawables">
     tools:ignore="UseCompoundDrawables">
 
 
     <ImageView
     <ImageView
@@ -45,9 +46,9 @@
     <LinearLayout
     <LinearLayout
         android:layout_width="match_parent"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_height="wrap_content"
-        android:orientation="vertical"
         android:layout_alignTop="@id/icon"
         android:layout_alignTop="@id/icon"
-        android:layout_toEndOf="@id/icon">
+        android:layout_toEndOf="@id/icon"
+        android:orientation="vertical">
 
 
         <LinearLayout
         <LinearLayout
             android:layout_width="match_parent"
             android:layout_width="match_parent"
@@ -59,19 +60,19 @@
                 android:layout_width="0dp"
                 android:layout_width="0dp"
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_weight="1"
                 android:layout_weight="1"
-                android:textSize="@dimen/txt_size_16sp"
                 android:ellipsize="end"
                 android:ellipsize="end"
-                android:textColor="@color/text_color"
                 android:textAppearance="?android:attr/textAppearanceListItem"
                 android:textAppearance="?android:attr/textAppearanceListItem"
+                android:textColor="@color/text_color"
+                android:textSize="@dimen/txt_size_16sp"
+                android:paddingBottom="@dimen/standard_half_padding"
                 tools:text="@string/placeholder_filename" />
                 tools:text="@string/placeholder_filename" />
 
 
             <ImageView
             <ImageView
                 android:id="@+id/dismiss"
                 android:id="@+id/dismiss"
                 android:layout_width="wrap_content"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_height="wrap_content"
-                app:tint="@color/secondary_text_color"
-                android:src="@drawable/ic_close"
-                android:contentDescription="@string/dismiss_notification_description" />
+                android:contentDescription="@string/dismiss_notification_description"
+                android:src="@drawable/ic_close" />
         </LinearLayout>
         </LinearLayout>
 
 
         <TextView
         <TextView
@@ -79,19 +80,20 @@
             android:layout_width="match_parent"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
             android:ellipsize="end"
             android:ellipsize="end"
+            android:textAppearance="?android:attr/textAppearanceListItem"
             android:textColor="@color/secondary_text_color"
             android:textColor="@color/secondary_text_color"
             android:textSize="@dimen/txt_size_14sp"
             android:textSize="@dimen/txt_size_14sp"
-            tools:text="@string/placeholder_sentence"
-            android:textAppearance="?android:attr/textAppearanceListItem"/>
+            tools:text="@string/placeholder_sentence" />
 
 
         <LinearLayout
         <LinearLayout
             android:id="@+id/buttons"
             android:id="@+id/buttons"
             android:layout_width="match_parent"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
+            android:gravity="end"
+            android:layout_marginEnd="@dimen/notification_list_item_grid_layout_left_start_margin"
             android:layout_marginTop="@dimen/alternate_half_margin"
             android:layout_marginTop="@dimen/alternate_half_margin"
-            android:layout_marginStart="@dimen/notification_list_item_grid_layout_left_start_margin"
             android:columnCount="3"
             android:columnCount="3"
-            android:orientation="horizontal"/>
+            android:orientation="horizontal" />
 
 
         <TextView
         <TextView
             android:id="@+id/datetime"
             android:id="@+id/datetime"
@@ -99,9 +101,9 @@
             android:layout_height="wrap_content"
             android:layout_height="wrap_content"
             android:layout_gravity="end"
             android:layout_gravity="end"
             android:ellipsize="end"
             android:ellipsize="end"
+            android:textColor="@color/secondary_text_color"
             android:textSize="@dimen/text_size_13sp"
             android:textSize="@dimen/text_size_13sp"
-            tools:text="@string/placeholder_sentence"
-            android:textColor="@color/secondary_text_color"/>
+            tools:text="@string/placeholder_sentence" />
 
 
     </LinearLayout>
     </LinearLayout>
 
 

+ 0 - 1
app/src/main/res/values/colors.xml

@@ -40,7 +40,6 @@
     <color name="grey_200">#EEEEEE</color>
     <color name="grey_200">#EEEEEE</color>
     <color name="grey_400">#BDBDBD</color>
     <color name="grey_400">#BDBDBD</color>
     <color name="grey_600">#666666</color>
     <color name="grey_600">#666666</color>
-    <color name="grey_30">#B2B2B2</color>
 
 
     <!-- standard material color definitions -->
     <!-- standard material color definitions -->
 
 

+ 2 - 3
app/src/main/res/values/dims.xml

@@ -100,8 +100,8 @@
     <dimen name="activity_row_layout_height">48dp</dimen>
     <dimen name="activity_row_layout_height">48dp</dimen>
     <dimen name="notification_icon_width">24dp</dimen>
     <dimen name="notification_icon_width">24dp</dimen>
     <dimen name="notification_icon_height">24dp</dimen>
     <dimen name="notification_icon_height">24dp</dimen>
-    <dimen name="notification_icon_layout_right_end_margin">24dp</dimen>
-    <dimen name="notification_list_item_grid_layout_left_start_margin">-3dp</dimen>
+    <dimen name="notification_icon_layout_right_end_margin">22dp</dimen>
+    <dimen name="notification_list_item_grid_layout_left_start_margin">-8dp</dimen>
     <dimen name="uploader_list_separator_height">1dp</dimen>
     <dimen name="uploader_list_separator_height">1dp</dimen>
     <dimen name="contactlist_item_icon_layout_width">40dp</dimen>
     <dimen name="contactlist_item_icon_layout_width">40dp</dimen>
     <dimen name="contactlist_item_icon_layout_height">40dp</dimen>
     <dimen name="contactlist_item_icon_layout_height">40dp</dimen>
@@ -148,7 +148,6 @@
     <dimen name="dialog_padding">24dp</dimen>
     <dimen name="dialog_padding">24dp</dimen>
     <integer name="small_margin">5</integer>
     <integer name="small_margin">5</integer>
     <integer name="zero">0</integer>
     <integer name="zero">0</integer>
-    <dimen name="notification_row_item_height">145dp</dimen>
     <dimen name="txt_size_16sp">16sp</dimen>
     <dimen name="txt_size_16sp">16sp</dimen>
     <dimen name="txt_size_14sp">14sp</dimen>
     <dimen name="txt_size_14sp">14sp</dimen>
     <!--Adaptive Icon size specified here:  https://developer.android.com/develop/ui/views/launch/icon_design_adaptive -->
     <!--Adaptive Icon size specified here:  https://developer.android.com/develop/ui/views/launch/icon_design_adaptive -->