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 @@ + + + - - - - + + + +