core subproject

This commit is contained in:
rhunk 2023-07-27 17:12:33 +02:00
parent 4e8dff949f
commit ec6ba52b58
202 changed files with 103 additions and 46 deletions

View File

@ -6,9 +6,6 @@ plugins {
alias(libs.plugins.kotlinAndroid) alias(libs.plugins.kotlinAndroid)
} }
val appVersionName = "1.1.0"
val appVersionCode = 7
android { android {
namespace = "me.rhunk.snapenhance" namespace = "me.rhunk.snapenhance"
compileSdk = 33 compileSdk = 33
@ -22,9 +19,6 @@ android {
minSdk = 28 minSdk = 28
//noinspection OldTargetApi //noinspection OldTargetApi
targetSdk = 33 targetSdk = 33
versionCode = appVersionCode
versionName = appVersionName
multiDexEnabled = true multiDexEnabled = true
} }
@ -66,7 +60,7 @@ android {
applicationVariants.all { applicationVariants.all {
outputs.map { it as BaseVariantOutputImpl }.forEach { variant -> outputs.map { it as BaseVariantOutputImpl }.forEach { variant ->
variant.outputFileName = "app-${appVersionName}-${variant.name}.apk" variant.outputFileName = "app-${rootProject.ext["appVersionName"]}-${variant.name}.apk"
} }
} }
@ -81,24 +75,8 @@ android {
} }
dependencies { dependencies {
compileOnly(files("libs/LSPosed-api-1.0-SNAPSHOT.jar")) implementation(project(":core"))
implementation(libs.coroutines) implementation(libs.androidx.activity.ktx)
implementation(libs.kotlin.reflect)
implementation(libs.recyclerview)
implementation(libs.gson)
implementation(libs.ffmpeg.kit)
implementation(libs.osmdroid.android)
implementation(libs.okhttp)
implementation(libs.androidx.documentfile)
implementation(project(":mapper"))
}
tasks.register("getVersion") {
doLast {
val versionFile = File("app/build/version.txt")
versionFile.writeText(android.defaultConfig.versionName.toString())
}
} }
afterEvaluate { afterEvaluate {

View File

@ -0,0 +1,10 @@
package me.rhunk.snapenhance.manager
import android.os.Bundle
import androidx.activity.ComponentActivity
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
}
}

View File

@ -5,4 +5,7 @@ plugins {
alias(libs.plugins.kotlinAndroid) apply false alias(libs.plugins.kotlinAndroid) apply false
} }
rootProject.ext.set("appVersionName", "1.1.0")
rootProject.ext.set("appVersionCode", 7)
true // Needed to make the Suppress annotation work for the plugins block true // Needed to make the Suppress annotation work for the plugins block

16
core/.gitignore vendored Normal file
View File

@ -0,0 +1,16 @@
*.iml
.gradle
/local.properties
/.idea/caches
/.idea/libraries
/.idea/modules.xml
/.idea/workspace.xml
/.idea/navEditor.xml
/.idea/assetWizardSettings.xml
/.idea/
.DS_Store
/build
/captures
.externalNativeBuild
.cxx
local.properties

44
core/build.gradle.kts Normal file
View File

@ -0,0 +1,44 @@
@Suppress("DSL_SCOPE_VIOLATION") // TODO: Remove once KTIJ-19369 is fixed
plugins {
id("com.android.library")
alias(libs.plugins.kotlinAndroid)
}
android {
namespace = "me.rhunk.snapenhance.core"
compileSdk = 33
buildFeatures {
aidl = true
}
defaultConfig {
minSdk = 28
buildConfigField("String", "VERSION_NAME", "\"${rootProject.ext["appVersionName"]}\"")
buildConfigField("int", "VERSION_CODE", "${rootProject.ext["appVersionCode"]}")
}
kotlinOptions {
jvmTarget = "1.8"
}
}
tasks.register("getVersion") {
doLast {
val versionFile = File("app/build/version.txt")
versionFile.writeText(android.defaultConfig.versionName.toString())
}
}
dependencies {
compileOnly(files("libs/LSPosed-api-1.0-SNAPSHOT.jar"))
implementation(libs.coroutines)
implementation(libs.kotlin.reflect)
implementation(libs.recyclerview)
implementation(libs.gson)
implementation(libs.ffmpeg.kit)
implementation(libs.osmdroid.android)
implementation(libs.okhttp)
implementation(libs.androidx.documentfile)
implementation(project(":mapper"))
}

View File

@ -2,6 +2,7 @@ package me.rhunk.snapenhance
import android.util.Log import android.util.Log
import de.robv.android.xposed.XposedBridge import de.robv.android.xposed.XposedBridge
import me.rhunk.snapenhance.core.BuildConfig
object Logger { object Logger {
private const val TAG = "SnapEnhance" private const val TAG = "SnapEnhance"

View File

@ -7,6 +7,7 @@ import android.content.pm.PackageManager
import kotlinx.coroutines.runBlocking import kotlinx.coroutines.runBlocking
import kotlinx.coroutines.withContext import kotlinx.coroutines.withContext
import me.rhunk.snapenhance.bridge.BridgeClient import me.rhunk.snapenhance.bridge.BridgeClient
import me.rhunk.snapenhance.core.BuildConfig
import me.rhunk.snapenhance.data.SnapClassCache import me.rhunk.snapenhance.data.SnapClassCache
import me.rhunk.snapenhance.hook.HookStage import me.rhunk.snapenhance.hook.HookStage
import me.rhunk.snapenhance.hook.Hooker import me.rhunk.snapenhance.hook.Hooker
@ -34,7 +35,7 @@ class SnapEnhance {
//for lspatch builds, we need to check if the service is correctly installed //for lspatch builds, we need to check if the service is correctly installed
runCatching { runCatching {
appContext.androidContext.packageManager.getApplicationInfoCompat(BuildConfig.APPLICATION_ID, PackageManager.GET_META_DATA) appContext.androidContext.packageManager.getApplicationInfoCompat(BuildConfig.LIBRARY_PACKAGE_NAME, PackageManager.GET_META_DATA)
}.onFailure { }.onFailure {
appContext.crash("SnapEnhance bridge service is not installed. Please download stable version from https://github.com/rhunk/SnapEnhance/releases") appContext.crash("SnapEnhance bridge service is not installed. Please download stable version from https://github.com/rhunk/SnapEnhance/releases")
return@hook return@hook

View File

@ -2,16 +2,16 @@ package me.rhunk.snapenhance.action.impl
import android.content.Intent import android.content.Intent
import android.os.Bundle import android.os.Bundle
import me.rhunk.snapenhance.BuildConfig
import me.rhunk.snapenhance.action.AbstractAction import me.rhunk.snapenhance.action.AbstractAction
import me.rhunk.snapenhance.config.ConfigProperty import me.rhunk.snapenhance.config.ConfigProperty
import me.rhunk.snapenhance.core.BuildConfig
import me.rhunk.snapenhance.ui.map.MapActivity import me.rhunk.snapenhance.ui.map.MapActivity
class OpenMap: AbstractAction("action.open_map", dependsOnProperty = ConfigProperty.LOCATION_SPOOF) { class OpenMap: AbstractAction("action.open_map", dependsOnProperty = ConfigProperty.LOCATION_SPOOF) {
override fun run() { override fun run() {
context.runOnUiThread { context.runOnUiThread {
val mapActivityIntent = Intent() val mapActivityIntent = Intent()
mapActivityIntent.setClassName(BuildConfig.APPLICATION_ID, MapActivity::class.java.name) mapActivityIntent.setClassName(BuildConfig.LIBRARY_PACKAGE_NAME, MapActivity::class.java.name)
mapActivityIntent.putExtra("location", Bundle().apply { mapActivityIntent.putExtra("location", Bundle().apply {
putDouble("latitude", context.config.string(ConfigProperty.LATITUDE).toDouble()) putDouble("latitude", context.config.string(ConfigProperty.LATITUDE).toDouble())
putDouble("longitude", context.config.string(ConfigProperty.LONGITUDE).toDouble()) putDouble("longitude", context.config.string(ConfigProperty.LONGITUDE).toDouble())

View File

@ -10,7 +10,7 @@ import android.os.Handler
import android.os.HandlerThread import android.os.HandlerThread
import android.os.IBinder import android.os.IBinder
import de.robv.android.xposed.XposedHelpers import de.robv.android.xposed.XposedHelpers
import me.rhunk.snapenhance.BuildConfig import me.rhunk.snapenhance.core.BuildConfig
import me.rhunk.snapenhance.Logger.xposedLog import me.rhunk.snapenhance.Logger.xposedLog
import me.rhunk.snapenhance.ModContext import me.rhunk.snapenhance.ModContext
import me.rhunk.snapenhance.bridge.types.BridgeFileType import me.rhunk.snapenhance.bridge.types.BridgeFileType
@ -32,12 +32,12 @@ class BridgeClient(
with(context.androidContext) { with(context.androidContext) {
//ensure the remote process is running //ensure the remote process is running
startActivity(Intent() startActivity(Intent()
.setClassName(BuildConfig.APPLICATION_ID, ForceStartActivity::class.java.name) .setClassName(BuildConfig.LIBRARY_PACKAGE_NAME, ForceStartActivity::class.java.name)
.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_MULTIPLE_TASK) .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_MULTIPLE_TASK)
) )
val intent = Intent() val intent = Intent()
.setClassName(BuildConfig.APPLICATION_ID, BridgeService::class.java.name) .setClassName(BuildConfig.LIBRARY_PACKAGE_NAME, BridgeService::class.java.name)
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
bindService( bindService(
intent, intent,

View File

@ -9,7 +9,7 @@ import android.content.Intent
import android.content.IntentFilter import android.content.IntentFilter
import android.net.Uri import android.net.Uri
import android.os.Environment import android.os.Environment
import me.rhunk.snapenhance.BuildConfig import me.rhunk.snapenhance.core.BuildConfig
import me.rhunk.snapenhance.Logger import me.rhunk.snapenhance.Logger
import me.rhunk.snapenhance.config.ConfigProperty import me.rhunk.snapenhance.config.ConfigProperty
import me.rhunk.snapenhance.features.Feature import me.rhunk.snapenhance.features.Feature

Some files were not shown because too many files have changed in this diff Show More