From e8f5de328f21fdfee1a623c052fddc05864816f1 Mon Sep 17 00:00:00 2001 From: Kieron Quinn Date: Mon, 8 Apr 2024 21:47:17 +0100 Subject: [PATCH] - Fixed widget related crash that was also causing problems elsewhere - Fixed service start crash on some devices in some scenarios --- app/build.gradle | 12 ++++----- app/release/baselineProfiles/0/app-release.dm | Bin 0 -> 4113 bytes app/release/baselineProfiles/1/app-release.dm | Bin 0 -> 4015 bytes app/release/output-metadata.json | 23 +++++++++++++++--- .../repositories/WidgetRepository.kt | 10 +++++--- .../AmbientMusicModForegroundService.kt | 2 +- build.gradle | 4 +-- 7 files changed, 35 insertions(+), 16 deletions(-) create mode 100644 app/release/baselineProfiles/0/app-release.dm create mode 100644 app/release/baselineProfiles/1/app-release.dm diff --git a/app/build.gradle b/app/build.gradle index 1d640dc..1dc5f58 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -12,11 +12,11 @@ plugins { apply plugin: 'com.google.android.gms.oss-licenses-plugin' -String DEFAULT_MANIFEST = "268:https://storage.googleapis.com/music-iq-db/updatable_ytm_db/20240218-030037/manifest.json" -String DEFAULT_MANIFEST_V3 = "3076:https://storage.googleapis.com/music-iq-db/updatable_db_v3/20240218-030037/manifest.json" +String DEFAULT_MANIFEST = "271:https://storage.googleapis.com/music-iq-db/updatable_ytm_db/20240331-030011/manifest.json" +String DEFAULT_MANIFEST_V3 = "3079:https://storage.googleapis.com/music-iq-db/updatable_db_v3/20240324-040013/manifest.json" -def tagName = '2.3.4' -def version = 234 +def tagName = '2.3.5' +def version = 235 def getKeystoreProperties() { def properties = new Properties() @@ -126,13 +126,13 @@ dependencies { implementation "androidx.security:security-crypto:1.1.0-alpha06" //Material UI - implementation 'com.google.android.material:material:1.11.0' + implementation 'com.google.android.material:material:1.12.0-rc01' //MonetCompat for colours on < S implementation 'com.github.KieronQuinn:MonetCompat:0.4.1' //Dependency Injection - implementation "io.insert-koin:koin-android:3.5.0" + implementation "io.insert-koin:koin-android:3.5.3" //Protobuf is used in reading data from ASI implementation "com.google.protobuf:protobuf-javalite:3.25.2" diff --git a/app/release/baselineProfiles/0/app-release.dm b/app/release/baselineProfiles/0/app-release.dm new file mode 100644 index 0000000000000000000000000000000000000000..d2647e0ab04c553fdb83fdbb0f1900f92195a6ec GIT binary patch literal 4113 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

a)!nj5GKsrb zbMxWRrgP4kGuN&a@dd%^&e%$JF)Pr>mDQ2G0nP5Sfs=Z2DqBMB_26{A4Y`fi2ug9TBT#kNL#g?JXy zW_q-PP#h^;{(R=!YgIopX>=wnf;QiinX+bm9(VncE^ci%zoGG2%#Qa_(m0%Jls7{P%P2@Bl~7D=S~>!=MB8CRuHZOB7nbn_|KL3!NdPu merDzW`Q^{6{;1sFa!Bw$>SzTy$nyg}us?$K?IWQd(Z2u^Z@xVM literal 0 HcmV?d00001 diff --git a/app/release/baselineProfiles/1/app-release.dm b/app/release/baselineProfiles/1/app-release.dm new file mode 100644 index 0000000000000000000000000000000000000000..dce1c205fdcf8aa6dc8ed41bbd73c2c0d741fa7b GIT binary patch literal 4015 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 val options = appWidgetManager.getAppWidgetOptions(id) - val width = options.getInt(AppWidgetManager.OPTION_APPWIDGET_MIN_WIDTH) AppWidget(id, it.first) } } @@ -202,7 +204,7 @@ class WidgetRepositoryImpl( ) = forEach { try { appWidgetManager.updateAppWidget(it.id, it.getRemoteViews(state, onDemandEnabled)) - }catch (e: TransactionTooLargeException) { + }catch (e: Throwable) { //Suppress, shouldn't happen unless system has lagged } } diff --git a/app/src/main/java/com/kieronquinn/app/ambientmusicmod/service/AmbientMusicModForegroundService.kt b/app/src/main/java/com/kieronquinn/app/ambientmusicmod/service/AmbientMusicModForegroundService.kt index 83eabeb..c3e015f 100644 --- a/app/src/main/java/com/kieronquinn/app/ambientmusicmod/service/AmbientMusicModForegroundService.kt +++ b/app/src/main/java/com/kieronquinn/app/ambientmusicmod/service/AmbientMusicModForegroundService.kt @@ -104,7 +104,7 @@ class AmbientMusicModForegroundService: LifecycleService() { if (restart) { context.stopService(intent) } - context.startForegroundService(intent) + context.startService(intent) } fun sendManualRecognition(state: RecognitionState.Recognised){ diff --git a/build.gradle b/build.gradle index 9b70cd1..ae4e695 100644 --- a/build.gradle +++ b/build.gradle @@ -16,8 +16,8 @@ buildscript { } plugins { - id 'com.android.application' version '8.2.2' apply false - id 'com.android.library' version '8.2.2' apply false + id 'com.android.application' version '8.3.1' apply false + id 'com.android.library' version '8.3.1' apply false id 'org.jetbrains.kotlin.android' version '1.9.22' apply false id 'com.google.dagger.hilt.android' version '2.41' apply false id 'dev.rikka.tools.refine' version '4.1.0' apply false