diff --git a/build.gradle b/build.gradle index 399a60f64..dff818025 100644 --- a/build.gradle +++ b/build.gradle @@ -4,7 +4,7 @@ ext { buildscript { ext { - kotlin_version = '1.6.0' + kotlin_version = '1.6.21' retrofitVersion = '2.9.0' } repositories { @@ -18,7 +18,7 @@ buildscript { google() } dependencies { - classpath 'com.android.tools.build:gradle:4.2.2' + classpath 'com.android.tools.build:gradle:7.4.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } diff --git a/clean-insights/build.gradle b/clean-insights/build.gradle index e67202157..ac6dda7cc 100644 --- a/clean-insights/build.gradle +++ b/clean-insights/build.gradle @@ -9,8 +9,6 @@ android { defaultConfig { minSdkVersion 19 targetSdkVersion 31 - versionCode 10 - versionName '2.6.0' testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' consumerProguardFiles 'consumer-rules.pro' diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 4800b3895..b99af6dc8 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -2,5 +2,5 @@ distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-7.0-bin.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip zipStoreBase=GRADLE_USER_HOME diff --git a/mobile/build.gradle b/mobile/build.gradle index 2b3f35a24..985c1f918 100644 --- a/mobile/build.gradle +++ b/mobile/build.gradle @@ -15,7 +15,7 @@ android { minSdkVersion 21 compileSdkVersion 33 targetSdkVersion 33 - versionCode 146 + versionCode 149 versionName "2.0.15" multiDexEnabled true // vectorDrawables.useSupportLibrary = true // don't care about apk size, care about crashes @@ -131,4 +131,33 @@ dependencies { // debugImplementation "com.squareup.leakcanary:leakcanary-android:${leakCanaryVersion}" testImplementation 'junit:junit:4.13' +} + +import com.android.tools.profgen.ArtProfileKt +import com.android.tools.profgen.ArtProfileSerializer +import com.android.tools.profgen.DexFile + +project.afterEvaluate { + tasks.each { task -> + if (task.name.startsWith("compile") && task.name.endsWith("ReleaseArtProfile")) { + task.doLast { + outputs.files.each { file -> + if (file.name.endsWith(".profm")) { + println("Sorting ${file} ...") + def version = ArtProfileSerializer.valueOf("METADATA_0_0_2") + def profile = ArtProfileKt.ArtProfile(file) + def keys = new ArrayList(profile.profileData.keySet()) + def sortedData = new LinkedHashMap() + Collections.sort keys, new DexFile.Companion() + keys.each { key -> sortedData[key] = profile.profileData[key] } + new FileOutputStream(file).with { + write(version.magicBytes$profgen) + write(version.versionBytes$profgen) + version.write$profgen(it, sortedData, "") + } + } + } + } + } + } } \ No newline at end of file diff --git a/mobile/proguard-rules.pro b/mobile/proguard-rules.pro index 14d602687..a13f37e86 100644 --- a/mobile/proguard-rules.pro +++ b/mobile/proguard-rules.pro @@ -20,15 +20,6 @@ # tella -keep class rs.readahead.washington.mobile.data.entity.** { *; } -# evernote android-job --dontwarn com.evernote.android.job.gcm.** --dontwarn com.evernote.android.job.util.GcmAvailableHelper --keep public class com.evernote.android.job.v21.PlatformJobService --keep public class com.evernote.android.job.v14.PlatformAlarmService --keep public class com.evernote.android.job.v14.PlatformAlarmReceiver --keep public class com.evernote.android.job.JobBootReceiver --keep public class com.evernote.android.job.JobRescheduleService - # okhttp -dontwarn okhttp3.** -dontwarn okio.** @@ -104,17 +95,6 @@ -keep class org.xmlpull.** { *; } -# android job --dontwarn com.evernote.android.job.v24.** --dontwarn com.evernote.android.job.gcm.** --dontwarn com.evernote.android.job.util.GcmAvailableHelper --keep public class com.evernote.android.job.v21.PlatformJobService --keep public class com.evernote.android.job.v14.PlatformAlarmService --keep public class com.evernote.android.job.v14.PlatformAlarmReceiver --keep public class com.evernote.android.job.JobBootReceiver --keep public class com.evernote.android.job.JobRescheduleService - - # crashalytics -keepattributes *Annotation* -keepattributes SourceFile,LineNumberTable @@ -216,26 +196,6 @@ -dontobfuscate -# proofmode --keep class org.witness.proofmode.** { *; } --keep class org.spongycastle.** { *; } --dontwarn org.spongycastle.** - -# bitcoinj --keep,includedescriptorclasses class org.bitcoinj.wallet.Protos$** { *; } --keepclassmembers class org.bitcoinj.wallet.Protos { com.google.protobuf.Descriptors$FileDescriptor descriptor; } --keep,includedescriptorclasses class org.bitcoin.protocols.payments.Protos$** { *; } --keepclassmembers class org.bitcoin.protocols.payments.Protos { com.google.protobuf.Descriptors$FileDescriptor descriptor; } --dontwarn org.bitcoinj.store.WindowsMMapHack --dontwarn org.bitcoinj.store.LevelDBBlockStore --dontnote org.bitcoinj.crypto.DRMWorkaround --dontnote org.bitcoinj.crypto.TrustStoreLoader$DefaultTrustStoreLoader --dontnote com.subgraph.orchid.crypto.PRNGFixes --dontwarn okio.DeflaterSink --dontwarn okio.Okio --dontnote com.squareup.okhttp.internal.Platform --dontwarn org.bitcoinj.store.LevelDBFullPrunedBlockStore** - # slf4j -keep class org.slf4j.** { *; } -dontwarn org.slf4j.** diff --git a/shared-ui/build.gradle b/shared-ui/build.gradle index d2d88508c..dee3211e4 100644 --- a/shared-ui/build.gradle +++ b/shared-ui/build.gradle @@ -10,8 +10,6 @@ android { defaultConfig { minSdkVersion 17 targetSdkVersion 31 - versionCode 1 - versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" consumerProguardFiles "consumer-rules.pro" diff --git a/tella-keys/build.gradle b/tella-keys/build.gradle index 72dccca95..4de4ca6f4 100644 --- a/tella-keys/build.gradle +++ b/tella-keys/build.gradle @@ -9,8 +9,6 @@ android { defaultConfig { minSdkVersion 17 targetSdkVersion 31 - versionCode 1 - versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" consumerProguardFiles "consumer-rules.pro" diff --git a/tella-locking-ui/build.gradle b/tella-locking-ui/build.gradle index eafada78e..82a512047 100644 --- a/tella-locking-ui/build.gradle +++ b/tella-locking-ui/build.gradle @@ -10,8 +10,6 @@ android { defaultConfig { minSdkVersion 17 targetSdkVersion 31 - versionCode 1 - versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" consumerProguardFiles "consumer-rules.pro" diff --git a/tella-vault/build.gradle b/tella-vault/build.gradle index e515bc1a3..eafef7384 100644 --- a/tella-vault/build.gradle +++ b/tella-vault/build.gradle @@ -5,13 +5,10 @@ plugins { android { compileSdkVersion 30 - buildToolsVersion "30.0.2" defaultConfig { minSdkVersion 17 targetSdkVersion 30 - versionCode 1 - versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" consumerProguardFiles "consumer-rules.pro"