diff --git a/README.md b/README.md index e928b66..80f6a32 100644 --- a/README.md +++ b/README.md @@ -22,8 +22,8 @@ Note: debug builds are only available in Github Actions ## Usage + Through jar -1. Download `lspatch.jar` -1. Run `java -jar lspatch.jar` +1. Download `npatch.jar` +1. Run `java -jar npatch.jar` + Through manager 1. Download and install `manager.apk` on an Android device diff --git a/build.gradle.kts b/build.gradle.kts index cfb9a66..2d58fb4 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -10,8 +10,8 @@ import org.gradle.kotlin.dsl.extra plugins { alias(libs.plugins.agp.lib) apply false alias(libs.plugins.agp.app) apply false - alias(lspatch.plugins.compose.compiler) apply false - alias(lspatch.plugins.kotlin.android) apply false + alias(npatch.plugins.compose.compiler) apply false + alias(npatch.plugins.kotlin.android) apply false } buildscript { @@ -156,6 +156,7 @@ fun Project.configureBaseExtension() { } } named("release") { + signingConfig = null externalNativeBuild { cmake { val flags = arrayOf( @@ -197,9 +198,12 @@ fun Project.configureBaseExtension() { extensions.findByType(ApplicationAndroidComponentsExtension::class)?.let { androidComponents -> val optimizeReleaseRes = task("optimizeReleaseRes").doLast { + val isWindows = System.getProperty("os.name").lowercase().contains("windows") + val aapt2Name = if (isWindows) "aapt2.exe" else "aapt2" + val aapt2 = File( androidComponents.sdkComponents.sdkDirectory.get().asFile, - "build-tools/${androidBuildToolsVersion}/aapt2" + "build-tools/${androidBuildToolsVersion}/$aapt2Name" ) val zip = java.nio.file.Paths.get( project.buildDir.path, diff --git a/core b/core index 290818e..f8c4b6c 160000 --- a/core +++ b/core @@ -1 +1 @@ -Subproject commit 290818e2660f6295fd4913c46e0703d91644ce21 +Subproject commit f8c4b6c5a52e6fe07d288d96f3765fd18aaa928c diff --git a/gradle.properties b/gradle.properties index 5158a2f..54be24f 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,5 +1,6 @@ android.experimental.enableNewResourceShrinker.preciseShrinking=true -android.enableAppCompileTimeRClass=true android.useAndroidX=true -org.gradle.jvmargs=-Xmx2048m -Dfile.encoding=UTF-8 - \ No newline at end of file +org.gradle.caching=true +org.gradle.parallel=true +org.gradle.jvmargs=-Xmx4096m -Dfile.encoding=UTF-8 -XX:+UseParallelGC +android.native.buildOutput=verbose diff --git a/jar/build.gradle.kts b/jar/build.gradle.kts index 55da557..9dfbd0a 100644 --- a/jar/build.gradle.kts +++ b/jar/build.gradle.kts @@ -20,7 +20,7 @@ fun Jar.configure(variant: String) { archiveBaseName.set("jar-v$verName-$verCode-$variant") destinationDirectory.set(file("${rootProject.projectDir}/out/$variant")) manifest { - attributes("Main-Class" to "org.lsposed.patch.LSPatch") + attributes("Main-Class" to "org.lsposed.patch.NPatch") } dependsOn(configurations.runtimeClasspath) from(configurations.runtimeClasspath.get().map { if (it.isDirectory) it else zipTree(it) }) diff --git a/manager/build.gradle.kts b/manager/build.gradle.kts index 918cd56..2032101 100644 --- a/manager/build.gradle.kts +++ b/manager/build.gradle.kts @@ -9,10 +9,10 @@ val coreVerName: String by rootProject.extra plugins { alias(libs.plugins.agp.app) - alias(lspatch.plugins.compose.compiler) - alias(lspatch.plugins.google.devtools.ksp) - alias(lspatch.plugins.rikka.tools.refine) - alias(lspatch.plugins.kotlin.android) + alias(npatch.plugins.compose.compiler) + alias(npatch.plugins.google.devtools.ksp) + alias(npatch.plugins.rikka.tools.refine) + alias(npatch.plugins.kotlin.android) id("kotlin-parcelize") } @@ -47,7 +47,7 @@ android { kotlinCompilerExtensionVersion = "1.5.13" } - namespace = "org.lsposed.lspatch" + namespace = "org.lsposed.npatch" applicationVariants.all { kotlin.sourceSets { @@ -86,35 +86,35 @@ dependencies { implementation(projects.services.daemonService) implementation(projects.share.android) implementation(projects.share.java) - implementation(platform(lspatch.androidx.compose.bom)) + implementation(platform(npatch.androidx.compose.bom)) - annotationProcessor(lspatch.androidx.room.compiler) - compileOnly(lspatch.rikka.hidden.stub) - debugImplementation(lspatch.androidx.compose.ui.tooling) - debugImplementation(lspatch.androidx.customview) - debugImplementation(lspatch.androidx.customview.poolingcontainer) - implementation(lspatch.androidx.activity.compose) - implementation(lspatch.androidx.compose.material.icons.extended) - implementation(lspatch.androidx.compose.material3) - implementation(lspatch.androidx.compose.ui) - implementation(lspatch.androidx.compose.ui.tooling.preview) - implementation(lspatch.androidx.core.ktx) - implementation(lspatch.androidx.lifecycle.viewmodel.compose) - implementation(lspatch.androidx.navigation.compose) + annotationProcessor(npatch.androidx.room.compiler) + compileOnly(npatch.rikka.hidden.stub) + debugImplementation(npatch.androidx.compose.ui.tooling) + debugImplementation(npatch.androidx.customview) + debugImplementation(npatch.androidx.customview.poolingcontainer) + implementation(npatch.androidx.activity.compose) + implementation(npatch.androidx.compose.material.icons.extended) + implementation(npatch.androidx.compose.material3) + implementation(npatch.androidx.compose.ui) + implementation(npatch.androidx.compose.ui.tooling.preview) + implementation(npatch.androidx.core.ktx) + implementation(npatch.androidx.lifecycle.viewmodel.compose) + implementation(npatch.androidx.navigation.compose) implementation(libs.androidx.preference) - implementation(lspatch.androidx.room.ktx) - implementation(lspatch.androidx.room.runtime) - implementation(lspatch.google.accompanist.navigation.animation) - implementation(lspatch.google.accompanist.pager) - implementation(lspatch.google.accompanist.swiperefresh) + implementation(npatch.androidx.room.ktx) + implementation(npatch.androidx.room.runtime) + implementation(npatch.google.accompanist.navigation.animation) + implementation(npatch.google.accompanist.pager) + implementation(npatch.google.accompanist.swiperefresh) implementation(libs.material) implementation(libs.gson) - implementation(lspatch.rikka.shizuku.api) - implementation(lspatch.rikka.shizuku.provider) - implementation(lspatch.rikka.refine) - implementation(lspatch.raamcosta.compose.destinations) + implementation(npatch.rikka.shizuku.api) + implementation(npatch.rikka.shizuku.provider) + implementation(npatch.rikka.refine) + implementation(npatch.raamcosta.compose.destinations) implementation(libs.appiconloader) implementation(libs.hiddenapibypass) - ksp(lspatch.androidx.room.compiler) - ksp(lspatch.raamcosta.compose.destinations.ksp) + ksp(npatch.androidx.room.compiler) + ksp(npatch.raamcosta.compose.destinations.ksp) } diff --git a/manager/proguard-rules-debug.pro b/manager/proguard-rules-debug.pro index bffe99f..40c254f 100644 --- a/manager/proguard-rules-debug.pro +++ b/manager/proguard-rules-debug.pro @@ -1,9 +1,9 @@ -dontobfuscate -keep class com.beust.jcommander.** { *; } --keep class org.lsposed.lspatch.Patcher$Options { *; } --keep class org.lsposed.lspatch.share.LSPConfig { *; } --keep class org.lsposed.lspatch.share.PatchConfig { *; } --keepclassmembers class org.lsposed.patch.LSPatch { +-keep class org.lsposed.npatch.Patcher$Options { *; } +-keep class org.lsposed.npatch.share.LSPConfig { *; } +-keep class org.lsposed.npatch.share.PatchConfig { *; } +-keepclassmembers class org.lsposed.patch.NPatch { private ; } -dontwarn com.google.auto.value.AutoValue$Builder diff --git a/manager/proguard-rules.pro b/manager/proguard-rules.pro index edd5d4f..79ad7d9 100644 --- a/manager/proguard-rules.pro +++ b/manager/proguard-rules.pro @@ -10,11 +10,11 @@ } -keep class com.beust.jcommander.** { *; } --keep class org.lsposed.lspatch.database.** { *; } --keep class org.lsposed.lspatch.Patcher$Options { *; } --keep class org.lsposed.lspatch.share.LSPConfig { *; } --keep class org.lsposed.lspatch.share.PatchConfig { *; } --keepclassmembers class org.lsposed.patch.LSPatch { +-keep class org.lsposed.npatch.database.** { *; } +-keep class org.lsposed.npatch.Patcher$Options { *; } +-keep class org.lsposed.npatch.share.LSPConfig { *; } +-keep class org.lsposed.npatch.share.PatchConfig { *; } +-keepclassmembers class org.lsposed.patch.NPatch { private ; } -dontwarn com.google.auto.value.AutoValue$Builder diff --git a/manager/src/main/AndroidManifest.xml b/manager/src/main/AndroidManifest.xml index e5dc169..181c88d 100644 --- a/manager/src/main/AndroidManifest.xml +++ b/manager/src/main/AndroidManifest.xml @@ -46,7 +46,7 @@ android:name=".ui.activity.InstallActivity" android:enabled="false" android:exported="true" - android:targetActivity="org.lsposed.lspatch.ui.activity.MainActivity"> + android:targetActivity="org.lsposed.npatch.ui.activity.MainActivity"> diff --git a/manager/src/main/java/org/lsposed/lspatch/LSPApplication.kt b/manager/src/main/java/org/lsposed/npatch/LSPApplication.kt similarity index 79% rename from manager/src/main/java/org/lsposed/lspatch/LSPApplication.kt rename to manager/src/main/java/org/lsposed/npatch/LSPApplication.kt index d66052a..0c783f7 100644 --- a/manager/src/main/java/org/lsposed/lspatch/LSPApplication.kt +++ b/manager/src/main/java/org/lsposed/npatch/LSPApplication.kt @@ -1,4 +1,4 @@ -package org.lsposed.lspatch +package org.lsposed.npatch import android.app.Application import android.content.Context @@ -7,9 +7,9 @@ import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import org.lsposed.hiddenapibypass.HiddenApiBypass -import org.lsposed.lspatch.manager.AppBroadcastReceiver -import org.lsposed.lspatch.util.LSPPackageManager -import org.lsposed.lspatch.util.ShizukuApi +import org.lsposed.npatch.manager.AppBroadcastReceiver +import org.lsposed.npatch.util.NPackageManager +import org.lsposed.npatch.util.ShizukuApi import java.io.File lateinit var lspApp: LSPApplication @@ -31,6 +31,6 @@ class LSPApplication : Application() { prefs = lspApp.getSharedPreferences("settings", Context.MODE_PRIVATE) ShizukuApi.init() AppBroadcastReceiver.register(this) - globalScope.launch { LSPPackageManager.fetchAppList() } + globalScope.launch { NPackageManager.fetchAppList() } } } diff --git a/manager/src/main/java/org/lsposed/lspatch/Patcher.kt b/manager/src/main/java/org/lsposed/npatch/Patcher.kt similarity index 90% rename from manager/src/main/java/org/lsposed/lspatch/Patcher.kt rename to manager/src/main/java/org/lsposed/npatch/Patcher.kt index 2849cc5..49138f6 100644 --- a/manager/src/main/java/org/lsposed/lspatch/Patcher.kt +++ b/manager/src/main/java/org/lsposed/npatch/Patcher.kt @@ -1,18 +1,17 @@ -package org.lsposed.lspatch +package org.lsposed.npatch import androidx.core.net.toUri import androidx.documentfile.provider.DocumentFile import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext -import org.lsposed.lspatch.config.Configs -import org.lsposed.lspatch.config.MyKeyStore -import org.lsposed.lspatch.share.Constants -import org.lsposed.lspatch.share.PatchConfig -import org.lsposed.patch.LSPatch +import org.lsposed.npatch.config.Configs +import org.lsposed.npatch.config.MyKeyStore +import org.lsposed.npatch.share.Constants +import org.lsposed.npatch.share.PatchConfig +import org.lsposed.patch.NPatch import org.lsposed.patch.util.Logger import java.io.File import java.io.IOException -import java.util.Collections.addAll object Patcher { @@ -47,7 +46,7 @@ object Patcher { suspend fun patch(logger: Logger, options: Options) { withContext(Dispatchers.IO) { - LSPatch(logger, *options.toStringArray()).doCommandLine() + NPatch(logger, *options.toStringArray()).doCommandLine() val uri = Configs.storageDirectory?.toUri() ?: throw IOException("Uri is null") diff --git a/manager/src/main/java/org/lsposed/lspatch/config/ConfigManager.kt b/manager/src/main/java/org/lsposed/npatch/config/ConfigManager.kt similarity index 92% rename from manager/src/main/java/org/lsposed/lspatch/config/ConfigManager.kt rename to manager/src/main/java/org/lsposed/npatch/config/ConfigManager.kt index 1717af4..ec9eca9 100644 --- a/manager/src/main/java/org/lsposed/lspatch/config/ConfigManager.kt +++ b/manager/src/main/java/org/lsposed/npatch/config/ConfigManager.kt @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.config +package org.lsposed.npatch.config import android.content.pm.PackageManager import android.util.Log @@ -6,11 +6,11 @@ import androidx.room.Room import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.ExperimentalCoroutinesApi import kotlinx.coroutines.withContext -import org.lsposed.lspatch.database.LSPDatabase -import org.lsposed.lspatch.database.entity.Module -import org.lsposed.lspatch.database.entity.Scope -import org.lsposed.lspatch.lspApp -import org.lsposed.lspatch.util.ModuleLoader +import org.lsposed.npatch.database.LSPDatabase +import org.lsposed.npatch.database.entity.Module +import org.lsposed.npatch.database.entity.Scope +import org.lsposed.npatch.lspApp +import org.lsposed.npatch.util.ModuleLoader import java.io.File object ConfigManager { diff --git a/manager/src/main/java/org/lsposed/lspatch/config/Configs.kt b/manager/src/main/java/org/lsposed/npatch/config/Configs.kt similarity index 86% rename from manager/src/main/java/org/lsposed/lspatch/config/Configs.kt rename to manager/src/main/java/org/lsposed/npatch/config/Configs.kt index 0f7cb8e..9a37611 100644 --- a/manager/src/main/java/org/lsposed/lspatch/config/Configs.kt +++ b/manager/src/main/java/org/lsposed/npatch/config/Configs.kt @@ -1,9 +1,9 @@ -package org.lsposed.lspatch.config +package org.lsposed.npatch.config -import org.lsposed.lspatch.lspApp -import org.lsposed.lspatch.ui.util.delegateStateOf -import org.lsposed.lspatch.ui.util.getValue -import org.lsposed.lspatch.ui.util.setValue +import org.lsposed.npatch.lspApp +import org.lsposed.npatch.ui.util.delegateStateOf +import org.lsposed.npatch.ui.util.getValue +import org.lsposed.npatch.ui.util.setValue object Configs { diff --git a/manager/src/main/java/org/lsposed/lspatch/config/MyKeyStore.kt b/manager/src/main/java/org/lsposed/npatch/config/MyKeyStore.kt similarity index 93% rename from manager/src/main/java/org/lsposed/lspatch/config/MyKeyStore.kt rename to manager/src/main/java/org/lsposed/npatch/config/MyKeyStore.kt index b8cacdb..8d271f7 100644 --- a/manager/src/main/java/org/lsposed/lspatch/config/MyKeyStore.kt +++ b/manager/src/main/java/org/lsposed/npatch/config/MyKeyStore.kt @@ -1,11 +1,11 @@ -package org.lsposed.lspatch.config +package org.lsposed.npatch.config import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.setValue import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext -import org.lsposed.lspatch.lspApp +import org.lsposed.npatch.lspApp import java.io.File object MyKeyStore { diff --git a/manager/src/main/java/org/lsposed/lspatch/database/LSPDatabase.kt b/manager/src/main/java/org/lsposed/npatch/database/LSPDatabase.kt similarity index 52% rename from manager/src/main/java/org/lsposed/lspatch/database/LSPDatabase.kt rename to manager/src/main/java/org/lsposed/npatch/database/LSPDatabase.kt index 6c11d75..66de699 100644 --- a/manager/src/main/java/org/lsposed/lspatch/database/LSPDatabase.kt +++ b/manager/src/main/java/org/lsposed/npatch/database/LSPDatabase.kt @@ -1,12 +1,12 @@ -package org.lsposed.lspatch.database +package org.lsposed.npatch.database import androidx.room.Database import androidx.room.RoomDatabase -import org.lsposed.lspatch.database.dao.ModuleDao -import org.lsposed.lspatch.database.dao.ScopeDao +import org.lsposed.npatch.database.dao.ModuleDao +import org.lsposed.npatch.database.dao.ScopeDao -import org.lsposed.lspatch.database.entity.Module -import org.lsposed.lspatch.database.entity.Scope +import org.lsposed.npatch.database.entity.Module +import org.lsposed.npatch.database.entity.Scope @Database(entities = [Module::class, Scope::class], version = 1) abstract class LSPDatabase : RoomDatabase() { diff --git a/manager/src/main/java/org/lsposed/lspatch/database/dao/ModuleDao.kt b/manager/src/main/java/org/lsposed/npatch/database/dao/ModuleDao.kt similarity index 84% rename from manager/src/main/java/org/lsposed/lspatch/database/dao/ModuleDao.kt rename to manager/src/main/java/org/lsposed/npatch/database/dao/ModuleDao.kt index 9305e48..78d64b3 100644 --- a/manager/src/main/java/org/lsposed/lspatch/database/dao/ModuleDao.kt +++ b/manager/src/main/java/org/lsposed/npatch/database/dao/ModuleDao.kt @@ -1,11 +1,11 @@ -package org.lsposed.lspatch.database.dao +package org.lsposed.npatch.database.dao import androidx.room.Dao import androidx.room.Delete import androidx.room.Insert import androidx.room.OnConflictStrategy import androidx.room.Query -import org.lsposed.lspatch.database.entity.Module +import org.lsposed.npatch.database.entity.Module @Dao interface ModuleDao { diff --git a/manager/src/main/java/org/lsposed/lspatch/database/dao/ScopeDao.kt b/manager/src/main/java/org/lsposed/npatch/database/dao/ScopeDao.kt similarity index 75% rename from manager/src/main/java/org/lsposed/lspatch/database/dao/ScopeDao.kt rename to manager/src/main/java/org/lsposed/npatch/database/dao/ScopeDao.kt index 97a1965..4d2bf18 100644 --- a/manager/src/main/java/org/lsposed/lspatch/database/dao/ScopeDao.kt +++ b/manager/src/main/java/org/lsposed/npatch/database/dao/ScopeDao.kt @@ -1,11 +1,11 @@ -package org.lsposed.lspatch.database.dao +package org.lsposed.npatch.database.dao import androidx.room.Dao import androidx.room.Delete import androidx.room.Insert import androidx.room.Query -import org.lsposed.lspatch.database.entity.Module -import org.lsposed.lspatch.database.entity.Scope +import org.lsposed.npatch.database.entity.Module +import org.lsposed.npatch.database.entity.Scope @Dao interface ScopeDao { diff --git a/manager/src/main/java/org/lsposed/lspatch/database/entity/Module.kt b/manager/src/main/java/org/lsposed/npatch/database/entity/Module.kt similarity index 77% rename from manager/src/main/java/org/lsposed/lspatch/database/entity/Module.kt rename to manager/src/main/java/org/lsposed/npatch/database/entity/Module.kt index 1202586..8ed9931 100644 --- a/manager/src/main/java/org/lsposed/lspatch/database/entity/Module.kt +++ b/manager/src/main/java/org/lsposed/npatch/database/entity/Module.kt @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.database.entity +package org.lsposed.npatch.database.entity import androidx.room.Entity import androidx.room.PrimaryKey diff --git a/manager/src/main/java/org/lsposed/lspatch/database/entity/Scope.kt b/manager/src/main/java/org/lsposed/npatch/database/entity/Scope.kt similarity index 88% rename from manager/src/main/java/org/lsposed/lspatch/database/entity/Scope.kt rename to manager/src/main/java/org/lsposed/npatch/database/entity/Scope.kt index 8a110bd..500ed66 100644 --- a/manager/src/main/java/org/lsposed/lspatch/database/entity/Scope.kt +++ b/manager/src/main/java/org/lsposed/npatch/database/entity/Scope.kt @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.database.entity +package org.lsposed.npatch.database.entity import androidx.room.Entity import androidx.room.ForeignKey diff --git a/manager/src/main/java/org/lsposed/lspatch/manager/AppBroadcastReceiver.kt b/manager/src/main/java/org/lsposed/npatch/manager/AppBroadcastReceiver.kt similarity index 85% rename from manager/src/main/java/org/lsposed/lspatch/manager/AppBroadcastReceiver.kt rename to manager/src/main/java/org/lsposed/npatch/manager/AppBroadcastReceiver.kt index d9be08f..2cab15c 100644 --- a/manager/src/main/java/org/lsposed/lspatch/manager/AppBroadcastReceiver.kt +++ b/manager/src/main/java/org/lsposed/npatch/manager/AppBroadcastReceiver.kt @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.manager +package org.lsposed.npatch.manager import android.content.BroadcastReceiver import android.content.Context @@ -6,8 +6,8 @@ import android.content.Intent import android.content.IntentFilter import android.util.Log import kotlinx.coroutines.launch -import org.lsposed.lspatch.lspApp -import org.lsposed.lspatch.util.LSPPackageManager +import org.lsposed.npatch.lspApp +import org.lsposed.npatch.util.NPackageManager class AppBroadcastReceiver : BroadcastReceiver() { @@ -33,7 +33,7 @@ class AppBroadcastReceiver : BroadcastReceiver() { if (intent.action in actions) { lspApp.globalScope.launch { Log.i(TAG, "Received intent: $intent") - LSPPackageManager.fetchAppList() + NPackageManager.fetchAppList() } } } diff --git a/manager/src/main/java/org/lsposed/lspatch/manager/ManagerService.kt b/manager/src/main/java/org/lsposed/npatch/manager/ManagerService.kt similarity index 88% rename from manager/src/main/java/org/lsposed/lspatch/manager/ManagerService.kt rename to manager/src/main/java/org/lsposed/npatch/manager/ManagerService.kt index 9892544..39dbf72 100644 --- a/manager/src/main/java/org/lsposed/lspatch/manager/ManagerService.kt +++ b/manager/src/main/java/org/lsposed/npatch/manager/ManagerService.kt @@ -1,13 +1,12 @@ -package org.lsposed.lspatch.manager +package org.lsposed.npatch.manager import android.os.Binder -import android.os.Bundle import android.os.IBinder import android.os.ParcelFileDescriptor import android.util.Log import kotlinx.coroutines.runBlocking -import org.lsposed.lspatch.config.ConfigManager -import org.lsposed.lspatch.lspApp +import org.lsposed.npatch.config.ConfigManager +import org.lsposed.npatch.lspApp import org.lsposed.lspd.models.Module import org.lsposed.lspd.service.ILSPApplicationService diff --git a/manager/src/main/java/org/lsposed/lspatch/manager/ModuleService.kt b/manager/src/main/java/org/lsposed/npatch/manager/ModuleService.kt similarity index 93% rename from manager/src/main/java/org/lsposed/lspatch/manager/ModuleService.kt rename to manager/src/main/java/org/lsposed/npatch/manager/ModuleService.kt index f5bba1b..1432608 100644 --- a/manager/src/main/java/org/lsposed/lspatch/manager/ModuleService.kt +++ b/manager/src/main/java/org/lsposed/npatch/manager/ModuleService.kt @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.manager +package org.lsposed.npatch.manager import android.app.Service import android.content.Intent diff --git a/manager/src/main/java/org/lsposed/lspatch/ui/activity/MainActivity.kt b/manager/src/main/java/org/lsposed/npatch/ui/activity/MainActivity.kt similarity index 88% rename from manager/src/main/java/org/lsposed/lspatch/ui/activity/MainActivity.kt rename to manager/src/main/java/org/lsposed/npatch/ui/activity/MainActivity.kt index 017d2bb..23977ae 100644 --- a/manager/src/main/java/org/lsposed/lspatch/ui/activity/MainActivity.kt +++ b/manager/src/main/java/org/lsposed/npatch/ui/activity/MainActivity.kt @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.ui.activity +package org.lsposed.npatch.ui.activity import android.os.Bundle import androidx.activity.ComponentActivity @@ -15,13 +15,13 @@ import androidx.navigation.NavGraph.Companion.findStartDestination import androidx.navigation.NavHostController import com.google.accompanist.navigation.animation.rememberAnimatedNavController import com.ramcosta.composedestinations.DestinationsNavHost -import org.lsposed.lspatch.ui.page.BottomBarDestination -import org.lsposed.lspatch.ui.page.NavGraphs -import org.lsposed.lspatch.ui.page.appCurrentDestinationAsState -import org.lsposed.lspatch.ui.page.destinations.Destination -import org.lsposed.lspatch.ui.page.startAppDestination -import org.lsposed.lspatch.ui.theme.LSPTheme -import org.lsposed.lspatch.ui.util.LocalSnackbarHost +import org.lsposed.npatch.ui.page.BottomBarDestination +import org.lsposed.npatch.ui.page.NavGraphs +import org.lsposed.npatch.ui.page.appCurrentDestinationAsState +import org.lsposed.npatch.ui.page.destinations.Destination +import org.lsposed.npatch.ui.page.startAppDestination +import org.lsposed.npatch.ui.theme.LSPTheme +import org.lsposed.npatch.ui.util.LocalSnackbarHost class MainActivity : ComponentActivity() { diff --git a/manager/src/main/java/org/lsposed/lspatch/ui/component/AnywhereDropdown.kt b/manager/src/main/java/org/lsposed/npatch/ui/component/AnywhereDropdown.kt similarity index 98% rename from manager/src/main/java/org/lsposed/lspatch/ui/component/AnywhereDropdown.kt rename to manager/src/main/java/org/lsposed/npatch/ui/component/AnywhereDropdown.kt index d733b58..9da7144 100644 --- a/manager/src/main/java/org/lsposed/lspatch/ui/component/AnywhereDropdown.kt +++ b/manager/src/main/java/org/lsposed/npatch/ui/component/AnywhereDropdown.kt @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.ui.component +package org.lsposed.npatch.ui.component import androidx.compose.foundation.ExperimentalFoundationApi import androidx.compose.foundation.LocalIndication diff --git a/manager/src/main/java/org/lsposed/lspatch/ui/component/AppItem.kt b/manager/src/main/java/org/lsposed/npatch/ui/component/AppItem.kt similarity index 97% rename from manager/src/main/java/org/lsposed/lspatch/ui/component/AppItem.kt rename to manager/src/main/java/org/lsposed/npatch/ui/component/AppItem.kt index 8d03106..8dbdc41 100644 --- a/manager/src/main/java/org/lsposed/lspatch/ui/component/AppItem.kt +++ b/manager/src/main/java/org/lsposed/npatch/ui/component/AppItem.kt @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.ui.component +package org.lsposed.npatch.ui.component import android.graphics.drawable.GradientDrawable import androidx.compose.foundation.layout.* @@ -19,7 +19,7 @@ import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import androidx.core.graphics.drawable.toBitmap -import org.lsposed.lspatch.ui.theme.LSPTheme +import org.lsposed.npatch.ui.theme.LSPTheme @Composable fun AppItem( diff --git a/manager/src/main/java/org/lsposed/lspatch/ui/component/CenterTopBar.kt b/manager/src/main/java/org/lsposed/npatch/ui/component/CenterTopBar.kt similarity index 90% rename from manager/src/main/java/org/lsposed/lspatch/ui/component/CenterTopBar.kt rename to manager/src/main/java/org/lsposed/npatch/ui/component/CenterTopBar.kt index 68b62e1..be34e51 100644 --- a/manager/src/main/java/org/lsposed/lspatch/ui/component/CenterTopBar.kt +++ b/manager/src/main/java/org/lsposed/npatch/ui/component/CenterTopBar.kt @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.ui.component +package org.lsposed.npatch.ui.component import androidx.compose.material3.CenterAlignedTopAppBar import androidx.compose.material3.ExperimentalMaterial3Api @@ -9,7 +9,7 @@ import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.tooling.preview.PreviewParameter -import org.lsposed.lspatch.ui.util.SampleStringProvider +import org.lsposed.npatch.ui.util.SampleStringProvider @OptIn(ExperimentalMaterial3Api::class) @Preview diff --git a/manager/src/main/java/org/lsposed/lspatch/ui/component/LoadingDialog.kt b/manager/src/main/java/org/lsposed/npatch/ui/component/LoadingDialog.kt similarity index 96% rename from manager/src/main/java/org/lsposed/lspatch/ui/component/LoadingDialog.kt rename to manager/src/main/java/org/lsposed/npatch/ui/component/LoadingDialog.kt index 002780b..57f1335 100644 --- a/manager/src/main/java/org/lsposed/lspatch/ui/component/LoadingDialog.kt +++ b/manager/src/main/java/org/lsposed/npatch/ui/component/LoadingDialog.kt @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.ui.component +package org.lsposed.npatch.ui.component import androidx.compose.foundation.background import androidx.compose.foundation.layout.Box diff --git a/manager/src/main/java/org/lsposed/lspatch/ui/component/SearchBar.kt b/manager/src/main/java/org/lsposed/npatch/ui/component/SearchBar.kt similarity index 99% rename from manager/src/main/java/org/lsposed/lspatch/ui/component/SearchBar.kt rename to manager/src/main/java/org/lsposed/npatch/ui/component/SearchBar.kt index 90ef570..b1a2474 100644 --- a/manager/src/main/java/org/lsposed/lspatch/ui/component/SearchBar.kt +++ b/manager/src/main/java/org/lsposed/npatch/ui/component/SearchBar.kt @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.ui.component +package org.lsposed.npatch.ui.component import android.util.Log import androidx.compose.animation.AnimatedVisibility diff --git a/manager/src/main/java/org/lsposed/lspatch/ui/component/SelectionColumn.kt b/manager/src/main/java/org/lsposed/npatch/ui/component/SelectionColumn.kt similarity index 98% rename from manager/src/main/java/org/lsposed/lspatch/ui/component/SelectionColumn.kt rename to manager/src/main/java/org/lsposed/npatch/ui/component/SelectionColumn.kt index 9c793be..7e37c92 100644 --- a/manager/src/main/java/org/lsposed/lspatch/ui/component/SelectionColumn.kt +++ b/manager/src/main/java/org/lsposed/npatch/ui/component/SelectionColumn.kt @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.ui.component +package org.lsposed.npatch.ui.component import androidx.compose.animation.* import androidx.compose.foundation.background diff --git a/manager/src/main/java/org/lsposed/lspatch/ui/component/Shimmer.kt b/manager/src/main/java/org/lsposed/npatch/ui/component/Shimmer.kt similarity index 96% rename from manager/src/main/java/org/lsposed/lspatch/ui/component/Shimmer.kt rename to manager/src/main/java/org/lsposed/npatch/ui/component/Shimmer.kt index 7312202..b321c98 100644 --- a/manager/src/main/java/org/lsposed/lspatch/ui/component/Shimmer.kt +++ b/manager/src/main/java/org/lsposed/npatch/ui/component/Shimmer.kt @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.ui.component +package org.lsposed.npatch.ui.component import androidx.compose.animation.core.* import androidx.compose.foundation.background @@ -10,7 +10,6 @@ import androidx.compose.runtime.getValue import androidx.compose.ui.Modifier import androidx.compose.ui.geometry.Offset import androidx.compose.ui.graphics.Brush -import androidx.compose.ui.graphics.Color import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp diff --git a/manager/src/main/java/org/lsposed/lspatch/ui/component/settings/CheckBox.kt b/manager/src/main/java/org/lsposed/npatch/ui/component/settings/CheckBox.kt similarity index 96% rename from manager/src/main/java/org/lsposed/lspatch/ui/component/settings/CheckBox.kt rename to manager/src/main/java/org/lsposed/npatch/ui/component/settings/CheckBox.kt index dd6ab40..1b9c3c6 100644 --- a/manager/src/main/java/org/lsposed/lspatch/ui/component/settings/CheckBox.kt +++ b/manager/src/main/java/org/lsposed/npatch/ui/component/settings/CheckBox.kt @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.ui.component.settings +package org.lsposed.npatch.ui.component.settings import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Column diff --git a/manager/src/main/java/org/lsposed/lspatch/ui/component/settings/Editor.kt b/manager/src/main/java/org/lsposed/npatch/ui/component/settings/Editor.kt similarity index 97% rename from manager/src/main/java/org/lsposed/lspatch/ui/component/settings/Editor.kt rename to manager/src/main/java/org/lsposed/npatch/ui/component/settings/Editor.kt index 1649b49..e8ded51 100644 --- a/manager/src/main/java/org/lsposed/lspatch/ui/component/settings/Editor.kt +++ b/manager/src/main/java/org/lsposed/npatch/ui/component/settings/Editor.kt @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.ui.component.settings +package org.lsposed.npatch.ui.component.settings import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column diff --git a/manager/src/main/java/org/lsposed/lspatch/ui/component/settings/Slot.kt b/manager/src/main/java/org/lsposed/npatch/ui/component/settings/Slot.kt similarity index 97% rename from manager/src/main/java/org/lsposed/lspatch/ui/component/settings/Slot.kt rename to manager/src/main/java/org/lsposed/npatch/ui/component/settings/Slot.kt index 5196356..183c147 100644 --- a/manager/src/main/java/org/lsposed/lspatch/ui/component/settings/Slot.kt +++ b/manager/src/main/java/org/lsposed/npatch/ui/component/settings/Slot.kt @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.ui.component.settings +package org.lsposed.npatch.ui.component.settings import androidx.compose.foundation.layout.* import androidx.compose.material3.Icon diff --git a/manager/src/main/java/org/lsposed/lspatch/ui/component/settings/Switch.kt b/manager/src/main/java/org/lsposed/npatch/ui/component/settings/Switch.kt similarity index 96% rename from manager/src/main/java/org/lsposed/lspatch/ui/component/settings/Switch.kt rename to manager/src/main/java/org/lsposed/npatch/ui/component/settings/Switch.kt index 7375551..9b8cc54 100644 --- a/manager/src/main/java/org/lsposed/lspatch/ui/component/settings/Switch.kt +++ b/manager/src/main/java/org/lsposed/npatch/ui/component/settings/Switch.kt @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.ui.component.settings +package org.lsposed.npatch.ui.component.settings import androidx.compose.foundation.clickable import androidx.compose.foundation.layout.Column diff --git a/manager/src/main/java/org/lsposed/lspatch/ui/page/BottomBarDestination.kt b/manager/src/main/java/org/lsposed/npatch/ui/page/BottomBarDestination.kt similarity index 89% rename from manager/src/main/java/org/lsposed/lspatch/ui/page/BottomBarDestination.kt rename to manager/src/main/java/org/lsposed/npatch/ui/page/BottomBarDestination.kt index 4fdc54c..a9171ab 100644 --- a/manager/src/main/java/org/lsposed/lspatch/ui/page/BottomBarDestination.kt +++ b/manager/src/main/java/org/lsposed/npatch/ui/page/BottomBarDestination.kt @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.ui.page +package org.lsposed.npatch.ui.page import androidx.annotation.StringRes import androidx.compose.material.icons.Icons @@ -6,8 +6,8 @@ import androidx.compose.material.icons.filled.* import androidx.compose.material.icons.outlined.* import androidx.compose.ui.graphics.vector.ImageVector import com.ramcosta.composedestinations.spec.DirectionDestinationSpec -import org.lsposed.lspatch.R -import org.lsposed.lspatch.ui.page.destinations.* +import org.lsposed.npatch.R +import org.lsposed.npatch.ui.page.destinations.* enum class BottomBarDestination( val direction: DirectionDestinationSpec, diff --git a/manager/src/main/java/org/lsposed/lspatch/ui/page/HomeScreen.kt b/manager/src/main/java/org/lsposed/npatch/ui/page/HomeScreen.kt similarity index 95% rename from manager/src/main/java/org/lsposed/lspatch/ui/page/HomeScreen.kt rename to manager/src/main/java/org/lsposed/npatch/ui/page/HomeScreen.kt index 7be1413..0988cf3 100644 --- a/manager/src/main/java/org/lsposed/lspatch/ui/page/HomeScreen.kt +++ b/manager/src/main/java/org/lsposed/npatch/ui/page/HomeScreen.kt @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.ui.page +package org.lsposed.npatch.ui.page import android.app.Activity import android.content.ClipData @@ -35,14 +35,14 @@ import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.annotation.RootNavGraph import com.ramcosta.composedestinations.navigation.DestinationsNavigator import kotlinx.coroutines.launch -import org.lsposed.lspatch.R -import org.lsposed.lspatch.share.LSPConfig -import org.lsposed.lspatch.ui.component.CenterTopBar -import org.lsposed.lspatch.ui.page.destinations.ManageScreenDestination -import org.lsposed.lspatch.ui.page.destinations.NewPatchScreenDestination -import org.lsposed.lspatch.ui.util.HtmlText -import org.lsposed.lspatch.ui.util.LocalSnackbarHost -import org.lsposed.lspatch.util.ShizukuApi +import org.lsposed.npatch.R +import org.lsposed.npatch.share.LSPConfig +import org.lsposed.npatch.ui.component.CenterTopBar +import org.lsposed.npatch.ui.page.destinations.ManageScreenDestination +import org.lsposed.npatch.ui.page.destinations.NewPatchScreenDestination +import org.lsposed.npatch.ui.util.HtmlText +import org.lsposed.npatch.ui.util.LocalSnackbarHost +import org.lsposed.npatch.util.ShizukuApi import rikka.shizuku.Shizuku @OptIn(ExperimentalMaterial3Api::class) diff --git a/manager/src/main/java/org/lsposed/lspatch/ui/page/LogsScreen.kt b/manager/src/main/java/org/lsposed/npatch/ui/page/LogsScreen.kt similarity index 91% rename from manager/src/main/java/org/lsposed/lspatch/ui/page/LogsScreen.kt rename to manager/src/main/java/org/lsposed/npatch/ui/page/LogsScreen.kt index 5249043..40abbde 100644 --- a/manager/src/main/java/org/lsposed/lspatch/ui/page/LogsScreen.kt +++ b/manager/src/main/java/org/lsposed/npatch/ui/page/LogsScreen.kt @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.ui.page +package org.lsposed.npatch.ui.page import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding @@ -10,7 +10,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign import com.ramcosta.composedestinations.annotation.Destination -import org.lsposed.lspatch.ui.component.CenterTopBar +import org.lsposed.npatch.ui.component.CenterTopBar @OptIn(ExperimentalMaterial3Api::class) @Destination diff --git a/manager/src/main/java/org/lsposed/lspatch/ui/page/ManageScreen.kt b/manager/src/main/java/org/lsposed/npatch/ui/page/ManageScreen.kt similarity index 88% rename from manager/src/main/java/org/lsposed/lspatch/ui/page/ManageScreen.kt rename to manager/src/main/java/org/lsposed/npatch/ui/page/ManageScreen.kt index 3c7846b..2de2ba7 100644 --- a/manager/src/main/java/org/lsposed/lspatch/ui/page/ManageScreen.kt +++ b/manager/src/main/java/org/lsposed/npatch/ui/page/ManageScreen.kt @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.ui.page +package org.lsposed.npatch.ui.page import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Column @@ -16,12 +16,12 @@ import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.navigation.DestinationsNavigator import com.ramcosta.composedestinations.result.ResultRecipient import kotlinx.coroutines.launch -import org.lsposed.lspatch.R -import org.lsposed.lspatch.ui.component.CenterTopBar -import org.lsposed.lspatch.ui.page.destinations.SelectAppsScreenDestination -import org.lsposed.lspatch.ui.page.manage.AppManageBody -import org.lsposed.lspatch.ui.page.manage.AppManageFab -import org.lsposed.lspatch.ui.page.manage.ModuleManageBody +import org.lsposed.npatch.R +import org.lsposed.npatch.ui.component.CenterTopBar +import org.lsposed.npatch.ui.page.destinations.SelectAppsScreenDestination +import org.lsposed.npatch.ui.page.manage.AppManageBody +import org.lsposed.npatch.ui.page.manage.AppManageFab +import org.lsposed.npatch.ui.page.manage.ModuleManageBody @OptIn(ExperimentalMaterial3Api::class, ExperimentalPagerApi::class) @Destination diff --git a/manager/src/main/java/org/lsposed/lspatch/ui/page/NewPatchScreen.kt b/manager/src/main/java/org/lsposed/npatch/ui/page/NewPatchScreen.kt similarity index 92% rename from manager/src/main/java/org/lsposed/lspatch/ui/page/NewPatchScreen.kt rename to manager/src/main/java/org/lsposed/npatch/ui/page/NewPatchScreen.kt index 9a80844..6c4fd9a 100644 --- a/manager/src/main/java/org/lsposed/lspatch/ui/page/NewPatchScreen.kt +++ b/manager/src/main/java/org/lsposed/npatch/ui/page/NewPatchScreen.kt @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.ui.page +package org.lsposed.npatch.ui.page import android.annotation.SuppressLint import android.content.ClipData @@ -34,13 +34,9 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource -import androidx.compose.ui.text.TextStyle import androidx.compose.ui.text.font.FontFamily -import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp -import androidx.lifecycle.DefaultLifecycleObserver -import androidx.lifecycle.LifecycleOwner import androidx.lifecycle.compose.LocalLifecycleOwner import androidx.lifecycle.viewmodel.compose.viewModel import com.ramcosta.composedestinations.annotation.Destination @@ -48,29 +44,29 @@ import com.ramcosta.composedestinations.navigation.DestinationsNavigator import com.ramcosta.composedestinations.result.NavResult import com.ramcosta.composedestinations.result.ResultRecipient import kotlinx.coroutines.launch -import org.lsposed.lspatch.R -import org.lsposed.lspatch.lspApp -import org.lsposed.lspatch.ui.component.AnywhereDropdown -import org.lsposed.lspatch.ui.component.SelectionColumn -import org.lsposed.lspatch.ui.component.ShimmerAnimation -import org.lsposed.lspatch.ui.component.settings.SettingsCheckBox -import org.lsposed.lspatch.ui.component.settings.SettingsEditor -import org.lsposed.lspatch.ui.component.settings.SettingsItem -import org.lsposed.lspatch.ui.page.destinations.SelectAppsScreenDestination -import org.lsposed.lspatch.ui.util.InstallResultReceiver -import org.lsposed.lspatch.ui.util.LocalSnackbarHost -import org.lsposed.lspatch.ui.util.checkIsApkFixedByLSP -import org.lsposed.lspatch.ui.util.installApk -import org.lsposed.lspatch.ui.util.installApks -import org.lsposed.lspatch.ui.util.isScrolledToEnd -import org.lsposed.lspatch.ui.util.lastItemIndex -import org.lsposed.lspatch.ui.util.uninstallApkByPackageName -import org.lsposed.lspatch.ui.viewmodel.NewPatchViewModel -import org.lsposed.lspatch.ui.viewmodel.NewPatchViewModel.PatchState -import org.lsposed.lspatch.ui.viewmodel.NewPatchViewModel.ViewAction -import org.lsposed.lspatch.util.LSPPackageManager -import org.lsposed.lspatch.util.LSPPackageManager.AppInfo -import org.lsposed.lspatch.util.ShizukuApi +import org.lsposed.npatch.lspApp +import org.lsposed.npatch.R +import org.lsposed.npatch.ui.component.AnywhereDropdown +import org.lsposed.npatch.ui.component.SelectionColumn +import org.lsposed.npatch.ui.component.ShimmerAnimation +import org.lsposed.npatch.ui.component.settings.SettingsCheckBox +import org.lsposed.npatch.ui.component.settings.SettingsEditor +import org.lsposed.npatch.ui.component.settings.SettingsItem +import org.lsposed.npatch.ui.page.destinations.SelectAppsScreenDestination +import org.lsposed.npatch.ui.util.InstallResultReceiver +import org.lsposed.npatch.ui.util.LocalSnackbarHost +import org.lsposed.npatch.ui.util.checkIsApkFixedByLSP +import org.lsposed.npatch.ui.util.installApk +import org.lsposed.npatch.ui.util.installApks +import org.lsposed.npatch.ui.util.isScrolledToEnd +import org.lsposed.npatch.ui.util.lastItemIndex +import org.lsposed.npatch.ui.util.uninstallApkByPackageName +import org.lsposed.npatch.ui.viewmodel.NewPatchViewModel +import org.lsposed.npatch.ui.viewmodel.NewPatchViewModel.PatchState +import org.lsposed.npatch.ui.viewmodel.NewPatchViewModel.ViewAction +import org.lsposed.npatch.util.NPackageManager +import org.lsposed.npatch.util.NPackageManager.AppInfo +import org.lsposed.npatch.util.ShizukuApi private const val TAG = "NewPatchPage" @@ -97,7 +93,7 @@ fun NewPatchScreen( return@rememberLauncherForActivityResult } scope.launch { - LSPPackageManager.getAppInfoFromApks(apks) + NPackageManager.getAppInfoFromApks(apks) .onSuccess { viewModel.dispatch(ViewAction.ConfigurePatch(it.first())) } @@ -116,7 +112,7 @@ fun NewPatchScreen( return@rememberLauncherForActivityResult } scope.launch { - LSPPackageManager.getAppInfoFromApks(apks).onSuccess { appInfos -> + NPackageManager.getAppInfoFromApks(apks).onSuccess { appInfos -> val modules = appInfos.filter { it.isXposedModule } if (modules.isEmpty()) { snackbarHost.showSnackbar(noXposedModules) @@ -133,7 +129,7 @@ fun NewPatchScreen( when (viewModel.patchState) { PatchState.INIT -> { LaunchedEffect(Unit) { - LSPPackageManager.cleanTmpApkDir() + NPackageManager.cleanTmpApkDir() when (id) { ACTION_STORAGE -> { storageLauncher.launch(arrayOf("application/vnd.android.package-archive")) @@ -148,7 +144,7 @@ fun NewPatchScreen( ACTION_INTENT_INSTALL -> { data?.let { uri -> scope.launch { - LSPPackageManager.getAppInfoFromApks(listOf(uri)).onSuccess { + NPackageManager.getAppInfoFromApks(listOf(uri)).onSuccess { viewModel.dispatch(ViewAction.ConfigurePatch(it.first())) }.onFailure { snackbarHost.showSnackbar(it.message ?: errorUnknown) @@ -467,7 +463,7 @@ private fun DoPatchBody(modifier: Modifier, navigator: DestinationsNavigator) { if (status == PackageInstaller.STATUS_SUCCESS) { snackbarHost.showSnackbar(installSuccessfully) navigator.navigateUp() - } else if (status != LSPPackageManager.STATUS_USER_CANCELLED) { + } else if (status != NPackageManager.STATUS_USER_CANCELLED) { val result = snackbarHost.showSnackbar(installFailed, copyError) if (result == SnackbarResult.ActionPerformed) { val cm = lspApp.getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager @@ -562,7 +558,7 @@ private fun InstallDialog(patchApp: AppInfo, onFinish: (Int, String?) -> Unit) { suspend fun doInstall() { Log.i(TAG, "Installing app ${patchApp.app.packageName}") installing = 1 - val (status, message) = LSPPackageManager.install() + val (status, message) = NPackageManager.install() installing = 0 Log.i(TAG, "Installation end: $status, $message") onFinish(status, message) @@ -570,19 +566,19 @@ private fun InstallDialog(patchApp: AppInfo, onFinish: (Int, String?) -> Unit) { LaunchedEffect(uninstallFirst) { if (!uninstallFirst && installing == 0) { - onFinish(LSPPackageManager.STATUS_USER_CANCELLED, "User cancelled") + onFinish(NPackageManager.STATUS_USER_CANCELLED, "User cancelled") doInstall() } } if (uninstallFirst) { UninstallConfirmationDialog( - onDismiss = { onFinish(LSPPackageManager.STATUS_USER_CANCELLED, "User cancelled") }, + onDismiss = { onFinish(NPackageManager.STATUS_USER_CANCELLED, "User cancelled") }, onConfirm = { scope.launch { Log.i(TAG, "Uninstalling app ${patchApp.app.packageName}") installing = 2 - val (status, message) = LSPPackageManager.uninstall(patchApp.app.packageName) + val (status, message) = NPackageManager.uninstall(patchApp.app.packageName) installing = 0 Log.i(TAG, "Uninstallation end: $status, $message") if (status == PackageInstaller.STATUS_SUCCESS) { @@ -670,13 +666,13 @@ private fun InstallDialog2(patchApp: AppInfo, onFinish: (Int, String?) -> Unit) Log.d(TAG, "State changed to install, starting installation via system.") doInstall() // Since system installer is an Intent, it's fire-and-forget. We can dismiss our UI. - onFinish(LSPPackageManager.STATUS_USER_CANCELLED, "Handed over to system installer") + onFinish(NPackageManager.STATUS_USER_CANCELLED, "Handed over to system installer") } } if (uninstallFirst) { UninstallConfirmationDialog( - onDismiss = { onFinish(LSPPackageManager.STATUS_USER_CANCELLED, "User cancelled") }, + onDismiss = { onFinish(NPackageManager.STATUS_USER_CANCELLED, "User cancelled") }, onConfirm = { scope.launch { Log.i(TAG, "Uninstalling app ${patchApp.app.packageName}") diff --git a/manager/src/main/java/org/lsposed/lspatch/ui/page/RepoScreen.kt b/manager/src/main/java/org/lsposed/npatch/ui/page/RepoScreen.kt similarity index 91% rename from manager/src/main/java/org/lsposed/lspatch/ui/page/RepoScreen.kt rename to manager/src/main/java/org/lsposed/npatch/ui/page/RepoScreen.kt index 60e5d89..1961581 100644 --- a/manager/src/main/java/org/lsposed/lspatch/ui/page/RepoScreen.kt +++ b/manager/src/main/java/org/lsposed/npatch/ui/page/RepoScreen.kt @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.ui.page +package org.lsposed.npatch.ui.page import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.padding @@ -10,7 +10,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign import com.ramcosta.composedestinations.annotation.Destination -import org.lsposed.lspatch.ui.component.CenterTopBar +import org.lsposed.npatch.ui.component.CenterTopBar @OptIn(ExperimentalMaterial3Api::class) @Destination diff --git a/manager/src/main/java/org/lsposed/lspatch/ui/page/SelectAppsScreen.kt b/manager/src/main/java/org/lsposed/npatch/ui/page/SelectAppsScreen.kt similarity index 90% rename from manager/src/main/java/org/lsposed/lspatch/ui/page/SelectAppsScreen.kt rename to manager/src/main/java/org/lsposed/npatch/ui/page/SelectAppsScreen.kt index 108de1d..5bc821e 100644 --- a/manager/src/main/java/org/lsposed/lspatch/ui/page/SelectAppsScreen.kt +++ b/manager/src/main/java/org/lsposed/npatch/ui/page/SelectAppsScreen.kt @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.ui.page +package org.lsposed.npatch.ui.page import android.content.pm.ApplicationInfo import android.os.Parcelable @@ -25,12 +25,12 @@ import com.google.accompanist.swiperefresh.rememberSwipeRefreshState import com.ramcosta.composedestinations.annotation.Destination import com.ramcosta.composedestinations.result.ResultBackNavigator import kotlinx.parcelize.Parcelize -import org.lsposed.lspatch.R -import org.lsposed.lspatch.ui.component.AppItem -import org.lsposed.lspatch.ui.component.SearchAppBar -import org.lsposed.lspatch.ui.viewmodel.SelectAppsViewModel -import org.lsposed.lspatch.util.LSPPackageManager -import org.lsposed.lspatch.util.LSPPackageManager.AppInfo +import org.lsposed.npatch.R +import org.lsposed.npatch.ui.component.AppItem +import org.lsposed.npatch.ui.component.SearchAppBar +import org.lsposed.npatch.ui.viewmodel.SelectAppsViewModel +import org.lsposed.npatch.util.NPackageManager +import org.lsposed.npatch.util.NPackageManager.AppInfo @Parcelize sealed class SelectAppsResult : Parcelable { @@ -60,7 +60,7 @@ fun SelectAppsScreen( viewModel.filterAppList(false, filter) initialSelected?.let { val tmp = initialSelected.toSet() - viewModel.multiSelected.addAll(LSPPackageManager.appList.filter { tmp.contains(it.app.packageName) }) + viewModel.multiSelected.addAll(NPackageManager.appList.filter { tmp.contains(it.app.packageName) }) } } @@ -128,7 +128,7 @@ private fun SingleSelect(onSelect: (AppInfo) -> Unit) { modifier = Modifier .animateItem(spring(stiffness = Spring.StiffnessLow)) .clickable { onSelect(it) }, - icon = LSPPackageManager.getIcon(it), + icon = NPackageManager.getIcon(it), label = it.label, packageName = it.app.packageName ) @@ -153,7 +153,7 @@ private fun MultiSelect() { if (checked) viewModel.multiSelected.remove(it) else viewModel.multiSelected.add(it) }, - icon = LSPPackageManager.getIcon(it), + icon = NPackageManager.getIcon(it), label = it.label, packageName = it.app.packageName, checked = checked diff --git a/manager/src/main/java/org/lsposed/lspatch/ui/page/SettingsScreen.kt b/manager/src/main/java/org/lsposed/npatch/ui/page/SettingsScreen.kt similarity index 95% rename from manager/src/main/java/org/lsposed/lspatch/ui/page/SettingsScreen.kt rename to manager/src/main/java/org/lsposed/npatch/ui/page/SettingsScreen.kt index 3d42f19..07207ff 100644 --- a/manager/src/main/java/org/lsposed/lspatch/ui/page/SettingsScreen.kt +++ b/manager/src/main/java/org/lsposed/npatch/ui/page/SettingsScreen.kt @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.ui.page +package org.lsposed.npatch.ui.page import android.app.Activity import android.content.Intent @@ -29,15 +29,14 @@ import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp import com.ramcosta.composedestinations.annotation.Destination import kotlinx.coroutines.launch -import org.lsposed.lspatch.R -import org.lsposed.lspatch.config.Configs -import org.lsposed.lspatch.config.MyKeyStore -import org.lsposed.lspatch.ui.component.AnywhereDropdown -import org.lsposed.lspatch.ui.component.CenterTopBar -import org.lsposed.lspatch.ui.component.settings.SettingsItem -import org.lsposed.lspatch.ui.component.settings.SettingsSlot -import org.lsposed.lspatch.ui.component.settings.SettingsSwitch -import org.lsposed.lspatch.ui.util.LocalSnackbarHost +import org.lsposed.npatch.R +import org.lsposed.npatch.config.Configs +import org.lsposed.npatch.config.MyKeyStore +import org.lsposed.npatch.ui.component.AnywhereDropdown +import org.lsposed.npatch.ui.component.CenterTopBar +import org.lsposed.npatch.ui.component.settings.SettingsItem +import org.lsposed.npatch.ui.component.settings.SettingsSwitch +import org.lsposed.npatch.ui.util.LocalSnackbarHost import java.io.IOException import java.security.GeneralSecurityException import java.security.KeyStore diff --git a/manager/src/main/java/org/lsposed/lspatch/ui/page/manage/AppManagePage.kt b/manager/src/main/java/org/lsposed/npatch/ui/page/manage/AppManagePage.kt similarity index 91% rename from manager/src/main/java/org/lsposed/lspatch/ui/page/manage/AppManagePage.kt rename to manager/src/main/java/org/lsposed/npatch/ui/page/manage/AppManagePage.kt index 77f9c16..8e7f95f 100644 --- a/manager/src/main/java/org/lsposed/lspatch/ui/page/manage/AppManagePage.kt +++ b/manager/src/main/java/org/lsposed/npatch/ui/page/manage/AppManagePage.kt @@ -1,11 +1,10 @@ -package org.lsposed.lspatch.ui.page.manage +package org.lsposed.npatch.ui.page.manage import android.app.Activity import android.content.ClipData import android.content.ClipboardManager import android.content.Context import android.content.Intent -import android.content.pm.PackageManager import android.net.Uri import android.util.Log import androidx.activity.compose.rememberLauncherForActivityResult @@ -24,14 +23,10 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.platform.LocalDensity import androidx.compose.ui.res.stringResource -import androidx.compose.ui.text.AnnotatedString -import androidx.compose.ui.text.SpanStyle -import androidx.compose.ui.text.buildAnnotatedString import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp -import androidx.compose.ui.window.Dialog import androidx.core.net.toUri import androidx.documentfile.provider.DocumentFile import androidx.lifecycle.viewmodel.compose.viewModel @@ -39,27 +34,27 @@ import com.ramcosta.composedestinations.navigation.DestinationsNavigator import com.ramcosta.composedestinations.result.NavResult import com.ramcosta.composedestinations.result.ResultRecipient import kotlinx.coroutines.launch -import org.lsposed.lspatch.BuildConfig -import org.lsposed.lspatch.R -import org.lsposed.lspatch.config.ConfigManager -import org.lsposed.lspatch.config.Configs -import org.lsposed.lspatch.database.entity.Module -import org.lsposed.lspatch.lspApp -import org.lsposed.lspatch.share.Constants -import org.lsposed.lspatch.share.LSPConfig -import org.lsposed.lspatch.ui.component.AnywhereDropdown -import org.lsposed.lspatch.ui.component.AppItem -import org.lsposed.lspatch.ui.component.LoadingDialog -import org.lsposed.lspatch.ui.page.ACTION_APPLIST -import org.lsposed.lspatch.ui.page.ACTION_STORAGE -import org.lsposed.lspatch.ui.page.SelectAppsResult -import org.lsposed.lspatch.ui.page.destinations.NewPatchScreenDestination -import org.lsposed.lspatch.ui.page.destinations.SelectAppsScreenDestination -import org.lsposed.lspatch.ui.util.LocalSnackbarHost -import org.lsposed.lspatch.ui.viewmodel.manage.AppManageViewModel -import org.lsposed.lspatch.ui.viewstate.ProcessingState -import org.lsposed.lspatch.util.LSPPackageManager -import org.lsposed.lspatch.util.ShizukuApi +import org.lsposed.npatch.R +import org.lsposed.npatch.BuildConfig +import org.lsposed.npatch.config.ConfigManager +import org.lsposed.npatch.config.Configs +import org.lsposed.npatch.database.entity.Module +import org.lsposed.npatch.lspApp +import org.lsposed.npatch.share.Constants +import org.lsposed.npatch.share.LSPConfig +import org.lsposed.npatch.ui.component.AnywhereDropdown +import org.lsposed.npatch.ui.component.AppItem +import org.lsposed.npatch.ui.component.LoadingDialog +import org.lsposed.npatch.ui.page.ACTION_APPLIST +import org.lsposed.npatch.ui.page.ACTION_STORAGE +import org.lsposed.npatch.ui.page.SelectAppsResult +import org.lsposed.npatch.ui.page.destinations.NewPatchScreenDestination +import org.lsposed.npatch.ui.page.destinations.SelectAppsScreenDestination +import org.lsposed.npatch.ui.util.LocalSnackbarHost +import org.lsposed.npatch.ui.viewmodel.manage.AppManageViewModel +import org.lsposed.npatch.ui.viewstate.ProcessingState +import org.lsposed.npatch.util.NPackageManager +import org.lsposed.npatch.util.ShizukuApi import java.io.IOException private const val TAG = "AppManagePage" @@ -78,7 +73,7 @@ fun AppManageBody( Text( modifier = Modifier.align(Alignment.Center), text = run { - if (LSPPackageManager.appList.isEmpty()) stringResource(R.string.manage_loading) + if (NPackageManager.appList.isEmpty()) stringResource(R.string.manage_loading) else stringResource(R.string.manage_no_apps) }, fontFamily = FontFamily.Serif, @@ -155,7 +150,7 @@ fun AppManageBody( onLongClick = { expanded = true }, surface = { AppItem( - icon = LSPPackageManager.getIcon(appInfo), + icon = NPackageManager.getIcon(appInfo), label = appInfo.label, packageName = appInfo.app.packageName, additionalContent = { @@ -218,7 +213,7 @@ fun AppManageBody( scope.launch { scopeApp = appInfo.app.packageName val activated = ConfigManager.getModulesForApp(scopeApp).map { it.pkgName }.toSet() - val initialSelected = LSPPackageManager.appList.mapNotNullTo(ArrayList()) { + val initialSelected = NPackageManager.appList.mapNotNullTo(ArrayList()) { if (activated.contains(it.app.packageName)) it.app.packageName else null } navigator.navigate(SelectAppsScreenDestination(true, initialSelected)) diff --git a/manager/src/main/java/org/lsposed/lspatch/ui/page/manage/ModuleManagePage.kt b/manager/src/main/java/org/lsposed/npatch/ui/page/manage/ModuleManagePage.kt similarity index 88% rename from manager/src/main/java/org/lsposed/lspatch/ui/page/manage/ModuleManagePage.kt rename to manager/src/main/java/org/lsposed/npatch/ui/page/manage/ModuleManagePage.kt index d7c5c32..d3690b9 100644 --- a/manager/src/main/java/org/lsposed/lspatch/ui/page/manage/ModuleManagePage.kt +++ b/manager/src/main/java/org/lsposed/npatch/ui/page/manage/ModuleManagePage.kt @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.ui.page.manage +package org.lsposed.npatch.ui.page.manage import android.content.Intent import android.net.Uri @@ -22,11 +22,11 @@ import androidx.compose.ui.text.buildAnnotatedString import androidx.compose.ui.text.font.FontFamily import androidx.compose.ui.text.font.FontWeight import androidx.lifecycle.viewmodel.compose.viewModel -import org.lsposed.lspatch.R -import org.lsposed.lspatch.ui.component.AnywhereDropdown -import org.lsposed.lspatch.ui.component.AppItem -import org.lsposed.lspatch.ui.viewmodel.manage.ModuleManageViewModel -import org.lsposed.lspatch.util.LSPPackageManager +import org.lsposed.npatch.ui.component.AnywhereDropdown +import org.lsposed.npatch.ui.component.AppItem +import org.lsposed.npatch.R +import org.lsposed.npatch.ui.viewmodel.manage.ModuleManageViewModel +import org.lsposed.npatch.util.NPackageManager @Composable fun ModuleManageBody() { @@ -37,7 +37,7 @@ fun ModuleManageBody() { Text( modifier = Modifier.align(Alignment.Center), text = run { - if (LSPPackageManager.appList.isEmpty()) stringResource(R.string.manage_loading) + if (NPackageManager.appList.isEmpty()) stringResource(R.string.manage_loading) else stringResource(R.string.manage_no_modules) }, fontFamily = FontFamily.Serif, @@ -51,7 +51,7 @@ fun ModuleManageBody() { key = { it.first.app.packageName } ) { var expanded by remember { mutableStateOf(false) } - val settingsIntent = remember { LSPPackageManager.getSettingsIntent(it.first.app.packageName) } + val settingsIntent = remember { NPackageManager.getSettingsIntent(it.first.app.packageName) } AnywhereDropdown( expanded = expanded, onDismissRequest = { expanded = false }, @@ -59,7 +59,7 @@ fun ModuleManageBody() { onLongClick = { expanded = true }, surface = { AppItem( - icon = LSPPackageManager.getIcon(it.first), + icon = NPackageManager.getIcon(it.first), label = it.first.label, packageName = it.first.app.packageName, additionalContent = { diff --git a/manager/src/main/java/org/lsposed/lspatch/ui/theme/Theme.kt b/manager/src/main/java/org/lsposed/npatch/ui/theme/Theme.kt similarity index 97% rename from manager/src/main/java/org/lsposed/lspatch/ui/theme/Theme.kt rename to manager/src/main/java/org/lsposed/npatch/ui/theme/Theme.kt index f2ec166..e2b224f 100644 --- a/manager/src/main/java/org/lsposed/lspatch/ui/theme/Theme.kt +++ b/manager/src/main/java/org/lsposed/npatch/ui/theme/Theme.kt @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.ui.theme +package org.lsposed.npatch.ui.theme import android.app.Activity import android.os.Build diff --git a/manager/src/main/java/org/lsposed/lspatch/ui/theme/Type.kt b/manager/src/main/java/org/lsposed/npatch/ui/theme/Type.kt similarity index 92% rename from manager/src/main/java/org/lsposed/lspatch/ui/theme/Type.kt rename to manager/src/main/java/org/lsposed/npatch/ui/theme/Type.kt index 6468d51..21847ac 100644 --- a/manager/src/main/java/org/lsposed/lspatch/ui/theme/Type.kt +++ b/manager/src/main/java/org/lsposed/npatch/ui/theme/Type.kt @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.ui.theme +package org.lsposed.npatch.ui.theme import androidx.compose.material3.Typography import androidx.compose.ui.text.TextStyle diff --git a/manager/src/main/java/org/lsposed/lspatch/ui/util/CompositionProvider.kt b/manager/src/main/java/org/lsposed/npatch/ui/util/CompositionProvider.kt similarity index 86% rename from manager/src/main/java/org/lsposed/lspatch/ui/util/CompositionProvider.kt rename to manager/src/main/java/org/lsposed/npatch/ui/util/CompositionProvider.kt index 480aa6d..5498705 100644 --- a/manager/src/main/java/org/lsposed/lspatch/ui/util/CompositionProvider.kt +++ b/manager/src/main/java/org/lsposed/npatch/ui/util/CompositionProvider.kt @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.ui.util +package org.lsposed.npatch.ui.util import androidx.compose.material3.SnackbarHostState import androidx.compose.runtime.compositionLocalOf diff --git a/manager/src/main/java/org/lsposed/lspatch/ui/util/HtmlText.kt b/manager/src/main/java/org/lsposed/npatch/ui/util/HtmlText.kt similarity index 94% rename from manager/src/main/java/org/lsposed/lspatch/ui/util/HtmlText.kt rename to manager/src/main/java/org/lsposed/npatch/ui/util/HtmlText.kt index 56a5299..d8b6e7f 100644 --- a/manager/src/main/java/org/lsposed/lspatch/ui/util/HtmlText.kt +++ b/manager/src/main/java/org/lsposed/npatch/ui/util/HtmlText.kt @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.ui.util +package org.lsposed.npatch.ui.util import android.text.method.LinkMovementMethod import android.widget.TextView diff --git a/manager/src/main/java/org/lsposed/lspatch/ui/util/MultiDelegateState.kt b/manager/src/main/java/org/lsposed/npatch/ui/util/MultiDelegateState.kt similarity index 96% rename from manager/src/main/java/org/lsposed/lspatch/ui/util/MultiDelegateState.kt rename to manager/src/main/java/org/lsposed/npatch/ui/util/MultiDelegateState.kt index 4121904..05deb75 100644 --- a/manager/src/main/java/org/lsposed/lspatch/ui/util/MultiDelegateState.kt +++ b/manager/src/main/java/org/lsposed/npatch/ui/util/MultiDelegateState.kt @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.ui.util +package org.lsposed.npatch.ui.util import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf diff --git a/manager/src/main/java/org/lsposed/lspatch/ui/util/Preview.kt b/manager/src/main/java/org/lsposed/npatch/ui/util/Preview.kt similarity index 85% rename from manager/src/main/java/org/lsposed/lspatch/ui/util/Preview.kt rename to manager/src/main/java/org/lsposed/npatch/ui/util/Preview.kt index 5afca8c..f482960 100644 --- a/manager/src/main/java/org/lsposed/lspatch/ui/util/Preview.kt +++ b/manager/src/main/java/org/lsposed/npatch/ui/util/Preview.kt @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.ui.util +package org.lsposed.npatch.ui.util import androidx.compose.ui.tooling.preview.PreviewParameterProvider diff --git a/manager/src/main/java/org/lsposed/lspatch/ui/util/Utils.kt b/manager/src/main/java/org/lsposed/npatch/ui/util/Utils.kt similarity index 98% rename from manager/src/main/java/org/lsposed/lspatch/ui/util/Utils.kt rename to manager/src/main/java/org/lsposed/npatch/ui/util/Utils.kt index b8660a4..7aef07c 100644 --- a/manager/src/main/java/org/lsposed/lspatch/ui/util/Utils.kt +++ b/manager/src/main/java/org/lsposed/npatch/ui/util/Utils.kt @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.ui.util +package org.lsposed.npatch.ui.util import android.app.PendingIntent import android.content.BroadcastReceiver @@ -14,7 +14,7 @@ import androidx.core.content.FileProvider import androidx.core.net.toUri import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext -import org.lsposed.lspatch.BuildConfig +import org.lsposed.npatch.BuildConfig import java.io.File import java.io.IOException diff --git a/manager/src/main/java/org/lsposed/lspatch/ui/viewmodel/NewPatchViewModel.kt b/manager/src/main/java/org/lsposed/npatch/ui/viewmodel/NewPatchViewModel.kt similarity index 93% rename from manager/src/main/java/org/lsposed/lspatch/ui/viewmodel/NewPatchViewModel.kt rename to manager/src/main/java/org/lsposed/npatch/ui/viewmodel/NewPatchViewModel.kt index 79c3947..6c098cb 100644 --- a/manager/src/main/java/org/lsposed/lspatch/ui/viewmodel/NewPatchViewModel.kt +++ b/manager/src/main/java/org/lsposed/npatch/ui/viewmodel/NewPatchViewModel.kt @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.ui.viewmodel +package org.lsposed.npatch.ui.viewmodel import android.util.Log import androidx.compose.runtime.getValue @@ -8,10 +8,10 @@ import androidx.compose.runtime.setValue import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import kotlinx.coroutines.launch -import org.lsposed.lspatch.Patcher -import org.lsposed.lspatch.share.PatchConfig -import org.lsposed.lspatch.util.LSPPackageManager -import org.lsposed.lspatch.util.LSPPackageManager.AppInfo +import org.lsposed.npatch.Patcher +import org.lsposed.npatch.share.PatchConfig +import org.lsposed.npatch.util.NPackageManager +import org.lsposed.npatch.util.NPackageManager.AppInfo import org.lsposed.patch.util.Logger class NewPatchViewModel : ViewModel() { @@ -120,7 +120,7 @@ class NewPatchViewModel : ViewModel() { logger.e(t.stackTraceToString()) PatchState.ERROR } finally { - LSPPackageManager.cleanTmpApkDir() + NPackageManager.cleanTmpApkDir() } } } \ No newline at end of file diff --git a/manager/src/main/java/org/lsposed/lspatch/ui/viewmodel/SelectAppsViewModel.kt b/manager/src/main/java/org/lsposed/npatch/ui/viewmodel/SelectAppsViewModel.kt similarity index 75% rename from manager/src/main/java/org/lsposed/lspatch/ui/viewmodel/SelectAppsViewModel.kt rename to manager/src/main/java/org/lsposed/npatch/ui/viewmodel/SelectAppsViewModel.kt index cbe0842..ae80648 100644 --- a/manager/src/main/java/org/lsposed/lspatch/ui/viewmodel/SelectAppsViewModel.kt +++ b/manager/src/main/java/org/lsposed/npatch/ui/viewmodel/SelectAppsViewModel.kt @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.ui.viewmodel +package org.lsposed.npatch.ui.viewmodel import android.util.Log import androidx.compose.runtime.getValue @@ -8,8 +8,8 @@ import androidx.compose.runtime.setValue import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import kotlinx.coroutines.launch -import org.lsposed.lspatch.util.LSPPackageManager -import org.lsposed.lspatch.util.LSPPackageManager.AppInfo +import org.lsposed.npatch.util.NPackageManager +import org.lsposed.npatch.util.NPackageManager.AppInfo class SelectAppsViewModel : ViewModel() { @@ -31,12 +31,12 @@ class SelectAppsViewModel : ViewModel() { fun filterAppList(refresh: Boolean, filter: (AppInfo) -> Boolean) { viewModelScope.launch { - if (LSPPackageManager.appList.isEmpty() || refresh) { + if (NPackageManager.appList.isEmpty() || refresh) { isRefreshing = true - LSPPackageManager.fetchAppList() + NPackageManager.fetchAppList() isRefreshing = false } - filteredList = LSPPackageManager.appList.filter(filter) + filteredList = NPackageManager.appList.filter(filter) Log.d(TAG, "Filtered ${filteredList.size} apps") } } diff --git a/manager/src/main/java/org/lsposed/lspatch/ui/viewmodel/manage/AppManageViewModel.kt b/manager/src/main/java/org/lsposed/npatch/ui/viewmodel/manage/AppManageViewModel.kt similarity index 89% rename from manager/src/main/java/org/lsposed/lspatch/ui/viewmodel/manage/AppManageViewModel.kt rename to manager/src/main/java/org/lsposed/npatch/ui/viewmodel/manage/AppManageViewModel.kt index d5565c9..3ac4388 100644 --- a/manager/src/main/java/org/lsposed/lspatch/ui/viewmodel/manage/AppManageViewModel.kt +++ b/manager/src/main/java/org/lsposed/npatch/ui/viewmodel/manage/AppManageViewModel.kt @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.ui.viewmodel.manage +package org.lsposed.npatch.ui.viewmodel.manage import android.content.pm.PackageInstaller import android.util.Base64 @@ -13,16 +13,16 @@ import com.google.gson.Gson import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch import kotlinx.coroutines.withContext -import org.lsposed.lspatch.Patcher -import org.lsposed.lspatch.lspApp -import org.lsposed.lspatch.share.Constants -import org.lsposed.lspatch.share.PatchConfig -import org.lsposed.lspatch.ui.util.installApk -import org.lsposed.lspatch.ui.util.installApks -import org.lsposed.lspatch.ui.viewstate.ProcessingState -import org.lsposed.lspatch.util.LSPPackageManager -import org.lsposed.lspatch.util.LSPPackageManager.AppInfo -import org.lsposed.lspatch.util.ShizukuApi +import org.lsposed.npatch.Patcher +import org.lsposed.npatch.lspApp +import org.lsposed.npatch.share.Constants +import org.lsposed.npatch.share.PatchConfig +import org.lsposed.npatch.ui.util.installApk +import org.lsposed.npatch.ui.util.installApks +import org.lsposed.npatch.ui.viewstate.ProcessingState +import org.lsposed.npatch.util.NPackageManager +import org.lsposed.npatch.util.NPackageManager.AppInfo +import org.lsposed.npatch.util.ShizukuApi import org.lsposed.patch.util.Logger import java.io.FileNotFoundException import java.util.zip.ZipFile @@ -41,7 +41,7 @@ class AppManageViewModel : ViewModel() { } val appList: List> by derivedStateOf { - LSPPackageManager.appList.mapNotNull { appInfo -> + NPackageManager.appList.mapNotNull { appInfo -> runCatching { appInfo.app.metaData?.getString("npatch")?.let { val json = Base64.decode(it, Base64.DEFAULT).toString(Charsets.UTF_8) @@ -91,7 +91,7 @@ class AppManageViewModel : ViewModel() { updateLoaderState = ProcessingState.Processing val result = runCatching { withContext(Dispatchers.IO) { - LSPPackageManager.apply { + NPackageManager.apply { cleanTmpApkDir() cleanExternalTmpApkDir() } @@ -101,7 +101,7 @@ class AppManageViewModel : ViewModel() { for (apk in apkPaths) { ZipFile(apk).use { zip -> var entry = zip.getEntry(Constants.ORIGINAL_APK_ASSET_PATH) - if (entry == null) entry = zip.getEntry("assets/lspatch/origin_apk.bin") + if (entry == null) entry = zip.getEntry("assets/npatch/origin_apk.bin") if (entry == null) throw FileNotFoundException("Original apk entry not found for $apk") zip.getInputStream(entry).use { input -> val dst = lspApp.tmpApkDir.resolve(apk.substringAfterLast('/')) @@ -138,7 +138,7 @@ class AppManageViewModel : ViewModel() { installApk(lspApp, apkFiles.first()) } } else { - val (status, message) = LSPPackageManager.install() + val (status, message) = NPackageManager.install() if (status != PackageInstaller.STATUS_SUCCESS) throw RuntimeException(message) } } diff --git a/manager/src/main/java/org/lsposed/lspatch/ui/viewmodel/manage/ModuleManageViewModel.kt b/manager/src/main/java/org/lsposed/npatch/ui/viewmodel/manage/ModuleManageViewModel.kt similarity index 77% rename from manager/src/main/java/org/lsposed/lspatch/ui/viewmodel/manage/ModuleManageViewModel.kt rename to manager/src/main/java/org/lsposed/npatch/ui/viewmodel/manage/ModuleManageViewModel.kt index 3066c59..fd943ee 100644 --- a/manager/src/main/java/org/lsposed/lspatch/ui/viewmodel/manage/ModuleManageViewModel.kt +++ b/manager/src/main/java/org/lsposed/npatch/ui/viewmodel/manage/ModuleManageViewModel.kt @@ -1,10 +1,10 @@ -package org.lsposed.lspatch.ui.viewmodel.manage +package org.lsposed.npatch.ui.viewmodel.manage import android.util.Log import androidx.compose.runtime.derivedStateOf import androidx.compose.runtime.getValue import androidx.lifecycle.ViewModel -import org.lsposed.lspatch.util.LSPPackageManager +import org.lsposed.npatch.util.NPackageManager class ModuleManageViewModel : ViewModel() { @@ -18,8 +18,8 @@ class ModuleManageViewModel : ViewModel() { val scope: List ) - val appList: List> by derivedStateOf { - LSPPackageManager.appList.mapNotNull { appInfo -> + val appList: List> by derivedStateOf { + NPackageManager.appList.mapNotNull { appInfo -> val metaData = appInfo.app.metaData ?: return@mapNotNull null appInfo to XposedInfo( metaData.getInt("xposedminversion", -1).also { if (it == -1) return@mapNotNull null }, diff --git a/manager/src/main/java/org/lsposed/lspatch/ui/viewstate/ProcessingState.kt b/manager/src/main/java/org/lsposed/npatch/ui/viewstate/ProcessingState.kt similarity index 82% rename from manager/src/main/java/org/lsposed/lspatch/ui/viewstate/ProcessingState.kt rename to manager/src/main/java/org/lsposed/npatch/ui/viewstate/ProcessingState.kt index cd8ac13..d057edc 100644 --- a/manager/src/main/java/org/lsposed/lspatch/ui/viewstate/ProcessingState.kt +++ b/manager/src/main/java/org/lsposed/npatch/ui/viewstate/ProcessingState.kt @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.ui.viewstate +package org.lsposed.npatch.ui.viewstate sealed class ProcessingState { object Idle : ProcessingState() diff --git a/manager/src/main/java/org/lsposed/lspatch/util/IntentSenderHelper.kt b/manager/src/main/java/org/lsposed/npatch/util/IntentSenderHelper.kt similarity index 97% rename from manager/src/main/java/org/lsposed/lspatch/util/IntentSenderHelper.kt rename to manager/src/main/java/org/lsposed/npatch/util/IntentSenderHelper.kt index 515ab75..79bd21a 100644 --- a/manager/src/main/java/org/lsposed/lspatch/util/IntentSenderHelper.kt +++ b/manager/src/main/java/org/lsposed/npatch/util/IntentSenderHelper.kt @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.util +package org.lsposed.npatch.util import android.content.IIntentReceiver import android.content.IIntentSender diff --git a/manager/src/main/java/org/lsposed/lspatch/util/LSPPackageManager.kt b/manager/src/main/java/org/lsposed/npatch/util/NPackageManager.kt similarity index 97% rename from manager/src/main/java/org/lsposed/lspatch/util/LSPPackageManager.kt rename to manager/src/main/java/org/lsposed/npatch/util/NPackageManager.kt index 52920e6..5e04604 100644 --- a/manager/src/main/java/org/lsposed/lspatch/util/LSPPackageManager.kt +++ b/manager/src/main/java/org/lsposed/npatch/util/NPackageManager.kt @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.util +package org.lsposed.npatch.util import android.annotation.SuppressLint import android.content.Intent @@ -22,10 +22,10 @@ import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.withContext import kotlinx.parcelize.Parcelize import me.zhanghai.android.appiconloader.AppIconLoader -import org.lsposed.lspatch.config.ConfigManager -import org.lsposed.lspatch.config.Configs -import org.lsposed.lspatch.lspApp -import org.lsposed.lspatch.share.Constants +import org.lsposed.npatch.config.ConfigManager +import org.lsposed.npatch.config.Configs +import org.lsposed.npatch.lspApp +import org.lsposed.npatch.share.Constants import java.io.File import java.io.IOException import java.text.Collator @@ -33,7 +33,7 @@ import java.util.* import kotlin.coroutines.resume import kotlin.coroutines.suspendCoroutine -object LSPPackageManager { +object NPackageManager { private const val TAG = "LSPPackageManager" private const val SETTINGS_CATEGORY = "de.robv.android.xposed.category.MODULE_SETTINGS" diff --git a/manager/src/main/java/org/lsposed/lspatch/util/ShizukuApi.kt b/manager/src/main/java/org/lsposed/npatch/util/ShizukuApi.kt similarity index 99% rename from manager/src/main/java/org/lsposed/lspatch/util/ShizukuApi.kt rename to manager/src/main/java/org/lsposed/npatch/util/ShizukuApi.kt index 299e287..1a3924d 100644 --- a/manager/src/main/java/org/lsposed/lspatch/util/ShizukuApi.kt +++ b/manager/src/main/java/org/lsposed/npatch/util/ShizukuApi.kt @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.util +package org.lsposed.npatch.util import android.content.IntentSender import android.content.pm.* diff --git a/meta-loader/build.gradle.kts b/meta-loader/build.gradle.kts index f591a0f..e8f5834 100644 --- a/meta-loader/build.gradle.kts +++ b/meta-loader/build.gradle.kts @@ -15,7 +15,7 @@ android { proguardFiles("proguard-rules.pro") } } - namespace = "org.lsposed.lspatch.metaloader" + namespace = "org.lsposed.npatch.metaloader" } androidComponents.onVariants { variant -> @@ -29,7 +29,7 @@ androidComponents.onVariants { variant -> "$buildDir/intermediates/dex/$variantLowered/mergeDex$variantCapped" from(dexOutPath) rename("classes.dex", "metaloader.dex") - into("${rootProject.projectDir}/out/assets/${variant.name}/lspatch") + into("${rootProject.projectDir}/out/assets/${variant.name}/npatch") } task("copy$variantCapped") { diff --git a/meta-loader/proguard-rules.pro b/meta-loader/proguard-rules.pro index 5a2a631..cb7f0b9 100644 --- a/meta-loader/proguard-rules.pro +++ b/meta-loader/proguard-rules.pro @@ -1,4 +1,4 @@ --keep class org.lsposed.lspatch.metaloader.LSPAppComponentFactoryStub { +-keep class org.lsposed.npatch.metaloader.LSPAppComponentFactoryStub { public static byte[] dex; (); } diff --git a/meta-loader/src/main/java/org/lsposed/lspatch/metaloader/LSPAppComponentFactoryStub.java b/meta-loader/src/main/java/org/lsposed/npatch/metaloader/LSPAppComponentFactoryStub.java similarity index 92% rename from meta-loader/src/main/java/org/lsposed/lspatch/metaloader/LSPAppComponentFactoryStub.java rename to meta-loader/src/main/java/org/lsposed/npatch/metaloader/LSPAppComponentFactoryStub.java index 9640684..52bd5c4 100644 --- a/meta-loader/src/main/java/org/lsposed/lspatch/metaloader/LSPAppComponentFactoryStub.java +++ b/meta-loader/src/main/java/org/lsposed/npatch/metaloader/LSPAppComponentFactoryStub.java @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.metaloader; +package org.lsposed.npatch.metaloader; import android.annotation.SuppressLint; import android.app.ActivityThread; @@ -12,7 +12,7 @@ import android.util.JsonReader; import android.util.Log; import org.lsposed.hiddenapibypass.HiddenApiBypass; -import org.lsposed.lspatch.share.Constants; +import org.lsposed.npatch.share.Constants; import java.io.ByteArrayOutputStream; import java.io.File; @@ -37,7 +37,7 @@ public class LSPAppComponentFactoryStub extends AppComponentFactory { static { final boolean appZygote = ActivityThread.currentActivityThread() == null; if (appZygote) { - Log.i(TAG, "Skip loading liblspatch.so for appZygote"); + Log.i(TAG, "Skip loading libnpatch.so for appZygote"); } else { bootstrap(); } @@ -93,7 +93,7 @@ public class LSPAppComponentFactoryStub extends AppComponentFactory { transfer(is, os); dex = os.toByteArray(); } - soPath = manager.sourceDir + "!/assets/lspatch/so/" + libName + "/liblspatch.so"; + soPath = manager.sourceDir + "!/assets/npatch/so/" + libName + "/libnpatch.so"; } else { Log.i(TAG, "Bootstrap loader from embedment"); try (var is = cl.getResourceAsStream(Constants.LOADER_DEX_ASSET_PATH); @@ -101,7 +101,7 @@ public class LSPAppComponentFactoryStub extends AppComponentFactory { transfer(is, os); dex = os.toByteArray(); } - soPath = cl.getResource("assets/lspatch/so/" + libName + "/liblspatch.so").getPath().substring(5); + soPath = cl.getResource("assets/npatch/so/" + libName + "/libnpatch.so").getPath().substring(5); } System.load(soPath); diff --git a/patch-loader/build.gradle.kts b/patch-loader/build.gradle.kts index 0451c99..aeb54d0 100644 --- a/patch-loader/build.gradle.kts +++ b/patch-loader/build.gradle.kts @@ -25,7 +25,7 @@ android { path("src/main/jni/CMakeLists.txt") } } - namespace = "org.lsposed.lspatch.loader" + namespace = "org.lsposed.npatch.loader" } androidComponents.onVariants { variant -> @@ -35,7 +35,7 @@ androidComponents.onVariants { variant -> dependsOn("assemble$variantCapped") from(layout.buildDirectory.file("intermediates/dex/${variant.name}/mergeDex$variantCapped/classes.dex")) rename("classes.dex", "loader.dex") - into("${rootProject.projectDir}/out/assets/${variant.name}/lspatch") + into("${rootProject.projectDir}/out/assets/${variant.name}/npatch") } val copySoTask = tasks.register("copySo$variantCapped") { @@ -45,10 +45,10 @@ androidComponents.onVariants { variant -> from( fileTree( "dir" to layout.buildDirectory.dir("intermediates/stripped_native_libs/${variant.name}/strip${variantCapped}DebugSymbols/out/lib"), - "include" to listOf("**/liblspatch.so") + "include" to listOf("**/libnpatch.so") ) ) - into("${rootProject.projectDir}/out/assets/${variant.name}/lspatch/so") + into("${rootProject.projectDir}/out/assets/${variant.name}/npatch/so") } tasks.register("copy$variantCapped") { diff --git a/patch-loader/src/main/java/org/lsposed/lspatch/loader/LSPApplication.java b/patch-loader/src/main/java/org/lsposed/npatch/loader/LSPApplication.java similarity index 95% rename from patch-loader/src/main/java/org/lsposed/lspatch/loader/LSPApplication.java rename to patch-loader/src/main/java/org/lsposed/npatch/loader/LSPApplication.java index 1c1a285..c54bfd4 100644 --- a/patch-loader/src/main/java/org/lsposed/lspatch/loader/LSPApplication.java +++ b/patch-loader/src/main/java/org/lsposed/npatch/loader/LSPApplication.java @@ -1,8 +1,8 @@ -package org.lsposed.lspatch.loader; +package org.lsposed.npatch.loader; -import static org.lsposed.lspatch.share.Constants.CONFIG_ASSET_PATH; -import static org.lsposed.lspatch.share.Constants.ORIGINAL_APK_ASSET_PATH; -import static org.lsposed.lspatch.share.Constants.PROVIDER_DEX_ASSET_PATH; +import static org.lsposed.npatch.share.Constants.CONFIG_ASSET_PATH; +import static org.lsposed.npatch.share.Constants.ORIGINAL_APK_ASSET_PATH; +import static org.lsposed.npatch.share.Constants.PROVIDER_DEX_ASSET_PATH; import android.app.ActivityThread; import android.app.LoadedApk; @@ -19,12 +19,12 @@ import com.google.gson.Gson; import org.json.JSONArray; import org.json.JSONObject; -import org.lsposed.lspatch.loader.util.FileUtils; -import org.lsposed.lspatch.loader.util.XLog; -import org.lsposed.lspatch.service.IntegrApplicationService; -import org.lsposed.lspatch.service.NeoLocalApplicationService; -import org.lsposed.lspatch.service.RemoteApplicationService; -import org.lsposed.lspatch.share.PatchConfig; +import org.lsposed.npatch.loader.util.FileUtils; +import org.lsposed.npatch.loader.util.XLog; +import org.lsposed.npatch.service.IntegrApplicationService; +import org.lsposed.npatch.service.NeoLocalApplicationService; +import org.lsposed.npatch.service.RemoteApplicationService; +import org.lsposed.npatch.share.PatchConfig; import org.lsposed.lspd.core.Startup; import org.lsposed.lspd.models.Module; import org.lsposed.lspd.service.ILSPApplicationService; @@ -76,7 +76,7 @@ public class LSPApplication { private static boolean hasEmbeddedModules(Context context) { try { - String[] list = context.getAssets().list("lspatch/modules"); + String[] list = context.getAssets().list("npatch/modules"); return list != null && list.length > 0; } catch (IOException e) { return false; diff --git a/patch-loader/src/main/java/org/lsposed/lspatch/loader/LSPLoader.java b/patch-loader/src/main/java/org/lsposed/npatch/loader/LSPLoader.java similarity index 96% rename from patch-loader/src/main/java/org/lsposed/lspatch/loader/LSPLoader.java rename to patch-loader/src/main/java/org/lsposed/npatch/loader/LSPLoader.java index bce721f..8214b6e 100644 --- a/patch-loader/src/main/java/org/lsposed/lspatch/loader/LSPLoader.java +++ b/patch-loader/src/main/java/org/lsposed/npatch/loader/LSPLoader.java @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.loader; +package org.lsposed.npatch.loader; import android.app.ActivityThread; import android.app.LoadedApk; diff --git a/patch-loader/src/main/java/org/lsposed/lspatch/loader/SigBypass.java b/patch-loader/src/main/java/org/lsposed/npatch/loader/SigBypass.java similarity index 95% rename from patch-loader/src/main/java/org/lsposed/lspatch/loader/SigBypass.java rename to patch-loader/src/main/java/org/lsposed/npatch/loader/SigBypass.java index 46cb289..2910455 100644 --- a/patch-loader/src/main/java/org/lsposed/lspatch/loader/SigBypass.java +++ b/patch-loader/src/main/java/org/lsposed/npatch/loader/SigBypass.java @@ -1,6 +1,6 @@ -package org.lsposed.lspatch.loader; +package org.lsposed.npatch.loader; -import static org.lsposed.lspatch.share.Constants.ORIGINAL_APK_ASSET_PATH; +import static org.lsposed.npatch.share.Constants.ORIGINAL_APK_ASSET_PATH; import android.content.Context; import android.content.pm.ApplicationInfo; @@ -15,8 +15,8 @@ import android.util.Log; import com.google.gson.JsonSyntaxException; -import org.lsposed.lspatch.loader.util.XLog; -import org.lsposed.lspatch.share.Constants; +import org.lsposed.npatch.loader.util.XLog; +import org.lsposed.npatch.share.Constants; import org.json.JSONException; import org.json.JSONObject; @@ -153,7 +153,7 @@ public class SigBypass { if (sigBypassLevel >= Constants.SIGBYPASS_LV_PM_OPENAT) { String cacheApkPath; try (ZipFile sourceFile = new ZipFile(context.getPackageResourcePath())) { - cacheApkPath = context.getCacheDir() + "/lspatch/origin/" + sourceFile.getEntry(ORIGINAL_APK_ASSET_PATH).getCrc() + ".apk"; + cacheApkPath = context.getCacheDir() + "/npatch/origin/" + sourceFile.getEntry(ORIGINAL_APK_ASSET_PATH).getCrc() + ".apk"; } org.lsposed.lspd.nativebridge.SigBypass.enableOpenatHook(context.getPackageResourcePath(), cacheApkPath); } diff --git a/patch-loader/src/main/java/org/lsposed/lspatch/loader/XposedLogPrinter.java b/patch-loader/src/main/java/org/lsposed/npatch/loader/XposedLogPrinter.java similarity index 95% rename from patch-loader/src/main/java/org/lsposed/lspatch/loader/XposedLogPrinter.java rename to patch-loader/src/main/java/org/lsposed/npatch/loader/XposedLogPrinter.java index 2b818e3..23e2507 100644 --- a/patch-loader/src/main/java/org/lsposed/lspatch/loader/XposedLogPrinter.java +++ b/patch-loader/src/main/java/org/lsposed/npatch/loader/XposedLogPrinter.java @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.loader; +package org.lsposed.npatch.loader; import android.app.ActivityThread; import android.os.Environment; @@ -6,7 +6,6 @@ import android.util.Log; import android.util.LogPrinter; import java.io.File; -import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.text.SimpleDateFormat; import java.util.Date; diff --git a/patch-loader/src/main/java/org/lsposed/lspatch/loader/util/FileUtils.java b/patch-loader/src/main/java/org/lsposed/npatch/loader/util/FileUtils.java similarity index 96% rename from patch-loader/src/main/java/org/lsposed/lspatch/loader/util/FileUtils.java rename to patch-loader/src/main/java/org/lsposed/npatch/loader/util/FileUtils.java index 06089b8..8792282 100644 --- a/patch-loader/src/main/java/org/lsposed/lspatch/loader/util/FileUtils.java +++ b/patch-loader/src/main/java/org/lsposed/npatch/loader/util/FileUtils.java @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.loader.util; +package org.lsposed.npatch.loader.util; import java.io.IOException; import java.nio.file.FileVisitResult; diff --git a/patch-loader/src/main/java/org/lsposed/lspatch/loader/util/XLog.java b/patch-loader/src/main/java/org/lsposed/npatch/loader/util/XLog.java similarity index 91% rename from patch-loader/src/main/java/org/lsposed/lspatch/loader/util/XLog.java rename to patch-loader/src/main/java/org/lsposed/npatch/loader/util/XLog.java index a7e9fd8..98e5090 100644 --- a/patch-loader/src/main/java/org/lsposed/lspatch/loader/util/XLog.java +++ b/patch-loader/src/main/java/org/lsposed/npatch/loader/util/XLog.java @@ -1,6 +1,6 @@ -package org.lsposed.lspatch.loader.util; +package org.lsposed.npatch.loader.util; -import org.lsposed.lspatch.loader.BuildConfig; +import org.lsposed.npatch.loader.BuildConfig; public class XLog { diff --git a/patch-loader/src/main/java/org/lsposed/lspatch/service/IntegrApplicationService.java b/patch-loader/src/main/java/org/lsposed/npatch/service/IntegrApplicationService.java similarity index 88% rename from patch-loader/src/main/java/org/lsposed/lspatch/service/IntegrApplicationService.java rename to patch-loader/src/main/java/org/lsposed/npatch/service/IntegrApplicationService.java index a469c67..61f485a 100644 --- a/patch-loader/src/main/java/org/lsposed/lspatch/service/IntegrApplicationService.java +++ b/patch-loader/src/main/java/org/lsposed/npatch/service/IntegrApplicationService.java @@ -1,19 +1,17 @@ -package org.lsposed.lspatch.service; +package org.lsposed.npatch.service; import android.content.Context; -import android.os.Environment; import android.os.IBinder; import android.os.ParcelFileDescriptor; import android.os.RemoteException; import android.util.Log; -import org.lsposed.lspatch.loader.util.FileUtils; -import org.lsposed.lspatch.share.Constants; -import org.lsposed.lspatch.util.ModuleLoader; +import org.lsposed.npatch.loader.util.FileUtils; +import org.lsposed.npatch.share.Constants; +import org.lsposed.npatch.util.ModuleLoader; import org.lsposed.lspd.models.Module; import org.lsposed.lspd.service.ILSPApplicationService; -import java.io.File; import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; @@ -30,7 +28,7 @@ public class IntegrApplicationService extends ILSPApplicationService.Stub { public IntegrApplicationService(Context context) { try { - String[] assetsList = context.getAssets().list("lspatch/modules"); + String[] assetsList = context.getAssets().list("npatch/modules"); if (assetsList == null || assetsList.length == 0) { return; } @@ -55,7 +53,7 @@ public class IntegrApplicationService extends ILSPApplicationService.Stub { Log.i(TAG, "Extracting embedded module: " + packageName); FileUtils.deleteFolderIfExists(Paths.get(modulePath)); Files.createDirectories(Paths.get(modulePath)); - try (var is = context.getAssets().open("lspatch/modules/" + name)) { + try (var is = context.getAssets().open("npatch/modules/" + name)) { Files.copy(is, Paths.get(cacheApkPath)); } } diff --git a/patch-loader/src/main/java/org/lsposed/lspatch/service/NeoLocalApplicationService.java b/patch-loader/src/main/java/org/lsposed/npatch/service/NeoLocalApplicationService.java similarity index 92% rename from patch-loader/src/main/java/org/lsposed/lspatch/service/NeoLocalApplicationService.java rename to patch-loader/src/main/java/org/lsposed/npatch/service/NeoLocalApplicationService.java index f4f72e3..0cf2ef5 100644 --- a/patch-loader/src/main/java/org/lsposed/lspatch/service/NeoLocalApplicationService.java +++ b/patch-loader/src/main/java/org/lsposed/npatch/service/NeoLocalApplicationService.java @@ -1,19 +1,13 @@ -package org.lsposed.lspatch.service; +package org.lsposed.npatch.service; import android.content.Context; -import android.content.SharedPreferences; -import android.content.pm.ApplicationInfo; -import android.content.pm.PackageManager; -import android.os.Environment; import android.os.IBinder; import android.os.RemoteException; import android.os.ParcelFileDescriptor; import android.util.Log; import org.json.JSONArray; -import org.json.JSONException; -import org.json.JSONObject; -import org.lsposed.lspatch.util.ModuleLoader; +import org.lsposed.npatch.util.ModuleLoader; import org.lsposed.lspd.models.Module; import org.lsposed.lspd.service.ILSPApplicationService; diff --git a/patch-loader/src/main/java/org/lsposed/lspatch/service/RemoteApplicationService.java b/patch-loader/src/main/java/org/lsposed/npatch/service/RemoteApplicationService.java similarity index 96% rename from patch-loader/src/main/java/org/lsposed/lspatch/service/RemoteApplicationService.java rename to patch-loader/src/main/java/org/lsposed/npatch/service/RemoteApplicationService.java index d3ac40d..27c6201 100644 --- a/patch-loader/src/main/java/org/lsposed/lspatch/service/RemoteApplicationService.java +++ b/patch-loader/src/main/java/org/lsposed/npatch/service/RemoteApplicationService.java @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.service; +package org.lsposed.npatch.service; import android.annotation.SuppressLint; import android.content.ComponentName; @@ -15,7 +15,7 @@ import android.os.RemoteException; import android.os.UserHandle; import android.util.Log; -import org.lsposed.lspatch.share.Constants; +import org.lsposed.npatch.share.Constants; import org.lsposed.lspd.models.Module; import org.lsposed.lspd.service.ILSPApplicationService; @@ -32,7 +32,7 @@ import java.util.concurrent.TimeoutException; public class RemoteApplicationService implements ILSPApplicationService { private static final String TAG = "NPatch"; - private static final String MODULE_SERVICE = "org.lsposed.lspatch.manager.ModuleService"; + private static final String MODULE_SERVICE = "org.lsposed.npatch.manager.ModuleService"; private static final int CONNECTION_TIMEOUT_SEC = 1; private volatile ILSPApplicationService service; diff --git a/patch-loader/src/main/jni/CMakeLists.txt b/patch-loader/src/main/jni/CMakeLists.txt index 974fdf3..486d29e 100644 --- a/patch-loader/src/main/jni/CMakeLists.txt +++ b/patch-loader/src/main/jni/CMakeLists.txt @@ -1,4 +1,4 @@ -project(lspatch) +project(npatch) cmake_minimum_required(VERSION 3.28) set(CMAKE_CXX_STANDARD 23) diff --git a/patch-loader/src/main/jni/include/art/runtime/jit/profile_saver.h b/patch-loader/src/main/jni/include/art/runtime/jit/profile_saver.h index 003f667..009b386 100644 --- a/patch-loader/src/main/jni/include/art/runtime/jit/profile_saver.h +++ b/patch-loader/src/main/jni/include/art/runtime/jit/profile_saver.h @@ -2,8 +2,8 @@ // Created by loves on 6/19/2021. // -#ifndef LSPATCH_PROFILE_SAVER_H -#define LSPATCH_PROFILE_SAVER_H +#ifndef NPATCH_PROFILE_SAVER_H +#define NPATCH_PROFILE_SAVER_H #include "utils/hook_helper.hpp" @@ -54,4 +54,4 @@ public: }; } // namespace art -#endif // LSPATCH_PROFILE_SAVER_H +#endif // NPATCH_PROFILE_SAVER_H diff --git a/patch-loader/src/main/jni/include/art/runtime/oat_file_manager.h b/patch-loader/src/main/jni/include/art/runtime/oat_file_manager.h index 6a48a90..8c5cac5 100644 --- a/patch-loader/src/main/jni/include/art/runtime/oat_file_manager.h +++ b/patch-loader/src/main/jni/include/art/runtime/oat_file_manager.h @@ -17,8 +17,8 @@ * Copyright (C) 2021 - 2022 LSPosed Contributors */ -#ifndef LSPATCH_OAT_FILE_MANAGER_H -#define LSPATCH_OAT_FILE_MANAGER_H +#ifndef NPATCH_OAT_FILE_MANAGER_H +#define NPATCH_OAT_FILE_MANAGER_H #include @@ -69,4 +69,4 @@ public: }; } // namespace art -#endif // LSPATCH_OAT_FILE_MANAGER_H +#endif // NPATCH_OAT_FILE_MANAGER_H diff --git a/patch-loader/src/main/jni/src/patch_loader.cpp b/patch-loader/src/main/jni/src/patch_loader.cpp index 5ffd307..e5ebbbc 100644 --- a/patch-loader/src/main/jni/src/patch_loader.cpp +++ b/patch-loader/src/main/jni/src/patch_loader.cpp @@ -81,7 +81,7 @@ namespace lspd { } void PatchLoader::SetupEntryClass(JNIEnv* env) { - ScopedLocalRef entry_class(FindClassFromLoader(env, GetCurrentClassLoader(), "org.lsposed.lspatch.loader.LSPApplication")); + ScopedLocalRef entry_class(FindClassFromLoader(env, GetCurrentClassLoader(), "org.lsposed.npatch.loader.LSPApplication")); if (entry_class) { entry_class_ = JNI_NewGlobalRef(env, entry_class.get()); } else { @@ -102,7 +102,7 @@ namespace lspd { [](auto symbol) { return GetArt()->getSymbPrefixFirstAddress(symbol); }, }; - auto stub = JNI_FindClass(env, "org/lsposed/lspatch/metaloader/LSPAppComponentFactoryStub"); + auto stub = JNI_FindClass(env, "org/lsposed/npatch/metaloader/LSPAppComponentFactoryStub"); auto dex_field = JNI_GetStaticFieldID(env, stub, "dex", "[B"); ScopedLocalRef array = JNI_GetStaticObjectField(env, stub, dex_field); diff --git a/patch/build.gradle.kts b/patch/build.gradle.kts index b01611d..d0743bc 100644 --- a/patch/build.gradle.kts +++ b/patch/build.gradle.kts @@ -21,7 +21,7 @@ dependencies { implementation(projects.apkzlib) implementation(projects.share.java) - implementation(lspatch.commons.io) - implementation(lspatch.beust.jcommander) - implementation(lspatch.google.gson) + implementation(npatch.commons.io) + implementation(npatch.beust.jcommander) + implementation(npatch.google.gson) } diff --git a/patch/src/main/java/org/lsposed/patch/LSPatch.java b/patch/src/main/java/org/lsposed/patch/NPatch.java similarity index 94% rename from patch/src/main/java/org/lsposed/patch/LSPatch.java rename to patch/src/main/java/org/lsposed/patch/NPatch.java index bf59ed1..eccfadb 100644 --- a/patch/src/main/java/org/lsposed/patch/LSPatch.java +++ b/patch/src/main/java/org/lsposed/patch/NPatch.java @@ -1,10 +1,10 @@ package org.lsposed.patch; -import static org.lsposed.lspatch.share.Constants.CONFIG_ASSET_PATH; -import static org.lsposed.lspatch.share.Constants.EMBEDDED_MODULES_ASSET_PATH; -import static org.lsposed.lspatch.share.Constants.LOADER_DEX_ASSET_PATH; -import static org.lsposed.lspatch.share.Constants.ORIGINAL_APK_ASSET_PATH; -import static org.lsposed.lspatch.share.Constants.PROXY_APP_COMPONENT_FACTORY; +import static org.lsposed.npatch.share.Constants.CONFIG_ASSET_PATH; +import static org.lsposed.npatch.share.Constants.EMBEDDED_MODULES_ASSET_PATH; +import static org.lsposed.npatch.share.Constants.LOADER_DEX_ASSET_PATH; +import static org.lsposed.npatch.share.Constants.ORIGINAL_APK_ASSET_PATH; +import static org.lsposed.npatch.share.Constants.PROXY_APP_COMPONENT_FACTORY; import com.android.tools.build.apkzlib.sign.SigningExtension; import com.android.tools.build.apkzlib.sign.SigningOptions; @@ -23,12 +23,11 @@ import com.wind.meditor.property.ModificationProperty; import com.wind.meditor.property.PermissionMapper; import com.wind.meditor.utils.NodeValue; import com.wind.meditor.utils.PermissionType; -import com.wind.meditor.utils.Utils; import org.apache.commons.io.FilenameUtils; -import org.lsposed.lspatch.share.Constants; -import org.lsposed.lspatch.share.LSPConfig; -import org.lsposed.lspatch.share.PatchConfig; +import org.lsposed.npatch.share.Constants; +import org.lsposed.npatch.share.LSPConfig; +import org.lsposed.npatch.share.PatchConfig; import org.lsposed.patch.util.ApkSignatureHelper; import org.lsposed.patch.util.JavaLogger; import org.lsposed.patch.util.Logger; @@ -48,15 +47,13 @@ import java.util.Arrays; import java.util.Base64; import java.util.HashMap; import java.util.HashSet; -import java.util.Iterator; import java.util.LinkedList; import java.util.List; import java.util.Locale; import java.util.Objects; -import java.util.UUID; import java.util.stream.Collectors; -public class LSPatch { +public class NPatch { static class PatchError extends Error { public PatchError(String message, Throwable cause) { @@ -132,7 +129,7 @@ public class LSPatch { private final Logger logger; - public LSPatch(Logger logger, String... args) { + public NPatch(Logger logger, String... args) { jCommander = JCommander.newBuilder().addObject(this).build(); try { jCommander.parse(args); @@ -154,13 +151,13 @@ public class LSPatch { } public static void main(String... args) throws IOException { - LSPatch lspatch = new LSPatch(new JavaLogger(), args); - if (lspatch.help) { - lspatch.jCommander.usage(); + NPatch npatch = new NPatch(new JavaLogger(), args); + if (npatch.help) { + npatch.jCommander.usage(); return; } try { - lspatch.doCommandLine(); + npatch.doCommandLine(); } catch (PatchError e) { e.printStackTrace(System.err); } @@ -295,7 +292,7 @@ public class LSPatch { } logger.i("Adding config..."); - // save lspatch config to asset.. + // save npatch config to asset.. try (var is = new ByteArrayInputStream(configBytes)) { dstZFile.add(CONFIG_ASSET_PATH, is); } catch (Throwable e) { @@ -319,7 +316,7 @@ public class LSPatch { if (isInjectProvider){ try (var is = getClass().getClassLoader().getResourceAsStream("assets/provider.dex")) { - dstZFile.add("assets/lspatch/provider.dex", is); + dstZFile.add("assets/npatch/provider.dex", is); } catch (Throwable e) { throw new PatchError("Error when adding dex", e); } @@ -338,9 +335,9 @@ public class LSPatch { logger.i("Adding native lib..."); // copy so and dex files into the unzipped apk - // do not put liblspatch.so into apk!lib because x86 native bridge causes crash + // do not put libnpatch.so into apk!lib because x86 native bridge causes crash for (String arch : ARCHES) { - String entryName = "assets/lspatch/so/" + arch + "/liblspatch.so"; + String entryName = "assets/npatch/so/" + arch + "/libnpatch.so"; try (var is = getClass().getClassLoader().getResourceAsStream(entryName)) { dstZFile.add(entryName, is, false); // no compress for so } catch (Throwable e) { diff --git a/settings.gradle.kts b/settings.gradle.kts index a429c09..8562753 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -23,7 +23,7 @@ dependencyResolutionManagement { create("libs") { from(files("core/gradle/libs.versions.toml")) } - create("lspatch") { + create("npatch") { from(files("gradle/lspatch.versions.toml")) } } diff --git a/share/android/build.gradle.kts b/share/android/build.gradle.kts index 125a681..8326509 100644 --- a/share/android/build.gradle.kts +++ b/share/android/build.gradle.kts @@ -3,7 +3,7 @@ plugins { } android { - namespace = "org.lsposed.lspatch.share" + namespace = "org.lsposed.npatch.share" buildFeatures { androidResources = false diff --git a/share/android/src/main/java/org/lsposed/lspatch/util/ModuleLoader.java b/share/android/src/main/java/org/lsposed/npatch/util/ModuleLoader.java similarity index 98% rename from share/android/src/main/java/org/lsposed/lspatch/util/ModuleLoader.java rename to share/android/src/main/java/org/lsposed/npatch/util/ModuleLoader.java index 0e68f69..3f98fa5 100644 --- a/share/android/src/main/java/org/lsposed/lspatch/util/ModuleLoader.java +++ b/share/android/src/main/java/org/lsposed/npatch/util/ModuleLoader.java @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.util; +package org.lsposed.npatch.util; import android.os.SharedMemory; import android.system.ErrnoException; diff --git a/share/java/src/main/java/org/lsposed/lspatch/share/Constants.java b/share/java/src/main/java/org/lsposed/npatch/share/Constants.java similarity index 62% rename from share/java/src/main/java/org/lsposed/lspatch/share/Constants.java rename to share/java/src/main/java/org/lsposed/npatch/share/Constants.java index e492d97..1b6e010 100644 --- a/share/java/src/main/java/org/lsposed/lspatch/share/Constants.java +++ b/share/java/src/main/java/org/lsposed/npatch/share/Constants.java @@ -1,18 +1,18 @@ -package org.lsposed.lspatch.share; +package org.lsposed.npatch.share; public class Constants { - final static public String CONFIG_ASSET_PATH = "assets/lspatch/config.json"; - final static public String LOADER_DEX_ASSET_PATH = "assets/lspatch/loader.dex"; - final static public String META_LOADER_DEX_ASSET_PATH = "assets/lspatch/metaloader.dex"; - final static public String PROVIDER_DEX_ASSET_PATH = "assets/lspatch/provider.dex"; - final static public String ORIGINAL_APK_ASSET_PATH = "assets/lspatch/origin.apk"; - final static public String EMBEDDED_MODULES_ASSET_PATH = "assets/lspatch/modules/"; + final static public String CONFIG_ASSET_PATH = "assets/npatch/config.json"; + final static public String LOADER_DEX_ASSET_PATH = "assets/npatch/loader.dex"; + final static public String META_LOADER_DEX_ASSET_PATH = "assets/npatch/metaloader.dex"; + final static public String PROVIDER_DEX_ASSET_PATH = "assets/npatch/provider.dex"; + final static public String ORIGINAL_APK_ASSET_PATH = "assets/npatch/origin.apk"; + final static public String EMBEDDED_MODULES_ASSET_PATH = "assets/npatch/modules/"; final static public String PATCH_FILE_SUFFIX = "-npatched.apk"; - final static public String PROXY_APP_COMPONENT_FACTORY = "org.lsposed.lspatch.metaloader.LSPAppComponentFactoryStub"; + final static public String PROXY_APP_COMPONENT_FACTORY = "org.lsposed.npatch.metaloader.LSPAppComponentFactoryStub"; final static public String MANAGER_PACKAGE_NAME = "org.lsposed.npatch"; - final static public int MIN_ROLLING_VERSION_CODE = 335; + final static public int MIN_ROLLING_VERSION_CODE = 400; final static public int SIGBYPASS_LV_DISABLE = 0; final static public int SIGBYPASS_LV_PM = 1; diff --git a/share/java/src/main/java/org/lsposed/lspatch/share/PatchConfig.java b/share/java/src/main/java/org/lsposed/npatch/share/PatchConfig.java similarity index 97% rename from share/java/src/main/java/org/lsposed/lspatch/share/PatchConfig.java rename to share/java/src/main/java/org/lsposed/npatch/share/PatchConfig.java index 7e171af..79ecbbd 100644 --- a/share/java/src/main/java/org/lsposed/lspatch/share/PatchConfig.java +++ b/share/java/src/main/java/org/lsposed/npatch/share/PatchConfig.java @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.share; +package org.lsposed.npatch.share; public class PatchConfig { diff --git a/share/java/src/template/java/org.lsposed.lspatch.share/LSPConfig.java b/share/java/src/template/java/org.lsposed.lspatch.share/LSPConfig.java index e5bf515..dc9c971 100644 --- a/share/java/src/template/java/org.lsposed.lspatch.share/LSPConfig.java +++ b/share/java/src/template/java/org.lsposed.lspatch.share/LSPConfig.java @@ -1,4 +1,4 @@ -package org.lsposed.lspatch.share; +package org.lsposed.npatch.share; public class LSPConfig {