diff --git a/app/build.gradle.kts b/app/build.gradle.kts index 3ede015126..98236e7f9a 100644 --- a/app/build.gradle.kts +++ b/app/build.gradle.kts @@ -73,38 +73,13 @@ androidComponents { composeCompiler { stabilityConfigurationFiles.add(layout.projectDirectory.file("stability.conf")) } -kotlin { - compilerOptions.optIn.addAll( - "androidx.compose.foundation.ExperimentalFoundationApi", - "androidx.compose.material3.ExperimentalMaterial3Api", - ) -} - dependencies { - implementation(projects.core) - implementation(projects.service) - implementation(projects.common) + implementation(projects.glue) implementation(libs.kotlin.coroutine) - implementation(libs.bytesize) implementation(libs.androidx.core) implementation(libs.androidx.activity.compose) - implementation(platform(libs.androidx.compose.bom)) - implementation(libs.androidx.compose.ui) - implementation(libs.androidx.compose.ui.tooling.preview) - implementation(libs.androidx.compose.ui.util) - debugImplementation(libs.androidx.compose.ui.tooling) - implementation(libs.androidx.compose.animation) - implementation(libs.androidx.compose.material3) - implementation(libs.androidx.lifecycle.viewmodel.compose) - implementation(libs.androidx.lifecycle.viewmodel.navigation3) - implementation(libs.androidx.navigation3.runtime) - implementation(libs.androidx.navigation3.ui) - - implementation(libs.composePreference) - - implementation(libs.quickie.bundled) } val downloadGeoFiles by diff --git a/app/src/main/kotlin/com/github/kr328/clash/DialerReceiver.kt b/app/src/main/kotlin/com/github/kr328/clash/DialerReceiver.kt index fcabab91a4..1f28136004 100644 --- a/app/src/main/kotlin/com/github/kr328/clash/DialerReceiver.kt +++ b/app/src/main/kotlin/com/github/kr328/clash/DialerReceiver.kt @@ -3,7 +3,7 @@ package com.github.kr328.clash import android.content.BroadcastReceiver import android.content.Context import android.content.Intent -import com.github.kr328.clash.MainActivity.Companion.intent as mainIntent +import com.github.kr328.clash.util.mainIntent class DialerReceiver : BroadcastReceiver() { override fun onReceive(context: Context, intent: Intent) { diff --git a/app/src/main/kotlin/com/github/kr328/clash/MainActivity.kt b/app/src/main/kotlin/com/github/kr328/clash/MainActivity.kt index 08e4e2987f..132278b4b9 100644 --- a/app/src/main/kotlin/com/github/kr328/clash/MainActivity.kt +++ b/app/src/main/kotlin/com/github/kr328/clash/MainActivity.kt @@ -34,6 +34,7 @@ import com.github.kr328.clash.common.util.unsafeLazy import com.github.kr328.clash.common.util.uuid import com.github.kr328.clash.crash.CrashRoute import com.github.kr328.clash.crash.crashEntries +import com.github.kr328.clash.glue.R as GlueR import com.github.kr328.clash.log.LogRoute import com.github.kr328.clash.log.logsEntries import com.github.kr328.clash.main.MainRoute @@ -147,12 +148,12 @@ class MainActivity : ComponentActivity() { } Intents.ACTION_START_CLASH -> { if (!Remote.broadcasts.clashRunning) startClash() - else toast(R.string.external_control_started) + else toast(GlueR.string.external_control_started) true } Intents.ACTION_STOP_CLASH -> { if (Remote.broadcasts.clashRunning) stopClash() - else toast(R.string.external_control_stopped) + else toast(GlueR.string.external_control_stopped) true } else -> false @@ -162,15 +163,15 @@ class MainActivity : ComponentActivity() { private fun startClash() { val vpnRequest = startClashService() if (vpnRequest != null) { - toast(R.string.unable_to_start_vpn) + toast(GlueR.string.unable_to_start_vpn) return } - toast(R.string.external_control_started) + toast(GlueR.string.external_control_started) } private fun stopClash() { stopClashService() - toast(R.string.external_control_stopped) + toast(GlueR.string.external_control_stopped) } private fun requestNotificationPermission() { @@ -216,7 +217,8 @@ class MainActivity : ComponentActivity() { "file" -> Profile.Type.File else -> Profile.Type.Url } - val name = uri.getQueryParameter("name") ?: application.getString(R.string.new_profile) + val name = + uri.getQueryParameter("name") ?: application.getString(GlueR.string.new_profile) create(type, name).also { patch(it, name, url, 0) } } backStack.addIfNotLast(ProfilesRoute.Profiles(openPropertyUuid = uuid)) @@ -229,9 +231,4 @@ class MainActivity : ComponentActivity() { ViewModel(application = context.applicationContext as Application) as T } } - - companion object { - fun intent(context: Context, action: String? = null) = - Intent(context, MainActivity::class.java).setAction(action) - } } diff --git a/app/src/main/kotlin/com/github/kr328/clash/MainApplication.kt b/app/src/main/kotlin/com/github/kr328/clash/MainApplication.kt index 7d303f0fca..dcb99834df 100644 --- a/app/src/main/kotlin/com/github/kr328/clash/MainApplication.kt +++ b/app/src/main/kotlin/com/github/kr328/clash/MainApplication.kt @@ -9,6 +9,7 @@ import androidx.core.graphics.drawable.IconCompat import com.github.kr328.clash.common.Global import com.github.kr328.clash.common.constants.Intents import com.github.kr328.clash.common.log.Log +import com.github.kr328.clash.glue.R as GlueR import com.github.kr328.clash.remote.Remote import com.github.kr328.clash.service.util.sendServiceRecreated import com.github.kr328.clash.store.UiStore @@ -55,8 +56,8 @@ class MainApplication : Application() { val toggle = ShortcutInfoCompat.Builder(this, "toggle_clash") - .setShortLabel(getString(R.string.shortcut_toggle_short)) - .setLongLabel(getString(R.string.shortcut_toggle_long)) + .setShortLabel(getString(GlueR.string.shortcut_toggle_short)) + .setLongLabel(getString(GlueR.string.shortcut_toggle_long)) .setIcon(icon) .setIntent( Intent(Intents.ACTION_TOGGLE_CLASH) @@ -68,8 +69,8 @@ class MainApplication : Application() { val start = ShortcutInfoCompat.Builder(this, "start_clash") - .setShortLabel(getString(R.string.shortcut_start_short)) - .setLongLabel(getString(R.string.shortcut_start_long)) + .setShortLabel(getString(GlueR.string.shortcut_start_short)) + .setLongLabel(getString(GlueR.string.shortcut_start_long)) .setIcon(icon) .setIntent( Intent(Intents.ACTION_START_CLASH) @@ -81,8 +82,8 @@ class MainApplication : Application() { val stop = ShortcutInfoCompat.Builder(this, "stop_clash") - .setShortLabel(getString(R.string.shortcut_stop_short)) - .setLongLabel(getString(R.string.shortcut_stop_long)) + .setShortLabel(getString(GlueR.string.shortcut_stop_short)) + .setLongLabel(getString(GlueR.string.shortcut_stop_long)) .setIcon(icon) .setIntent( Intent(Intents.ACTION_STOP_CLASH) diff --git a/app/src/main/kotlin/com/github/kr328/clash/TileService.kt b/app/src/main/kotlin/com/github/kr328/clash/TileService.kt index a45f9f83b9..8fcba854e2 100644 --- a/app/src/main/kotlin/com/github/kr328/clash/TileService.kt +++ b/app/src/main/kotlin/com/github/kr328/clash/TileService.kt @@ -10,6 +10,7 @@ import android.service.quicksettings.TileService import com.github.kr328.clash.common.compat.registerReceiverCompat import com.github.kr328.clash.common.constants.Intents import com.github.kr328.clash.common.constants.Permissions +import com.github.kr328.clash.glue.R as GlueR import com.github.kr328.clash.remote.StatusClient import com.github.kr328.clash.util.startClashService import com.github.kr328.clash.util.stopClashService @@ -65,7 +66,7 @@ class TileService : TileService() { tile.state = if (clashRunning) Tile.STATE_ACTIVE else Tile.STATE_INACTIVE - tile.label = currentProfile.ifEmpty { getText(R.string.launch_name_meta) } + tile.label = currentProfile.ifEmpty { getText(GlueR.string.launch_name_meta) } tile.icon = Icon.createWithResource(this, com.github.kr328.clash.service.R.drawable.ic_logo_service) diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 65f0c80152..cf22cdab7b 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -1,14 +1,5 @@ - #1e4376 - #1976d2 - #50000000 - #FFFAFAFA - #FF121212 - #FF202020 - #FF808080 - #FFD3D3D3 - #FF808080 - #FFB00020 - #FFFFFF + #FFFFFF + #FFFFFF diff --git a/app/src/main/res/values/ic_banner_background.xml b/app/src/main/res/values/ic_banner_background.xml deleted file mode 100644 index 15db34b811..0000000000 --- a/app/src/main/res/values/ic_banner_background.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - #FFFFFF - \ No newline at end of file diff --git a/app/src/main/res/values/ic_launcher_background.xml b/app/src/main/res/values/ic_launcher_background.xml deleted file mode 100644 index c5d5899fdf..0000000000 --- a/app/src/main/res/values/ic_launcher_background.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - #FFFFFF - \ No newline at end of file diff --git a/build.gradle.kts b/build.gradle.kts index 637e7d88b7..3556b78967 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -3,6 +3,7 @@ import com.android.build.gradle.api.AndroidBasePlugin import com.diffplug.gradle.spotless.SpotlessExtension import kotlin.collections.addAll import org.jetbrains.kotlin.gradle.dsl.JvmTarget +import org.jetbrains.kotlin.gradle.dsl.KotlinAndroidProjectExtension import org.jetbrains.kotlin.gradle.tasks.KotlinCompile plugins { @@ -58,4 +59,26 @@ allprojects { } kotlinGradle { ktfmt(libs.ktfmt.get().version).googleStyle() } } + + plugins.withId(rootProject.libs.plugins.kotlin.compose.get().pluginId) { + extensions.configure { + compilerOptions.optIn.addAll( + "androidx.compose.foundation.ExperimentalFoundationApi", + "androidx.compose.material3.ExperimentalMaterial3Api", + ) + } + dependencies { + "implementation"(platform(libs.androidx.compose.bom)) + "implementation"(libs.androidx.compose.ui) + "implementation"(libs.androidx.compose.ui.tooling.preview) + "implementation"(libs.androidx.compose.ui.util) + "debugImplementation"(libs.androidx.compose.ui.tooling) + "implementation"(libs.androidx.compose.animation) + "implementation"(libs.androidx.compose.material3) + "implementation"(libs.androidx.lifecycle.viewmodel.compose) + "implementation"(libs.androidx.lifecycle.viewmodel.navigation3) + "implementation"(libs.androidx.navigation3.runtime) + "implementation"(libs.androidx.navigation3.ui) + } + } } diff --git a/common/src/main/kotlin/com/github/kr328/clash/common/util/Components.kt b/common/src/main/kotlin/com/github/kr328/clash/common/util/Components.kt index 29557312b9..6a4826fd91 100644 --- a/common/src/main/kotlin/com/github/kr328/clash/common/util/Components.kt +++ b/common/src/main/kotlin/com/github/kr328/clash/common/util/Components.kt @@ -5,6 +5,9 @@ import android.content.Intent import com.github.kr328.clash.common.Global import kotlin.reflect.KClass +val Class<*>.componentName: ComponentName + get() = ComponentName(Global.application.packageName, name) + val KClass<*>.componentName: ComponentName get() = ComponentName(Global.application.packageName, this.java.name) diff --git a/glue/build.gradle.kts b/glue/build.gradle.kts new file mode 100644 index 0000000000..20d25df6e2 --- /dev/null +++ b/glue/build.gradle.kts @@ -0,0 +1,16 @@ +plugins { + alias(libs.plugins.android.library) + alias(libs.plugins.kotlin.compose) + alias(libs.plugins.kotlin.serialization) +} + +dependencies { + api(projects.core) + api(projects.service) + api(projects.common) + + implementation(libs.composePreference) + + implementation(libs.quickie.bundled) + implementation(libs.bytesize) +} diff --git a/app/src/main/kotlin/com/github/kr328/clash/crash/CrashNav.kt b/glue/src/main/kotlin/com/github/kr328/clash/crash/CrashNav.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/crash/CrashNav.kt rename to glue/src/main/kotlin/com/github/kr328/clash/crash/CrashNav.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/crash/ui/ApkBrokenScreen.kt b/glue/src/main/kotlin/com/github/kr328/clash/crash/ui/ApkBrokenScreen.kt similarity index 98% rename from app/src/main/kotlin/com/github/kr328/clash/crash/ui/ApkBrokenScreen.kt rename to glue/src/main/kotlin/com/github/kr328/clash/crash/ui/ApkBrokenScreen.kt index 840dec1ce8..07ac0c392c 100644 --- a/app/src/main/kotlin/com/github/kr328/clash/crash/ui/ApkBrokenScreen.kt +++ b/glue/src/main/kotlin/com/github/kr328/clash/crash/ui/ApkBrokenScreen.kt @@ -9,7 +9,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.PreviewWrapper -import com.github.kr328.clash.R +import com.github.kr328.clash.glue.R import com.github.kr328.clash.main.ui.CMFA_GITHUB import com.github.kr328.clash.main.ui.openLink import com.github.kr328.clash.ui.component.MihomoScaffold diff --git a/app/src/main/kotlin/com/github/kr328/clash/crash/ui/AppCrashedScreen.kt b/glue/src/main/kotlin/com/github/kr328/clash/crash/ui/AppCrashedScreen.kt similarity index 98% rename from app/src/main/kotlin/com/github/kr328/clash/crash/ui/AppCrashedScreen.kt rename to glue/src/main/kotlin/com/github/kr328/clash/crash/ui/AppCrashedScreen.kt index 9f509ec075..fe779477c9 100644 --- a/app/src/main/kotlin/com/github/kr328/clash/crash/ui/AppCrashedScreen.kt +++ b/glue/src/main/kotlin/com/github/kr328/clash/crash/ui/AppCrashedScreen.kt @@ -15,8 +15,8 @@ import androidx.compose.ui.tooling.preview.PreviewWrapper import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.viewmodel.compose.viewModel -import com.github.kr328.clash.R import com.github.kr328.clash.crash.vm.AppCrashedViewModel +import com.github.kr328.clash.glue.R import com.github.kr328.clash.ui.component.MihomoScaffold import com.github.kr328.clash.ui.theme.MihomoThemeWrapper import com.github.kr328.clash.ui.theme.PreviewMihomo diff --git a/app/src/main/kotlin/com/github/kr328/clash/crash/vm/AppCrashedViewModel.kt b/glue/src/main/kotlin/com/github/kr328/clash/crash/vm/AppCrashedViewModel.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/crash/vm/AppCrashedViewModel.kt rename to glue/src/main/kotlin/com/github/kr328/clash/crash/vm/AppCrashedViewModel.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/log/LogNav.kt b/glue/src/main/kotlin/com/github/kr328/clash/log/LogNav.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/log/LogNav.kt rename to glue/src/main/kotlin/com/github/kr328/clash/log/LogNav.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/log/LogcatService.kt b/glue/src/main/kotlin/com/github/kr328/clash/log/LogcatService.kt similarity index 98% rename from app/src/main/kotlin/com/github/kr328/clash/log/LogcatService.kt rename to glue/src/main/kotlin/com/github/kr328/clash/log/LogcatService.kt index 0341b32c71..03b52ccfd8 100644 --- a/app/src/main/kotlin/com/github/kr328/clash/log/LogcatService.kt +++ b/glue/src/main/kotlin/com/github/kr328/clash/log/LogcatService.kt @@ -11,8 +11,6 @@ import android.os.IInterface import androidx.core.app.NotificationChannelCompat import androidx.core.app.NotificationCompat import androidx.core.app.NotificationManagerCompat -import com.github.kr328.clash.MainActivity.Companion.intent as mainIntent -import com.github.kr328.clash.R import com.github.kr328.clash.common.compat.getColorCompat import com.github.kr328.clash.common.compat.pendingIntentFlags import com.github.kr328.clash.common.compat.startForegroundCompat @@ -20,6 +18,7 @@ import com.github.kr328.clash.common.constants.Intents import com.github.kr328.clash.common.log.Log import com.github.kr328.clash.common.util.intent import com.github.kr328.clash.core.model.LogMessage +import com.github.kr328.clash.glue.R import com.github.kr328.clash.log.util.LogcatCache import com.github.kr328.clash.log.util.LogcatWriter import com.github.kr328.clash.service.RemoteService @@ -27,6 +26,7 @@ import com.github.kr328.clash.service.remote.ILogObserver import com.github.kr328.clash.service.remote.IRemoteService import com.github.kr328.clash.service.remote.unwrap import com.github.kr328.clash.util.logsDir +import com.github.kr328.clash.util.mainIntent import java.io.IOException import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers diff --git a/app/src/main/kotlin/com/github/kr328/clash/log/ui/LogcatScreen.kt b/glue/src/main/kotlin/com/github/kr328/clash/log/ui/LogcatScreen.kt similarity index 99% rename from app/src/main/kotlin/com/github/kr328/clash/log/ui/LogcatScreen.kt rename to glue/src/main/kotlin/com/github/kr328/clash/log/ui/LogcatScreen.kt index 5b533646be..f36337aa31 100644 --- a/app/src/main/kotlin/com/github/kr328/clash/log/ui/LogcatScreen.kt +++ b/glue/src/main/kotlin/com/github/kr328/clash/log/ui/LogcatScreen.kt @@ -37,8 +37,8 @@ import androidx.compose.ui.tooling.preview.PreviewWrapper import androidx.lifecycle.compose.LocalLifecycleOwner import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.viewmodel.compose.viewModel -import com.github.kr328.clash.R import com.github.kr328.clash.core.model.LogMessage +import com.github.kr328.clash.glue.R import com.github.kr328.clash.log.vm.LogcatViewModel import com.github.kr328.clash.ui.component.MihomoScaffold import com.github.kr328.clash.ui.component.ModelProgressBarDialog diff --git a/app/src/main/kotlin/com/github/kr328/clash/log/ui/LogsScreen.kt b/glue/src/main/kotlin/com/github/kr328/clash/log/ui/LogsScreen.kt similarity index 99% rename from app/src/main/kotlin/com/github/kr328/clash/log/ui/LogsScreen.kt rename to glue/src/main/kotlin/com/github/kr328/clash/log/ui/LogsScreen.kt index 92028ddbe1..57cb8b11f0 100644 --- a/app/src/main/kotlin/com/github/kr328/clash/log/ui/LogsScreen.kt +++ b/glue/src/main/kotlin/com/github/kr328/clash/log/ui/LogsScreen.kt @@ -33,7 +33,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.PreviewWrapper import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.viewmodel.compose.viewModel -import com.github.kr328.clash.R +import com.github.kr328.clash.glue.R import com.github.kr328.clash.log.vm.LogsViewModel import com.github.kr328.clash.model.LogFile import com.github.kr328.clash.ui.component.MihomoScaffold diff --git a/app/src/main/kotlin/com/github/kr328/clash/log/util/LogcatCache.kt b/glue/src/main/kotlin/com/github/kr328/clash/log/util/LogcatCache.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/log/util/LogcatCache.kt rename to glue/src/main/kotlin/com/github/kr328/clash/log/util/LogcatCache.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/log/util/LogcatFilter.kt b/glue/src/main/kotlin/com/github/kr328/clash/log/util/LogcatFilter.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/log/util/LogcatFilter.kt rename to glue/src/main/kotlin/com/github/kr328/clash/log/util/LogcatFilter.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/log/util/LogcatReader.kt b/glue/src/main/kotlin/com/github/kr328/clash/log/util/LogcatReader.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/log/util/LogcatReader.kt rename to glue/src/main/kotlin/com/github/kr328/clash/log/util/LogcatReader.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/log/util/LogcatWriter.kt b/glue/src/main/kotlin/com/github/kr328/clash/log/util/LogcatWriter.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/log/util/LogcatWriter.kt rename to glue/src/main/kotlin/com/github/kr328/clash/log/util/LogcatWriter.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/log/vm/LogcatViewModel.kt b/glue/src/main/kotlin/com/github/kr328/clash/log/vm/LogcatViewModel.kt similarity index 99% rename from app/src/main/kotlin/com/github/kr328/clash/log/vm/LogcatViewModel.kt rename to glue/src/main/kotlin/com/github/kr328/clash/log/vm/LogcatViewModel.kt index feb554accc..9e07e6245f 100644 --- a/app/src/main/kotlin/com/github/kr328/clash/log/vm/LogcatViewModel.kt +++ b/glue/src/main/kotlin/com/github/kr328/clash/log/vm/LogcatViewModel.kt @@ -11,10 +11,10 @@ import androidx.lifecycle.DefaultLifecycleObserver import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.application import androidx.lifecycle.viewModelScope -import com.github.kr328.clash.R import com.github.kr328.clash.common.log.Log import com.github.kr328.clash.common.util.intent import com.github.kr328.clash.core.model.LogMessage +import com.github.kr328.clash.glue.R import com.github.kr328.clash.log.LogcatService import com.github.kr328.clash.log.util.LogcatFilter import com.github.kr328.clash.log.util.LogcatReader diff --git a/app/src/main/kotlin/com/github/kr328/clash/log/vm/LogsViewModel.kt b/glue/src/main/kotlin/com/github/kr328/clash/log/vm/LogsViewModel.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/log/vm/LogsViewModel.kt rename to glue/src/main/kotlin/com/github/kr328/clash/log/vm/LogsViewModel.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/main/MainNav.kt b/glue/src/main/kotlin/com/github/kr328/clash/main/MainNav.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/main/MainNav.kt rename to glue/src/main/kotlin/com/github/kr328/clash/main/MainNav.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/main/ui/HelpScreen.kt b/glue/src/main/kotlin/com/github/kr328/clash/main/ui/HelpScreen.kt similarity index 98% rename from app/src/main/kotlin/com/github/kr328/clash/main/ui/HelpScreen.kt rename to glue/src/main/kotlin/com/github/kr328/clash/main/ui/HelpScreen.kt index ccd7872011..ae87ec9398 100644 --- a/app/src/main/kotlin/com/github/kr328/clash/main/ui/HelpScreen.kt +++ b/glue/src/main/kotlin/com/github/kr328/clash/main/ui/HelpScreen.kt @@ -14,7 +14,7 @@ import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.text.fromHtml import androidx.compose.ui.tooling.preview.PreviewWrapper import androidx.core.net.toUri -import com.github.kr328.clash.R +import com.github.kr328.clash.glue.R import com.github.kr328.clash.ui.component.MihomoScaffold import com.github.kr328.clash.ui.theme.MihomoThemeWrapper import com.github.kr328.clash.ui.theme.PreviewMihomo diff --git a/app/src/main/kotlin/com/github/kr328/clash/main/ui/MainScreen.kt b/glue/src/main/kotlin/com/github/kr328/clash/main/ui/MainScreen.kt similarity index 99% rename from app/src/main/kotlin/com/github/kr328/clash/main/ui/MainScreen.kt rename to glue/src/main/kotlin/com/github/kr328/clash/main/ui/MainScreen.kt index 6edf3d3781..000aa59573 100644 --- a/app/src/main/kotlin/com/github/kr328/clash/main/ui/MainScreen.kt +++ b/glue/src/main/kotlin/com/github/kr328/clash/main/ui/MainScreen.kt @@ -45,7 +45,7 @@ import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.LocalLifecycleOwner import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.viewmodel.compose.viewModel -import com.github.kr328.clash.R +import com.github.kr328.clash.glue.R import com.github.kr328.clash.main.vm.MainViewModel import com.github.kr328.clash.ui.component.MihomoScaffold import com.github.kr328.clash.ui.icon.BaselineApps diff --git a/app/src/main/kotlin/com/github/kr328/clash/main/vm/MainViewModel.kt b/glue/src/main/kotlin/com/github/kr328/clash/main/vm/MainViewModel.kt similarity index 99% rename from app/src/main/kotlin/com/github/kr328/clash/main/vm/MainViewModel.kt rename to glue/src/main/kotlin/com/github/kr328/clash/main/vm/MainViewModel.kt index 717f2b8fe1..d428615e06 100644 --- a/app/src/main/kotlin/com/github/kr328/clash/main/vm/MainViewModel.kt +++ b/glue/src/main/kotlin/com/github/kr328/clash/main/vm/MainViewModel.kt @@ -7,10 +7,10 @@ import androidx.lifecycle.DefaultLifecycleObserver import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.application import androidx.lifecycle.viewModelScope -import com.github.kr328.clash.R import com.github.kr328.clash.common.log.Log import com.github.kr328.clash.core.bridge.Bridge import com.github.kr328.clash.core.util.trafficTotal +import com.github.kr328.clash.glue.R import com.github.kr328.clash.remote.Remote import com.github.kr328.clash.util.startClashService import com.github.kr328.clash.util.stopClashService diff --git a/app/src/main/kotlin/com/github/kr328/clash/model/AppInfo.kt b/glue/src/main/kotlin/com/github/kr328/clash/model/AppInfo.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/model/AppInfo.kt rename to glue/src/main/kotlin/com/github/kr328/clash/model/AppInfo.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/model/AppInfoSort.kt b/glue/src/main/kotlin/com/github/kr328/clash/model/AppInfoSort.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/model/AppInfoSort.kt rename to glue/src/main/kotlin/com/github/kr328/clash/model/AppInfoSort.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/model/DarkMode.kt b/glue/src/main/kotlin/com/github/kr328/clash/model/DarkMode.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/model/DarkMode.kt rename to glue/src/main/kotlin/com/github/kr328/clash/model/DarkMode.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/model/File.kt b/glue/src/main/kotlin/com/github/kr328/clash/model/File.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/model/File.kt rename to glue/src/main/kotlin/com/github/kr328/clash/model/File.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/model/LogFile.kt b/glue/src/main/kotlin/com/github/kr328/clash/model/LogFile.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/model/LogFile.kt rename to glue/src/main/kotlin/com/github/kr328/clash/model/LogFile.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/model/ProfileProvider.kt b/glue/src/main/kotlin/com/github/kr328/clash/model/ProfileProvider.kt similarity index 97% rename from app/src/main/kotlin/com/github/kr328/clash/model/ProfileProvider.kt rename to glue/src/main/kotlin/com/github/kr328/clash/model/ProfileProvider.kt index e0a6debcbb..0633c8bc4d 100644 --- a/app/src/main/kotlin/com/github/kr328/clash/model/ProfileProvider.kt +++ b/glue/src/main/kotlin/com/github/kr328/clash/model/ProfileProvider.kt @@ -3,7 +3,7 @@ package com.github.kr328.clash.model import android.content.Context import android.content.Intent import androidx.compose.ui.graphics.vector.ImageVector -import com.github.kr328.clash.R +import com.github.kr328.clash.glue.R import com.github.kr328.clash.ui.icon.BaselineAttachFile import com.github.kr328.clash.ui.icon.BaselineCloudDownload import com.github.kr328.clash.ui.icon.BaselineQrCodeScanner diff --git a/app/src/main/kotlin/com/github/kr328/clash/nav/MihomoNavDisplay.kt b/glue/src/main/kotlin/com/github/kr328/clash/nav/MihomoNavDisplay.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/nav/MihomoNavDisplay.kt rename to glue/src/main/kotlin/com/github/kr328/clash/nav/MihomoNavDisplay.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/profile/ProfilesNav.kt b/glue/src/main/kotlin/com/github/kr328/clash/profile/ProfilesNav.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/profile/ProfilesNav.kt rename to glue/src/main/kotlin/com/github/kr328/clash/profile/ProfilesNav.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/profile/ui/FilesScreen.kt b/glue/src/main/kotlin/com/github/kr328/clash/profile/ui/FilesScreen.kt similarity index 99% rename from app/src/main/kotlin/com/github/kr328/clash/profile/ui/FilesScreen.kt rename to glue/src/main/kotlin/com/github/kr328/clash/profile/ui/FilesScreen.kt index 2ab1aff5cc..f0bbf31c67 100644 --- a/app/src/main/kotlin/com/github/kr328/clash/profile/ui/FilesScreen.kt +++ b/glue/src/main/kotlin/com/github/kr328/clash/profile/ui/FilesScreen.kt @@ -46,8 +46,8 @@ import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.LocalLifecycleOwner import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.viewmodel.compose.viewModel -import com.github.kr328.clash.R import com.github.kr328.clash.common.util.grantPermissions +import com.github.kr328.clash.glue.R import com.github.kr328.clash.model.File import com.github.kr328.clash.profile.vm.FilesViewModel import com.github.kr328.clash.ui.component.MihomoScaffold diff --git a/app/src/main/kotlin/com/github/kr328/clash/profile/ui/NewProfileScreen.kt b/glue/src/main/kotlin/com/github/kr328/clash/profile/ui/NewProfileScreen.kt similarity index 99% rename from app/src/main/kotlin/com/github/kr328/clash/profile/ui/NewProfileScreen.kt rename to glue/src/main/kotlin/com/github/kr328/clash/profile/ui/NewProfileScreen.kt index 9a13b58bea..da5d9d39fc 100644 --- a/app/src/main/kotlin/com/github/kr328/clash/profile/ui/NewProfileScreen.kt +++ b/glue/src/main/kotlin/com/github/kr328/clash/profile/ui/NewProfileScreen.kt @@ -38,8 +38,8 @@ import androidx.compose.ui.tooling.preview.PreviewWrapper import androidx.core.graphics.drawable.toBitmap import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.viewmodel.compose.viewModel -import com.github.kr328.clash.R import com.github.kr328.clash.common.constants.Intents +import com.github.kr328.clash.glue.R import com.github.kr328.clash.model.ProfileProvider import com.github.kr328.clash.profile.vm.NewProfileViewModel import com.github.kr328.clash.ui.component.MihomoScaffold diff --git a/app/src/main/kotlin/com/github/kr328/clash/profile/ui/ProfilesScreen.kt b/glue/src/main/kotlin/com/github/kr328/clash/profile/ui/ProfilesScreen.kt similarity index 99% rename from app/src/main/kotlin/com/github/kr328/clash/profile/ui/ProfilesScreen.kt rename to glue/src/main/kotlin/com/github/kr328/clash/profile/ui/ProfilesScreen.kt index a8430416f0..929e437970 100644 --- a/app/src/main/kotlin/com/github/kr328/clash/profile/ui/ProfilesScreen.kt +++ b/glue/src/main/kotlin/com/github/kr328/clash/profile/ui/ProfilesScreen.kt @@ -49,7 +49,7 @@ import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.LocalLifecycleOwner import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.viewmodel.compose.viewModel -import com.github.kr328.clash.R +import com.github.kr328.clash.glue.R import com.github.kr328.clash.profile.vm.ProfilesViewModel import com.github.kr328.clash.service.model.Profile import com.github.kr328.clash.ui.component.MihomoScaffold diff --git a/app/src/main/kotlin/com/github/kr328/clash/profile/ui/PropertiesScreen.kt b/glue/src/main/kotlin/com/github/kr328/clash/profile/ui/PropertiesScreen.kt similarity index 99% rename from app/src/main/kotlin/com/github/kr328/clash/profile/ui/PropertiesScreen.kt rename to glue/src/main/kotlin/com/github/kr328/clash/profile/ui/PropertiesScreen.kt index f89c4cb42c..b8793dc62d 100644 --- a/app/src/main/kotlin/com/github/kr328/clash/profile/ui/PropertiesScreen.kt +++ b/glue/src/main/kotlin/com/github/kr328/clash/profile/ui/PropertiesScreen.kt @@ -31,7 +31,7 @@ import androidx.compose.ui.tooling.preview.PreviewWrapper import androidx.lifecycle.compose.LocalLifecycleOwner import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.viewmodel.compose.viewModel -import com.github.kr328.clash.R +import com.github.kr328.clash.glue.R import com.github.kr328.clash.profile.vm.PropertiesViewModel import com.github.kr328.clash.service.model.Profile import com.github.kr328.clash.ui.component.MihomoScaffold diff --git a/app/src/main/kotlin/com/github/kr328/clash/profile/ui/ProvidersScreen.kt b/glue/src/main/kotlin/com/github/kr328/clash/profile/ui/ProvidersScreen.kt similarity index 99% rename from app/src/main/kotlin/com/github/kr328/clash/profile/ui/ProvidersScreen.kt rename to glue/src/main/kotlin/com/github/kr328/clash/profile/ui/ProvidersScreen.kt index e0126107f5..fe35e66a64 100644 --- a/app/src/main/kotlin/com/github/kr328/clash/profile/ui/ProvidersScreen.kt +++ b/glue/src/main/kotlin/com/github/kr328/clash/profile/ui/ProvidersScreen.kt @@ -34,8 +34,8 @@ import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.LocalLifecycleOwner import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.viewmodel.compose.viewModel -import com.github.kr328.clash.R import com.github.kr328.clash.core.model.Provider +import com.github.kr328.clash.glue.R import com.github.kr328.clash.profile.vm.ProvidersViewModel import com.github.kr328.clash.profile.vm.ProvidersViewModel.UiState.ProviderItemState import com.github.kr328.clash.ui.component.MihomoScaffold diff --git a/app/src/main/kotlin/com/github/kr328/clash/profile/vm/FilesViewModel.kt b/glue/src/main/kotlin/com/github/kr328/clash/profile/vm/FilesViewModel.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/profile/vm/FilesViewModel.kt rename to glue/src/main/kotlin/com/github/kr328/clash/profile/vm/FilesViewModel.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/profile/vm/NewProfileViewModel.kt b/glue/src/main/kotlin/com/github/kr328/clash/profile/vm/NewProfileViewModel.kt similarity index 99% rename from app/src/main/kotlin/com/github/kr328/clash/profile/vm/NewProfileViewModel.kt rename to glue/src/main/kotlin/com/github/kr328/clash/profile/vm/NewProfileViewModel.kt index 46b2e7f389..f56154b5b2 100644 --- a/app/src/main/kotlin/com/github/kr328/clash/profile/vm/NewProfileViewModel.kt +++ b/glue/src/main/kotlin/com/github/kr328/clash/profile/vm/NewProfileViewModel.kt @@ -7,9 +7,9 @@ import android.net.Uri import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.application import androidx.lifecycle.viewModelScope -import com.github.kr328.clash.R import com.github.kr328.clash.common.constants.Intents import com.github.kr328.clash.common.log.Log +import com.github.kr328.clash.glue.R import com.github.kr328.clash.model.ProfileProvider import com.github.kr328.clash.service.model.Profile import com.github.kr328.clash.util.withProfile diff --git a/app/src/main/kotlin/com/github/kr328/clash/profile/vm/ProfilesViewModel.kt b/glue/src/main/kotlin/com/github/kr328/clash/profile/vm/ProfilesViewModel.kt similarity index 99% rename from app/src/main/kotlin/com/github/kr328/clash/profile/vm/ProfilesViewModel.kt rename to glue/src/main/kotlin/com/github/kr328/clash/profile/vm/ProfilesViewModel.kt index 0bfff36368..db33399af5 100644 --- a/app/src/main/kotlin/com/github/kr328/clash/profile/vm/ProfilesViewModel.kt +++ b/glue/src/main/kotlin/com/github/kr328/clash/profile/vm/ProfilesViewModel.kt @@ -6,7 +6,7 @@ import androidx.lifecycle.DefaultLifecycleObserver import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.application import androidx.lifecycle.viewModelScope -import com.github.kr328.clash.R +import com.github.kr328.clash.glue.R import com.github.kr328.clash.remote.Remote import com.github.kr328.clash.service.model.Profile import com.github.kr328.clash.util.withProfile diff --git a/app/src/main/kotlin/com/github/kr328/clash/profile/vm/PropertiesViewModel.kt b/glue/src/main/kotlin/com/github/kr328/clash/profile/vm/PropertiesViewModel.kt similarity index 99% rename from app/src/main/kotlin/com/github/kr328/clash/profile/vm/PropertiesViewModel.kt rename to glue/src/main/kotlin/com/github/kr328/clash/profile/vm/PropertiesViewModel.kt index ccb7a1ba97..02842fd00c 100644 --- a/app/src/main/kotlin/com/github/kr328/clash/profile/vm/PropertiesViewModel.kt +++ b/glue/src/main/kotlin/com/github/kr328/clash/profile/vm/PropertiesViewModel.kt @@ -6,10 +6,10 @@ import androidx.lifecycle.DefaultLifecycleObserver import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.application import androidx.lifecycle.viewModelScope -import com.github.kr328.clash.R import com.github.kr328.clash.common.Global import com.github.kr328.clash.common.log.Log import com.github.kr328.clash.core.model.FetchStatus +import com.github.kr328.clash.glue.R import com.github.kr328.clash.service.model.Profile import com.github.kr328.clash.util.withProfile import kotlin.uuid.Uuid diff --git a/app/src/main/kotlin/com/github/kr328/clash/profile/vm/ProvidersViewModel.kt b/glue/src/main/kotlin/com/github/kr328/clash/profile/vm/ProvidersViewModel.kt similarity index 99% rename from app/src/main/kotlin/com/github/kr328/clash/profile/vm/ProvidersViewModel.kt rename to glue/src/main/kotlin/com/github/kr328/clash/profile/vm/ProvidersViewModel.kt index 8616041291..de87e225d2 100644 --- a/app/src/main/kotlin/com/github/kr328/clash/profile/vm/ProvidersViewModel.kt +++ b/glue/src/main/kotlin/com/github/kr328/clash/profile/vm/ProvidersViewModel.kt @@ -6,9 +6,9 @@ import androidx.lifecycle.DefaultLifecycleObserver import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.application import androidx.lifecycle.viewModelScope -import com.github.kr328.clash.R import com.github.kr328.clash.common.log.Log import com.github.kr328.clash.core.model.Provider +import com.github.kr328.clash.glue.R import com.github.kr328.clash.remote.Remote import com.github.kr328.clash.util.withClash import kotlin.time.Duration.Companion.minutes diff --git a/app/src/main/kotlin/com/github/kr328/clash/proxy/ProxyNav.kt b/glue/src/main/kotlin/com/github/kr328/clash/proxy/ProxyNav.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/proxy/ProxyNav.kt rename to glue/src/main/kotlin/com/github/kr328/clash/proxy/ProxyNav.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/proxy/ui/ProxyScreen.kt b/glue/src/main/kotlin/com/github/kr328/clash/proxy/ui/ProxyScreen.kt similarity index 99% rename from app/src/main/kotlin/com/github/kr328/clash/proxy/ui/ProxyScreen.kt rename to glue/src/main/kotlin/com/github/kr328/clash/proxy/ui/ProxyScreen.kt index dff8d86ccb..cb1990f281 100644 --- a/app/src/main/kotlin/com/github/kr328/clash/proxy/ui/ProxyScreen.kt +++ b/glue/src/main/kotlin/com/github/kr328/clash/proxy/ui/ProxyScreen.kt @@ -57,10 +57,10 @@ import androidx.compose.ui.unit.dp import androidx.lifecycle.compose.LocalLifecycleOwner import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.viewmodel.compose.viewModel -import com.github.kr328.clash.R import com.github.kr328.clash.core.model.Proxy import com.github.kr328.clash.core.model.ProxySort import com.github.kr328.clash.core.model.TunnelState +import com.github.kr328.clash.glue.R import com.github.kr328.clash.proxy.vm.ProxyViewModel import com.github.kr328.clash.proxy.vm.ProxyViewModel.SelectedProxy import com.github.kr328.clash.ui.component.MihomoScaffold diff --git a/app/src/main/kotlin/com/github/kr328/clash/proxy/vm/ProxyViewModel.kt b/glue/src/main/kotlin/com/github/kr328/clash/proxy/vm/ProxyViewModel.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/proxy/vm/ProxyViewModel.kt rename to glue/src/main/kotlin/com/github/kr328/clash/proxy/vm/ProxyViewModel.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/remote/Broadcasts.kt b/glue/src/main/kotlin/com/github/kr328/clash/remote/Broadcasts.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/remote/Broadcasts.kt rename to glue/src/main/kotlin/com/github/kr328/clash/remote/Broadcasts.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/remote/FilesClient.kt b/glue/src/main/kotlin/com/github/kr328/clash/remote/FilesClient.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/remote/FilesClient.kt rename to glue/src/main/kotlin/com/github/kr328/clash/remote/FilesClient.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/remote/Remote.kt b/glue/src/main/kotlin/com/github/kr328/clash/remote/Remote.kt similarity index 96% rename from app/src/main/kotlin/com/github/kr328/clash/remote/Remote.kt rename to glue/src/main/kotlin/com/github/kr328/clash/remote/Remote.kt index 359cd83208..6faa6725ca 100644 --- a/app/src/main/kotlin/com/github/kr328/clash/remote/Remote.kt +++ b/glue/src/main/kotlin/com/github/kr328/clash/remote/Remote.kt @@ -2,13 +2,13 @@ package com.github.kr328.clash.remote import android.content.Context import android.content.Intent -import com.github.kr328.clash.MainActivity.Companion.intent as mainIntent import com.github.kr328.clash.common.Global import com.github.kr328.clash.common.Global.application import com.github.kr328.clash.common.constants.Intents import com.github.kr328.clash.common.log.Log import com.github.kr328.clash.store.AppStore import com.github.kr328.clash.util.ApplicationObserver +import com.github.kr328.clash.util.mainIntent import com.github.kr328.clash.util.verifyApk import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch diff --git a/app/src/main/kotlin/com/github/kr328/clash/remote/Resource.kt b/glue/src/main/kotlin/com/github/kr328/clash/remote/Resource.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/remote/Resource.kt rename to glue/src/main/kotlin/com/github/kr328/clash/remote/Resource.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/remote/Service.kt b/glue/src/main/kotlin/com/github/kr328/clash/remote/Service.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/remote/Service.kt rename to glue/src/main/kotlin/com/github/kr328/clash/remote/Service.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/remote/StatusClient.kt b/glue/src/main/kotlin/com/github/kr328/clash/remote/StatusClient.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/remote/StatusClient.kt rename to glue/src/main/kotlin/com/github/kr328/clash/remote/StatusClient.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/settings/SettingsNav.kt b/glue/src/main/kotlin/com/github/kr328/clash/settings/SettingsNav.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/settings/SettingsNav.kt rename to glue/src/main/kotlin/com/github/kr328/clash/settings/SettingsNav.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/settings/ui/AccessControlScreen.kt b/glue/src/main/kotlin/com/github/kr328/clash/settings/ui/AccessControlScreen.kt similarity index 99% rename from app/src/main/kotlin/com/github/kr328/clash/settings/ui/AccessControlScreen.kt rename to glue/src/main/kotlin/com/github/kr328/clash/settings/ui/AccessControlScreen.kt index 4d5849dd36..e567ab6409 100644 --- a/app/src/main/kotlin/com/github/kr328/clash/settings/ui/AccessControlScreen.kt +++ b/glue/src/main/kotlin/com/github/kr328/clash/settings/ui/AccessControlScreen.kt @@ -52,7 +52,7 @@ import androidx.compose.ui.viewinterop.AndroidView import androidx.core.graphics.drawable.toDrawable import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.viewmodel.compose.viewModel -import com.github.kr328.clash.R +import com.github.kr328.clash.glue.R import com.github.kr328.clash.model.AppInfo import com.github.kr328.clash.model.AppInfoSort import com.github.kr328.clash.settings.vm.AccessControlViewModel diff --git a/app/src/main/kotlin/com/github/kr328/clash/settings/ui/AppSettingsScreen.kt b/glue/src/main/kotlin/com/github/kr328/clash/settings/ui/AppSettingsScreen.kt similarity index 99% rename from app/src/main/kotlin/com/github/kr328/clash/settings/ui/AppSettingsScreen.kt rename to glue/src/main/kotlin/com/github/kr328/clash/settings/ui/AppSettingsScreen.kt index 7ff7e5fc63..40022e51bc 100644 --- a/app/src/main/kotlin/com/github/kr328/clash/settings/ui/AppSettingsScreen.kt +++ b/glue/src/main/kotlin/com/github/kr328/clash/settings/ui/AppSettingsScreen.kt @@ -12,7 +12,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.PreviewWrapper import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.viewmodel.compose.viewModel -import com.github.kr328.clash.R +import com.github.kr328.clash.glue.R import com.github.kr328.clash.model.DarkMode import com.github.kr328.clash.settings.vm.AppSettingsViewModel import com.github.kr328.clash.ui.component.MihomoScaffold diff --git a/app/src/main/kotlin/com/github/kr328/clash/settings/ui/EditableTextListScreen.kt b/glue/src/main/kotlin/com/github/kr328/clash/settings/ui/EditableTextListScreen.kt similarity index 99% rename from app/src/main/kotlin/com/github/kr328/clash/settings/ui/EditableTextListScreen.kt rename to glue/src/main/kotlin/com/github/kr328/clash/settings/ui/EditableTextListScreen.kt index f2603ceca1..249746dcff 100644 --- a/app/src/main/kotlin/com/github/kr328/clash/settings/ui/EditableTextListScreen.kt +++ b/glue/src/main/kotlin/com/github/kr328/clash/settings/ui/EditableTextListScreen.kt @@ -32,7 +32,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.PreviewWrapper import androidx.navigation3.runtime.EntryProviderScope import androidx.navigation3.runtime.NavKey -import com.github.kr328.clash.R +import com.github.kr328.clash.glue.R import com.github.kr328.clash.ui.component.MihomoScaffold import com.github.kr328.clash.ui.icon.BaselineAdd import com.github.kr328.clash.ui.icon.MihomoIcons diff --git a/app/src/main/kotlin/com/github/kr328/clash/settings/ui/EditableTextMapScreen.kt b/glue/src/main/kotlin/com/github/kr328/clash/settings/ui/EditableTextMapScreen.kt similarity index 99% rename from app/src/main/kotlin/com/github/kr328/clash/settings/ui/EditableTextMapScreen.kt rename to glue/src/main/kotlin/com/github/kr328/clash/settings/ui/EditableTextMapScreen.kt index 650523c72c..e370a783be 100644 --- a/app/src/main/kotlin/com/github/kr328/clash/settings/ui/EditableTextMapScreen.kt +++ b/glue/src/main/kotlin/com/github/kr328/clash/settings/ui/EditableTextMapScreen.kt @@ -34,7 +34,7 @@ import androidx.compose.ui.tooling.preview.PreviewWrapper import androidx.compose.ui.unit.dp import androidx.navigation3.runtime.EntryProviderScope import androidx.navigation3.runtime.NavKey -import com.github.kr328.clash.R +import com.github.kr328.clash.glue.R import com.github.kr328.clash.ui.component.MihomoScaffold import com.github.kr328.clash.ui.icon.BaselineAdd import com.github.kr328.clash.ui.icon.MihomoIcons diff --git a/app/src/main/kotlin/com/github/kr328/clash/settings/ui/MetaFeatureSettingsScreen.kt b/glue/src/main/kotlin/com/github/kr328/clash/settings/ui/MetaFeatureSettingsScreen.kt similarity index 99% rename from app/src/main/kotlin/com/github/kr328/clash/settings/ui/MetaFeatureSettingsScreen.kt rename to glue/src/main/kotlin/com/github/kr328/clash/settings/ui/MetaFeatureSettingsScreen.kt index 179f63bc15..38315db09c 100644 --- a/app/src/main/kotlin/com/github/kr328/clash/settings/ui/MetaFeatureSettingsScreen.kt +++ b/glue/src/main/kotlin/com/github/kr328/clash/settings/ui/MetaFeatureSettingsScreen.kt @@ -30,8 +30,8 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.viewmodel.compose.viewModel import androidx.navigation3.runtime.NavKey import androidx.navigation3.runtime.entryProvider -import com.github.kr328.clash.R import com.github.kr328.clash.core.model.ConfigurationOverride +import com.github.kr328.clash.glue.R import com.github.kr328.clash.nav.MihomoNavDisplay import com.github.kr328.clash.nav.addIfNotLast import com.github.kr328.clash.nav.rememberNavBackStackBuilder diff --git a/app/src/main/kotlin/com/github/kr328/clash/settings/ui/NetworkSettingsScreen.kt b/glue/src/main/kotlin/com/github/kr328/clash/settings/ui/NetworkSettingsScreen.kt similarity index 99% rename from app/src/main/kotlin/com/github/kr328/clash/settings/ui/NetworkSettingsScreen.kt rename to glue/src/main/kotlin/com/github/kr328/clash/settings/ui/NetworkSettingsScreen.kt index 64e8df6e05..8c8a5c2174 100644 --- a/app/src/main/kotlin/com/github/kr328/clash/settings/ui/NetworkSettingsScreen.kt +++ b/glue/src/main/kotlin/com/github/kr328/clash/settings/ui/NetworkSettingsScreen.kt @@ -17,7 +17,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.PreviewWrapper import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.viewmodel.compose.viewModel -import com.github.kr328.clash.R +import com.github.kr328.clash.glue.R import com.github.kr328.clash.service.model.AccessControlMode import com.github.kr328.clash.settings.vm.NetworkSettingsViewModel import com.github.kr328.clash.ui.component.MihomoScaffold diff --git a/app/src/main/kotlin/com/github/kr328/clash/settings/ui/OverrideSettingsScreen.kt b/glue/src/main/kotlin/com/github/kr328/clash/settings/ui/OverrideSettingsScreen.kt similarity index 99% rename from app/src/main/kotlin/com/github/kr328/clash/settings/ui/OverrideSettingsScreen.kt rename to glue/src/main/kotlin/com/github/kr328/clash/settings/ui/OverrideSettingsScreen.kt index a8ef1a2973..67789bde14 100644 --- a/app/src/main/kotlin/com/github/kr328/clash/settings/ui/OverrideSettingsScreen.kt +++ b/glue/src/main/kotlin/com/github/kr328/clash/settings/ui/OverrideSettingsScreen.kt @@ -36,10 +36,10 @@ import androidx.lifecycle.compose.collectAsStateWithLifecycle import androidx.lifecycle.viewmodel.compose.viewModel import androidx.navigation3.runtime.NavKey import androidx.navigation3.runtime.entryProvider -import com.github.kr328.clash.R import com.github.kr328.clash.core.model.ConfigurationOverride import com.github.kr328.clash.core.model.LogMessage import com.github.kr328.clash.core.model.TunnelState +import com.github.kr328.clash.glue.R import com.github.kr328.clash.nav.MihomoNavDisplay import com.github.kr328.clash.nav.addIfNotLast import com.github.kr328.clash.nav.rememberNavBackStackBuilder diff --git a/app/src/main/kotlin/com/github/kr328/clash/settings/ui/PreferenceExtensions.kt b/glue/src/main/kotlin/com/github/kr328/clash/settings/ui/PreferenceExtensions.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/settings/ui/PreferenceExtensions.kt rename to glue/src/main/kotlin/com/github/kr328/clash/settings/ui/PreferenceExtensions.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/settings/ui/SettingsPreference.kt b/glue/src/main/kotlin/com/github/kr328/clash/settings/ui/SettingsPreference.kt similarity index 96% rename from app/src/main/kotlin/com/github/kr328/clash/settings/ui/SettingsPreference.kt rename to glue/src/main/kotlin/com/github/kr328/clash/settings/ui/SettingsPreference.kt index b3c47b8582..302d64211f 100644 --- a/app/src/main/kotlin/com/github/kr328/clash/settings/ui/SettingsPreference.kt +++ b/glue/src/main/kotlin/com/github/kr328/clash/settings/ui/SettingsPreference.kt @@ -10,7 +10,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.TextRange import androidx.compose.ui.text.input.TextFieldValue -import com.github.kr328.clash.R +import com.github.kr328.clash.glue.R @Composable fun EmptyEditorContent(modifier: Modifier = Modifier) { diff --git a/app/src/main/kotlin/com/github/kr328/clash/settings/ui/SettingsScreen.kt b/glue/src/main/kotlin/com/github/kr328/clash/settings/ui/SettingsScreen.kt similarity index 99% rename from app/src/main/kotlin/com/github/kr328/clash/settings/ui/SettingsScreen.kt rename to glue/src/main/kotlin/com/github/kr328/clash/settings/ui/SettingsScreen.kt index e6eb225cbb..f6dda4339e 100644 --- a/app/src/main/kotlin/com/github/kr328/clash/settings/ui/SettingsScreen.kt +++ b/glue/src/main/kotlin/com/github/kr328/clash/settings/ui/SettingsScreen.kt @@ -22,7 +22,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.PreviewWrapper -import com.github.kr328.clash.R +import com.github.kr328.clash.glue.R import com.github.kr328.clash.ui.component.MihomoScaffold import com.github.kr328.clash.ui.icon.BaselineDns import com.github.kr328.clash.ui.icon.BaselineExtension diff --git a/app/src/main/kotlin/com/github/kr328/clash/settings/vm/AccessControlViewModel.kt b/glue/src/main/kotlin/com/github/kr328/clash/settings/vm/AccessControlViewModel.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/settings/vm/AccessControlViewModel.kt rename to glue/src/main/kotlin/com/github/kr328/clash/settings/vm/AccessControlViewModel.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/settings/vm/AppSettingsViewModel.kt b/glue/src/main/kotlin/com/github/kr328/clash/settings/vm/AppSettingsViewModel.kt similarity index 95% rename from app/src/main/kotlin/com/github/kr328/clash/settings/vm/AppSettingsViewModel.kt rename to glue/src/main/kotlin/com/github/kr328/clash/settings/vm/AppSettingsViewModel.kt index 7eb8502870..64c99e45b6 100644 --- a/app/src/main/kotlin/com/github/kr328/clash/settings/vm/AppSettingsViewModel.kt +++ b/glue/src/main/kotlin/com/github/kr328/clash/settings/vm/AppSettingsViewModel.kt @@ -5,7 +5,6 @@ import android.content.pm.PackageManager import androidx.core.content.pm.ShortcutManagerCompat import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.application -import com.github.kr328.clash.RestartReceiver import com.github.kr328.clash.common.util.componentName import com.github.kr328.clash.model.DarkMode import com.github.kr328.clash.remote.Remote @@ -65,7 +64,7 @@ class AppSettingsViewModel(app: Application) : AndroidViewModel(app) { private var autoRestartValue: Boolean get() { - val status = pm.getComponentEnabledSetting(RestartReceiver::class.componentName) + val status = pm.getComponentEnabledSetting(RestartReceiverClass.componentName) return status == PackageManager.COMPONENT_ENABLED_STATE_ENABLED } set(value) { @@ -74,7 +73,7 @@ class AppSettingsViewModel(app: Application) : AndroidViewModel(app) { else PackageManager.COMPONENT_ENABLED_STATE_DISABLED pm.setComponentEnabledSetting( - RestartReceiver::class.componentName, + RestartReceiverClass.componentName, status, PackageManager.DONT_KILL_APP, ) @@ -106,3 +105,5 @@ class AppSettingsViewModel(app: Application) : AndroidViewModel(app) { val dynamicNotification: Boolean, ) } + +private val RestartReceiverClass = Class.forName("com.github.kr328.clash.RestartReceiver") diff --git a/app/src/main/kotlin/com/github/kr328/clash/settings/vm/MetaFeatureSettingsViewModel.kt b/glue/src/main/kotlin/com/github/kr328/clash/settings/vm/MetaFeatureSettingsViewModel.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/settings/vm/MetaFeatureSettingsViewModel.kt rename to glue/src/main/kotlin/com/github/kr328/clash/settings/vm/MetaFeatureSettingsViewModel.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/settings/vm/NetworkSettingsViewModel.kt b/glue/src/main/kotlin/com/github/kr328/clash/settings/vm/NetworkSettingsViewModel.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/settings/vm/NetworkSettingsViewModel.kt rename to glue/src/main/kotlin/com/github/kr328/clash/settings/vm/NetworkSettingsViewModel.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/settings/vm/OverrideSettingsViewModel.kt b/glue/src/main/kotlin/com/github/kr328/clash/settings/vm/OverrideSettingsViewModel.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/settings/vm/OverrideSettingsViewModel.kt rename to glue/src/main/kotlin/com/github/kr328/clash/settings/vm/OverrideSettingsViewModel.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/store/AppStore.kt b/glue/src/main/kotlin/com/github/kr328/clash/store/AppStore.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/store/AppStore.kt rename to glue/src/main/kotlin/com/github/kr328/clash/store/AppStore.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/store/UiStore.kt b/glue/src/main/kotlin/com/github/kr328/clash/store/UiStore.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/store/UiStore.kt rename to glue/src/main/kotlin/com/github/kr328/clash/store/UiStore.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/DayNight.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/DayNight.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/DayNight.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/DayNight.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/component/MihomoScaffold.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/component/MihomoScaffold.kt similarity index 98% rename from app/src/main/kotlin/com/github/kr328/clash/ui/component/MihomoScaffold.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/component/MihomoScaffold.kt index 113a34a5ff..6763aaac45 100644 --- a/app/src/main/kotlin/com/github/kr328/clash/ui/component/MihomoScaffold.kt +++ b/glue/src/main/kotlin/com/github/kr328/clash/ui/component/MihomoScaffold.kt @@ -16,7 +16,7 @@ import androidx.compose.runtime.Composable import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextOverflow -import com.github.kr328.clash.R +import com.github.kr328.clash.glue.R import com.github.kr328.clash.ui.icon.BaselineArrowBack import com.github.kr328.clash.ui.icon.MihomoIcons diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/component/ModelProgressBarDialog.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/component/ModelProgressBarDialog.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/component/ModelProgressBarDialog.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/component/ModelProgressBarDialog.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/component/ModelTextInputDialog.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/component/ModelTextInputDialog.kt similarity index 98% rename from app/src/main/kotlin/com/github/kr328/clash/ui/component/ModelTextInputDialog.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/component/ModelTextInputDialog.kt index a142162d3c..50b8f51ce2 100644 --- a/app/src/main/kotlin/com/github/kr328/clash/ui/component/ModelTextInputDialog.kt +++ b/glue/src/main/kotlin/com/github/kr328/clash/ui/component/ModelTextInputDialog.kt @@ -18,7 +18,7 @@ import androidx.compose.ui.platform.LocalSoftwareKeyboardController import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.TextRange import androidx.compose.ui.text.input.TextFieldValue -import com.github.kr328.clash.R +import com.github.kr328.clash.glue.R import com.github.kr328.clash.util.Validator @Composable diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineAdb.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineAdb.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineAdb.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineAdb.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineAdd.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineAdd.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineAdd.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineAdd.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineApps.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineApps.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineApps.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineApps.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineArrowBack.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineArrowBack.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineArrowBack.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineArrowBack.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineAssignment.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineAssignment.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineAssignment.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineAssignment.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineAttachFile.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineAttachFile.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineAttachFile.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineAttachFile.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineBrightness4.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineBrightness4.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineBrightness4.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineBrightness4.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineClearAll.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineClearAll.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineClearAll.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineClearAll.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineCloudDownload.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineCloudDownload.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineCloudDownload.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineCloudDownload.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineContentCopy.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineContentCopy.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineContentCopy.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineContentCopy.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineDelete.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineDelete.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineDelete.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineDelete.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineDns.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineDns.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineDns.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineDns.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineDomain.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineDomain.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineDomain.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineDomain.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineEdit.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineEdit.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineEdit.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineEdit.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineExtension.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineExtension.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineExtension.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineExtension.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineFlashOn.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineFlashOn.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineFlashOn.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineFlashOn.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineGetApp.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineGetApp.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineGetApp.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineGetApp.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineHelpCenter.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineHelpCenter.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineHelpCenter.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineHelpCenter.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineHide.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineHide.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineHide.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineHide.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineInfo.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineInfo.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineInfo.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineInfo.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineMeta.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineMeta.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineMeta.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineMeta.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineMoreVert.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineMoreVert.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineMoreVert.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineMoreVert.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselinePublish.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselinePublish.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselinePublish.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselinePublish.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineQrCodeScanner.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineQrCodeScanner.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineQrCodeScanner.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineQrCodeScanner.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineReplay.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineReplay.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineReplay.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineReplay.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineRestore.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineRestore.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineRestore.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineRestore.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineSave.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineSave.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineSave.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineSave.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineSearch.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineSearch.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineSearch.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineSearch.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineSettings.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineSettings.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineSettings.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineSettings.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineStack.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineStack.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineStack.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineStack.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineStop.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineStop.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineStop.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineStop.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineSwapVert.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineSwapVert.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineSwapVert.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineSwapVert.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineSwapVerticalCircle.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineSwapVerticalCircle.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineSwapVerticalCircle.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineSwapVerticalCircle.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineSync.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineSync.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineSync.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineSync.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineUpdate.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineUpdate.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineUpdate.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineUpdate.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineViewList.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineViewList.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineViewList.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineViewList.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineVpnLock.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineVpnLock.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineVpnLock.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/BaselineVpnLock.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/Clash.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/Clash.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/Clash.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/Clash.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/MihomoIcons.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/MihomoIcons.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/MihomoIcons.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/MihomoIcons.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/OutlineArticle.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/OutlineArticle.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/OutlineArticle.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/OutlineArticle.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/OutlineCheckCircle.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/OutlineCheckCircle.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/OutlineCheckCircle.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/OutlineCheckCircle.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/OutlineDelete.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/OutlineDelete.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/OutlineDelete.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/OutlineDelete.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/OutlineFolder.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/OutlineFolder.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/OutlineFolder.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/OutlineFolder.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/OutlineInbox.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/OutlineInbox.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/OutlineInbox.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/OutlineInbox.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/OutlineInfo.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/OutlineInfo.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/OutlineInfo.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/OutlineInfo.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/OutlineLabel.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/OutlineLabel.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/OutlineLabel.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/OutlineLabel.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/OutlineNotInterested.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/OutlineNotInterested.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/OutlineNotInterested.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/OutlineNotInterested.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/icon/OutlineUpdate.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/icon/OutlineUpdate.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/icon/OutlineUpdate.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/icon/OutlineUpdate.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/theme/Color.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/theme/Color.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/theme/Color.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/theme/Color.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/theme/Theme.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/theme/Theme.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/theme/Theme.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/theme/Theme.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/ui/theme/Type.kt b/glue/src/main/kotlin/com/github/kr328/clash/ui/theme/Type.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/ui/theme/Type.kt rename to glue/src/main/kotlin/com/github/kr328/clash/ui/theme/Type.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/util/App.kt b/glue/src/main/kotlin/com/github/kr328/clash/util/App.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/util/App.kt rename to glue/src/main/kotlin/com/github/kr328/clash/util/App.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/util/Application.kt b/glue/src/main/kotlin/com/github/kr328/clash/util/Application.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/util/Application.kt rename to glue/src/main/kotlin/com/github/kr328/clash/util/Application.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/util/Clash.kt b/glue/src/main/kotlin/com/github/kr328/clash/util/Clash.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/util/Clash.kt rename to glue/src/main/kotlin/com/github/kr328/clash/util/Clash.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/util/Content.kt b/glue/src/main/kotlin/com/github/kr328/clash/util/Content.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/util/Content.kt rename to glue/src/main/kotlin/com/github/kr328/clash/util/Content.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/util/Context.kt b/glue/src/main/kotlin/com/github/kr328/clash/util/Context.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/util/Context.kt rename to glue/src/main/kotlin/com/github/kr328/clash/util/Context.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/util/I18n.kt b/glue/src/main/kotlin/com/github/kr328/clash/util/I18n.kt similarity index 97% rename from app/src/main/kotlin/com/github/kr328/clash/util/I18n.kt rename to glue/src/main/kotlin/com/github/kr328/clash/util/I18n.kt index 11e7570e3e..5114a5163b 100644 --- a/app/src/main/kotlin/com/github/kr328/clash/util/I18n.kt +++ b/glue/src/main/kotlin/com/github/kr328/clash/util/I18n.kt @@ -1,9 +1,9 @@ package com.github.kr328.clash.util import android.content.Context -import com.github.kr328.clash.R import com.github.kr328.clash.common.compat.preferredLocale import com.github.kr328.clash.core.model.Provider +import com.github.kr328.clash.glue.R import com.github.kr328.clash.service.model.Profile import java.text.SimpleDateFormat import java.util.Date diff --git a/glue/src/main/kotlin/com/github/kr328/clash/util/Intent.kt b/glue/src/main/kotlin/com/github/kr328/clash/util/Intent.kt new file mode 100644 index 0000000000..e1e722c1f3 --- /dev/null +++ b/glue/src/main/kotlin/com/github/kr328/clash/util/Intent.kt @@ -0,0 +1,7 @@ +package com.github.kr328.clash.util + +import android.content.Context +import android.content.Intent + +fun mainIntent(context: Context, action: String? = null) = + Intent(context, Class.forName("com.github.kr328.clash.MainActivity")).setAction(action) diff --git a/app/src/main/kotlin/com/github/kr328/clash/util/Interval.kt b/glue/src/main/kotlin/com/github/kr328/clash/util/Interval.kt similarity index 94% rename from app/src/main/kotlin/com/github/kr328/clash/util/Interval.kt rename to glue/src/main/kotlin/com/github/kr328/clash/util/Interval.kt index 92e864842c..cac21765e9 100644 --- a/app/src/main/kotlin/com/github/kr328/clash/util/Interval.kt +++ b/glue/src/main/kotlin/com/github/kr328/clash/util/Interval.kt @@ -1,7 +1,7 @@ package com.github.kr328.clash.util import android.content.Context -import com.github.kr328.clash.R +import com.github.kr328.clash.glue.R import kotlin.time.Duration.Companion.milliseconds fun Long.elapsedIntervalString(context: Context): String { diff --git a/app/src/main/kotlin/com/github/kr328/clash/util/Remote.kt b/glue/src/main/kotlin/com/github/kr328/clash/util/Remote.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/util/Remote.kt rename to glue/src/main/kotlin/com/github/kr328/clash/util/Remote.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/util/Service.kt b/glue/src/main/kotlin/com/github/kr328/clash/util/Service.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/util/Service.kt rename to glue/src/main/kotlin/com/github/kr328/clash/util/Service.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/util/Toast.kt b/glue/src/main/kotlin/com/github/kr328/clash/util/Toast.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/util/Toast.kt rename to glue/src/main/kotlin/com/github/kr328/clash/util/Toast.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/util/Uri.kt b/glue/src/main/kotlin/com/github/kr328/clash/util/Uri.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/util/Uri.kt rename to glue/src/main/kotlin/com/github/kr328/clash/util/Uri.kt diff --git a/app/src/main/kotlin/com/github/kr328/clash/util/Validator.kt b/glue/src/main/kotlin/com/github/kr328/clash/util/Validator.kt similarity index 100% rename from app/src/main/kotlin/com/github/kr328/clash/util/Validator.kt rename to glue/src/main/kotlin/com/github/kr328/clash/util/Validator.kt diff --git a/app/src/main/res/values-ja-rJP/strings.xml b/glue/src/main/res/values-ja-rJP/strings.xml similarity index 100% rename from app/src/main/res/values-ja-rJP/strings.xml rename to glue/src/main/res/values-ja-rJP/strings.xml diff --git a/app/src/main/res/values-ko-rKR/strings.xml b/glue/src/main/res/values-ko-rKR/strings.xml similarity index 100% rename from app/src/main/res/values-ko-rKR/strings.xml rename to glue/src/main/res/values-ko-rKR/strings.xml diff --git a/app/src/main/res/values-ru/strings.xml b/glue/src/main/res/values-ru/strings.xml similarity index 100% rename from app/src/main/res/values-ru/strings.xml rename to glue/src/main/res/values-ru/strings.xml diff --git a/app/src/main/res/values-vi/strings.xml b/glue/src/main/res/values-vi/strings.xml similarity index 100% rename from app/src/main/res/values-vi/strings.xml rename to glue/src/main/res/values-vi/strings.xml diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/glue/src/main/res/values-zh-rHK/strings.xml similarity index 100% rename from app/src/main/res/values-zh-rHK/strings.xml rename to glue/src/main/res/values-zh-rHK/strings.xml diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/glue/src/main/res/values-zh-rTW/strings.xml similarity index 100% rename from app/src/main/res/values-zh-rTW/strings.xml rename to glue/src/main/res/values-zh-rTW/strings.xml diff --git a/app/src/main/res/values-zh/strings.xml b/glue/src/main/res/values-zh/strings.xml similarity index 100% rename from app/src/main/res/values-zh/strings.xml rename to glue/src/main/res/values-zh/strings.xml diff --git a/glue/src/main/res/values/colors.xml b/glue/src/main/res/values/colors.xml new file mode 100644 index 0000000000..fab8cdc538 --- /dev/null +++ b/glue/src/main/res/values/colors.xml @@ -0,0 +1,17 @@ + + + #1e4376 + #1976d2 + #50000000 + #FFFAFAFA + #FF121212 + #FF202020 + #FF808080 + #FFD3D3D3 + #FF808080 + #FFB00020 + #FFFFFF + + #FFFFFF + #FFFFFF + diff --git a/app/src/main/res/values/ids.xml b/glue/src/main/res/values/ids.xml similarity index 100% rename from app/src/main/res/values/ids.xml rename to glue/src/main/res/values/ids.xml diff --git a/app/src/main/res/values/strings.xml b/glue/src/main/res/values/strings.xml similarity index 100% rename from app/src/main/res/values/strings.xml rename to glue/src/main/res/values/strings.xml diff --git a/settings.gradle.kts b/settings.gradle.kts index 53d0885596..4f9d43d532 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -43,4 +43,4 @@ enableFeaturePreview("TYPESAFE_PROJECT_ACCESSORS") enableFeaturePreview("STABLE_CONFIGURATION_CACHE") -include(":app", ":core", ":service", ":common") +include(":app", ":core", ":service", ":common", ":glue")