diff --git a/app/build.gradle b/app/build.gradle
index 38b8b0bc..59a90105 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -16,21 +16,21 @@ jacoco.toolVersion = "0.8.7"
android {
namespace 'org.pixeldroid.app'
- compileSdkVersion 32
- buildToolsVersion '31.0.0'
+ compileSdkVersion 33
+ buildToolsVersion '33.0.0'
compileOptions {
coreLibraryDesugaringEnabled true
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
- jvmTarget = "1.8"
+ jvmTarget = JavaVersion.VERSION_1_8
freeCompilerArgs += ["-opt-in=kotlin.RequiresOptIn"]
}
defaultConfig {
minSdkVersion 23
- targetSdkVersion 32
- versionCode 18
+ targetSdkVersion 33
+ versionCode 19
versionName "1.0.beta" + versionCode
testInstrumentationRunner "org.pixeldroid.app.testUtility.TestRunner"
@@ -123,32 +123,33 @@ android {
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
- coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:1.1.5'
+ coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.0'
/**
* AndroidX dependencies:
*/
- implementation 'androidx.appcompat:appcompat:1.4.2'
- implementation 'androidx.core:core-ktx:1.8.0'
+ implementation 'androidx.appcompat:appcompat:1.5.1'
+ implementation 'androidx.core:core-splashscreen:1.0.0'
+ implementation 'androidx.core:core-ktx:1.9.0'
implementation 'androidx.preference:preference-ktx:1.2.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
- implementation 'androidx.navigation:navigation-fragment-ktx:2.5.0'
- implementation 'androidx.navigation:navigation-ui-ktx:2.5.0'
+ implementation 'androidx.navigation:navigation-fragment-ktx:2.5.2'
+ implementation 'androidx.navigation:navigation-ui-ktx:2.5.2'
implementation "androidx.browser:browser:1.4.0"
implementation 'androidx.recyclerview:recyclerview:1.2.1'
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"
- implementation 'androidx.navigation:navigation-fragment-ktx:2.5.0'
- implementation 'androidx.navigation:navigation-ui-ktx:2.5.0'
+ implementation 'androidx.navigation:navigation-fragment-ktx:2.5.2'
+ implementation 'androidx.navigation:navigation-ui-ktx:2.5.2'
implementation 'androidx.paging:paging-runtime-ktx:3.1.1'
- implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.5.0'
- implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.0'
- implementation 'androidx.lifecycle:lifecycle-viewmodel-savedstate:2.5.0'
- implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.5.0"
- implementation "androidx.lifecycle:lifecycle-common-java8:2.5.0"
- implementation "androidx.annotation:annotation:1.4.0"
+ implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.5.1'
+ implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1'
+ implementation 'androidx.lifecycle:lifecycle-viewmodel-savedstate:2.5.1'
+ implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.5.1"
+ implementation "androidx.lifecycle:lifecycle-common-java8:2.5.1"
+ implementation "androidx.annotation:annotation:1.5.0"
implementation 'androidx.gridlayout:gridlayout:1.0.0'
- implementation "androidx.activity:activity-ktx:1.5.0"
- implementation 'androidx.fragment:fragment-ktx:1.5.0'
+ implementation "androidx.activity:activity-ktx:1.6.0"
+ implementation 'androidx.fragment:fragment-ktx:1.5.3'
implementation 'androidx.work:work-runtime-ktx:2.7.1'
implementation 'androidx.media2:media2-widget:1.2.1'
implementation 'androidx.media2:media2-player:1.2.1'
@@ -164,7 +165,7 @@ dependencies {
// CameraX View class
implementation "androidx.camera:camera-view:$cameraX_version"
- def room_version = "2.4.2"
+ def room_version = "2.4.3"
implementation "androidx.room:room-runtime:$room_version"
kapt "androidx.room:room-compiler:$room_version"
implementation "androidx.room:room-ktx:$room_version"
@@ -176,16 +177,17 @@ dependencies {
*/
implementation 'com.davemorrissey.labs:subsampling-scale-image-view-androidx:3.10.0'
- implementation 'com.arthenica:ffmpeg-kit-min:4.5.1-1.LTS'
+ implementation 'com.arthenica:ffmpeg-kit-min-gpl:5.1.LTS'
- implementation 'com.google.android.material:material:1.6.1'
+
+ implementation 'com.google.android.material:material:1.7.0-rc01'
//Dagger (dependency injection)
- implementation 'com.google.dagger:dagger-android:2.42'
- implementation 'com.google.dagger:dagger-android-support:2.42'
+ implementation 'com.google.dagger:dagger-android:2.44'
+ implementation 'com.google.dagger:dagger-android-support:2.44'
// if you use the support libraries
- kapt 'com.google.dagger:dagger-android-processor:2.42'
- kapt 'com.google.dagger:dagger-compiler:2.42'
+ kapt 'com.google.dagger:dagger-android-processor:2.44'
+ kapt 'com.google.dagger:dagger-compiler:2.44'
implementation 'com.squareup.okhttp3:okhttp:4.9.3'
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
@@ -199,18 +201,18 @@ dependencies {
implementation 'info.androidhive:imagefilters:1.0.7'
implementation 'com.github.yalantis:ucrop:2.2.8-native'
- implementation('com.github.bumptech.glide:glide:4.13.2') {
+ implementation('com.github.bumptech.glide:glide:4.14.2') {
exclude group: "com.android.support"
}
- implementation 'com.github.bumptech.glide:okhttp3-integration:4.13.2'
- implementation('com.github.bumptech.glide:recyclerview-integration:4.13.2') {
+ implementation 'com.github.bumptech.glide:okhttp3-integration:4.14.2'
+ implementation('com.github.bumptech.glide:recyclerview-integration:4.14.2') {
// Excludes the support library because it's already included by Glide.
transitive = false
}
- implementation 'com.github.bumptech.glide:annotations:4.13.2'
- annotationProcessor 'com.github.bumptech.glide:compiler:4.13.2'
- kapt 'com.github.bumptech.glide:compiler:4.13.2'
+ implementation 'com.github.bumptech.glide:annotations:4.14.2'
+ annotationProcessor 'com.github.bumptech.glide:compiler:4.14.2'
+ kapt 'com.github.bumptech.glide:compiler:4.14.2'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
@@ -219,9 +221,9 @@ dependencies {
implementation 'com.mikepenz:materialdrawer-nav:9.0.1'
//iconics
- implementation 'com.mikepenz:iconics-core:5.3.4'
+ implementation 'com.mikepenz:iconics-core:5.4.0'
implementation 'com.mikepenz:materialdrawer-iconics:9.0.1'
- implementation 'com.mikepenz:iconics-views:5.3.4'
+ implementation 'com.mikepenz:iconics-views:5.4.0'
implementation 'com.mikepenz:google-material-typeface:4.0.0.2-kotlin@aar'
@@ -242,7 +244,7 @@ dependencies {
androidTestUtil 'com.linkedin.testbutler:test-butler-app:2.2.1'
androidTestImplementation 'androidx.work:work-testing:2.7.1'
- testImplementation 'com.github.tomakehurst:wiremock-jre8:2.33.2'
+ testImplementation 'com.github.tomakehurst:wiremock-jre8:2.34.0'
testImplementation "com.nhaarman.mockitokotlin2:mockito-kotlin:2.2.0"
testImplementation 'junit:junit:4.13.2'
testImplementation "androidx.room:room-testing:$room_version"
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index a5af2ded..fa34b884 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -11,6 +11,12 @@
android:name="android.hardware.camera.any"
android:required="false" />
+
+
diff --git a/app/src/main/java/org/pixeldroid/app/MainActivity.kt b/app/src/main/java/org/pixeldroid/app/MainActivity.kt
index cd80b0d8..7b8c73b3 100644
--- a/app/src/main/java/org/pixeldroid/app/MainActivity.kt
+++ b/app/src/main/java/org/pixeldroid/app/MainActivity.kt
@@ -11,6 +11,7 @@ import android.view.View
import android.widget.ImageView
import androidx.appcompat.app.AppCompatActivity
import androidx.core.content.ContextCompat
+import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen
import androidx.core.view.GravityCompat
import androidx.fragment.app.Fragment
import androidx.lifecycle.lifecycleScope
@@ -21,6 +22,7 @@ import androidx.viewpager2.widget.ViewPager2
import androidx.viewpager2.widget.ViewPager2.OnPageChangeCallback
import com.bumptech.glide.Glide
import com.google.android.material.bottomnavigation.BottomNavigationView
+import com.google.android.material.color.DynamicColors
import com.mikepenz.iconics.typeface.library.googlematerial.GoogleMaterial
import com.mikepenz.materialdrawer.iconics.iconicsIcon
import com.mikepenz.materialdrawer.model.PrimaryDrawerItem
@@ -68,6 +70,11 @@ class MainActivity : BaseThemedWithoutBarActivity() {
@OptIn(ExperimentalPagingApi::class)
override fun onCreate(savedInstanceState: Bundle?) {
+ installSplashScreen()
+
+ // Workaround for dynamic colors not applying due to splash screen?
+ DynamicColors.applyToActivityIfAvailable(this)
+
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
diff --git a/app/src/main/java/org/pixeldroid/app/posts/NestedScrollableHost.kt b/app/src/main/java/org/pixeldroid/app/posts/NestedScrollableHost.kt
index 057715f7..4385f35b 100644
--- a/app/src/main/java/org/pixeldroid/app/posts/NestedScrollableHost.kt
+++ b/app/src/main/java/org/pixeldroid/app/posts/NestedScrollableHost.kt
@@ -76,12 +76,12 @@ class NestedScrollableHost(context: Context, attrs: AttributeSet? = null) :
return true
}
- override fun onDoubleTap(e: MotionEvent?): Boolean {
+ override fun onDoubleTap(e: MotionEvent): Boolean {
doubleTapCallback?.invoke()
return super.onDoubleTap(e)
}
- override fun onSingleTapConfirmed(e: MotionEvent?): Boolean {
+ override fun onSingleTapConfirmed(e: MotionEvent): Boolean {
// Disable opening AlbumActivity if the only image is a video (let the video open directly)
if(images.size == 1 && images.first().type == Attachment.AttachmentType.video){
return super.onSingleTapConfirmed(e)
diff --git a/app/src/main/java/org/pixeldroid/app/settings/LicenseActivity.kt b/app/src/main/java/org/pixeldroid/app/settings/LicenseActivity.kt
index 279793d9..af686dbd 100644
--- a/app/src/main/java/org/pixeldroid/app/settings/LicenseActivity.kt
+++ b/app/src/main/java/org/pixeldroid/app/settings/LicenseActivity.kt
@@ -7,7 +7,6 @@ import org.pixeldroid.app.databinding.OpenSourceLicenseBinding
import org.pixeldroid.app.settings.licenseObjects.Libraries
import org.pixeldroid.app.settings.licenseObjects.OpenSourceItem
import org.pixeldroid.app.utils.BaseThemedWithBarActivity
-import org.pixeldroid.app.utils.themeActionBar
/**
* Displays licenses for all app dependencies. JSON is
@@ -18,7 +17,6 @@ class LicenseActivity: BaseThemedWithBarActivity() {
private lateinit var binding: OpenSourceLicenseBinding
override fun onCreate(savedInstanceState: Bundle?) {
- setTheme(themeActionBar())
super.onCreate(savedInstanceState)
binding = OpenSourceLicenseBinding.inflate(layoutInflater)
diff --git a/app/src/main/java/org/pixeldroid/app/settings/SettingsActivity.kt b/app/src/main/java/org/pixeldroid/app/settings/SettingsActivity.kt
index 0446bde4..a7db465b 100644
--- a/app/src/main/java/org/pixeldroid/app/settings/SettingsActivity.kt
+++ b/app/src/main/java/org/pixeldroid/app/settings/SettingsActivity.kt
@@ -57,11 +57,11 @@ class SettingsActivity : BaseThemedWithBarActivity(), SharedPreferences.OnShared
}
override fun onSharedPreferenceChanged(sharedPreferences: SharedPreferences, key: String) {
when (key) {
- "theme" -> {
- setThemeFromPreferences(sharedPreferences, resources)
+ "language" -> {
recreateWithRestartStatus()
}
- "language" -> {
+ "theme" -> {
+ setThemeFromPreferences(sharedPreferences, resources)
recreateWithRestartStatus()
}
"themeColor" -> {
diff --git a/app/src/main/java/org/pixeldroid/app/settings/ThemeColorPreference.kt b/app/src/main/java/org/pixeldroid/app/settings/ThemeColorPreference.kt
index beeaaee5..18a1ce44 100644
--- a/app/src/main/java/org/pixeldroid/app/settings/ThemeColorPreference.kt
+++ b/app/src/main/java/org/pixeldroid/app/settings/ThemeColorPreference.kt
@@ -3,6 +3,7 @@ package org.pixeldroid.app.settings
import android.content.Context
import android.content.res.ColorStateList
import android.content.res.TypedArray
+import android.os.Build
import android.os.Bundle
import android.util.AttributeSet
import android.util.TypedValue
@@ -110,6 +111,7 @@ class ColorPreference constructor(context: Context, attrs: AttributeSet? = null)
thumbnail?.visibility = if (thumbColor == null) View.GONE else View.VISIBLE
@ColorRes
val colorCode: Int = when(thumbColor){
+ -1 -> android.R.color.transparent
1 -> R.color.seed2
2 -> R.color.seed3
3 -> R.color.seed4
@@ -162,6 +164,13 @@ class ColorPickerView(context: Context?, attrs: AttributeSet? = null) : FrameLay
init {
binding = ColorDialogBinding.inflate(LayoutInflater.from(context),this, true)
+ if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.S){
+ binding.dynamicColorSwitch.isVisible = true
+ binding.dynamicColorSwitch.setOnCheckedChangeListener{ _, isChecked ->
+ binding.themeChooser.isVisible = !isChecked
+ color = if(isChecked) -1 else 0
+ }
+ }
binding.theme1.setOnClickListener { color = 0 }
binding.theme2.setOnClickListener { color = 1 }
binding.theme3.setOnClickListener { color = 2 }
@@ -188,5 +197,8 @@ class ColorPickerView(context: Context?, attrs: AttributeSet? = null) : FrameLay
3 -> binding.theme4
else -> null
}?.let { changeConstraint(it) }
+
+ // Check switch if set to dynamic
+ binding.dynamicColorSwitch.isChecked = value == -1
}
}
diff --git a/app/src/main/java/org/pixeldroid/app/utils/BaseThemedWithBarActivity.kt b/app/src/main/java/org/pixeldroid/app/utils/BaseThemedWithBarActivity.kt
index 473dddd1..fa07abfc 100644
--- a/app/src/main/java/org/pixeldroid/app/utils/BaseThemedWithBarActivity.kt
+++ b/app/src/main/java/org/pixeldroid/app/utils/BaseThemedWithBarActivity.kt
@@ -4,7 +4,8 @@ import android.os.Bundle
open class BaseThemedWithBarActivity : BaseActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
- setTheme(themeActionBar())
+ // Set theme when we chose one
+ themeActionBar()?.let { setTheme(it) }
super.onCreate(savedInstanceState)
}
}
\ No newline at end of file
diff --git a/app/src/main/java/org/pixeldroid/app/utils/BaseThemedWithoutBarActivity.kt b/app/src/main/java/org/pixeldroid/app/utils/BaseThemedWithoutBarActivity.kt
index 9e339812..1c825f18 100644
--- a/app/src/main/java/org/pixeldroid/app/utils/BaseThemedWithoutBarActivity.kt
+++ b/app/src/main/java/org/pixeldroid/app/utils/BaseThemedWithoutBarActivity.kt
@@ -4,7 +4,8 @@ import android.os.Bundle
open class BaseThemedWithoutBarActivity : BaseActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
- setTheme(themeNoActionBar())
+ // Set theme when we chose one
+ themeNoActionBar()?.let { setTheme(it) }
super.onCreate(savedInstanceState)
}
}
\ No newline at end of file
diff --git a/app/src/main/java/org/pixeldroid/app/utils/GlideApplication.kt b/app/src/main/java/org/pixeldroid/app/utils/GlideApplication.kt
index b0a8a246..c734bfd8 100644
--- a/app/src/main/java/org/pixeldroid/app/utils/GlideApplication.kt
+++ b/app/src/main/java/org/pixeldroid/app/utils/GlideApplication.kt
@@ -21,6 +21,6 @@ class PixelDroidGlideModule : AppGlideModule() {
.addNetworkInterceptor(PixelfedAPI.headerInterceptor)
.build()
val factory = OkHttpUrlLoader.Factory(client)
- glide.registry.replace(GlideUrl::class.java, InputStream::class.java, factory)
+ registry.replace(GlideUrl::class.java, InputStream::class.java, factory)
}
}
diff --git a/app/src/main/java/org/pixeldroid/app/utils/PixelDroidApplication.kt b/app/src/main/java/org/pixeldroid/app/utils/PixelDroidApplication.kt
index 44f81387..560fbbba 100644
--- a/app/src/main/java/org/pixeldroid/app/utils/PixelDroidApplication.kt
+++ b/app/src/main/java/org/pixeldroid/app/utils/PixelDroidApplication.kt
@@ -27,8 +27,7 @@ class PixelDroidApplication: Application() {
.build()
mApplicationComponent.inject(this)
- //TODO put condition depending on setting to apply dynamic colours (android 12+)
- if(false) DynamicColors.applyToActivitiesIfAvailable(this)
+ DynamicColors.applyToActivitiesIfAvailable(this)
}
fun getAppComponent(): ApplicationComponent {
diff --git a/app/src/main/java/org/pixeldroid/app/utils/Utils.kt b/app/src/main/java/org/pixeldroid/app/utils/Utils.kt
index 2242a46b..23249264 100644
--- a/app/src/main/java/org/pixeldroid/app/utils/Utils.kt
+++ b/app/src/main/java/org/pixeldroid/app/utils/Utils.kt
@@ -211,22 +211,26 @@ fun setThemeFromPreferences(preferences: SharedPreferences, resources: Resources
}
@StyleRes
-fun Context.themeNoActionBar(): Int {
+fun Context.themeNoActionBar(): Int? {
return when(PreferenceManager.getDefaultSharedPreferences(this).getInt("themeColor", 0)) {
+ // No theme was chosen: the user wants to use the system dynamic color (from wallpaper for example)
+ -1 -> null
1 -> R.style.AppTheme2_NoActionBar
2 -> R.style.AppTheme3_NoActionBar
3 -> R.style.AppTheme4_NoActionBar
- else -> R.style.AppTheme_NoActionBar
+ else -> R.style.AppTheme5_NoActionBar
}
}
@StyleRes
-fun Context.themeActionBar(): Int {
+fun Context.themeActionBar(): Int? {
return when(PreferenceManager.getDefaultSharedPreferences(this).getInt("themeColor", 0)) {
+ // No theme was chosen: the user wants to use the system dynamic color (from wallpaper for example)
+ -1 -> null
1 -> R.style.AppTheme2
2 -> R.style.AppTheme3
3 -> R.style.AppTheme4
- else -> R.style.AppTheme
+ else -> R.style.AppTheme5
}
}
diff --git a/app/src/main/java/org/pixeldroid/app/utils/api/PixelfedAPI.kt b/app/src/main/java/org/pixeldroid/app/utils/api/PixelfedAPI.kt
index 2d7e9a11..08e46124 100644
--- a/app/src/main/java/org/pixeldroid/app/utils/api/PixelfedAPI.kt
+++ b/app/src/main/java/org/pixeldroid/app/utils/api/PixelfedAPI.kt
@@ -37,7 +37,7 @@ interface PixelfedAPI {
val headerInterceptor = Interceptor { chain ->
val requestBuilder = chain.request().newBuilder()
.removeHeader("User-Agent")
- .addHeader("User-Agent", "PixelDroid") //TODO check if okay?
+ .addHeader("User-Agent", "PixelDroid")
chain.proceed(requestBuilder.build())
}
diff --git a/app/src/main/java/org/pixeldroid/app/utils/api/objects/Status.kt b/app/src/main/java/org/pixeldroid/app/utils/api/objects/Status.kt
index 22e72806..5ce0664f 100644
--- a/app/src/main/java/org/pixeldroid/app/utils/api/objects/Status.kt
+++ b/app/src/main/java/org/pixeldroid/app/utils/api/objects/Status.kt
@@ -151,7 +151,6 @@ open class Status(
val shareIntent: Intent = Intent.createChooser(Intent().apply {
action = Intent.ACTION_SEND
putExtra(Intent.EXTRA_STREAM, file)
- data = file
flags = Intent.FLAG_GRANT_READ_URI_PERMISSION
type = "image/$ext"
}, null)
diff --git a/app/src/main/res/drawable-hdpi/index_night.png b/app/src/main/res/drawable-hdpi/index_night.png
deleted file mode 100644
index deba4300..00000000
Binary files a/app/src/main/res/drawable-hdpi/index_night.png and /dev/null differ
diff --git a/app/src/main/res/drawable-mdpi/index_night.png b/app/src/main/res/drawable-mdpi/index_night.png
deleted file mode 100644
index 5a3aad82..00000000
Binary files a/app/src/main/res/drawable-mdpi/index_night.png and /dev/null differ
diff --git a/app/src/main/res/drawable-night/theme.xml b/app/src/main/res/drawable-night/theme.xml
deleted file mode 100644
index 9ef10a52..00000000
--- a/app/src/main/res/drawable-night/theme.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/drawable-xhdpi/index_night.png b/app/src/main/res/drawable-xhdpi/index_night.png
deleted file mode 100644
index 1b887236..00000000
Binary files a/app/src/main/res/drawable-xhdpi/index_night.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xxhdpi/index_night.png b/app/src/main/res/drawable-xxhdpi/index_night.png
deleted file mode 100644
index 65cde881..00000000
Binary files a/app/src/main/res/drawable-xxhdpi/index_night.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xxxhdpi/index_night.png b/app/src/main/res/drawable-xxxhdpi/index_night.png
deleted file mode 100644
index f9a43df8..00000000
Binary files a/app/src/main/res/drawable-xxxhdpi/index_night.png and /dev/null differ
diff --git a/app/src/main/res/drawable/mascot_small.xml b/app/src/main/res/drawable/mascot_small.xml
new file mode 100644
index 00000000..55811b0e
--- /dev/null
+++ b/app/src/main/res/drawable/mascot_small.xml
@@ -0,0 +1,815 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/theme.xml b/app/src/main/res/drawable/theme.xml
deleted file mode 100644
index 26032cca..00000000
--- a/app/src/main/res/drawable/theme.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/layout/color_dialog.xml b/app/src/main/res/layout/color_dialog.xml
index 6034ed11..1ac31c4d 100644
--- a/app/src/main/res/layout/color_dialog.xml
+++ b/app/src/main/res/layout/color_dialog.xml
@@ -5,89 +5,108 @@
android:layout_width="match_parent"
android:layout_height="wrap_content">
-
-
-
-
-
-
-
-
+ tools:visibility="visible" />
+ android:id="@+id/themeChooser"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="8dp"
+ app:layout_constraintTop_toBottomOf="@+id/dynamicColorSwitch">
-
+ app:tint="@color/seed" />
-
+
+
+
+
+ app:layout_constraintStart_toEndOf="@+id/theme3"
+ app:layout_constraintTop_toTopOf="@+id/theme3"
+ app:srcCompat="@drawable/circle_black_24dp"
+ app:tint="@color/seed4" />
+
+
+
+
+
+
+
+
-
\ No newline at end of file
diff --git a/app/src/main/res/values-night/styles.xml b/app/src/main/res/values-night/styles.xml
index 01aae04d..9a776262 100644
--- a/app/src/main/res/values-night/styles.xml
+++ b/app/src/main/res/values-night/styles.xml
@@ -1,6 +1,10 @@
+
+
+
-
-
-
-
+
+
+
+