From 524b8043362a5efd8b149ff2ef0f09c60d1fcdea Mon Sep 17 00:00:00 2001 From: LooKeR Date: Sat, 16 Oct 2021 18:57:01 +0530 Subject: [PATCH] Update: Almost Full Rewrite of theme --- .../droidify/screen/EditRepositoryFragment.kt | 7 +- .../looker/droidify/screen/MessageDialog.kt | 5 +- .../looker/droidify/screen/ProductFragment.kt | 5 +- .../droidify/screen/SettingsFragment.kt | 8 +-- .../looker/droidify/screen/TabsFragment.kt | 5 +- .../com/looker/droidify/utility/Utils.kt | 4 +- src/main/res/color/accent_dark.xml | 4 +- src/main/res/color/accent_light.xml | 4 +- src/main/res/color/error_dark.xml | 4 +- src/main/res/color/error_light.xml | 4 +- src/main/res/color/switch_thumb_tint.xml | 4 +- src/main/res/color/switch_track_color.xml | 4 +- src/main/res/drawable/background_border.xml | 1 - src/main/res/drawable/scrollbar_thumb.xml | 4 +- src/main/res/drawable/scrollbar_track.xml | 6 +- src/main/res/layout/fragment.xml | 9 ++- src/main/res/layout/product_header_item.xml | 4 +- src/main/res/layout/tabs_toolbar.xml | 1 + src/main/res/values/attrs.xml | 8 --- src/main/res/values/colors.xml | 18 ++--- src/main/res/values/styles.xml | 71 ++++++++----------- 21 files changed, 86 insertions(+), 94 deletions(-) delete mode 100644 src/main/res/values/attrs.xml diff --git a/src/main/kotlin/com/looker/droidify/screen/EditRepositoryFragment.kt b/src/main/kotlin/com/looker/droidify/screen/EditRepositoryFragment.kt index 83ba0e93..3c8d1c31 100644 --- a/src/main/kotlin/com/looker/droidify/screen/EditRepositoryFragment.kt +++ b/src/main/kotlin/com/looker/droidify/screen/EditRepositoryFragment.kt @@ -1,6 +1,5 @@ package com.looker.droidify.screen -import android.app.AlertDialog import android.content.ClipboardManager import android.content.Context import android.graphics.PorterDuff @@ -18,8 +17,10 @@ import android.view.ViewGroup import android.widget.EditText import android.widget.FrameLayout import android.widget.TextView +import androidx.appcompat.app.AlertDialog import androidx.appcompat.widget.Toolbar import androidx.fragment.app.DialogFragment +import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.looker.droidify.R import com.looker.droidify.database.Database import com.looker.droidify.entity.Repository @@ -474,7 +475,7 @@ class EditRepositoryFragment() : ScreenFragment() { .observeOn(AndroidSchedulers.mainThread()) .subscribe { result, throwable -> checkDisposable = null - throwable?.printStackTrace() + throwable.printStackTrace() val resultAddress = result?.let { if (it.isEmpty()) null else it } ?: address val allow = resultAddress == address || run { @@ -544,7 +545,7 @@ class EditRepositoryFragment() : ScreenFragment() { override fun onCreateDialog(savedInstanceState: Bundle?): AlertDialog { val mirrors = requireArguments().getStringArrayList(EXTRA_MIRRORS)!! - return AlertDialog.Builder(requireContext()) + return MaterialAlertDialogBuilder(requireContext()) .setTitle(R.string.select_mirror) .setItems(mirrors.toTypedArray()) { _, position -> (parentFragment as EditRepositoryFragment) diff --git a/src/main/kotlin/com/looker/droidify/screen/MessageDialog.kt b/src/main/kotlin/com/looker/droidify/screen/MessageDialog.kt index f3901479..4225788d 100644 --- a/src/main/kotlin/com/looker/droidify/screen/MessageDialog.kt +++ b/src/main/kotlin/com/looker/droidify/screen/MessageDialog.kt @@ -1,13 +1,14 @@ package com.looker.droidify.screen -import android.app.AlertDialog import android.content.ActivityNotFoundException import android.content.Intent import android.net.Uri import android.os.Bundle import android.os.Parcel +import androidx.appcompat.app.AlertDialog import androidx.fragment.app.DialogFragment import androidx.fragment.app.FragmentManager +import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.looker.droidify.R import com.looker.droidify.entity.Release import com.looker.droidify.utility.KParcelable @@ -139,7 +140,7 @@ class MessageDialog() : DialogFragment() { } override fun onCreateDialog(savedInstanceState: Bundle?): AlertDialog { - val dialog = AlertDialog.Builder(requireContext()) + val dialog = MaterialAlertDialogBuilder(requireContext()) when (val message = requireArguments().getParcelable(EXTRA_MESSAGE)!!) { is Message.DeleteRepositoryConfirm -> { dialog.setTitle(R.string.confirmation) diff --git a/src/main/kotlin/com/looker/droidify/screen/ProductFragment.kt b/src/main/kotlin/com/looker/droidify/screen/ProductFragment.kt index 99bfb519..82466fa7 100644 --- a/src/main/kotlin/com/looker/droidify/screen/ProductFragment.kt +++ b/src/main/kotlin/com/looker/droidify/screen/ProductFragment.kt @@ -1,6 +1,5 @@ package com.looker.droidify.screen -import android.app.AlertDialog import android.content.ActivityNotFoundException import android.content.ComponentName import android.content.Intent @@ -13,11 +12,13 @@ import android.view.MenuItem import android.view.View import android.view.ViewGroup import android.widget.FrameLayout +import androidx.appcompat.app.AlertDialog import androidx.appcompat.widget.Toolbar import androidx.fragment.app.DialogFragment import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView +import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.looker.droidify.R import com.looker.droidify.content.ProductPreferences import com.looker.droidify.database.Database @@ -554,7 +555,7 @@ class ProductFragment() : ScreenFragment(), ProductAdapter.Callbacks { override fun onCreateDialog(savedInstanceState: Bundle?): AlertDialog { val names = requireArguments().getStringArrayList(EXTRA_NAMES)!! val labels = requireArguments().getStringArrayList(EXTRA_LABELS)!! - return AlertDialog.Builder(requireContext()) + return MaterialAlertDialogBuilder(requireContext()) .setTitle(R.string.launch) .setItems(labels.toTypedArray()) { _, position -> (parentFragment as ProductFragment) diff --git a/src/main/kotlin/com/looker/droidify/screen/SettingsFragment.kt b/src/main/kotlin/com/looker/droidify/screen/SettingsFragment.kt index b008ba21..ada45dfa 100644 --- a/src/main/kotlin/com/looker/droidify/screen/SettingsFragment.kt +++ b/src/main/kotlin/com/looker/droidify/screen/SettingsFragment.kt @@ -1,6 +1,5 @@ package com.looker.droidify.screen -import android.app.AlertDialog import android.app.Dialog import android.content.Context import android.content.Intent @@ -12,10 +11,12 @@ import android.view.View import android.view.ViewGroup import android.view.WindowManager import android.widget.* +import androidx.appcompat.app.AlertDialog import androidx.appcompat.widget.Toolbar import androidx.core.net.toUri import androidx.fragment.app.DialogFragment import androidx.fragment.app.Fragment +import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.switchmaterial.SwitchMaterial import com.looker.droidify.BuildConfig import com.looker.droidify.R @@ -24,7 +25,6 @@ import com.looker.droidify.utility.extension.resources.* import com.topjohnwu.superuser.Shell import io.reactivex.rxjava3.disposables.Disposable - class SettingsFragment : ScreenFragment() { private val preferences = mutableMapOf, Preference<*>>() private var disposable: Disposable? = null @@ -253,7 +253,7 @@ class SettingsFragment : ScreenFragment() { ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT ) - AlertDialog.Builder(it) + MaterialAlertDialogBuilder(it) .setTitle(title) .setView(scroll) .setPositiveButton(R.string.ok) { _, _ -> @@ -295,7 +295,7 @@ class SettingsFragment : ScreenFragment() { ) { addPreference(key, title, { valueToString(Preferences[key]) }) { val values = key.default.value.values - AlertDialog.Builder(it) + MaterialAlertDialogBuilder(it) .setTitle(title) .setSingleChoiceItems( values.map(valueToString).toTypedArray(), diff --git a/src/main/kotlin/com/looker/droidify/screen/TabsFragment.kt b/src/main/kotlin/com/looker/droidify/screen/TabsFragment.kt index e7cabd02..c51e50a2 100644 --- a/src/main/kotlin/com/looker/droidify/screen/TabsFragment.kt +++ b/src/main/kotlin/com/looker/droidify/screen/TabsFragment.kt @@ -202,9 +202,9 @@ class TabsFragment : ScreenFragment() { ProductsFragment.Source.values().forEach { val tab = TextView(layout.tabs.context) val selectedColor = - tab.context.getColorFromAttr(android.R.attr.textColorPrimary).defaultColor + tab.context.getColorFromAttr(R.attr.colorOnSurface).defaultColor val normalColor = - tab.context.getColorFromAttr(android.R.attr.textColorSecondary).defaultColor + tab.context.getColorFromAttr(R.attr.colorOnBackground).defaultColor tab.gravity = Gravity.CENTER tab.typeface = TypefaceExtra.medium tab.setTextColor( @@ -300,6 +300,7 @@ class TabsFragment : ScreenFragment() { this.adapter = adapter addItemDecoration(DividerItemDecoration(context, adapter::configureDivider)) setBackgroundResource(R.drawable.background_border) + setBackgroundColor(context.getColorFromAttr(R.attr.colorSurface).defaultColor) elevation = resources.sizeScaled(4).toFloat() content.addView(this, FrameLayout.LayoutParams.MATCH_PARENT, 0) visibility = View.GONE diff --git a/src/main/kotlin/com/looker/droidify/utility/Utils.kt b/src/main/kotlin/com/looker/droidify/utility/Utils.kt index 5a11af88..ce3e75d1 100644 --- a/src/main/kotlin/com/looker/droidify/utility/Utils.kt +++ b/src/main/kotlin/com/looker/droidify/utility/Utils.kt @@ -52,7 +52,9 @@ object Utils { fun getToolbarIcon(context: Context, resId: Int): Drawable { val drawable = context.getDrawableCompat(resId).mutate() - drawable.setTintList(context.getColorFromAttr(android.R.attr.titleTextColor)) + if (Android.sdk(23)) { + drawable.setTintList(context.getColorFromAttr(R.attr.colorOnPrimarySurface)) + } return drawable } diff --git a/src/main/res/color/accent_dark.xml b/src/main/res/color/accent_dark.xml index 7e8bc2d9..ee31c65c 100644 --- a/src/main/res/color/accent_dark.xml +++ b/src/main/res/color/accent_dark.xml @@ -1,8 +1,8 @@ - + - + diff --git a/src/main/res/color/accent_light.xml b/src/main/res/color/accent_light.xml index 9d5e3e87..5f96aa9c 100644 --- a/src/main/res/color/accent_light.xml +++ b/src/main/res/color/accent_light.xml @@ -1,8 +1,8 @@ - + - + diff --git a/src/main/res/color/error_dark.xml b/src/main/res/color/error_dark.xml index 1aca1a37..501eeb3f 100644 --- a/src/main/res/color/error_dark.xml +++ b/src/main/res/color/error_dark.xml @@ -1,8 +1,8 @@ - + - + diff --git a/src/main/res/color/error_light.xml b/src/main/res/color/error_light.xml index e611e303..8d27c365 100644 --- a/src/main/res/color/error_light.xml +++ b/src/main/res/color/error_light.xml @@ -1,8 +1,8 @@ - + - + diff --git a/src/main/res/color/switch_thumb_tint.xml b/src/main/res/color/switch_thumb_tint.xml index 93705c34..96704736 100644 --- a/src/main/res/color/switch_thumb_tint.xml +++ b/src/main/res/color/switch_thumb_tint.xml @@ -1,5 +1,5 @@ - - + + \ No newline at end of file diff --git a/src/main/res/color/switch_track_color.xml b/src/main/res/color/switch_track_color.xml index 5981d1f7..890022ee 100644 --- a/src/main/res/color/switch_track_color.xml +++ b/src/main/res/color/switch_track_color.xml @@ -1,5 +1,5 @@ - - + + \ No newline at end of file diff --git a/src/main/res/drawable/background_border.xml b/src/main/res/drawable/background_border.xml index c22593b4..0900e48a 100644 --- a/src/main/res/drawable/background_border.xml +++ b/src/main/res/drawable/background_border.xml @@ -1,5 +1,4 @@ - \ No newline at end of file diff --git a/src/main/res/drawable/scrollbar_thumb.xml b/src/main/res/drawable/scrollbar_thumb.xml index 1c14a995..3ee8618b 100644 --- a/src/main/res/drawable/scrollbar_thumb.xml +++ b/src/main/res/drawable/scrollbar_thumb.xml @@ -3,12 +3,12 @@ + android:color="?attr/colorPrimary" /> - + \ No newline at end of file diff --git a/src/main/res/drawable/scrollbar_track.xml b/src/main/res/drawable/scrollbar_track.xml index a7e36f02..d3856f08 100644 --- a/src/main/res/drawable/scrollbar_track.xml +++ b/src/main/res/drawable/scrollbar_track.xml @@ -3,8 +3,10 @@ + android:color="?attr/colorSurface" /> - + + + \ No newline at end of file diff --git a/src/main/res/layout/fragment.xml b/src/main/res/layout/fragment.xml index 03161ada..d5090d7e 100644 --- a/src/main/res/layout/fragment.xml +++ b/src/main/res/layout/fragment.xml @@ -10,21 +10,21 @@ android:layout_height="wrap_content" android:background="?android:attr/colorBackground" android:elevation="0dp" + android:paddingHorizontal="10dp" android:orientation="vertical"> + android:layout_marginTop="10dp" /> @@ -34,7 +34,6 @@ android:layout_height="0dp" android:layout_weight="1" android:background="?android:attr/colorBackground" - android:layout_marginHorizontal="10dp" - android:layout_marginTop="10dp" /> + android:layout_marginHorizontal="10dp" /> diff --git a/src/main/res/layout/product_header_item.xml b/src/main/res/layout/product_header_item.xml index 4312ccc4..3e92d741 100644 --- a/src/main/res/layout/product_header_item.xml +++ b/src/main/res/layout/product_header_item.xml @@ -54,7 +54,7 @@ android:layout_height="wrap_content" android:paddingBottom="2sp" android:singleLine="true" - android:textColor="?attr/subTextColor" + android:textColor="?attr/colorSurface" android:textSize="12sp" /> @@ -86,7 +86,7 @@ android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginBottom="2dp" - android:indeterminateTint="?android:attr/colorPrimary" /> + android:indeterminateTint="?attr/colorPrimary" /> diff --git a/src/main/res/layout/tabs_toolbar.xml b/src/main/res/layout/tabs_toolbar.xml index ddc9fd58..004ec99a 100644 --- a/src/main/res/layout/tabs_toolbar.xml +++ b/src/main/res/layout/tabs_toolbar.xml @@ -3,6 +3,7 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="wrap_content" + android:backgroundTint="?attr/colorPrimarySurface" android:background="@drawable/background_border" android:orientation="vertical"> diff --git a/src/main/res/values/attrs.xml b/src/main/res/values/attrs.xml deleted file mode 100644 index 36840f88..00000000 --- a/src/main/res/values/attrs.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/src/main/res/values/colors.xml b/src/main/res/values/colors.xml index 296017a4..865f469c 100644 --- a/src/main/res/values/colors.xml +++ b/src/main/res/values/colors.xml @@ -1,15 +1,17 @@ + #E8F5E9 + #6EC898 + #58C189 + #3EDA86 + + #EF9A9A + #E57373 - #3EDA86 - #36C378 - #FFFFFF - #1E1E1E #000000 + #1E1E1E + + #FFFFFF #333333 #595959 - #69ECA6 - #2C8756 - #D36C6B - #F48886 diff --git a/src/main/res/values/styles.xml b/src/main/res/values/styles.xml index d0ce7d52..9da22b0d 100644 --- a/src/main/res/values/styles.xml +++ b/src/main/res/values/styles.xml @@ -6,66 +6,62 @@ - - -