Upgrade to SDK 35

This commit is contained in:
Koen J 2025-04-09 12:47:52 +02:00
parent 79a932b4ca
commit 2dedc1548f
10 changed files with 54 additions and 58 deletions

View file

@ -1,7 +1,7 @@
plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
id 'org.jetbrains.kotlin.plugin.serialization' version '1.9.21'
id 'org.jetbrains.kotlin.plugin.serialization' version '2.1.20'
id 'org.ajoberstar.grgit' version '5.2.2'
id 'com.google.protobuf'
id 'kotlin-parcelize'
@ -24,7 +24,7 @@ if (keystorePropertiesFile.exists()) {
protobuf {
protoc {
artifact = 'com.google.protobuf:protoc:3.25.1'
artifact = 'com.google.protobuf:protoc:4.30.2'
}
generateProtoTasks {
all().each { task ->
@ -39,7 +39,7 @@ protobuf {
android {
namespace 'com.futo.platformplayer'
compileSdk 34
compileSdk 35
flavorDimensions "buildType"
productFlavors {
stable {
@ -97,7 +97,7 @@ android {
defaultConfig {
minSdk 28
targetSdk 34
targetSdk 35
versionCode gitVersionCode
versionName gitVersionName
@ -154,43 +154,43 @@ android {
}
dependencies {
implementation 'com.google.dagger:dagger:2.48'
implementation 'com.google.dagger:dagger:2.55'
implementation 'androidx.test:monitor:1.7.2'
annotationProcessor 'com.google.dagger:dagger-compiler:2.48'
//Core
implementation 'androidx.core:core-ktx:1.12.0'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'com.google.android.material:material:1.11.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'androidx.core:core-ktx:1.15.0'
implementation 'androidx.appcompat:appcompat:1.7.0'
implementation 'com.google.android.material:material:1.12.0'
implementation 'androidx.constraintlayout:constraintlayout:2.2.1'
//Images
annotationProcessor 'com.github.bumptech.glide:compiler:4.16.0'
implementation 'com.github.bumptech.glide:glide:4.16.0'
//Async
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.10.2"
//HTTP
implementation "com.squareup.okhttp3:okhttp:4.11.0"
//JSON
implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.2" //Used for structured json
implementation 'com.google.code.gson:gson:2.10.1' //Used for complex/anonymous cases like during development conversions (eg. V8RemoteObject)
implementation "org.jetbrains.kotlinx:kotlinx-serialization-json:1.8.0" //Used for structured json
implementation 'com.google.code.gson:gson:2.11.0' //Used for complex/anonymous cases like during development conversions (eg. V8RemoteObject)
//JS
implementation("com.caoccao.javet:javet-android:3.0.2")
implementation("com.caoccao.javet:javet-android:3.0.4")
//Exoplayer
implementation 'androidx.media3:media3-exoplayer:1.2.1'
implementation 'androidx.media3:media3-exoplayer-dash:1.2.1'
implementation 'androidx.media3:media3-ui:1.2.1'
implementation 'androidx.media3:media3-exoplayer-hls:1.2.1'
implementation 'androidx.media3:media3-exoplayer-rtsp:1.2.1'
implementation 'androidx.media3:media3-exoplayer-smoothstreaming:1.2.1'
implementation 'androidx.media3:media3-transformer:1.2.1'
implementation 'androidx.navigation:navigation-fragment-ktx:2.7.6'
implementation 'androidx.navigation:navigation-ui-ktx:2.7.6'
implementation 'androidx.media3:media3-exoplayer:1.6.0'
implementation 'androidx.media3:media3-exoplayer-dash:1.6.0'
implementation 'androidx.media3:media3-ui:1.6.0'
implementation 'androidx.media3:media3-exoplayer-hls:1.6.0'
implementation 'androidx.media3:media3-exoplayer-rtsp:1.6.0'
implementation 'androidx.media3:media3-exoplayer-smoothstreaming:1.6.0'
implementation 'androidx.media3:media3-transformer:1.6.0'
implementation 'androidx.navigation:navigation-fragment-ktx:2.8.9'
implementation 'androidx.navigation:navigation-ui-ktx:2.8.9'
implementation 'androidx.media:media:1.7.0'
//Other
@ -198,19 +198,19 @@ dependencies {
implementation 'com.google.android.flexbox:flexbox:3.0.0'
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
implementation 'com.arthenica:ffmpeg-kit-full:6.0-2.LTS'
implementation 'org.jetbrains.kotlin:kotlin-reflect:1.9.0'
implementation 'org.jetbrains.kotlin:kotlin-reflect:1.9.20'
implementation 'com.github.dhaval2404:imagepicker:2.1'
implementation 'com.google.zxing:core:3.4.1'
implementation 'com.journeyapps:zxing-android-embedded:4.3.0'
implementation 'com.caverock:androidsvg-aar:1.4'
//Protobuf
implementation 'com.google.protobuf:protobuf-javalite:3.25.1'
implementation 'com.google.protobuf:protobuf-javalite:4.30.2'
implementation 'com.polycentric.core:app:1.0'
implementation 'com.futo.futopay:app:1.0'
implementation 'androidx.work:work-runtime-ktx:2.9.0'
implementation 'androidx.concurrent:concurrent-futures-ktx:1.1.0'
implementation 'androidx.work:work-runtime-ktx:2.10.0'
implementation 'androidx.concurrent:concurrent-futures-ktx:1.2.0'
//Database
implementation("androidx.room:room-runtime:2.6.1")
@ -219,13 +219,15 @@ dependencies {
implementation("androidx.room:room-ktx:2.6.1")
//Payment
implementation 'com.stripe:stripe-android:20.35.1'
implementation 'com.stripe:stripe-android:21.7.1'
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.10.2"
androidTestImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.10.2'
testImplementation 'junit:junit:4.13.2'
testImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.7.3'
testImplementation "org.jetbrains.kotlin:kotlin-test:1.8.22"
testImplementation "org.xmlunit:xmlunit-core:2.9.1"
testImplementation "org.mockito:mockito-core:5.4.0"
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
androidTestImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.10.2'
androidTestImplementation 'androidx.test.ext:junit:1.2.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.6.1'
}

View file

@ -2,7 +2,7 @@
"formatVersion": 1,
"database": {
"version": 3,
"identityHash": "ffba56c2f572c25080ce8596e8bb8945",
"identityHash": "c9664b5f5951d402727b534bd4d169c9",
"entities": [
{
"tableName": "history",
@ -76,10 +76,8 @@
"columnNames": [
"datetime"
],
"orders": [
"DESC"
],
"createSql": "CREATE INDEX IF NOT EXISTS `index_history_datetime` ON `${TABLE_NAME}` (`datetime` DESC)"
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_history_datetime` ON `${TABLE_NAME}` (`datetime`)"
}
],
"foreignKeys": []
@ -88,7 +86,7 @@
"views": [],
"setupQueries": [
"CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, 'ffba56c2f572c25080ce8596e8bb8945')"
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, 'c9664b5f5951d402727b534bd4d169c9')"
]
}
}

View file

@ -2,7 +2,7 @@
"formatVersion": 1,
"database": {
"version": 5,
"identityHash": "eb813d54b9c44d29f1d7bb198a16d4d1",
"identityHash": "dcbf4dfbc1190853f0f6b7c0fef2efa5",
"entities": [
{
"tableName": "subscription_cache",
@ -70,10 +70,8 @@
"columnNames": [
"datetime"
],
"orders": [
"DESC"
],
"createSql": "CREATE INDEX IF NOT EXISTS `index_subscription_cache_datetime` ON `${TABLE_NAME}` (`datetime` DESC)"
"orders": [],
"createSql": "CREATE INDEX IF NOT EXISTS `index_subscription_cache_datetime` ON `${TABLE_NAME}` (`datetime`)"
}
],
"foreignKeys": []
@ -82,7 +80,7 @@
"views": [],
"setupQueries": [
"CREATE TABLE IF NOT EXISTS room_master_table (id INTEGER PRIMARY KEY,identity_hash TEXT)",
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, 'eb813d54b9c44d29f1d7bb198a16d4d1')"
"INSERT OR REPLACE INTO room_master_table (id,identity_hash) VALUES(42, 'dcbf4dfbc1190853f0f6b7c0fef2efa5')"
]
}
}

View file

@ -107,9 +107,9 @@ class AddSourceActivity : AppCompatActivity() {
onNewIntent(intent);
}
override fun onNewIntent(intent: Intent?) {
override fun onNewIntent(intent: Intent) {
super.onNewIntent(intent)
var url = intent?.dataString;
var url = intent.dataString;
if(url == null)
UIDialogs.showDialog(this, R.drawable.ic_error, getString(R.string.no_valid_url_provided), null, null,

View file

@ -648,12 +648,12 @@ class MainActivity : AppCompatActivity, IWithResultLauncher {
_wasStopped = true;
}
override fun onNewIntent(intent: Intent?) {
override fun onNewIntent(intent: Intent) {
super.onNewIntent(intent);
handleIntent(intent);
}
private fun handleIntent(intent: Intent?) {
private fun handleIntent(intent: Intent) {
if (intent == null)
return;
Logger.i(TAG, "handleIntent started by " + intent.action);

View file

@ -23,8 +23,6 @@ interface ManagedDBDAOBase<T, I: ManagedDBIndex<T>> {
@Insert
fun insert(index: I): Long;
@Insert
fun insertAll(vararg indexes: I)
@Update
fun update(index: I);

View file

@ -1,8 +1,8 @@
// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
id 'com.android.application' version '8.5.2' apply false
id 'com.android.library' version '8.5.2' apply false
id 'org.jetbrains.kotlin.android' version '1.9.0' apply false
id 'com.google.protobuf' version '0.9.4' apply false
id 'com.google.devtools.ksp' version '1.9.0-1.0.13' apply false
id 'com.android.application' version '8.9.1' apply false
id 'com.android.library' version '8.9.1' apply false
id 'org.jetbrains.kotlin.android' version '2.1.20' apply false
id 'com.google.protobuf' version '0.9.5' apply false
id 'com.google.devtools.ksp' version '2.1.20-2.0.0' apply false
}

@ -1 +1 @@
Subproject commit 21afe43dffed9d4c7864420a7eb955f63d335d51
Subproject commit 3743cb1a90a271ff4e2512f22b1d1ba6ae3dda8c

@ -1 +1 @@
Subproject commit f87f00ab9e1262e300246b8963591bdf3a8fada7
Subproject commit 32916d1fb1bfd21b896815b08935848434a5c730

View file

@ -1,6 +1,6 @@
#Fri Nov 11 13:25:09 CET 2022
#Wed Apr 09 11:29:56 CEST 2025
distributionBase=GRADLE_USER_HOME
distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
distributionPath=wrapper/dists
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists