From 1f3310f62d53717429cb878d774ab3b0ac1a7b79 Mon Sep 17 00:00:00 2001 From: Josh Melton Date: Tue, 7 Jun 2022 19:39:27 -0400 Subject: [PATCH 1/3] Enable material you theming for Android 12. --- chooloolib/build.gradle | 2 +- .../preferences/PreferencesInteractor.kt | 1 + .../ui/settings/SettingsViewState.kt | 1 + .../main/res/drawable/bubble_background.xml | 4 +- .../src/main/res/layout/bottom_dialog.xml | 3 ++ .../src/main/res/layout/call_actions.xml | 14 ++++++ .../src/main/res/values-night-v31/colors.xml | 40 +++++++++++++++++ chooloolib/src/main/res/values-v31/colors.xml | 44 +++++++++++++++++++ chooloolib/src/main/res/values-v31/themes.xml | 8 ++++ chooloolib/src/main/res/values/colors.xml | 6 +++ chooloolib/src/main/res/values/styles.xml | 8 ++-- chooloolib/src/main/res/values/themes.xml | 1 + koler/build.gradle | 2 +- koler/src/main/res/layout/main.xml | 3 ++ kontacts/build.gradle | 2 +- .../kontacts/ui/contact/ContactFragment.kt | 12 ++--- kontacts/src/main/res/layout/contact.xml | 3 +- kontacts/src/main/res/layout/main.xml | 3 ++ .../src/main/res/values-night-v31/colors.xml | 9 ++++ kontacts/src/main/res/values-v31/colors.xml | 9 ++++ kontacts/src/main/res/values/colors.xml | 43 +++++++++++++++++- 21 files changed, 204 insertions(+), 14 deletions(-) create mode 100644 chooloolib/src/main/res/values-night-v31/colors.xml create mode 100644 chooloolib/src/main/res/values-v31/colors.xml create mode 100644 chooloolib/src/main/res/values-v31/themes.xml create mode 100644 kontacts/src/main/res/values-night-v31/colors.xml create mode 100644 kontacts/src/main/res/values-v31/colors.xml diff --git a/chooloolib/build.gradle b/chooloolib/build.gradle index ab6c8854d..0a84b507f 100644 --- a/chooloolib/build.gradle +++ b/chooloolib/build.gradle @@ -82,7 +82,7 @@ dependencies { 'io.github.l4digital:fastscroll:2.0.1', 'io.reactivex.rxjava2:rxandroid:2.0.1', 'com.google.dagger:hilt-android:2.38.1', - 'com.google.android.material:material:1.4.0', + 'com.google.android.material:material:1.6.0', 'com.github.abdularis:circularimageview:1.5', 'com.daimajia.androidanimations:library:2.4@aar', 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.2.0', diff --git a/chooloolib/src/main/java/com/chooloo/www/chooloolib/interactor/preferences/PreferencesInteractor.kt b/chooloolib/src/main/java/com/chooloo/www/chooloolib/interactor/preferences/PreferencesInteractor.kt index 6828a09d0..03fc39cd8 100644 --- a/chooloolib/src/main/java/com/chooloo/www/chooloolib/interactor/preferences/PreferencesInteractor.kt +++ b/chooloolib/src/main/java/com/chooloo/www/chooloolib/interactor/preferences/PreferencesInteractor.kt @@ -37,6 +37,7 @@ interface PreferencesInteractor : BaseInteractor GREEN("green", R.style.Accent_Green), ORANGE("orange", R.style.Accent_Orange), PURPLE("purple", R.style.Accent_Purple), + SYSTEM("system", R.style.Accent_System), DEFAULT(BLUE.key, BLUE.theme); companion object { diff --git a/chooloolib/src/main/java/com/chooloo/www/chooloolib/ui/settings/SettingsViewState.kt b/chooloolib/src/main/java/com/chooloo/www/chooloolib/ui/settings/SettingsViewState.kt index 365bbb4f9..8b3d9ebbd 100644 --- a/chooloolib/src/main/java/com/chooloo/www/chooloolib/ui/settings/SettingsViewState.kt +++ b/chooloolib/src/main/java/com/chooloo/www/chooloolib/ui/settings/SettingsViewState.kt @@ -48,6 +48,7 @@ open class SettingsViewState @Inject constructor( colors.getColor(R.color.green_background) -> GREEN colors.getColor(R.color.orange_background) -> ORANGE colors.getColor(R.color.purple_background) -> PURPLE + colors.getColor(R.color.system_background) -> SYSTEM else -> DEFAULT } navigations.goToLauncherActivity() diff --git a/chooloolib/src/main/res/drawable/bubble_background.xml b/chooloolib/src/main/res/drawable/bubble_background.xml index 342b1cab9..416e7cdf1 100644 --- a/chooloolib/src/main/res/drawable/bubble_background.xml +++ b/chooloolib/src/main/res/drawable/bubble_background.xml @@ -3,8 +3,10 @@ android:color="?colorSurface"> - + + \ No newline at end of file diff --git a/chooloolib/src/main/res/layout/bottom_dialog.xml b/chooloolib/src/main/res/layout/bottom_dialog.xml index 95dbec8e4..be53bdeb2 100644 --- a/chooloolib/src/main/res/layout/bottom_dialog.xml +++ b/chooloolib/src/main/res/layout/bottom_dialog.xml @@ -4,6 +4,7 @@ android:id="@+id/bottom_dialog_fragment_layout" android:layout_width="match_parent" android:layout_height="wrap_content" + app:backgroundTint="@color/color_card_bg" android:fitsSystemWindows="true"> @@ -21,6 +23,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="15dp" + android:backgroundTint="@color/color_card_bg" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" diff --git a/chooloolib/src/main/res/layout/call_actions.xml b/chooloolib/src/main/res/layout/call_actions.xml index c754d929d..eb33b9d8e 100644 --- a/chooloolib/src/main/res/layout/call_actions.xml +++ b/chooloolib/src/main/res/layout/call_actions.xml @@ -13,6 +13,8 @@ android:padding="@dimen/icon_button_size_big" app:activatedIcon="@drawable/round_mic_off_24" app:icon="@drawable/round_mic_24" + android:tint="@color/color_on_background" + app:backgroundTint="@color/color_fab" app:size="huge" /> @@ -23,6 +25,8 @@ android:layout_height="wrap_content" app:activatedIcon="@drawable/round_volume_up_24" app:icon="@drawable/round_volume_down_24" + android:tint="@color/color_on_background" + app:backgroundTint="@color/color_fab" app:size="huge" /> @@ -33,6 +37,8 @@ android:padding="@dimen/icon_button_size_big" android:layout_height="wrap_content" app:activatedIcon="@drawable/round_play_arrow_24" + android:tint="@color/color_on_background" + app:backgroundTint="@color/color_fab" app:size="huge" /> @@ -42,6 +48,8 @@ android:layout_width="wrap_content" android:padding="@dimen/icon_button_size_big" android:layout_height="wrap_content" + android:tint="@color/color_on_background" + app:backgroundTint="@color/color_fab" app:size="huge" /> @@ -51,6 +59,8 @@ android:layout_height="wrap_content" android:padding="@dimen/icon_button_size_big" app:icon="@drawable/round_dialpad_24" + android:tint="@color/color_on_background" + app:backgroundTint="@color/color_fab" app:size="huge" /> @@ -60,6 +70,8 @@ android:padding="@dimen/icon_button_size_big" android:layout_height="wrap_content" app:icon="@drawable/round_swap_calls_24" + android:tint="@color/color_on_background" + app:backgroundTint="@color/color_fab" app:size="huge" /> @@ -69,5 +81,7 @@ android:padding="@dimen/icon_button_size_big" android:layout_height="wrap_content" app:icon="@drawable/round_call_merge_24" + android:tint="@color/color_on_background" + app:backgroundTint="@color/color_fab" app:size="huge" /> \ No newline at end of file diff --git a/chooloolib/src/main/res/values-night-v31/colors.xml b/chooloolib/src/main/res/values-night-v31/colors.xml new file mode 100644 index 000000000..399bb5163 --- /dev/null +++ b/chooloolib/src/main/res/values-night-v31/colors.xml @@ -0,0 +1,40 @@ + + + @android:color/system_accent2_800 + @android:color/primary_text_dark + @android:color/system_accent2_100 + @android:color/system_accent1_700 + @android:color/system_neutral1_800 + @android:color/system_neutral1_900 + + + + #566682 + #AFCBFA + + #816553 + #EBBA96 + + #587363 + #A2CFAE + + #6b5781 + #D7AEFC + + #7d5858 + #F5AEA8 + + @color/color_fab + @color/color_on_background + + + @color/blue_background + @color/orange_background + @color/green_background + @color/purple_background + @color/red_background + @color/system_background + + + \ No newline at end of file diff --git a/chooloolib/src/main/res/values-v31/colors.xml b/chooloolib/src/main/res/values-v31/colors.xml new file mode 100644 index 000000000..2ba1dd25b --- /dev/null +++ b/chooloolib/src/main/res/values-v31/colors.xml @@ -0,0 +1,44 @@ + + + @android:color/system_accent1_200 + @android:color/primary_text_light + @android:color/system_accent2_800 + @android:color/system_accent1_300 + @android:color/system_neutral1_100 + @android:color/system_neutral1_50 + @android:color/system_accent1_600 + @android:color/system_accent1_50 + @android:color/system_accent1_800 + @android:color/system_accent1_200 + + + + #E8F0FD + #4F9FE1 + + #FDEFE2 + #F1974D + + #E7F4EA + #4FA266 + + #F4E8FE + #AF66EC + + #FCE8E7 + #D54E45 + + @color/color_fab + @color/color_on_background + + + + @color/blue_background + @color/orange_background + @color/green_background + @color/purple_background + @color/red_background + @color/system_background + + \ No newline at end of file diff --git a/chooloolib/src/main/res/values-v31/themes.xml b/chooloolib/src/main/res/values-v31/themes.xml new file mode 100644 index 000000000..259d2d7db --- /dev/null +++ b/chooloolib/src/main/res/values-v31/themes.xml @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/chooloolib/src/main/res/values/colors.xml b/chooloolib/src/main/res/values/colors.xml index b5596fe66..cd6cc88e2 100644 --- a/chooloolib/src/main/res/values/colors.xml +++ b/chooloolib/src/main/res/values/colors.xml @@ -13,6 +13,8 @@ #ABEDEDED @color/color_surface #95ACACAC + #4F9FE1 + #F6F7FB @@ -30,6 +32,9 @@ #FCE8E7 #D54E45 + + @color/color_fab + @color/color_on_background @@ -38,5 +43,6 @@ @color/green_background @color/purple_background @color/red_background + @color/system_background diff --git a/chooloolib/src/main/res/values/styles.xml b/chooloolib/src/main/res/values/styles.xml index cd64acbb7..204d28314 100644 --- a/chooloolib/src/main/res/values/styles.xml +++ b/chooloolib/src/main/res/values/styles.xml @@ -49,12 +49,12 @@ - - @@ -65,14 +65,16 @@ + diff --git a/koler/build.gradle b/koler/build.gradle index 3d6679234..3266a9089 100644 --- a/koler/build.gradle +++ b/koler/build.gradle @@ -115,7 +115,7 @@ dependencies { 'androidx.preference:preference-ktx:1.1.1', 'org.jetbrains.kotlin:kotlin-stdlib:1.4.21', 'androidx.biometric:biometric:1.2.0-alpha02', - 'com.google.android.material:material:1.3.0', + 'com.google.android.material:material:1.6.0', 'com.android.support:recyclerview-v7:23.2.1', 'com.github.abdularis:circularimageview:1.5', 'androidx.navigation:navigation-ui-ktx:2.3.3', diff --git a/koler/src/main/res/layout/main.xml b/koler/src/main/res/layout/main.xml index fd75a1ff7..42fa1c19d 100644 --- a/koler/src/main/res/layout/main.xml +++ b/koler/src/main/res/layout/main.xml @@ -4,6 +4,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" + android:backgroundTint="@color/color_bg" app:layoutDescription="@xml/main_scene"> @@ -44,6 +45,8 @@ android:id="@+id/main_dialpad_button" android:layout_width="wrap_content" android:layout_height="wrap_content" + android:backgroundTint="@color/color_fab" + android:tint="@color/color_on_background" app:size="big" app:icon="@drawable/round_dialpad_24" /> diff --git a/kontacts/build.gradle b/kontacts/build.gradle index c71483fae..bb8540d70 100644 --- a/kontacts/build.gradle +++ b/kontacts/build.gradle @@ -99,7 +99,7 @@ dependencies { 'androidx.preference:preference-ktx:1.1.1', 'org.jetbrains.kotlin:kotlin-stdlib:1.4.21', 'androidx.biometric:biometric:1.2.0-alpha02', - 'com.google.android.material:material:1.3.0', + 'com.google.android.material:material:1.6.0', 'com.android.support:recyclerview-v7:23.2.1', 'com.github.abdularis:circularimageview:1.5', 'androidx.navigation:navigation-ui-ktx:2.3.3', diff --git a/kontacts/src/main/java/com/chooloo/www/kontacts/ui/contact/ContactFragment.kt b/kontacts/src/main/java/com/chooloo/www/kontacts/ui/contact/ContactFragment.kt index 75ebd9923..0bcc3a7e6 100644 --- a/kontacts/src/main/java/com/chooloo/www/kontacts/ui/contact/ContactFragment.kt +++ b/kontacts/src/main/java/com/chooloo/www/kontacts/ui/contact/ContactFragment.kt @@ -50,12 +50,14 @@ class ContactFragment : BaseFragment() { } binding.apply { - contactButtonSms.setOnClickListener { viewState.onSmsClick() } + + +// contactButtonSms.setOnClickListener { viewState.onSmsClick() } contactButtonCall.setOnClickListener { viewState.onCallClick() } - contactButtonEdit.setOnClickListener { viewState.onEditClick() } - contactButtonDelete.setOnClickListener { viewState.onDeleteClick() } - contactButtonHistory.setOnClickListener { viewState.onHistoryClick() } - contactButtonWhatsapp.setOnClickListener { viewState.onWhatsappClick() } +// contactButtonEdit.setOnClickListener { viewState.onEditClick() } +// contactButtonDelete.setOnClickListener { viewState.onDeleteClick() } +// contactButtonHistory.setOnClickListener { viewState.onHistoryClick() } +// contactButtonWhatsapp.setOnClickListener { viewState.onWhatsappClick() } } arguments?.getLong(ARG_CONTACT_ID)?.let { viewState.onContactId(it) } diff --git a/kontacts/src/main/res/layout/contact.xml b/kontacts/src/main/res/layout/contact.xml index 86c97d515..e3dbb6d28 100644 --- a/kontacts/src/main/res/layout/contact.xml +++ b/kontacts/src/main/res/layout/contact.xml @@ -11,6 +11,7 @@ android:layout_width="@dimen/image_size_big" android:layout_height="@dimen/image_size_big" android:layout_marginTop="@dimen/default_spacing_big" + android:background="@color/color_bg" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> @@ -103,5 +104,5 @@ app:layout_constraintTop_toBottomOf="@id/brief_contact_button_history" android:layout_height="wrap_content" android:background="@drawable/bubble_background" - android:backgroundTint="?colorSurface" /> + android:backgroundTint="@color/color_card_bg" /> \ No newline at end of file diff --git a/kontacts/src/main/res/layout/main.xml b/kontacts/src/main/res/layout/main.xml index f104e27eb..435510f6d 100644 --- a/kontacts/src/main/res/layout/main.xml +++ b/kontacts/src/main/res/layout/main.xml @@ -4,6 +4,7 @@ android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" + android:backgroundTint="@color/color_bg" app:layoutDescription="@xml/main_scene"> @@ -46,6 +47,8 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom|center" + android:tint="?colorOnBackground" + app:backgroundTint="?colorPrimarySurface" app:icon="@drawable/round_person_add_24" app:size="big" /> \ No newline at end of file diff --git a/kontacts/src/main/res/values-night-v31/colors.xml b/kontacts/src/main/res/values-night-v31/colors.xml new file mode 100644 index 000000000..825eae9f2 --- /dev/null +++ b/kontacts/src/main/res/values-night-v31/colors.xml @@ -0,0 +1,9 @@ + + + @android:color/system_accent2_800 + @android:color/primary_text_dark + @android:color/system_accent2_100 + @android:color/system_accent1_700 + @android:color/system_neutral1_800 + @android:color/system_neutral1_800 + \ No newline at end of file diff --git a/kontacts/src/main/res/values-v31/colors.xml b/kontacts/src/main/res/values-v31/colors.xml new file mode 100644 index 000000000..e31582cc5 --- /dev/null +++ b/kontacts/src/main/res/values-v31/colors.xml @@ -0,0 +1,9 @@ + + + @android:color/system_accent2_50 + @android:color/primary_text_light + @android:color/system_accent2_800 + @android:color/system_accent1_300 + @android:color/system_neutral1_100 + @android:color/system_neutral1_300 + \ No newline at end of file diff --git a/kontacts/src/main/res/values/colors.xml b/kontacts/src/main/res/values/colors.xml index a6b3daec9..864105264 100644 --- a/kontacts/src/main/res/values/colors.xml +++ b/kontacts/src/main/res/values/colors.xml @@ -1,2 +1,43 @@ - \ No newline at end of file + + + #E6E6E6 + #1C1C1C + #B00020 + #F6F7FB + #454746 + #2E2E2E + #C5C5C5 + #F5ACACAC + #ABEDEDED + @color/color_surface + #95ACACAC + #4F9FE1 + #F6F7FB + + + + #E8F0FD + #4F9FE1 + + #FDEFE2 + #F1974D + + #E7F4EA + #4FA266 + + #F4E8FE + #AF66EC + + #FCE8E7 + #D54E45 + + + + @color/blue_background + @color/orange_background + @color/green_background + @color/purple_background + @color/red_background + + From 8dfe46ce56f9a1087743acab289babf7be66c714 Mon Sep 17 00:00:00 2001 From: Josh Melton Date: Tue, 7 Jun 2022 23:11:06 -0400 Subject: [PATCH 2/3] More changes for material theming. --- .../com/chooloo/www/chooloolib/ui/widgets/Tab.kt | 2 +- chooloolib/src/main/res/values-night-v31/colors.xml | 12 +++++++++--- chooloolib/src/main/res/values-v31/colors.xml | 10 ++++++---- chooloolib/src/main/res/values/colors.xml | 2 ++ 4 files changed, 18 insertions(+), 8 deletions(-) diff --git a/chooloolib/src/main/java/com/chooloo/www/chooloolib/ui/widgets/Tab.kt b/chooloolib/src/main/java/com/chooloo/www/chooloolib/ui/widgets/Tab.kt index 3c08acd31..33e046856 100644 --- a/chooloolib/src/main/java/com/chooloo/www/chooloolib/ui/widgets/Tab.kt +++ b/chooloolib/src/main/java/com/chooloo/www/chooloolib/ui/widgets/Tab.kt @@ -18,7 +18,7 @@ import javax.inject.Inject @AndroidEntryPoint @SuppressLint("CustomViewStyleable", "Recycle") class Tab : AppCompatTextView { - private val enabledColor by lazy { context.getAttrColor(R.attr.colorOnSurface) } + private val enabledColor by lazy { context.getAttrColor(R.attr.colorSurface) } private val disabledColor by lazy { context.getAttrColor(R.attr.colorLightBackground) } @Inject lateinit var animationsInteractor: AnimationsInteractor diff --git a/chooloolib/src/main/res/values-night-v31/colors.xml b/chooloolib/src/main/res/values-night-v31/colors.xml index 399bb5163..7866d527e 100644 --- a/chooloolib/src/main/res/values-night-v31/colors.xml +++ b/chooloolib/src/main/res/values-night-v31/colors.xml @@ -1,12 +1,18 @@ - @android:color/system_accent2_800 + @android:color/system_accent1_800 @android:color/primary_text_dark - @android:color/system_accent2_100 + @android:color/system_accent1_100 @android:color/system_accent1_700 @android:color/system_neutral1_800 @android:color/system_neutral1_900 - + @android:color/system_accent1_800 + @android:color/system_accent1_50 + @android:color/system_accent1_200 + @android:color/system_accent1_700 + @android:color/system_accent1_100 + @android:color/system_neutral1_600 + @android:color/system_accent1_300 diff --git a/chooloolib/src/main/res/values-v31/colors.xml b/chooloolib/src/main/res/values-v31/colors.xml index 2ba1dd25b..8b649d438 100644 --- a/chooloolib/src/main/res/values-v31/colors.xml +++ b/chooloolib/src/main/res/values-v31/colors.xml @@ -2,14 +2,16 @@ @android:color/system_accent1_200 @android:color/primary_text_light - @android:color/system_accent2_800 + @android:color/system_accent1_800 @android:color/system_accent1_300 @android:color/system_neutral1_100 @android:color/system_neutral1_50 - @android:color/system_accent1_600 - @android:color/system_accent1_50 + @android:color/system_accent1_300 + @android:color/system_accent1_900 @android:color/system_accent1_800 - @android:color/system_accent1_200 + @android:color/system_accent1_50 + @android:color/system_accent1_900 + @android:color/system_neutral1_600 diff --git a/chooloolib/src/main/res/values/colors.xml b/chooloolib/src/main/res/values/colors.xml index cd6cc88e2..7f33c9124 100644 --- a/chooloolib/src/main/res/values/colors.xml +++ b/chooloolib/src/main/res/values/colors.xml @@ -15,6 +15,8 @@ #95ACACAC #4F9FE1 #F6F7FB + #F6F7FB + From 9e9dbde41525cd7c76eae9ccaa3ff1061df16736 Mon Sep 17 00:00:00 2001 From: Josh Melton Date: Sat, 11 Jun 2022 16:08:10 -0400 Subject: [PATCH 3/3] More changes for material theming. --- .../java/com/chooloo/www/koler/ui/main/MainViewState.kt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/koler/src/main/java/com/chooloo/www/koler/ui/main/MainViewState.kt b/koler/src/main/java/com/chooloo/www/koler/ui/main/MainViewState.kt index 117b4aaba..ff97b864d 100644 --- a/koler/src/main/java/com/chooloo/www/koler/ui/main/MainViewState.kt +++ b/koler/src/main/java/com/chooloo/www/koler/ui/main/MainViewState.kt @@ -51,7 +51,13 @@ class MainViewState @Inject constructor( fun onViewIntent(intent: Intent) { try { val intentText = URLDecoder.decode(intent.dataString ?: "", "utf-8") - showDialerEvent.call(intentText.substringAfter("tel:")) + // I made this variable seperate instead of calculating it when + // calling showDialerEvent and for some reason it made it start working. + // Perhaps the space added after "tel:" also did the trick. Not sure + // but it's working great now. + // TODO: Turn off dialpad sounds when clicking numbers. + val number = intentText.substringAfter("tel: ") + showDialerEvent.call(number) } catch (e: Exception) { errorEvent.call(R.string.error_couldnt_get_number_from_intent) }