diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml deleted file mode 100644 index 13f353d..0000000 --- a/.github/FUNDING.yml +++ /dev/null @@ -1,3 +0,0 @@ -# These are supported funding model platforms - -github: [Kr328] diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 3e6aaf6..432bc4c 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -20,11 +20,6 @@ dependencies { implementation(libs.androidx.coordinator) implementation(libs.androidx.recyclerview) implementation(libs.google.material) - - val premiumImplementation by configurations - - premiumImplementation(libs.appcenter.analytics) - premiumImplementation(libs.appcenter.crashes) } tasks.getByName("clean", type = Delete::class) { diff --git a/app/src/foss/java/com/github/kr328/clash/Tracker.kt b/app/src/foss/java/com/github/kr328/clash/Tracker.kt deleted file mode 100644 index 67dc8cf..0000000 --- a/app/src/foss/java/com/github/kr328/clash/Tracker.kt +++ /dev/null @@ -1,14 +0,0 @@ -package com.github.kr328.clash - -import android.app.Application - -@Suppress("UNUSED_PARAMETER") -object Tracker { - fun initialize(application: Application) { - // do nothing - } - - fun uploadLogcat(logcat: String) { - // do nothing - } -} \ No newline at end of file diff --git a/app/src/main/java/com/github/kr328/clash/FilesActivity.kt b/app/src/main/java/com/github/kr328/clash/FilesActivity.kt index c71e683..f0e2ba3 100644 --- a/app/src/main/java/com/github/kr328/clash/FilesActivity.kt +++ b/app/src/main/java/com/github/kr328/clash/FilesActivity.kt @@ -116,7 +116,7 @@ class FilesActivity : BaseActivity() { } is FilesDesign.Request.ExportFile -> { val uri: Uri? = startActivityForResult( - ActivityResultContracts.CreateDocument(), + ActivityResultContracts.CreateDocument("text/plain"), it.file.name ) diff --git a/app/src/main/java/com/github/kr328/clash/LogcatActivity.kt b/app/src/main/java/com/github/kr328/clash/LogcatActivity.kt index 0276852..4bd13c0 100644 --- a/app/src/main/java/com/github/kr328/clash/LogcatActivity.kt +++ b/app/src/main/java/com/github/kr328/clash/LogcatActivity.kt @@ -67,7 +67,7 @@ class LogcatActivity : BaseActivity() { } LogcatDesign.Request.Export -> { val output = startActivityForResult( - ActivityResultContracts.CreateDocument(), + ActivityResultContracts.CreateDocument("text/plain"), file.fileName ) diff --git a/app/src/main/java/com/github/kr328/clash/MainApplication.kt b/app/src/main/java/com/github/kr328/clash/MainApplication.kt index 13fe5eb..d885d23 100644 --- a/app/src/main/java/com/github/kr328/clash/MainApplication.kt +++ b/app/src/main/java/com/github/kr328/clash/MainApplication.kt @@ -19,9 +19,6 @@ class MainApplication : Application() { override fun onCreate() { super.onCreate() - // Initialize AppCenter - Tracker.initialize(this) - val processName = currentProcessName Log.d("Process $processName started") diff --git a/app/src/main/java/com/github/kr328/clash/remote/Service.kt b/app/src/main/java/com/github/kr328/clash/remote/Service.kt index 079c0ae..4d4d5ab 100644 --- a/app/src/main/java/com/github/kr328/clash/remote/Service.kt +++ b/app/src/main/java/com/github/kr328/clash/remote/Service.kt @@ -5,10 +5,8 @@ import android.content.ComponentName import android.content.Context import android.content.ServiceConnection import android.os.IBinder -import com.github.kr328.clash.Tracker import com.github.kr328.clash.common.log.Log import com.github.kr328.clash.common.util.intent -import com.github.kr328.clash.log.SystemLogcat import com.github.kr328.clash.service.RemoteService import com.github.kr328.clash.service.remote.IRemoteService import com.github.kr328.clash.service.remote.unwrap @@ -28,8 +26,6 @@ class Service(private val context: Application, val crashed: () -> Unit) { override fun onServiceDisconnected(name: ComponentName?) { remote.set(null) - Tracker.uploadLogcat(SystemLogcat.dumpCrash()) - if (System.currentTimeMillis() - lastCrashed < TOGGLE_CRASHED_INTERVAL) { unbind() diff --git a/app/src/premium/java/com/github/kr328/clash/Tracker.kt b/app/src/premium/java/com/github/kr328/clash/Tracker.kt deleted file mode 100644 index 40db4b2..0000000 --- a/app/src/premium/java/com/github/kr328/clash/Tracker.kt +++ /dev/null @@ -1,31 +0,0 @@ -package com.github.kr328.clash - -import android.app.Application -import com.microsoft.appcenter.AppCenter -import com.microsoft.appcenter.analytics.Analytics -import com.microsoft.appcenter.crashes.Crashes -import com.microsoft.appcenter.crashes.ingestion.models.ErrorAttachmentLog - -object Tracker { - fun initialize(application: Application) { - if (!BuildConfig.DEBUG) { - AppCenter.start( - application, - BuildConfig.APP_CENTER_KEY, - Analytics::class.java, Crashes::class.java - ) - } - } - - fun uploadLogcat(logcat: String) { - if (!BuildConfig.DEBUG) { - if (logcat.isNotBlank()) { - Crashes.trackError( - RuntimeException(), - mapOf("type" to "app_crashed"), - listOf(ErrorAttachmentLog.attachmentWithText(logcat, "logcat.txt")) - ) - } - } - } -} \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index b7c9028..6c488ea 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -65,7 +65,9 @@ subprojects { if (isApp) { packagingOptions { - excludes.add("DebugProbesKt.bin") + resources { + excludes.add("DebugProbesKt.bin") + } } } @@ -88,19 +90,6 @@ subprojects { versionNameSuffix = ".premium" buildConfigField("boolean", "PREMIUM", "Boolean.parseBoolean(\"true\")") - - val tracker = rootProject.file("tracker.properties") - if (tracker.exists()) { - val prop = Properties().apply { - tracker.inputStream().use(this::load) - } - - buildConfigField( - "String", - "APP_CENTER_KEY", - "\"${prop.getProperty("appcenter.key")!!}\"" - ) - } } } diff --git a/service/build.gradle.kts b/service/build.gradle.kts index 190a16c..6fc86a1 100644 --- a/service/build.gradle.kts +++ b/service/build.gradle.kts @@ -1,6 +1,5 @@ plugins { kotlin("android") - kotlin("kapt") id("kotlinx-serialization") id("com.android.library") id("com.google.devtools.ksp") @@ -11,7 +10,7 @@ dependencies { implementation(project(":common")) ksp(libs.kaidl.compiler) - kapt(libs.androidx.room.compiler) + ksp(libs.androidx.room.compiler) implementation(libs.kotlin.coroutine) implementation(libs.kotlin.serialization.json) @@ -25,7 +24,8 @@ dependencies { afterEvaluate { android { libraryVariants.forEach { - sourceSets[it.name].java.srcDir(buildDir.resolve("generated/ksp/${it.name}/kotlin")) + sourceSets[it.name].kotlin.srcDir(buildDir.resolve("generated/ksp/${it.name}/kotlin")) + sourceSets[it.name].java.srcDir(buildDir.resolve("generated/ksp/${it.name}/java")) } } } \ No newline at end of file diff --git a/settings.gradle.kts b/settings.gradle.kts index 912a657..bdbabda 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -18,21 +18,20 @@ pluginManagement { dependencyResolutionManagement { versionCatalogs { create("libs") { - val agp = "7.2.0" - val kotlin = "1.6.21" - val ksp = "$kotlin-1.0.5" + val agp = "7.2.1" + val kotlin = "1.7.0" + val ksp = "$kotlin-1.0.6" val golang = "1.0.4" - val coroutine = "1.6.1" - val coreKtx = "1.7.0" - val activity = "1.4.0" - val fragment = "1.4.1" - val appcompat = "1.4.1" + val coroutine = "1.6.3" + val coreKtx = "1.8.0" + val activity = "1.5.0" + val fragment = "1.5.0" + val appcompat = "1.4.2" val coordinator = "1.2.0" val recyclerview = "1.2.1" val viewpager = "1.0.0" - val material = "1.6.0" - val appcenter = "4.4.3" - val serialization = "1.3.2" + val material = "1.6.1" + val serialization = "1.3.3" val kaidl = "1.15" val room = "2.4.2" val multiprocess = "1.0.0" @@ -55,8 +54,6 @@ dependencyResolutionManagement { library("androidx-room-runtime", "androidx.room:room-runtime:$room") library("androidx-room-ktx", "androidx.room:room-ktx:$room") library("google-material", "com.google.android.material:material:$material") - library("appcenter-analytics", "com.microsoft.appcenter:appcenter-analytics:$appcenter") - library("appcenter-crashes", "com.microsoft.appcenter:appcenter-crashes:$appcenter") library("kaidl-compiler", "com.github.kr328.kaidl:kaidl:$kaidl") library("kaidl-runtime", "com.github.kr328.kaidl:kaidl-runtime:$kaidl") library("rikkax-multiprocess", "dev.rikka.rikkax.preference:multiprocess:$multiprocess")