From 224edecf8e54d7f01c3aac22b9d0a9293ea24449 Mon Sep 17 00:00:00 2001 From: Akos Paha Date: Thu, 26 May 2022 19:03:37 +0200 Subject: [PATCH 1/8] synchronized access fix, monochrome icon support --- app/src/main/AndroidManifest.xml | 1 - .../components/ChipContainer.kt | 10 +- .../components/SearchBar.kt | 5 +- .../rboardthememanager/core/KFunction.kt | 9 ++ .../fragments/DownloadListFragment.kt | 96 ++++++++++--------- .../fragments/SoundsFragment.kt | 38 ++++---- .../fragments/ThemeListFragment.kt | 38 ++++---- .../screens/MainActivity.kt | 4 +- .../rboardthememanager/utils/AsyncUtils.kt | 12 +++ 9 files changed, 125 insertions(+), 88 deletions(-) create mode 100644 app/src/main/java/de/dertyp7214/rboardthememanager/core/KFunction.kt diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 1e6bfe2d..01a16c73 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -20,7 +20,6 @@ android:extractNativeLibs="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" - android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.RboardThemeManagerV3" tools:ignore="AllowBackup"> diff --git a/app/src/main/java/de/dertyp7214/rboardthememanager/components/ChipContainer.kt b/app/src/main/java/de/dertyp7214/rboardthememanager/components/ChipContainer.kt index 68e7fbc8..0acfa621 100644 --- a/app/src/main/java/de/dertyp7214/rboardthememanager/components/ChipContainer.kt +++ b/app/src/main/java/de/dertyp7214/rboardthememanager/components/ChipContainer.kt @@ -35,10 +35,12 @@ class ChipContainer(context: Context, attrs: AttributeSet?) : LinearLayout(conte } fun setChips(chips: List) { - this.chips.clear() - this.chips.addAll(chips.map { ChipData(it, false) } - .sortedBy { it.text.lowercase(Locale.getDefault()) }) - refreshChips() + synchronized(this.chips) { + this.chips.clear() + this.chips.addAll(chips.map { ChipData(it, false) } + .sortedBy { it.text.lowercase(Locale.getDefault()) }) + refreshChips() + } } fun setOnFilterToggle(listener: (filters: List) -> Unit) { diff --git a/app/src/main/java/de/dertyp7214/rboardthememanager/components/SearchBar.kt b/app/src/main/java/de/dertyp7214/rboardthememanager/components/SearchBar.kt index 2f284198..e23c7799 100644 --- a/app/src/main/java/de/dertyp7214/rboardthememanager/components/SearchBar.kt +++ b/app/src/main/java/de/dertyp7214/rboardthememanager/components/SearchBar.kt @@ -20,6 +20,7 @@ import androidx.appcompat.widget.PopupMenu import androidx.core.widget.doOnTextChanged import com.google.android.material.card.MaterialCardView import de.dertyp7214.rboardthememanager.R +import de.dertyp7214.rboardthememanager.core.delayed @SuppressLint("ResourceType", "ServiceCast") class SearchBar(context: Context, attrs: AttributeSet? = null) : LinearLayout(context, attrs) { @@ -193,9 +194,7 @@ class SearchBar(context: Context, attrs: AttributeSet? = null) : LinearLayout(co private fun clearFocus(editText: EditText) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.R) { - Handler(Looper.getMainLooper()).postDelayed({ - editText.windowInsetsController?.hide(WindowInsets.Type.ime()) - }, 100) + editText.windowInsetsController?.let { it::hide.delayed(100, WindowInsets.Type.ime()) } } else { editText.clearFocus() val imm: InputMethodManager = diff --git a/app/src/main/java/de/dertyp7214/rboardthememanager/core/KFunction.kt b/app/src/main/java/de/dertyp7214/rboardthememanager/core/KFunction.kt new file mode 100644 index 00000000..c5ce3f92 --- /dev/null +++ b/app/src/main/java/de/dertyp7214/rboardthememanager/core/KFunction.kt @@ -0,0 +1,9 @@ +package de.dertyp7214.rboardthememanager.core + +import kotlin.reflect.KFunction + +fun KFunction.delayed(delay: Long, vararg args: Any? = arrayOf()) { + delayed(delay) { + call(*args) + } +} \ No newline at end of file diff --git a/app/src/main/java/de/dertyp7214/rboardthememanager/fragments/DownloadListFragment.kt b/app/src/main/java/de/dertyp7214/rboardthememanager/fragments/DownloadListFragment.kt index bc8d15ce..2b5f60d2 100644 --- a/app/src/main/java/de/dertyp7214/rboardthememanager/fragments/DownloadListFragment.kt +++ b/app/src/main/java/de/dertyp7214/rboardthememanager/fragments/DownloadListFragment.kt @@ -90,17 +90,19 @@ class DownloadListFragment : Fragment() { mainViewModel.themePacksObserve(this) { packs -> if (packs.isEmpty()) ThemeUtils::loadThemePacks asyncInto mainViewModel::setThemePacks else - doAsync({ - originalThemePacks.clear() - try { - originalThemePacks.add(ThemePack.NONE) - originalThemePacks.addAll(packs) - themePacks.clear() - themePacks.addAll(originalThemePacks) - packs.forEach { pack -> - tags.addAll(pack.tags.filter { !tags.contains(it) }) + doAsyncCallback({ + synchronized(originalThemePacks) { + synchronized(themePacks) { + originalThemePacks.clear() + originalThemePacks.add(ThemePack.NONE) + originalThemePacks.addAll(packs) + themePacks.clear() + themePacks.addAll(originalThemePacks) + packs.forEach { pack -> + tags.addAll(pack.tags.filter { !tags.contains(it) }) + } + it(null) } - } catch (_: Exception) { } }) { adapter.notifyDataSetChanged() @@ -112,45 +114,51 @@ class DownloadListFragment : Fragment() { val chipFilters = chipContainer.filters val sortByDate = mainViewModel.packsSortByDate() val includeThemeNames = mainViewModel.includeThemeNames() - themePacks.clear() - themePacks.addAll( - filterThemePacks( - originalThemePacks, - chipFilters, - filter, - sortByDate, - includeThemeNames + synchronized(themePacks) { + themePacks.clear() + themePacks.addAll( + filterThemePacks( + originalThemePacks, + chipFilters, + filter, + sortByDate, + includeThemeNames + ) ) - ) - adapter.notifyDataSetChanged() + adapter.notifyDataSetChanged() + } } mainViewModel.observePacksSortByDate(this) { sortByDate -> - themePacks.clear() - themePacks.addAll( - filterThemePacks( - originalThemePacks, - chipContainer.filters, - mainViewModel.getFilter(), - sortByDate, - mainViewModel.includeThemeNames() + synchronized(themePacks) { + themePacks.clear() + themePacks.addAll( + filterThemePacks( + originalThemePacks, + chipContainer.filters, + mainViewModel.getFilter(), + sortByDate, + mainViewModel.includeThemeNames() + ) ) - ) - adapter.notifyDataSetChanged() + adapter.notifyDataSetChanged() + } } mainViewModel.observeIncludeThemeNames(this) { includeThemeNames -> - themePacks.clear() - themePacks.addAll( - filterThemePacks( - originalThemePacks, - chipContainer.filters, - mainViewModel.getFilter(), - mainViewModel.packsSortByDate(), - includeThemeNames + synchronized(themePacks) { + themePacks.clear() + themePacks.addAll( + filterThemePacks( + originalThemePacks, + chipContainer.filters, + mainViewModel.getFilter(), + mainViewModel.packsSortByDate(), + includeThemeNames + ) ) - ) - adapter.notifyDataSetChanged() + adapter.notifyDataSetChanged() + } } trace.addSplit("RECYCLERVIEW") @@ -162,12 +170,12 @@ class DownloadListFragment : Fragment() { trace.addSplit("CHIP CONTAINER") chipContainer.setOnFilterToggle { filters -> - doAsync({ + doAsyncCallback({ val searchFilter = mainViewModel.getFilter() val sortByDate = mainViewModel.packsSortByDate() val includeThemeNames = mainViewModel.includeThemeNames() - themePacks.clear() - try { + synchronized(themePacks) { + themePacks.clear() themePacks.addAll( filterThemePacks( originalThemePacks, @@ -177,7 +185,7 @@ class DownloadListFragment : Fragment() { includeThemeNames ) ) - } catch (_: Exception) { + it(null) } }) { adapter.notifyDataSetChanged() diff --git a/app/src/main/java/de/dertyp7214/rboardthememanager/fragments/SoundsFragment.kt b/app/src/main/java/de/dertyp7214/rboardthememanager/fragments/SoundsFragment.kt index ff60cf9e..356426d8 100644 --- a/app/src/main/java/de/dertyp7214/rboardthememanager/fragments/SoundsFragment.kt +++ b/app/src/main/java/de/dertyp7214/rboardthememanager/fragments/SoundsFragment.kt @@ -16,7 +16,7 @@ import de.dertyp7214.rboardthememanager.core.get import de.dertyp7214.rboardthememanager.data.SoundPack import de.dertyp7214.rboardthememanager.utils.SoundHelper import de.dertyp7214.rboardthememanager.utils.asyncInto -import de.dertyp7214.rboardthememanager.utils.doAsync +import de.dertyp7214.rboardthememanager.utils.doAsyncCallback import de.dertyp7214.rboardthememanager.viewmodels.MainViewModel class SoundsFragment : Fragment() { @@ -52,25 +52,29 @@ class SoundsFragment : Fragment() { val mainViewModel = requireActivity()[MainViewModel::class.java] mainViewModel.observeFilter(this) { filter -> - soundList.clear() - soundList.addAll(original.filter { - it.author.contains(filter, true) - || it.title.contains(filter, true) - || filter.isNullOrEmpty() - }) - adapter.notifyDataSetChanged() + synchronized(soundList) { + soundList.clear() + soundList.addAll(original.filter { + it.author.contains(filter, true) + || it.title.contains(filter, true) + || filter.isNullOrEmpty() + }) + adapter.notifyDataSetChanged() + } } - mainViewModel.soundsObserve(this) { - if (it.isEmpty()) SoundHelper::loadSoundPacks asyncInto mainViewModel::setSounds + mainViewModel.soundsObserve(this) { sounds -> + if (sounds.isEmpty()) SoundHelper::loadSoundPacks asyncInto mainViewModel::setSounds else - doAsync({ - original.clear() - soundList.clear() - try { - original.addAll(it) - soundList.addAll(it) - } catch (_: Exception) { + doAsyncCallback({ + synchronized(original) { + synchronized(soundList) { + original.clear() + soundList.clear() + original.addAll(sounds) + soundList.addAll(sounds) + it(null) + } } }) { adapter.notifyDataSetChanged() diff --git a/app/src/main/java/de/dertyp7214/rboardthememanager/fragments/ThemeListFragment.kt b/app/src/main/java/de/dertyp7214/rboardthememanager/fragments/ThemeListFragment.kt index dfd77a9d..dbfef33c 100644 --- a/app/src/main/java/de/dertyp7214/rboardthememanager/fragments/ThemeListFragment.kt +++ b/app/src/main/java/de/dertyp7214/rboardthememanager/fragments/ThemeListFragment.kt @@ -57,17 +57,21 @@ class ThemeListFragment : Fragment() { refreshLayout.isRefreshing = true ThemeUtils::loadThemes asyncInto mainViewModel::setThemes } else { - unfilteredThemeList.clear() - unfilteredThemeList.addAll(themes) - themeList.clear() - themeList.addAll(unfilteredThemeList.filter { - it.name.contains( - mainViewModel.getFilter(), - true - ) - }) - adapter.notifyDataChanged() - refreshLayout.isRefreshing = false + synchronized(unfilteredThemeList) { + synchronized(themeList) { + unfilteredThemeList.clear() + unfilteredThemeList.addAll(themes) + themeList.clear() + themeList.addAll(unfilteredThemeList.filter { + it.name.contains( + mainViewModel.getFilter(), + true + ) + }) + adapter.notifyDataChanged() + refreshLayout.isRefreshing = false + } + } } } @@ -116,11 +120,13 @@ class ThemeListFragment : Fragment() { ThemeUtils::loadThemes asyncInto mainViewModel::setThemes } mainViewModel.observeFilter(this) { filter -> - themeList.clear() - themeList.addAll(unfilteredThemeList.filter { - it.name.contains(filter, true) - }) - adapter.notifyDataChanged() + synchronized(themeList) { + themeList.clear() + themeList.addAll(unfilteredThemeList.filter { + it.name.contains(filter, true) + }) + adapter.notifyDataChanged() + } } mainViewModel.onRefreshThemes(this) { diff --git a/app/src/main/java/de/dertyp7214/rboardthememanager/screens/MainActivity.kt b/app/src/main/java/de/dertyp7214/rboardthememanager/screens/MainActivity.kt index 9b799e42..5ebb40b0 100644 --- a/app/src/main/java/de/dertyp7214/rboardthememanager/screens/MainActivity.kt +++ b/app/src/main/java/de/dertyp7214/rboardthememanager/screens/MainActivity.kt @@ -163,9 +163,7 @@ class MainActivity : AppCompatActivity() { mainViewModel.observeLoaded(this) { navigate(controller, R.id.action_placeholder_to_themeListFragment) - delayed(200) { - ThemeUtils::loadThemes asyncInto mainViewModel::setThemes - } + ThemeUtils::loadThemes::asyncInto.delayed(200, mainViewModel::setThemes) } mainViewModel.setLoaded(true) diff --git a/app/src/main/java/de/dertyp7214/rboardthememanager/utils/AsyncUtils.kt b/app/src/main/java/de/dertyp7214/rboardthememanager/utils/AsyncUtils.kt index 0f319666..2434fe3d 100644 --- a/app/src/main/java/de/dertyp7214/rboardthememanager/utils/AsyncUtils.kt +++ b/app/src/main/java/de/dertyp7214/rboardthememanager/utils/AsyncUtils.kt @@ -22,4 +22,16 @@ fun doInBackground(doInBackground: () -> Unit) { } } +fun doAsyncCallback(doInBackground: ((T) -> Unit) -> Unit, getResult: (result: T) -> Unit) { + CoroutineScope(Dispatchers.Main).launch { + withContext(Dispatchers.Default) { + doInBackground { + CoroutineScope(Dispatchers.Main).launch { + getResult(it) + } + } + } + } +} + infix fun (() -> T).asyncInto(into: (result: T) -> Unit) = doAsync(this, into) \ No newline at end of file From 82efc4efc2b762e46a90296bb8145599f96dbff3 Mon Sep 17 00:00:00 2001 From: Akos Paha Date: Sat, 4 Jun 2022 17:53:45 +0200 Subject: [PATCH 2/8] Update Libs --- .idea/deploymentTargetDropDown.xml | 4 ++-- app/build.gradle.kts | 18 +++++++++--------- build.gradle.kts | 2 +- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml index 4284a041..4eee193d 100644 --- a/.idea/deploymentTargetDropDown.xml +++ b/.idea/deploymentTargetDropDown.xml @@ -7,11 +7,11 @@ - + - + \ No newline at end of file diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 07723b4d..65966597 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -11,7 +11,7 @@ plugins { kotlin("kapt") } -val libsuVersion = "5.0.1" +val libsuVersion = "5.0.2" val kotlinVersion: String = project.getKotlinPluginVersion() android { @@ -89,7 +89,7 @@ android { }*/ dependencies { - implementation(platform("com.google.firebase:firebase-bom:30.0.1")) + implementation(platform("com.google.firebase:firebase-bom:30.1.0")) implementation("com.google.firebase:firebase-messaging-ktx:23.0.5") implementation("com.google.firebase:firebase-analytics-ktx:21.0.0") @@ -104,10 +104,10 @@ dependencies { implementation("dev.chrisbanes.insetter:insetter:0.6.1") implementation("androidx.core:core-ktx:1.9.0-alpha04") //noinspection DifferentStdlibGradleVersion - implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.0-RC") + implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.0-RC2") implementation("androidx.core:core:1.9.0-alpha04") - implementation("com.google.android.material:material:1.7.0-alpha01") - implementation("androidx.constraintlayout:constraintlayout:2.1.4") + implementation("com.google.android.material:material:1.7.0-alpha02") + implementation("androidx.constraintlayout:constraintlayout:2.2.0-alpha02") implementation("androidx.preference:preference-ktx:1.2.0") implementation("androidx.activity:activity-ktx:1.6.0-alpha04") implementation("androidx.fragment:fragment-ktx:1.5.0-rc01") @@ -119,8 +119,8 @@ dependencies { implementation("de.dertyp7214:PRDownloader:v0.6.0") implementation("com.github.skydoves:balloon:1.4.6-SNAPSHOT") testImplementation("junit:junit:4.13.2") - androidTestImplementation("androidx.test.ext:junit:1.1.4-alpha06") - androidTestImplementation("androidx.test.espresso:espresso-core:3.5.0-alpha06") + androidTestImplementation("androidx.test.ext:junit:1.1.4-alpha07") + androidTestImplementation("androidx.test.espresso:espresso-core:3.5.0-alpha07") implementation("androidx.browser:browser:1.4.0") implementation("com.github.bumptech.glide:glide:4.13.2") kapt("com.github.bumptech.glide:compiler:4.13.2") @@ -128,8 +128,8 @@ dependencies { implementation("com.github.murgupluoglu:flagkit-android:1.0.2") implementation(fileTree(mapOf("dir" to "libs", "include" to listOf("*.jar", "*.aar")))) - debugImplementation("androidx.compose.ui:ui-tooling:1.2.0-beta02") - implementation("org.jetbrains.kotlin:kotlin-reflect:1.7.0-RC") + debugImplementation("androidx.compose.ui:ui-tooling:1.2.0-beta03") + implementation("org.jetbrains.kotlin:kotlin-reflect:1.7.0-RC2") /*var grpc_version = "1.45.0" implementation("io.grpc:grpc-android:$grpc_version") diff --git a/build.gradle.kts b/build.gradle.kts index 8034ee71..a358d510 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -13,7 +13,7 @@ buildscript { dependencies { classpath("com.android.tools.build:gradle:7.4.0-alpha02") //noinspection DifferentKotlinGradleVersion - classpath(kotlin("gradle-plugin", version = "1.7.0-RC")) + classpath(kotlin("gradle-plugin", version = "1.7.0-RC2")) classpath("com.google.gms:google-services:4.3.10") //classpath("com.google.protobuf:protobuf-gradle-plugin:0.8.18") } From bdcafa1ce7e79424257a33c006c11be86aa1d268 Mon Sep 17 00:00:00 2001 From: Akos Paha Date: Tue, 7 Jun 2022 20:23:25 +0200 Subject: [PATCH 3/8] Update build tools --- build.gradle.kts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.gradle.kts b/build.gradle.kts index a358d510..8d41b3dd 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -11,7 +11,7 @@ buildscript { maven("https://oss.sonatype.org/content/repositories/snapshots/") } dependencies { - classpath("com.android.tools.build:gradle:7.4.0-alpha02") + classpath("com.android.tools.build:gradle:7.4.0-alpha03") //noinspection DifferentKotlinGradleVersion classpath(kotlin("gradle-plugin", version = "1.7.0-RC2")) classpath("com.google.gms:google-services:4.3.10") From bcf56388f9fe2aedc30832dbb53cebbb43fb88f8 Mon Sep 17 00:00:00 2001 From: Akos Paha Date: Thu, 9 Jun 2022 08:38:33 +0200 Subject: [PATCH 4/8] SDK 33 --- app/build.gradle.kts | 10 +++++----- build.gradle.kts | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 65966597..5156bad1 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -15,15 +15,15 @@ val libsuVersion = "5.0.2" val kotlinVersion: String = project.getKotlinPluginVersion() android { - compileSdkPreview = "Tiramisu" - buildToolsVersion = "33.0.0-rc4" + compileSdk = 33 + buildToolsVersion = "33.0.0" buildFeatures.dataBinding = true buildFeatures.viewBinding = true defaultConfig { applicationId = "de.dertyp7214.rboardthememanager" minSdk = 23 - targetSdk = 32 + targetSdk = 33 versionCode = 353000 versionName = "3.5.3" @@ -104,7 +104,7 @@ dependencies { implementation("dev.chrisbanes.insetter:insetter:0.6.1") implementation("androidx.core:core-ktx:1.9.0-alpha04") //noinspection DifferentStdlibGradleVersion - implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.0-RC2") + implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.0") implementation("androidx.core:core:1.9.0-alpha04") implementation("com.google.android.material:material:1.7.0-alpha02") implementation("androidx.constraintlayout:constraintlayout:2.2.0-alpha02") @@ -129,7 +129,7 @@ dependencies { implementation(fileTree(mapOf("dir" to "libs", "include" to listOf("*.jar", "*.aar")))) debugImplementation("androidx.compose.ui:ui-tooling:1.2.0-beta03") - implementation("org.jetbrains.kotlin:kotlin-reflect:1.7.0-RC2") + implementation("org.jetbrains.kotlin:kotlin-reflect:1.7.0") /*var grpc_version = "1.45.0" implementation("io.grpc:grpc-android:$grpc_version") diff --git a/build.gradle.kts b/build.gradle.kts index 8d41b3dd..a5a51690 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -13,7 +13,7 @@ buildscript { dependencies { classpath("com.android.tools.build:gradle:7.4.0-alpha03") //noinspection DifferentKotlinGradleVersion - classpath(kotlin("gradle-plugin", version = "1.7.0-RC2")) + classpath(kotlin("gradle-plugin", version = "1.7.0")) classpath("com.google.gms:google-services:4.3.10") //classpath("com.google.protobuf:protobuf-gradle-plugin:0.8.18") } From 7efe78c3a2d0b5e546b2e45bd36eb35f7f2022b2 Mon Sep 17 00:00:00 2001 From: Akos Paha Date: Thu, 9 Jun 2022 08:52:11 +0200 Subject: [PATCH 5/8] Update build.gradle.kts --- app/build.gradle.kts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 5156bad1..c69bb7cf 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -102,14 +102,14 @@ dependencies { implementation("com.github.topjohnwu.libsu:io:$libsuVersion") implementation("com.github.topjohnwu.libsu:nio:$libsuVersion") implementation("dev.chrisbanes.insetter:insetter:0.6.1") - implementation("androidx.core:core-ktx:1.9.0-alpha04") + implementation("androidx.core:core-ktx:1.8.0") //noinspection DifferentStdlibGradleVersion implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.0") - implementation("androidx.core:core:1.9.0-alpha04") + implementation("androidx.core:core:1.8.0") implementation("com.google.android.material:material:1.7.0-alpha02") implementation("androidx.constraintlayout:constraintlayout:2.2.0-alpha02") implementation("androidx.preference:preference-ktx:1.2.0") - implementation("androidx.activity:activity-ktx:1.6.0-alpha04") + implementation("androidx.activity:activity-ktx:1.5.0-rc01") implementation("androidx.fragment:fragment-ktx:1.5.0-rc01") implementation("com.jaredrummler:android-shell:1.0.0") implementation("com.google.firebase:firebase-analytics:21.0.0") From daa97814bfb1fff4f1e94eb97489ba079fee6101 Mon Sep 17 00:00:00 2001 From: Akos Paha Date: Thu, 9 Jun 2022 08:59:46 +0200 Subject: [PATCH 6/8] Update workflows --- .github/workflows/buildCi.yml | 4 ++-- .github/workflows/buildPro.yml | 2 +- .github/workflows/pullRequest.yml | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/buildCi.yml b/.github/workflows/buildCi.yml index 7a3159d3..03d74fc9 100644 --- a/.github/workflows/buildCi.yml +++ b/.github/workflows/buildCi.yml @@ -88,7 +88,7 @@ jobs: keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }} keyPassword: ${{ secrets.KEY_PASSWORD }} env: - BUILD_TOOLS_VERSION: "33.0.0-rc4" + BUILD_TOOLS_VERSION: "33.0.0" - name: Delete old APK run: rm app/build/outputs/apk/debug/app-debug.apk @@ -211,7 +211,7 @@ jobs: keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }} keyPassword: ${{ secrets.KEY_PASSWORD }} env: - BUILD_TOOLS_VERSION: "33.0.0-rc4" + BUILD_TOOLS_VERSION: "33.0.0" - name: Rename APK run: mv app/build/outputs/apk/release/app-release-unsigned-signed.apk app/build/outputs/apk/release/app-release.apk diff --git a/.github/workflows/buildPro.yml b/.github/workflows/buildPro.yml index a7d1b004..221571d4 100644 --- a/.github/workflows/buildPro.yml +++ b/.github/workflows/buildPro.yml @@ -74,7 +74,7 @@ jobs: keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }} keyPassword: ${{ secrets.KEY_PASSWORD }} env: - BUILD_TOOLS_VERSION: "33.0.0-rc4" + BUILD_TOOLS_VERSION: "33.0.0" - name: List files run: ls app/build/outputs/apk/pro diff --git a/.github/workflows/pullRequest.yml b/.github/workflows/pullRequest.yml index 4ae999c9..72c5714e 100644 --- a/.github/workflows/pullRequest.yml +++ b/.github/workflows/pullRequest.yml @@ -80,7 +80,7 @@ jobs: keyStorePassword: ${{ secrets.KEY_STORE_PASSWORD }} keyPassword: ${{ secrets.KEY_PASSWORD }} env: - BUILD_TOOLS_VERSION: "33.0.0-rc4" + BUILD_TOOLS_VERSION: "33.0.0" - name: List files run: ls app/build/outputs/apk/release From 30f7cdea5def7f8993920ba6d6e214b111857b47 Mon Sep 17 00:00:00 2001 From: Akos Paha Date: Tue, 14 Jun 2022 13:48:32 +0200 Subject: [PATCH 7/8] Update Android Studio --- .github/workflows/buildCi.yml | 16 ++++++++-------- .github/workflows/buildPro.yml | 6 +++--- .github/workflows/pullRequest.yml | 8 ++++---- .idea/deploymentTargetDropDown.xml | 4 ++-- build.gradle.kts | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- 6 files changed, 19 insertions(+), 19 deletions(-) diff --git a/.github/workflows/buildCi.yml b/.github/workflows/buildCi.yml index 03d74fc9..60358e01 100644 --- a/.github/workflows/buildCi.yml +++ b/.github/workflows/buildCi.yml @@ -32,7 +32,7 @@ jobs: java-version: 17 - name: Cache Gradle dependencies - uses: actions/cache@v3.0.2 + uses: actions/cache@v3.0.4 if: ${{ false }} with: path: | @@ -43,7 +43,7 @@ jobs: restore-keys: ${{ runner.os }}-gradle- - name: Cache build cache - uses: actions/cache@v3.0.2 + uses: actions/cache@v3.0.4 with: path: | ${{ github.workspace }}/.ccache @@ -64,7 +64,7 @@ jobs: - name: Build apk id: buildAllApks - uses: gradle/gradle-build-action@v2.1.6 + uses: gradle/gradle-build-action@v2.2.0 with: gradle-version: wrapper arguments: assembleDebug @@ -97,7 +97,7 @@ jobs: run: mv app/build/outputs/apk/debug/app-debug-signed.apk app/build/outputs/apk/debug/app-debug.apk - name: Upload Artifact - uses: actions/upload-artifact@v3.0.0 + uses: actions/upload-artifact@v3.1.0 with: name: Debug Artifact path: app/build/outputs/apk/debug/app-debug.apk @@ -155,7 +155,7 @@ jobs: java-version: 17 - name: Cache Gradle dependencies - uses: actions/cache@v3.0.2 + uses: actions/cache@v3.0.4 if: ${{ false }} with: path: | @@ -166,7 +166,7 @@ jobs: restore-keys: ${{ runner.os }}-gradle- - name: Cache build cache - uses: actions/cache@v3.0.2 + uses: actions/cache@v3.0.4 with: path: | ${{ github.workspace }}/.ccache @@ -187,7 +187,7 @@ jobs: - name: Build apk id: buildAllApks - uses: gradle/gradle-build-action@v2.1.6 + uses: gradle/gradle-build-action@v2.2.0 with: gradle-version: wrapper arguments: assembleRelease @@ -217,7 +217,7 @@ jobs: run: mv app/build/outputs/apk/release/app-release-unsigned-signed.apk app/build/outputs/apk/release/app-release.apk - name: Upload Artifact - uses: actions/upload-artifact@v3.0.0 + uses: actions/upload-artifact@v3.1.0 with: name: Debug Artifact path: app/build/outputs/apk/release/app-release.apk diff --git a/.github/workflows/buildPro.yml b/.github/workflows/buildPro.yml index 221571d4..300cd313 100644 --- a/.github/workflows/buildPro.yml +++ b/.github/workflows/buildPro.yml @@ -32,7 +32,7 @@ jobs: restore-keys: ${{ runner.os }}-gradle- - name: Cache build cache - uses: actions/cache@v3.0.2 + uses: actions/cache@v3.0.4 with: path: | ${{ github.workspace }}/.ccache @@ -48,7 +48,7 @@ jobs: - name: Build apk id: buildAllApks - uses: gradle/gradle-build-action@v2.1.6 + uses: gradle/gradle-build-action@v2.2.0 with: gradle-version: wrapper arguments: assemblePro @@ -83,7 +83,7 @@ jobs: run: mv app/build/outputs/apk/pro/app-pro-unsigned-signed.apk app/build/outputs/apk/pro/app-pro.apk - name: Upload Artifact - uses: actions/upload-artifact@v3.0.0 + uses: actions/upload-artifact@v3.1.0 with: name: Release Artifact path: app/build/outputs/apk/pro/app-pro.apk diff --git a/.github/workflows/pullRequest.yml b/.github/workflows/pullRequest.yml index 72c5714e..c35248f0 100644 --- a/.github/workflows/pullRequest.yml +++ b/.github/workflows/pullRequest.yml @@ -25,7 +25,7 @@ jobs: java-version: 17 - name: Cache Gradle dependencies - uses: actions/cache@v3.0.2 + uses: actions/cache@v3.0.4 with: path: | ~/.gradle/caches @@ -35,7 +35,7 @@ jobs: restore-keys: ${{ runner.os }}-gradle- - name: Cache build cache - uses: actions/cache@v3.0.2 + uses: actions/cache@v3.0.4 with: path: | ${{ github.workspace }}/.ccache @@ -51,7 +51,7 @@ jobs: - name: Build apk id: buildAllApks - uses: eskatos/gradle-command-action@v2.1.6 + uses: gradle/gradle-build-action@v2.2.0 with: gradle-version: wrapper wrapper-cache-enabled: true @@ -89,7 +89,7 @@ jobs: run: mv app/build/outputs/apk/release/app-release-unsigned-signed.apk app/build/outputs/apk/release/app-release.apk - name: Upload Artifact - uses: actions/upload-artifact@v3.0.0 + uses: actions/upload-artifact@v3.1.0 with: name: Release Artifact path: app/build/outputs/apk/release/app-release.apk \ No newline at end of file diff --git a/.idea/deploymentTargetDropDown.xml b/.idea/deploymentTargetDropDown.xml index 4eee193d..b66dc787 100644 --- a/.idea/deploymentTargetDropDown.xml +++ b/.idea/deploymentTargetDropDown.xml @@ -7,11 +7,11 @@ - + - + \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index a5a51690..fb188920 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -11,7 +11,7 @@ buildscript { maven("https://oss.sonatype.org/content/repositories/snapshots/") } dependencies { - classpath("com.android.tools.build:gradle:7.4.0-alpha03") + classpath("com.android.tools.build:gradle:7.4.0-alpha04") //noinspection DifferentKotlinGradleVersion classpath(kotlin("gradle-plugin", version = "1.7.0")) classpath("com.google.gms:google-services:4.3.10") diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index ab5aef5d..92b3a159 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Tue Dec 07 07:49:33 CET 2021 distributionBase=GRADLE_USER_HOME -distributionUrl=https\://services.gradle.org/distributions-snapshots/gradle-7.6-20220520225140+0000-all.zip +distributionUrl=https\://services.gradle.org/distributions-snapshots/gradle-7.6-20220613224342+0000-all.zip distributionPath=wrapper/dists zipStorePath=wrapper/dists zipStoreBase=GRADLE_USER_HOME From 3fb2b6e166ac81621eee7c22d7dc4ea7fda1bef4 Mon Sep 17 00:00:00 2001 From: Akos Paha Date: Thu, 16 Jun 2022 20:45:03 +0200 Subject: [PATCH 8/8] Mid-June Dependencies Update --- app/build.gradle.kts | 12 ++++++------ build.gradle.kts | 2 +- gradle/wrapper/gradle-wrapper.properties | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/app/build.gradle.kts b/app/build.gradle.kts index c69bb7cf..f2f80c3f 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -94,22 +94,22 @@ dependencies { implementation("com.google.firebase:firebase-analytics-ktx:21.0.0") implementation("androidx.legacy:legacy-support-v4:1.0.0") - implementation("androidx.navigation:navigation-fragment-ktx:2.5.0-rc01") - implementation("androidx.navigation:navigation-ui-ktx:2.5.0-rc01") + implementation("androidx.navigation:navigation-fragment-ktx:2.5.0-rc02") + implementation("androidx.navigation:navigation-ui-ktx:2.5.0-rc02") implementation("org.apache.commons:commons-text:1.9") implementation("com.github.topjohnwu.libsu:core:$libsuVersion") implementation("com.github.topjohnwu.libsu:io:$libsuVersion") implementation("com.github.topjohnwu.libsu:nio:$libsuVersion") implementation("dev.chrisbanes.insetter:insetter:0.6.1") - implementation("androidx.core:core-ktx:1.8.0") + implementation("androidx.core:core-ktx:1.9.0-alpha05") //noinspection DifferentStdlibGradleVersion implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.7.0") - implementation("androidx.core:core:1.8.0") + implementation("androidx.core:core:1.9.0-alpha05") implementation("com.google.android.material:material:1.7.0-alpha02") implementation("androidx.constraintlayout:constraintlayout:2.2.0-alpha02") implementation("androidx.preference:preference-ktx:1.2.0") - implementation("androidx.activity:activity-ktx:1.5.0-rc01") + implementation("androidx.activity:activity-ktx:1.6.0-alpha05") implementation("androidx.fragment:fragment-ktx:1.5.0-rc01") implementation("com.jaredrummler:android-shell:1.0.0") implementation("com.google.firebase:firebase-analytics:21.0.0") @@ -128,7 +128,7 @@ dependencies { implementation("com.github.murgupluoglu:flagkit-android:1.0.2") implementation(fileTree(mapOf("dir" to "libs", "include" to listOf("*.jar", "*.aar")))) - debugImplementation("androidx.compose.ui:ui-tooling:1.2.0-beta03") + debugImplementation("androidx.compose.ui:ui-tooling:1.2.0-rc01") implementation("org.jetbrains.kotlin:kotlin-reflect:1.7.0") /*var grpc_version = "1.45.0" diff --git a/build.gradle.kts b/build.gradle.kts index fb188920..25992dfc 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -11,7 +11,7 @@ buildscript { maven("https://oss.sonatype.org/content/repositories/snapshots/") } dependencies { - classpath("com.android.tools.build:gradle:7.4.0-alpha04") + classpath("com.android.tools.build:gradle:7.4.0-alpha05") //noinspection DifferentKotlinGradleVersion classpath(kotlin("gradle-plugin", version = "1.7.0")) classpath("com.google.gms:google-services:4.3.10") diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 92b3a159..c54a5937 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ #Tue Dec 07 07:49:33 CET 2021 distributionBase=GRADLE_USER_HOME -distributionUrl=https\://services.gradle.org/distributions-snapshots/gradle-7.6-20220613224342+0000-all.zip +distributionUrl=https\://services.gradle.org/distributions-snapshots/gradle-7.6-20220615224043+0000-all.zip distributionPath=wrapper/dists zipStorePath=wrapper/dists zipStoreBase=GRADLE_USER_HOME