From 5657c395940bd1e139486565fe6c06fce841313c Mon Sep 17 00:00:00 2001 From: David Gonzalez Date: Thu, 10 Jun 2021 13:38:45 +0200 Subject: [PATCH 1/4] extracted theming, colors and dimensions to a common-ui module --- app/build.gradle | 1 + app/src/main/res/values/themes.xml | 222 +-------------- common-ui/.gitignore | 1 + common-ui/build.gradle | 30 ++ common-ui/proguard-rules.pro | 21 ++ common-ui/src/main/AndroidManifest.xml | 21 ++ .../color/broken_sites_button_background.xml | 0 .../res/color/broken_sites_button_text.xml | 0 .../color/broken_sites_dropdown_selector.xml | 0 .../browser_icon_color_selector_dark.xml | 0 .../browser_icon_color_selector_light.xml | 0 .../src/main/res/color/browser_menu_text.xml | 0 .../res/color/button_contained_background.xml | 0 .../settings_subtitle_color_selector.xml | 0 .../color/settings_title_color_selector.xml | 0 .../src/main/res/drawable/text_cursor.xml | 0 .../src/main/res/values-land/dimens.xml | 0 .../main/res/values-sw600dp-land/dimens.xml | 0 .../src/main/res/values-sw600dp/dimens.xml | 0 .../src/main/res/values-v23/themes.xml | 0 .../src/main/res/values-v27/themes.xml | 0 .../attrs-settings-item-with-subtitle.xml | 2 +- ...trs-settings-toggle-item-with-subtitle.xml | 2 +- .../src/main/res/values/attrs.xml | 4 + .../src/main/res/values/colors.xml | 20 +- .../src/main/res/values/dimens.xml | 0 .../src/main/res/values/styles.xml | 0 common-ui/src/main/res/values/themes.xml | 268 ++++++++++++++++++ .../mobile/android/ExampleUnitTest.kt | 33 +++ settings.gradle | 1 + 30 files changed, 404 insertions(+), 222 deletions(-) create mode 100644 common-ui/.gitignore create mode 100644 common-ui/build.gradle create mode 100644 common-ui/proguard-rules.pro create mode 100644 common-ui/src/main/AndroidManifest.xml rename {app => common-ui}/src/main/res/color/broken_sites_button_background.xml (100%) rename {app => common-ui}/src/main/res/color/broken_sites_button_text.xml (100%) rename {app => common-ui}/src/main/res/color/broken_sites_dropdown_selector.xml (100%) rename {app => common-ui}/src/main/res/color/browser_icon_color_selector_dark.xml (100%) rename {app => common-ui}/src/main/res/color/browser_icon_color_selector_light.xml (100%) rename {app => common-ui}/src/main/res/color/browser_menu_text.xml (100%) rename {app => common-ui}/src/main/res/color/button_contained_background.xml (100%) rename {app => common-ui}/src/main/res/color/settings_subtitle_color_selector.xml (100%) rename {app => common-ui}/src/main/res/color/settings_title_color_selector.xml (100%) rename {app => common-ui}/src/main/res/drawable/text_cursor.xml (100%) rename {app => common-ui}/src/main/res/values-land/dimens.xml (100%) rename {app => common-ui}/src/main/res/values-sw600dp-land/dimens.xml (100%) rename {app => common-ui}/src/main/res/values-sw600dp/dimens.xml (100%) rename {app => common-ui}/src/main/res/values-v23/themes.xml (100%) rename {app => common-ui}/src/main/res/values-v27/themes.xml (100%) rename {app => common-ui}/src/main/res/values/attrs-settings-item-with-subtitle.xml (98%) rename {app => common-ui}/src/main/res/values/attrs-settings-toggle-item-with-subtitle.xml (96%) rename {app => common-ui}/src/main/res/values/attrs.xml (93%) rename {app => common-ui}/src/main/res/values/colors.xml (85%) rename {app => common-ui}/src/main/res/values/dimens.xml (100%) rename {app => common-ui}/src/main/res/values/styles.xml (100%) create mode 100644 common-ui/src/main/res/values/themes.xml create mode 100644 common-ui/src/test/java/com/duckduckgo/mobile/android/ExampleUnitTest.kt diff --git a/app/build.gradle b/app/build.gradle index 1020f34c99ac..d32fbb8437b8 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -125,6 +125,7 @@ android { dependencies { implementation project(path: ':statistics') implementation project(path: ':common') + implementation project(path: ':common-ui') implementation project(path: ':di') implementation AndroidX.legacy.supportV4 diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml index 85b75e5b295f..8a146fe25f31 100644 --- a/app/src/main/res/values/themes.xml +++ b/app/src/main/res/values/themes.xml @@ -1,5 +1,5 @@ - - @color/almostBlackDark - @color/black - @color/cornflowerBlue - ?attr/colorPrimaryDark - false - true - @style/BottomSheetDialog - true - @style/AutoCompleteTextViewStyle - ?toolbarBgColor - @style/snackbarButtonStyle - @color/newBlack - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + \ No newline at end of file diff --git a/common-ui/.gitignore b/common-ui/.gitignore new file mode 100644 index 000000000000..42afabfd2abe --- /dev/null +++ b/common-ui/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/common-ui/build.gradle b/common-ui/build.gradle new file mode 100644 index 000000000000..d52fdec32462 --- /dev/null +++ b/common-ui/build.gradle @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2021 DuckDuckGo + * + * 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. + */ + +plugins { + id 'com.android.library' + id 'kotlin-android' + id 'kotlin-kapt' +} + +apply from: "$rootProject.projectDir/gradle/android-library.gradle" + +dependencies { + + implementation AndroidX.appCompat + implementation Google.android.material + implementation AndroidX.constraintLayout +} \ No newline at end of file diff --git a/common-ui/proguard-rules.pro b/common-ui/proguard-rules.pro new file mode 100644 index 000000000000..481bb4348141 --- /dev/null +++ b/common-ui/proguard-rules.pro @@ -0,0 +1,21 @@ +# Add project specific ProGuard rules here. +# You can control the set of applied configuration files using the +# proguardFiles setting in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile \ No newline at end of file diff --git a/common-ui/src/main/AndroidManifest.xml b/common-ui/src/main/AndroidManifest.xml new file mode 100644 index 000000000000..baa78f61bed7 --- /dev/null +++ b/common-ui/src/main/AndroidManifest.xml @@ -0,0 +1,21 @@ + + + + + + \ No newline at end of file diff --git a/app/src/main/res/color/broken_sites_button_background.xml b/common-ui/src/main/res/color/broken_sites_button_background.xml similarity index 100% rename from app/src/main/res/color/broken_sites_button_background.xml rename to common-ui/src/main/res/color/broken_sites_button_background.xml diff --git a/app/src/main/res/color/broken_sites_button_text.xml b/common-ui/src/main/res/color/broken_sites_button_text.xml similarity index 100% rename from app/src/main/res/color/broken_sites_button_text.xml rename to common-ui/src/main/res/color/broken_sites_button_text.xml diff --git a/app/src/main/res/color/broken_sites_dropdown_selector.xml b/common-ui/src/main/res/color/broken_sites_dropdown_selector.xml similarity index 100% rename from app/src/main/res/color/broken_sites_dropdown_selector.xml rename to common-ui/src/main/res/color/broken_sites_dropdown_selector.xml diff --git a/app/src/main/res/color/browser_icon_color_selector_dark.xml b/common-ui/src/main/res/color/browser_icon_color_selector_dark.xml similarity index 100% rename from app/src/main/res/color/browser_icon_color_selector_dark.xml rename to common-ui/src/main/res/color/browser_icon_color_selector_dark.xml diff --git a/app/src/main/res/color/browser_icon_color_selector_light.xml b/common-ui/src/main/res/color/browser_icon_color_selector_light.xml similarity index 100% rename from app/src/main/res/color/browser_icon_color_selector_light.xml rename to common-ui/src/main/res/color/browser_icon_color_selector_light.xml diff --git a/app/src/main/res/color/browser_menu_text.xml b/common-ui/src/main/res/color/browser_menu_text.xml similarity index 100% rename from app/src/main/res/color/browser_menu_text.xml rename to common-ui/src/main/res/color/browser_menu_text.xml diff --git a/app/src/main/res/color/button_contained_background.xml b/common-ui/src/main/res/color/button_contained_background.xml similarity index 100% rename from app/src/main/res/color/button_contained_background.xml rename to common-ui/src/main/res/color/button_contained_background.xml diff --git a/app/src/main/res/color/settings_subtitle_color_selector.xml b/common-ui/src/main/res/color/settings_subtitle_color_selector.xml similarity index 100% rename from app/src/main/res/color/settings_subtitle_color_selector.xml rename to common-ui/src/main/res/color/settings_subtitle_color_selector.xml diff --git a/app/src/main/res/color/settings_title_color_selector.xml b/common-ui/src/main/res/color/settings_title_color_selector.xml similarity index 100% rename from app/src/main/res/color/settings_title_color_selector.xml rename to common-ui/src/main/res/color/settings_title_color_selector.xml diff --git a/app/src/main/res/drawable/text_cursor.xml b/common-ui/src/main/res/drawable/text_cursor.xml similarity index 100% rename from app/src/main/res/drawable/text_cursor.xml rename to common-ui/src/main/res/drawable/text_cursor.xml diff --git a/app/src/main/res/values-land/dimens.xml b/common-ui/src/main/res/values-land/dimens.xml similarity index 100% rename from app/src/main/res/values-land/dimens.xml rename to common-ui/src/main/res/values-land/dimens.xml diff --git a/app/src/main/res/values-sw600dp-land/dimens.xml b/common-ui/src/main/res/values-sw600dp-land/dimens.xml similarity index 100% rename from app/src/main/res/values-sw600dp-land/dimens.xml rename to common-ui/src/main/res/values-sw600dp-land/dimens.xml diff --git a/app/src/main/res/values-sw600dp/dimens.xml b/common-ui/src/main/res/values-sw600dp/dimens.xml similarity index 100% rename from app/src/main/res/values-sw600dp/dimens.xml rename to common-ui/src/main/res/values-sw600dp/dimens.xml diff --git a/app/src/main/res/values-v23/themes.xml b/common-ui/src/main/res/values-v23/themes.xml similarity index 100% rename from app/src/main/res/values-v23/themes.xml rename to common-ui/src/main/res/values-v23/themes.xml diff --git a/app/src/main/res/values-v27/themes.xml b/common-ui/src/main/res/values-v27/themes.xml similarity index 100% rename from app/src/main/res/values-v27/themes.xml rename to common-ui/src/main/res/values-v27/themes.xml diff --git a/app/src/main/res/values/attrs-settings-item-with-subtitle.xml b/common-ui/src/main/res/values/attrs-settings-item-with-subtitle.xml similarity index 98% rename from app/src/main/res/values/attrs-settings-item-with-subtitle.xml rename to common-ui/src/main/res/values/attrs-settings-item-with-subtitle.xml index bb532ebdc769..d178c36fda51 100644 --- a/app/src/main/res/values/attrs-settings-item-with-subtitle.xml +++ b/common-ui/src/main/res/values/attrs-settings-item-with-subtitle.xml @@ -19,4 +19,4 @@ - + \ No newline at end of file diff --git a/app/src/main/res/values/attrs-settings-toggle-item-with-subtitle.xml b/common-ui/src/main/res/values/attrs-settings-toggle-item-with-subtitle.xml similarity index 96% rename from app/src/main/res/values/attrs-settings-toggle-item-with-subtitle.xml rename to common-ui/src/main/res/values/attrs-settings-toggle-item-with-subtitle.xml index 9f0986eed059..011096e769cb 100644 --- a/app/src/main/res/values/attrs-settings-toggle-item-with-subtitle.xml +++ b/common-ui/src/main/res/values/attrs-settings-toggle-item-with-subtitle.xml @@ -1,5 +1,5 @@ + #678FFF + #E5E5E5 + #DE5833 + + #A64FD1 + #D4A1EE + #6FBF5C + #FFB652 + #1A73E9 + #F3F5F9 + #F2F5F9 + diff --git a/app/src/main/res/values/dimens.xml b/common-ui/src/main/res/values/dimens.xml similarity index 100% rename from app/src/main/res/values/dimens.xml rename to common-ui/src/main/res/values/dimens.xml diff --git a/app/src/main/res/values/styles.xml b/common-ui/src/main/res/values/styles.xml similarity index 100% rename from app/src/main/res/values/styles.xml rename to common-ui/src/main/res/values/styles.xml diff --git a/common-ui/src/main/res/values/themes.xml b/common-ui/src/main/res/values/themes.xml new file mode 100644 index 000000000000..3375585bd30a --- /dev/null +++ b/common-ui/src/main/res/values/themes.xml @@ -0,0 +1,268 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/common-ui/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml similarity index 97% rename from common-ui/src/main/res/values/styles.xml rename to app/src/main/res/values/styles.xml index 3a38dbbb9ac6..f87e4083c9e8 100644 --- a/common-ui/src/main/res/values/styles.xml +++ b/app/src/main/res/values/styles.xml @@ -16,14 +16,6 @@ - - - - - - - - - - diff --git a/common-ui/src/main/res/values/themes.xml b/common-ui/src/main/res/values/themes.xml index 3375585bd30a..1fed208d63ca 100644 --- a/common-ui/src/main/res/values/themes.xml +++ b/common-ui/src/main/res/values/themes.xml @@ -244,25 +244,16 @@ ?attr/toolbarIconColor - - - -