mirror of
https://github.com/rhunk/SnapEnhance.git
synced 2025-04-30 22:54:28 +02:00
core subproject
This commit is contained in:
parent
4e8dff949f
commit
ec6ba52b58
@ -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 {
|
||||||
|
@ -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)
|
||||||
|
}
|
||||||
|
}
|
@ -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
16
core/.gitignore
vendored
Normal 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
44
core/build.gradle.kts
Normal 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"))
|
||||||
|
}
|
@ -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"
|
@ -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
|
@ -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())
|
@ -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,
|
@ -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
Loading…
x
Reference in New Issue
Block a user