diff --git a/README.md b/README.md index c2cf231..87878ac 100644 --- a/README.md +++ b/README.md @@ -88,7 +88,7 @@ allprojects { 2) In your library/build.gradle add: ```groovy dependencies { - implementation 'com.github.ChickenHook:Gleipnir:1.2' + implementation 'com.github.ChickenHook:Gleipnir:1.3' } ``` diff --git a/gleipnir/build.gradle b/gleipnir/build.gradle index b9e3c53..c23ffca 100644 --- a/gleipnir/build.gradle +++ b/gleipnir/build.gradle @@ -43,7 +43,7 @@ android { minSdkVersion 26 targetSdkVersion 30 versionCode 2 - versionName "1.2" + versionName "1.3" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" externalNativeBuild { cmake { diff --git a/gleipnir/src/main/java/org/gleipnir/app/AppDetailsActivity.kt b/gleipnir/src/main/java/org/gleipnir/app/AppDetailsActivity.kt index bc52f14..c30bfb0 100644 --- a/gleipnir/src/main/java/org/gleipnir/app/AppDetailsActivity.kt +++ b/gleipnir/src/main/java/org/gleipnir/app/AppDetailsActivity.kt @@ -20,17 +20,20 @@ import java.net.URLConnection class AppDetailsActivity : Activity() { companion object { + const val EXTRA_PROFILE = "extra_profile"; const val EXTRA_APP = "extra_app"; const val TAG = "AppDetailsActivity" } private val IMPORT_CHOOSER = 0 private val EXPORT_CHOOSER = 1 + private var profile = "" lateinit var mAppInfo: ApplicationInfo override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_app_details) intent?.let { it -> + profile = it.getStringExtra(EXTRA_PROFILE) ?: "" it.getParcelableExtra(EXTRA_APP)?.let { appInfo -> mAppInfo = appInfo findViewById(R.id.activity_app_details_icon)?.setImageDrawable( @@ -83,7 +86,7 @@ class AppDetailsActivity : Activity() { fun writeExport(info: ApplicationInfo): File? { getExternalFilesDir(null)?.let { val output = File(it.absolutePath + File.separator + info.packageName + "_data.zip") - val input = ApplicationPaths.buildDataDir(this, info.packageName) + val input = ApplicationPaths.buildDataDir(this, info.packageName, profile) ApkZipHelper.zipIt(output, input) showToast("Exported to: ${output.absolutePath}") return output @@ -92,7 +95,7 @@ class AppDetailsActivity : Activity() { } fun writeImport(info: ApplicationInfo, input: InputStream) { - val dest = ApplicationPaths.buildDataDir(this, info.packageName) + val dest = ApplicationPaths.buildDataDir(this, info.packageName, profile) ApkZipHelper.unzip(input, dest) showToast("Imported to: ${dest.absolutePath}") } diff --git a/gleipnir/src/main/java/org/gleipnir/app/Hacktivity.kt b/gleipnir/src/main/java/org/gleipnir/app/Hacktivity.kt index 4234280..aed6d6b 100644 --- a/gleipnir/src/main/java/org/gleipnir/app/Hacktivity.kt +++ b/gleipnir/src/main/java/org/gleipnir/app/Hacktivity.kt @@ -210,6 +210,9 @@ class Hacktivity : Activity() { val intent = Intent(this@Hacktivity, AppDetailsActivity::class.java) intent.putExtra(AppDetailsActivity.EXTRA_APP, items[position].appInfo!!) + loadProfile(this)?.let { + intent.putExtra(AppDetailsActivity.EXTRA_PROFILE, it) + } startActivity(intent) true }