diff --git a/app/build.gradle b/app/build.gradle index 8641e6fa1..9df28e38a 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -10,13 +10,13 @@ android { defaultConfig { minSdk 21 - targetSdk 32 + targetSdk 33 vectorDrawables.useSupportLibrary = true applicationId namespace - versionCode 10600 - versionName '6.0.4' + versionCode 10602 + versionName '6.1.0' buildConfigField("String", "GOOGLE_PLAY_LICENSING_KEY", "\"${getProperty(getProperties('../public.properties'), 'GOOGLE_PLAY_LICENSE_KEY')}\"") } @@ -112,7 +112,7 @@ dependencies { implementation 'androidx.mediarouter:mediarouter:1.3.1' //Cast Dependencies - normalImplementation 'com.google.android.gms:play-services-cast-framework:21.2.0' + normalImplementation 'com.google.android.gms:play-services-cast-framework:21.3.0' //WebServer by NanoHttpd normalImplementation "org.nanohttpd:nanohttpd:2.3.1" @@ -120,7 +120,7 @@ dependencies { implementation "androidx.navigation:navigation-fragment-ktx:$navigation_version" implementation "androidx.navigation:navigation-ui-ktx:$navigation_version" - def room_version = '2.5.0' + def room_version = '2.5.1' implementation "androidx.room:room-runtime:$room_version" implementation "androidx.room:room-ktx:$room_version" ksp "androidx.room:room-compiler:$room_version" @@ -150,11 +150,11 @@ dependencies { implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.4" - def koin_version = '3.3.3' + def koin_version = '3.4.0' implementation "io.insert-koin:koin-core:$koin_version" implementation "io.insert-koin:koin-android:$koin_version" - def glide_version = '4.15.0' + def glide_version = '4.15.1' implementation "com.github.bumptech.glide:glide:$glide_version" ksp "com.github.bumptech.glide:ksp:$glide_version" implementation "com.github.bumptech.glide:okhttp3-integration:$glide_version" @@ -176,5 +176,5 @@ dependencies { implementation 'com.github.dhaval2404:imagepicker:2.1' implementation 'me.zhanghai.android.fastscroll:library:1.2.0' implementation 'cat.ereza:customactivityoncrash:2.4.0' - implementation 'me.tankery.lib:circularSeekBar:1.4.1' + implementation 'me.tankery.lib:circularSeekBar:1.4.2' } \ No newline at end of file diff --git a/app/src/fdroid/java/code/name/monkey/retromusic/extensions/extensions.kt b/app/src/fdroid/java/code/name/monkey/retromusic/extensions/extensions.kt index 1dc3ae58f..dffaedfa4 100644 --- a/app/src/fdroid/java/code/name/monkey/retromusic/extensions/extensions.kt +++ b/app/src/fdroid/java/code/name/monkey/retromusic/extensions/extensions.kt @@ -8,8 +8,8 @@ import androidx.fragment.app.FragmentActivity fun Context.setUpMediaRouteButton(menu: Menu) {} -fun FragmentActivity.installLanguageAndRecreate(code: String) { - recreate() +fun FragmentActivity.installLanguageAndRecreate(code: String, onInstallComplete: () -> Unit) { + onInstallComplete() } fun Context.goToProVersion() {} diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 8db74d0f6..e35633fe0 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -9,7 +9,11 @@ - + + + @@ -30,16 +34,19 @@ + tools:ignore="UnusedAttribute"> @@ -323,6 +329,16 @@ + + + + + + android:fitsSystemWindows="true" /> - @@ -93,6 +94,7 @@ android:id="@+id/text" android:layout_width="0dp" android:layout_height="wrap_content" + android:layout_marginTop="4dp" android:ellipsize="end" android:maxLines="1" android:paddingHorizontal="16dp" diff --git a/app/src/main/res/layout/fragment_settings.xml b/app/src/main/res/layout/fragment_settings.xml index d252fb722..7c1b8e54a 100644 --- a/app/src/main/res/layout/fragment_settings.xml +++ b/app/src/main/res/layout/fragment_settings.xml @@ -1,7 +1,6 @@ diff --git a/app/src/main/res/layout/item_list.xml b/app/src/main/res/layout/item_list.xml index 55df9fda7..c23159d1a 100755 --- a/app/src/main/res/layout/item_list.xml +++ b/app/src/main/res/layout/item_list.xml @@ -35,18 +35,19 @@ android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:layout_marginStart="16dp" - app:cardCornerRadius="10dp" + app:cardCornerRadius="8dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toEndOf="@id/drag_view" app:layout_constraintTop_toTopOf="parent"> - @@ -87,6 +88,7 @@ android:ellipsize="end" android:maxLines="1" android:paddingHorizontal="16dp" + android:layout_marginTop="4dp" android:textAppearance="@style/TextViewBody2" android:textColor="?android:attr/textColorSecondary" app:layout_constraintBottom_toBottomOf="parent" diff --git a/app/src/main/res/layout/item_queue.xml b/app/src/main/res/layout/item_queue.xml index 855392064..83a497076 100644 --- a/app/src/main/res/layout/item_queue.xml +++ b/app/src/main/res/layout/item_queue.xml @@ -4,14 +4,15 @@ xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="wrap_content" - android:clickable="true" - android:focusable="true" android:background="?rectSelector" - android:transitionGroup="true"> + android:clickable="true" + android:focusable="true"> + + @@ -43,18 +44,20 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_vertical" - app:cardCornerRadius="6dp" + android:transitionGroup="true" + app:cardCornerRadius="4dp" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintStart_toEndOf="@id/drag_view" app:layout_constraintTop_toTopOf="parent"> - @@ -94,6 +97,7 @@ android:id="@+id/text" android:layout_width="0dp" android:layout_height="wrap_content" + android:layout_marginTop="4dp" android:ellipsize="end" android:maxLines="1" android:paddingHorizontal="16dp" diff --git a/app/src/main/res/values-v26/bools.xml b/app/src/main/res/values-v26/bools.xml deleted file mode 100644 index e557d81d8..000000000 --- a/app/src/main/res/values-v26/bools.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - false - \ No newline at end of file diff --git a/app/src/main/res/values-v27/bools.xml b/app/src/main/res/values-v27/bools.xml deleted file mode 100644 index a3eb593f3..000000000 --- a/app/src/main/res/values-v27/bools.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - true - \ No newline at end of file diff --git a/app/src/main/res/values-v31/bools.xml b/app/src/main/res/values-v31/bools.xml index 51349c34e..e9ef74c3c 100644 --- a/app/src/main/res/values-v31/bools.xml +++ b/app/src/main/res/values-v31/bools.xml @@ -2,6 +2,4 @@ true true - - false \ No newline at end of file diff --git a/app/src/main/res/values/bools.xml b/app/src/main/res/values/bools.xml index 654eeffa5..5e9f24c9f 100644 --- a/app/src/main/res/values/bools.xml +++ b/app/src/main/res/values/bools.xml @@ -5,9 +5,5 @@ true - false - false - - true false \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 0e6eaba7a..e9609c7c1 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -562,4 +562,5 @@ You have to select at least one category. You will be forwarded to the issue tracker website. Your account data is only used for authentication. + Could not write tags to the music file! diff --git a/app/src/main/res/xml/locales_config.xml b/app/src/main/res/xml/locales_config.xml new file mode 100644 index 000000000..d11dda98d --- /dev/null +++ b/app/src/main/res/xml/locales_config.xml @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/xml/pref_audio.xml b/app/src/main/res/xml/pref_audio.xml index 749202ced..6bf54069c 100755 --- a/app/src/main/res/xml/pref_audio.xml +++ b/app/src/main/res/xml/pref_audio.xml @@ -2,15 +2,6 @@ - - + android:title="@string/pref_title_wallpaper_accent" /> Unit) { var mySessionId = 0 val manager = SplitInstallManagerFactory.create(this) val listener = object: SplitInstallStateUpdatedListener{ override fun onStateUpdate(state: SplitInstallSessionState) { - if (state.sessionId() == mySessionId) { - recreate() + // Restart the activity if the language is installed (sessionId is same and status is installed) + if (state.sessionId() == mySessionId && state.status() == SplitInstallSessionStatus.INSTALLED) { + onInstallComplete() manager.unregisterListener(this) } } diff --git a/app/src/normal/java/code/name/monkey/retromusic/service/CastPlayer.kt b/app/src/normal/java/code/name/monkey/retromusic/service/CastPlayer.kt index 514612e33..34c61c3ae 100644 --- a/app/src/normal/java/code/name/monkey/retromusic/service/CastPlayer.kt +++ b/app/src/normal/java/code/name/monkey/retromusic/service/CastPlayer.kt @@ -79,7 +79,7 @@ class CastPlayer(castSession: CastSession) : Playback, RemoteMediaClient.Callbac return remoteMediaClient?.approximateStreamPosition?.toInt() ?: 0 } - override fun seek(whereto: Int): Int { + override fun seek(whereto: Int, force: Boolean): Int { remoteMediaClient?.seek(MediaSeekOptions.Builder().setPosition(whereto.toLong()).build()) return whereto } diff --git a/appthemehelper/build.gradle b/appthemehelper/build.gradle index 31bfc76af..2a5e0f50d 100644 --- a/appthemehelper/build.gradle +++ b/appthemehelper/build.gradle @@ -1,12 +1,12 @@ apply plugin: 'com.android.library' apply plugin: 'kotlin-android' android { - compileSdk 32 + compileSdk 33 namespace "code.name.monkey.appthemehelper" defaultConfig { minSdk 21 - targetSdk 32 + targetSdk 33 } buildTypes { release { diff --git a/appthemehelper/src/main/java/code/name/monkey/appthemehelper/util/VersionUtils.kt b/appthemehelper/src/main/java/code/name/monkey/appthemehelper/util/VersionUtils.kt index ac8db0c5d..269c2c698 100644 --- a/appthemehelper/src/main/java/code/name/monkey/appthemehelper/util/VersionUtils.kt +++ b/appthemehelper/src/main/java/code/name/monkey/appthemehelper/util/VersionUtils.kt @@ -82,4 +82,13 @@ object VersionUtils { fun hasS(): Boolean { return Build.VERSION.SDK_INT >= Build.VERSION_CODES.S } + + /** + * @return true if device is running API >= 33 + */ + @ChecksSdkIntAtLeast(api = Build.VERSION_CODES.TIRAMISU) + @JvmStatic + fun hasT(): Boolean { + return Build.VERSION.SDK_INT >= Build.VERSION_CODES.TIRAMISU + } } diff --git a/build.gradle b/build.gradle index 4875dc893..057d58791 100644 --- a/build.gradle +++ b/build.gradle @@ -2,9 +2,9 @@ buildscript { ext { - lifecycle_version = '2.6.0' + lifecycle_version = '2.6.1' navigation_version = '2.5.3' - mdc_version = '1.9.0-alpha02' + mdc_version = '1.9.0-beta01' preference_version = '1.2.0' appcompat_version = '1.6.1' core_version = '1.10.0-rc01'