OmniControl: switch to Material3 styles

Change-Id: I708e201cc9fb9d8f0e2867cc30b0d9389f2b0ee9
diff --git a/app/build.gradle b/app/build.gradle
index 72e14f7..1046e50 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -4,12 +4,12 @@
 }
 
 android {
-    compileSdk 31
+    compileSdk 33
 
     defaultConfig {
         applicationId "org.omnirom.control"
         minSdk 31
-        targetSdk 31
+        targetSdk 33
         versionCode 1
         versionName "1.0"
 
@@ -37,9 +37,9 @@
 
 dependencies {
     implementation fileTree(dir: 'libs', include: ['*.jar'])
-    implementation 'androidx.core:core-ktx:1.6.0'
-    implementation 'androidx.appcompat:appcompat:1.3.1'
-    implementation 'com.google.android.material:material:1.4.0'
-    implementation 'androidx.preference:preference-ktx:1.1.1'
-    implementation 'androidx.recyclerview:recyclerview:1.1.0'
+    implementation 'androidx.core:core-ktx:1.8.0'
+    implementation 'androidx.appcompat:appcompat:1.5.1'
+    implementation 'com.google.android.material:material:1.6.1'
+    implementation 'androidx.preference:preference:1.2.0'
+    implementation 'androidx.recyclerview:recyclerview:1.2.1'
 }
\ No newline at end of file
diff --git a/app/src/main/res/drawable/check_circle.xml b/app/src/main/res/drawable/check_circle.xml
index df8097a..0ae55df 100644
--- a/app/src/main/res/drawable/check_circle.xml
+++ b/app/src/main/res/drawable/check_circle.xml
@@ -1,7 +1,7 @@
 <vector xmlns:android="http://schemas.android.com/apk/res/android"
     android:width="24dp"
     android:height="24dp"
-    android:tint="@color/colorAccent"
+    android:tint="?attr/colorAccent"
     android:viewportWidth="24"
     android:viewportHeight="24">
     <path
diff --git a/app/src/main/res/drawable/grid_item_background.xml b/app/src/main/res/drawable/grid_item_background.xml
deleted file mode 100644
index 94a2381..0000000
--- a/app/src/main/res/drawable/grid_item_background.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  ~ Copyright (C) 2021 The Android Open Source Project
-  ~
-  ~ Licensed under the Apache License, Version 2.0 (the "License");
-  ~ you may not use this file except in compliance with the License.
-  ~ You may obtain a copy of the License at
-  ~
-  ~      http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  -->
-<ripple xmlns:android="http://schemas.android.com/apk/res/android"
-    android:color="?android:attr/colorControlHighlight">
-    <item android:id="@android:id/mask"
-        android:drawable="@drawable/grid_item_background_shape" />
-    <item android:id="@+id/background"
-        android:drawable="@drawable/grid_item_background_shape"/>
-</ripple>
\ No newline at end of file
diff --git a/app/src/main/res/drawable/grid_item_background_shape.xml b/app/src/main/res/drawable/grid_item_background_shape.xml
deleted file mode 100644
index ba480c8..0000000
--- a/app/src/main/res/drawable/grid_item_background_shape.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  ~ Copyright (C) 2021 The Android Open Source Project
-  ~
-  ~ Licensed under the Apache License, Version 2.0 (the "License");
-  ~ you may not use this file except in compliance with the License.
-  ~ You may obtain a copy of the License at
-  ~
-  ~      http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  -->
-
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
-    <corners android:radius="@dimen/grid_item_corner_radius" />
-    <solid android:color="@color/grid_shape_background" />
-</shape>
\ No newline at end of file
diff --git a/app/src/main/res/layout/grid_fragment.xml b/app/src/main/res/layout/grid_fragment.xml
index 26b0003..055c473 100644
--- a/app/src/main/res/layout/grid_fragment.xml
+++ b/app/src/main/res/layout/grid_fragment.xml
@@ -4,5 +4,7 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent"
     android:gravity="center"
+    android:horizontalSpacing="@dimen/grid_view_spacing"
+    android:verticalSpacing="@dimen/grid_view_spacing"
     android:numColumns="@integer/grid_view_columns"
-    android:stretchMode="columnWidth" />
+    android:stretchMode="columnWidth"/>
diff --git a/app/src/main/res/layout/grid_item.xml b/app/src/main/res/layout/grid_item.xml
index 8d26c0c..88e1c2d 100644
--- a/app/src/main/res/layout/grid_item.xml
+++ b/app/src/main/res/layout/grid_item.xml
@@ -1,48 +1,45 @@
-<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    android:background="@drawable/grid_item_background">
+    xmlns:tools="http://schemas.android.com/tools"
+    android:orientation="horizontal"
+    android:padding="@dimen/grid_item_border">
+
+    <ImageView
+        android:id="@+id/grid_item_icon"
+        android:layout_width="@dimen/grid_item_icon_size"
+        android:layout_height="@dimen/grid_item_icon_size"
+        android:layout_gravity="center_vertical"
+        android:layout_marginStart="@dimen/grid_icon_margin_start" />
 
     <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="match_parent"
-        android:layout_margin="@dimen/grid_item_border"
-        android:orientation="horizontal">
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:layout_gravity="start|center_vertical"
+        android:layout_marginStart="@dimen/fragment_icon_margin_start"
+        android:layout_weight="1"
+        android:orientation="vertical">
 
-        <ImageView
-            android:id="@+id/grid_item_icon"
-            android:layout_width="@dimen/grid_item_icon_size"
-            android:layout_height="@dimen/grid_item_icon_size"
-            android:layout_gravity="center_vertical"
-            android:layout_marginStart="@dimen/grid_icon_margin_start" />
-
-        <LinearLayout
-            android:layout_width="0dp"
+        <TextView
+            android:id="@+id/grid_item_title"
+            android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_gravity="start|center_vertical"
-            android:layout_marginStart="@dimen/fragment_icon_margin_start"
-            android:layout_weight="1"
-            android:orientation="vertical">
+            android:ellipsize="end"
+            android:gravity="center_vertical"
+            android:maxLines="1"
+            android:textAppearance="@style/Theme.OmniControl.GridItem.TitleTextStyle"
+            tools:text= "aaaaa" />
 
-            <TextView
-                android:id="@+id/grid_item_title"
-                android:layout_width="match_parent"
-                android:layout_height="0dp"
-                android:layout_weight="1"
-                android:ellipsize="end"
-                android:gravity="center_vertical"
-                android:maxLines="1"
-                android:textAppearance="@style/Theme.OmniControl.GridItem.TitleTextStyle" />
+        <TextView
+            android:id="@+id/grid_item_summary"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:ellipsize="end"
+            android:gravity="center_vertical"
+            android:maxLines="1"
+            android:textColor="?android:attr/textColorSecondary"
+            android:textAppearance="@style/Theme.OmniControl.GridItem.SummaryTextStyle"
+            tools:text= "bbbbb" />
 
-            <TextView
-                android:id="@+id/grid_item_summary"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:ellipsize="end"
-                android:gravity="center_vertical"
-                android:maxLines="1"
-                android:textAppearance="@style/Theme.OmniControl.GridItem.SummaryTextStyle" />
-
-        </LinearLayout>
     </LinearLayout>
-</FrameLayout>
\ No newline at end of file
+</LinearLayout>
diff --git a/app/src/main/res/layout/settings_activity.xml b/app/src/main/res/layout/settings_activity.xml
index cecfcbc..d909a2f 100644
--- a/app/src/main/res/layout/settings_activity.xml
+++ b/app/src/main/res/layout/settings_activity.xml
@@ -1,6 +1,7 @@
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
+    xmlns:tools="http://schemas.android.com/tools"
     android:orientation="vertical">
 
     <androidx.appcompat.widget.Toolbar
@@ -33,12 +34,12 @@
             <TextView
                 android:id="@+id/fragment_title"
                 android:layout_width="match_parent"
-                android:layout_height="0dp"
-                android:layout_weight="1"
+                android:layout_height="wrap_content"
                 android:ellipsize="end"
                 android:gravity="center_vertical"
                 android:maxLines="1"
-                android:textAppearance="@style/Theme.OmniControl.TitleTextStyle" />
+                android:textAppearance="@style/Theme.OmniControl.TitleTextStyle"
+                tools:text="aaaa"/>
 
             <TextView
                 android:id="@+id/fragment_summary"
@@ -47,7 +48,9 @@
                 android:ellipsize="end"
                 android:gravity="center_vertical"
                 android:maxLines="1"
-                android:textAppearance="@style/Theme.OmniControl.GridItem.SummaryTextStyle" />
+                android:textColor="?android:attr/textColorSecondary"
+                android:textAppearance="@style/Theme.OmniControl.GridItem.SummaryTextStyle"
+                tools:text="vvvv"/>
 
         </LinearLayout>
     </LinearLayout>
diff --git a/app/src/main/res/values-land/dimens.xml b/app/src/main/res/values-land/dimens.xml
index 62ebde0..ce8c2f5 100644
--- a/app/src/main/res/values-land/dimens.xml
+++ b/app/src/main/res/values-land/dimens.xml
@@ -1,7 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources>
     <dimen name="fragment_side_margin">30dp</dimen>
-    <dimen name="fragment_icon_margin_start">20dp</dimen>
     <dimen name="grid_icon_margin_start">10dp</dimen>
     <dimen name="color_item_column_width">@dimen/color_item_column_height</dimen>
     <dimen name="color_item_container_width">@dimen/color_item_container_height</dimen>
diff --git a/app/src/main/res/values-night/colors.xml b/app/src/main/res/values-night/colors.xml
index 0de42dc..ffcc2c7 100644
--- a/app/src/main/res/values-night/colors.xml
+++ b/app/src/main/res/values-night/colors.xml
@@ -1,8 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources>
-    <color name="colorPrimary">@android:color/system_neutral1_900</color>
-    <color name="colorPrimaryDark">@android:color/system_neutral1_900</color>
-    <color name="colorAccent">@android:color/system_accent1_100</color>
+    <color name="colorPrimary">@android:color/system_accent1_100</color>
     <color name="overlay_item_background">@android:color/system_neutral1_800</color>
     <color name="overlay_blocker_color">#10ffffff</color>
+    <color name="windowBackground">@android:color/system_neutral1_900</color>
 </resources>
\ No newline at end of file
diff --git a/app/src/main/res/values-night/themes.xml b/app/src/main/res/values-night/themes.xml
deleted file mode 100644
index c90aed5..0000000
--- a/app/src/main/res/values-night/themes.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<resources>
-
-    <style name="Theme.OmniControl" parent="Theme.MaterialComponents.DayNight.NoActionBar">
-        <item name="colorPrimary">@color/colorPrimary</item>
-        <item name="colorPrimaryDark">@color/colorPrimary</item>
-        <item name="android:windowBackground">@color/colorPrimary</item>
-        <item name="android:windowLightNavigationBar">false</item>
-        <item name="android:windowLightStatusBar">false</item>
-        <item name="android:navigationBarColor">@android:color/transparent</item>
-        <item name="android:windowActionBar">false</item>
-        <item name="android:windowNoTitle">true</item>
-        <item name="alertDialogTheme">@style/Theme.AlertDialog</item>
-        <item name="colorAccent">@color/colorAccent</item>
-        <item name="android:windowSplashScreenIconBackgroundColor">@color/ic_launcher_background</item>
-    </style>
-
-</resources>
\ No newline at end of file
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index e236eb6..c69970e 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -1,10 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <resources>
-    <color name="colorPrimary">@android:color/system_neutral1_50</color>
-    <color name="colorPrimaryDark">@android:color/system_neutral1_50</color>
-    <color name="colorAccent">@android:color/system_accent1_600</color>
-    <color name="grid_shape_background">@color/colorPrimary</color>
+    <color name="colorPrimary">@android:color/system_accent1_600</color>
     <color name="overlay_item_background">@android:color/system_neutral1_0</color>
-    <color name="overlay_item_system_background">@color/colorAccent</color>
     <color name="overlay_blocker_color">#10000000</color>
+    <color name="windowBackground">@android:color/system_neutral1_50</color>
 </resources>
\ No newline at end of file
diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml
index 5fabdfe..549961e 100644
--- a/app/src/main/res/values/dimens.xml
+++ b/app/src/main/res/values/dimens.xml
@@ -4,7 +4,8 @@
     <dimen name="grid_item_corner_radius">16dp</dimen>
     <dimen name="fragment_side_margin">10dp</dimen>
     <dimen name="grid_item_border">10dp</dimen>
-    <dimen name="fragment_icon_margin_start">10dp</dimen>
+    <dimen name="grid_view_spacing">8dp</dimen>
+    <dimen name="fragment_icon_margin_start">16dp</dimen>
     <dimen name="grid_item_icon_size">32dp</dimen>
     <dimen name="grid_icon_margin_start">0dp</dimen>
     <dimen name="icon_shape_size">48dp</dimen>
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index de862d9..4a71f20 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -24,7 +24,7 @@
     <string name="bars_settings_title">Bars</string>
     <string name="bars_settings_summary">Status bar options</string>
     <string name="more_settings_title">More</string>
-    <string name="more_settings_summary"></string>
+    <string name="more_settings_summary">Other options</string>
     <string name="applist_settings_title">Applications</string>
     <string name="applist_settings_summary">OmniROM applications</string>
 
@@ -45,7 +45,7 @@
     <string name="long_press_power_torch_summary">Toggle flashlight when screen is off</string>
 
     <string name="device_settings_title">Device settings</string>
-    <string name="device_settings_summary">Advanced device specific settings</string>
+    <string name="device_settings_summary">Advanced device specific options</string>
 
     <string name="overlays_settings_title">Styles</string>
     <string name="overlays_settings_summary">Change system default styles and colors</string>
diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml
index ead2a5a..aa03fdc 100644
--- a/app/src/main/res/values/themes.xml
+++ b/app/src/main/res/values/themes.xml
@@ -1,40 +1,24 @@
 <resources>
-    <style name="Theme.OmniControl" parent="Theme.MaterialComponents.DayNight.NoActionBar">
+    <style name="Theme.OmniControl" parent="Theme.Material3.DayNight.NoActionBar">
         <item name="colorPrimary">@color/colorPrimary</item>
-        <item name="colorPrimaryDark">@color/colorPrimary</item>
-        <item name="android:windowBackground">@color/colorPrimary</item>
-        <item name="android:windowLightNavigationBar">true</item>
-        <item name="android:windowLightStatusBar">true</item>
+        <item name="colorAccent">?attr/colorPrimary</item>
         <item name="android:navigationBarColor">@android:color/transparent</item>
-        <item name="android:windowActionBar">false</item>
-        <item name="android:windowNoTitle">true</item>
-        <item name="alertDialogTheme">@style/Theme.AlertDialog</item>
-        <item name="colorAccent">@color/colorAccent</item>
+        <item name="android:statusBarColor">@android:color/transparent</item>
+        <item name="android:windowLightStatusBar">?attr/isLightTheme</item>
+        <item name="android:windowLightNavigationBar">?attr/isLightTheme</item>
         <item name="android:windowSplashScreenIconBackgroundColor">@color/ic_launcher_background</item>
+        <item name="android:windowBackground">@color/windowBackground</item>
     </style>
 
-    <style name="Theme.OmniControl.TitleTextStyle" parent="TextAppearance.AppCompat.Widget.ActionBar.Title">
+    <style name="Theme.OmniControl.TitleTextStyle" parent="TextAppearance.Material3.TitleMedium">
         <item name="android:textSize">24sp</item>
     </style>
 
-    <style name="Theme.OmniControl.GridItem.TitleTextStyle" parent="TextAppearance.MaterialComponents.Subtitle1">
-        <item name="android:textSize">18sp</item>
+    <style name="Theme.OmniControl.GridItem.TitleTextStyle" parent="TextAppearance.Material3.BodyMedium">
+        <item name="android:textSize">20sp</item>
     </style>
 
-    <style name="Theme.OmniControl.GridItem.SummaryTextStyle" parent="TextAppearance.MaterialComponents.Body2">
-    </style>
-
-    <style name="Theme.AlertDialog" parent="Theme.MaterialComponents.DayNight.Dialog.Alert">
-        <item name="colorAccent">@color/colorAccent</item>
-        <item name="buttonBarNegativeButtonStyle">@style/NegativeButtonStyle</item>
-        <item name="buttonBarPositiveButtonStyle">@style/PositiveButtonStyle</item>
-    </style>
-
-    <style name="NegativeButtonStyle" parent="Widget.MaterialComponents.Button.TextButton.Dialog">
-        <item name="android:textColor">@color/colorAccent</item>
-    </style>
-
-    <style name="PositiveButtonStyle" parent="Widget.MaterialComponents.Button.TextButton.Dialog">
-        <item name="android:textColor">@color/colorAccent</item>
+    <style name="Theme.OmniControl.GridItem.SummaryTextStyle" parent="TextAppearance.Material3.BodyMedium">
+        <item name="android:textSize">14sp</item>
     </style>
 </resources>
\ No newline at end of file