From 581419b6a3f97981eaf1df031800d6377fd97ee2 Mon Sep 17 00:00:00 2001 From: topjohnwu Date: Fri, 21 Feb 2020 23:40:20 -0800 Subject: [PATCH] Update dependencies --- app/build.gradle | 32 +++++++------------ app/proguard-rules.pro | 2 +- .../java/com/topjohnwu/magisk/core/App.kt | 15 --------- .../topjohnwu/magisk/core/model/UpdateInfo.kt | 12 +++---- .../magisk/core/tasks/RepoUpdater.kt | 4 +-- .../topjohnwu/magisk/data/database/RepoDao.kt | 2 +- .../magisk/data/database/SuLogDao.kt | 2 +- .../topjohnwu/magisk/di/NetworkingModule.kt | 19 ++++------- build.gradle | 2 +- build.py | 2 +- 10 files changed, 31 insertions(+), 61 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 88a441f7c..c1c05dfea 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -68,7 +68,7 @@ dependencies { implementation 'com.ncapdevi:frag-nav:3.2.0' implementation 'com.github.pwittchen:reactivenetwork-rx2:3.0.6' - implementation 'io.reactivex.rxjava2:rxjava:2.2.16' + implementation 'io.reactivex.rxjava2:rxjava:2.2.18' implementation 'io.reactivex.rxjava2:rxkotlin:2.4.0' implementation 'io.reactivex.rxjava2:rxandroid:2.1.1' @@ -80,7 +80,7 @@ dependencies { implementation "${bindingAdapter}:${vBAdapt}" implementation "${bindingAdapter}-recyclerview:${vBAdapt}" - def vMarkwon = '4.2.0' + def vMarkwon = '4.2.1' implementation "io.noties.markwon:core:${vMarkwon}" implementation "io.noties.markwon:html:${vMarkwon}" implementation "io.noties.markwon:image:${vMarkwon}" @@ -101,30 +101,22 @@ dependencies { implementation "com.squareup.retrofit2:converter-scalars:${vRetrofit}" implementation "com.squareup.retrofit2:adapter-rxjava2:${vRetrofit}" - def vOkHttp = '3.12.7' + def vOkHttp = '3.12.8' implementation("com.squareup.okhttp3:okhttp:${vOkHttp}") { force = true } implementation "com.squareup.okhttp3:logging-interceptor:${vOkHttp}" - def vMoshi = '1.9.2' + def vMoshi = '1.10.0-SNAPSHOT' implementation "com.squareup.moshi:moshi:${vMoshi}" + kapt "com.squareup.moshi:moshi-kotlin-codegen:${vMoshi}" - def vKotshi = '2.0.2' - implementation "se.ansman.kotshi:api:${vKotshi}" - kapt "se.ansman.kotshi:compiler:${vKotshi}" - - modules { - module('androidx.room:room-runtime') { - replacedBy('com.github.topjohnwu:room-runtime') - } - } - def vRoom = '2.2.3' - implementation "com.github.topjohnwu:room-runtime:${vRoom}" + def vRoom = '2.2.4' + implementation "androidx.room:room-runtime:${vRoom}" implementation "androidx.room:room-rxjava2:${vRoom}" kapt "androidx.room:room-compiler:${vRoom}" - def vNav = '2.1.0' + def vNav = '2.2.1' implementation "androidx.navigation:navigation-fragment-ktx:${vNav}" implementation "androidx.navigation:navigation-ui-ktx:${vNav}" @@ -134,10 +126,10 @@ dependencies { implementation 'androidx.browser:browser:1.2.0' implementation 'androidx.preference:preference:1.1.0' implementation 'androidx.recyclerview:recyclerview:1.1.0' - implementation 'androidx.fragment:fragment-ktx:1.2.0-rc05' - implementation 'androidx.work:work-runtime:2.2.0' - implementation 'androidx.transition:transition:1.3.0-rc02' + implementation 'androidx.fragment:fragment-ktx:1.2.2' + implementation 'androidx.work:work-runtime:2.3.2' + implementation 'androidx.transition:transition:1.3.1' implementation 'androidx.multidex:multidex:2.0.1' - implementation 'androidx.core:core-ktx:1.2.0-rc01' + implementation 'androidx.core:core-ktx:1.2.0' implementation 'com.google.android.material:material:1.2.0-alpha03' } diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index ea652b112..2704c812d 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -39,7 +39,7 @@ } # Excessive obfuscation --repackageclasses a +-repackageclasses -allowaccessmodification # QOL diff --git a/app/src/main/java/com/topjohnwu/magisk/core/App.kt b/app/src/main/java/com/topjohnwu/magisk/core/App.kt index 9bc623d29..3e6a6251a 100644 --- a/app/src/main/java/com/topjohnwu/magisk/core/App.kt +++ b/app/src/main/java/com/topjohnwu/magisk/core/App.kt @@ -5,20 +5,13 @@ import android.content.Context import android.content.res.Configuration import androidx.appcompat.app.AppCompatDelegate import androidx.multidex.MultiDex -import androidx.room.Room import androidx.work.WorkManager -import androidx.work.impl.WorkDatabase -import androidx.work.impl.WorkDatabase_Impl import com.topjohnwu.magisk.BuildConfig import com.topjohnwu.magisk.DynAPK import com.topjohnwu.magisk.FileProvider import com.topjohnwu.magisk.core.su.SuCallbackHandler import com.topjohnwu.magisk.core.utils.RootInit import com.topjohnwu.magisk.core.utils.updateConfig -import com.topjohnwu.magisk.data.database.RepoDatabase -import com.topjohnwu.magisk.data.database.RepoDatabase_Impl -import com.topjohnwu.magisk.data.database.SuLogDatabase -import com.topjohnwu.magisk.data.database.SuLogDatabase_Impl import com.topjohnwu.magisk.di.ActivityTracker import com.topjohnwu.magisk.di.koinModules import com.topjohnwu.magisk.extensions.get @@ -42,14 +35,6 @@ open class App() : Application() { Shell.Config.addInitializers(RootInit::class.java) Shell.Config.setTimeout(2) FileProvider.callHandler = SuCallbackHandler - Room.setFactory { - when (it) { - WorkDatabase::class.java -> WorkDatabase_Impl() - RepoDatabase::class.java -> RepoDatabase_Impl() - SuLogDatabase::class.java -> SuLogDatabase_Impl() - else -> null - } - } // Always log full stack trace with Timber Timber.plant(Timber.DebugTree()) diff --git a/app/src/main/java/com/topjohnwu/magisk/core/model/UpdateInfo.kt b/app/src/main/java/com/topjohnwu/magisk/core/model/UpdateInfo.kt index 5fe144bdb..c61c74cdb 100644 --- a/app/src/main/java/com/topjohnwu/magisk/core/model/UpdateInfo.kt +++ b/app/src/main/java/com/topjohnwu/magisk/core/model/UpdateInfo.kt @@ -1,10 +1,10 @@ package com.topjohnwu.magisk.core.model import android.os.Parcelable +import com.squareup.moshi.JsonClass import kotlinx.android.parcel.Parcelize -import se.ansman.kotshi.JsonSerializable -@JsonSerializable +@JsonClass(generateAdapter = true) data class UpdateInfo( val app: ManagerJson = ManagerJson(), val uninstaller: UninstallerJson = UninstallerJson(), @@ -12,12 +12,12 @@ data class UpdateInfo( val stub: StubJson = StubJson() ) -@JsonSerializable +@JsonClass(generateAdapter = true) data class UninstallerJson( val link: String = "" ) -@JsonSerializable +@JsonClass(generateAdapter = true) data class MagiskJson( val version: String = "", val versionCode: Int = -1, @@ -27,7 +27,7 @@ data class MagiskJson( ) @Parcelize -@JsonSerializable +@JsonClass(generateAdapter = true) data class ManagerJson( val version: String = "", val versionCode: Int = -1, @@ -35,7 +35,7 @@ data class ManagerJson( val note: String = "" ) : Parcelable -@JsonSerializable +@JsonClass(generateAdapter = true) data class StubJson( val versionCode: Int = -1, val link: String = "" diff --git a/app/src/main/java/com/topjohnwu/magisk/core/tasks/RepoUpdater.kt b/app/src/main/java/com/topjohnwu/magisk/core/tasks/RepoUpdater.kt index b42147228..a71d54ff5 100644 --- a/app/src/main/java/com/topjohnwu/magisk/core/tasks/RepoUpdater.kt +++ b/app/src/main/java/com/topjohnwu/magisk/core/tasks/RepoUpdater.kt @@ -1,5 +1,6 @@ package com.topjohnwu.magisk.core.tasks +import com.squareup.moshi.JsonClass import com.topjohnwu.magisk.core.Const import com.topjohnwu.magisk.core.model.module.Repo import com.topjohnwu.magisk.data.database.RepoDao @@ -8,7 +9,6 @@ import io.reactivex.Completable import io.reactivex.Flowable import io.reactivex.rxkotlin.toFlowable import io.reactivex.schedulers.Schedulers -import se.ansman.kotshi.JsonSerializable import timber.log.Timber import java.net.HttpURLConnection import java.text.SimpleDateFormat @@ -89,7 +89,7 @@ private val dateFormat: SimpleDateFormat = timeZone = TimeZone.getTimeZone("UTC") } -@JsonSerializable +@JsonClass(generateAdapter = true) data class GithubRepoInfo( val name: String, val pushed_at: String diff --git a/app/src/main/java/com/topjohnwu/magisk/data/database/RepoDao.kt b/app/src/main/java/com/topjohnwu/magisk/data/database/RepoDao.kt index 05f5f53a4..2df1fdf88 100644 --- a/app/src/main/java/com/topjohnwu/magisk/data/database/RepoDao.kt +++ b/app/src/main/java/com/topjohnwu/magisk/data/database/RepoDao.kt @@ -4,7 +4,7 @@ import androidx.room.* import com.topjohnwu.magisk.core.Config import com.topjohnwu.magisk.core.model.module.Repo -@Database(version = 6, entities = [Repo::class, RepoEtag::class]) +@Database(version = 6, entities = [Repo::class, RepoEtag::class], exportSchema = false) abstract class RepoDatabase : RoomDatabase() { abstract fun repoDao() : RepoDao diff --git a/app/src/main/java/com/topjohnwu/magisk/data/database/SuLogDao.kt b/app/src/main/java/com/topjohnwu/magisk/data/database/SuLogDao.kt index e422fc778..29100b00d 100644 --- a/app/src/main/java/com/topjohnwu/magisk/data/database/SuLogDao.kt +++ b/app/src/main/java/com/topjohnwu/magisk/data/database/SuLogDao.kt @@ -6,7 +6,7 @@ import io.reactivex.Completable import io.reactivex.Single import java.util.* -@Database(version = 1, entities = [MagiskLog::class]) +@Database(version = 1, entities = [MagiskLog::class], exportSchema = false) abstract class SuLogDatabase : RoomDatabase() { abstract fun suLogDao(): SuLogDao diff --git a/app/src/main/java/com/topjohnwu/magisk/di/NetworkingModule.kt b/app/src/main/java/com/topjohnwu/magisk/di/NetworkingModule.kt index 7ae909000..b05fcb2af 100644 --- a/app/src/main/java/com/topjohnwu/magisk/di/NetworkingModule.kt +++ b/app/src/main/java/com/topjohnwu/magisk/di/NetworkingModule.kt @@ -1,7 +1,6 @@ package com.topjohnwu.magisk.di import android.content.Context -import com.squareup.moshi.JsonAdapter import com.squareup.moshi.Moshi import com.topjohnwu.magisk.BuildConfig import com.topjohnwu.magisk.core.Const @@ -20,7 +19,6 @@ import retrofit2.Retrofit import retrofit2.adapter.rxjava2.RxJava2CallAdapterFactory import retrofit2.converter.moshi.MoshiConverterFactory import retrofit2.converter.scalars.ScalarsConverterFactory -import se.ansman.kotshi.KotshiJsonAdapterFactory val networkingModule = module { single { createOkHttpClient(get()) } @@ -49,9 +47,7 @@ fun createOkHttpClient(context: Context): OkHttpClient { } fun createMoshiConverterFactory(): MoshiConverterFactory { - val moshi = Moshi.Builder() - .add(KotshiJsonAdapterFactory) - .build() + val moshi = Moshi.Builder().build() return MoshiConverterFactory.create(moshi) } @@ -63,9 +59,6 @@ fun createRetrofit(okHttpClient: OkHttpClient): Retrofit.Builder { .client(okHttpClient) } -@KotshiJsonAdapterFactory -abstract class JsonAdapterFactory : JsonAdapter.Factory - inline fun createApiService(retrofitBuilder: Retrofit.Builder, baseUrl: String): T { return retrofitBuilder .baseUrl(baseUrl) @@ -75,9 +68,9 @@ inline fun createApiService(retrofitBuilder: Retrofit.Builder, baseU fun createMarkwon(context: Context, okHttpClient: OkHttpClient): Markwon { return Markwon.builder(context) - .usePlugin(HtmlPlugin.create()) - .usePlugin(ImagesPlugin.create { - it.addSchemeHandler(OkHttpNetworkSchemeHandler.create(okHttpClient)) - }) - .build() + .usePlugin(HtmlPlugin.create()) + .usePlugin(ImagesPlugin.create { + it.addSchemeHandler(OkHttpNetworkSchemeHandler.create(okHttpClient)) + }) + .build() } diff --git a/build.gradle b/build.gradle index e8e67d8a9..51e0e9e5e 100644 --- a/build.gradle +++ b/build.gradle @@ -43,7 +43,7 @@ subprojects { getPlugins().hasPlugin('com.android.application')) { android { compileSdkVersion 29 - buildToolsVersion '29.0.2' + buildToolsVersion '29.0.3' defaultConfig { if (minSdkVersion == null) diff --git a/build.py b/build.py index fbdc31df6..5d37aab28 100755 --- a/build.py +++ b/build.py @@ -58,7 +58,7 @@ archs = ['armeabi-v7a', 'x86'] arch64 = ['arm64-v8a', 'x86_64'] support_targets = ['magisk', 'magiskinit', 'magiskboot', 'magiskpolicy', 'resetprop', 'busybox', 'test'] default_targets = ['magisk', 'magiskinit', 'magiskboot', 'busybox'] -build_tools = os.path.join(os.environ['ANDROID_HOME'], 'build-tools', '29.0.2') +build_tools = os.path.join(os.environ['ANDROID_HOME'], 'build-tools', '29.0.3') # Global vars config = {}