|
|
@@ -1,93 +0,0 @@
|
|
|
-package com.example.modifier
|
|
|
-
|
|
|
-import android.Manifest
|
|
|
-import android.annotation.SuppressLint
|
|
|
-import android.app.AlarmManager
|
|
|
-import android.app.PendingIntent
|
|
|
-import android.content.Context
|
|
|
-import android.content.Intent
|
|
|
-import android.os.Build
|
|
|
-import android.telephony.SubscriptionManager
|
|
|
-import android.util.Log
|
|
|
-import androidx.core.content.ContextCompat
|
|
|
-import com.example.modifier.constants.CMD_MESSAGING_APP
|
|
|
-import com.example.modifier.constants.PACKAGE_GMS
|
|
|
-import com.example.modifier.constants.PACKAGE_GSF
|
|
|
-import com.example.modifier.constants.PACKAGE_MESSAGING
|
|
|
-import com.example.modifier.data.BackupItem
|
|
|
-import com.example.modifier.data.BackupItemDao
|
|
|
-import com.example.modifier.extension.disable
|
|
|
-import com.example.modifier.extension.enable
|
|
|
-import com.example.modifier.model.SpoofedSimInfo
|
|
|
-import com.example.modifier.serializer.Json
|
|
|
-import com.example.modifier.utils.clearConv
|
|
|
-import com.example.modifier.utils.hasPermission
|
|
|
-import com.example.modifier.utils.resumePackage
|
|
|
-import com.example.modifier.utils.shellRun
|
|
|
-import com.example.modifier.utils.suspendPackage
|
|
|
-import com.google.gson.Gson
|
|
|
-import kotlinx.coroutines.Dispatchers
|
|
|
-import kotlinx.coroutines.delay
|
|
|
-import kotlinx.coroutines.withContext
|
|
|
-import kotlinx.serialization.encodeToString
|
|
|
-import org.apache.commons.io.FileUtils
|
|
|
-import org.apache.commons.io.IOUtils
|
|
|
-import org.apache.commons.lang3.RandomStringUtils
|
|
|
-import java.io.File
|
|
|
-import java.nio.file.Files
|
|
|
-import java.util.Date
|
|
|
-import java.util.Optional
|
|
|
-import kotlin.system.exitProcess
|
|
|
-
|
|
|
-
|
|
|
-object Global {
|
|
|
-
|
|
|
- fun sqlite3path(): String {
|
|
|
- val context = Utils.getContext()
|
|
|
- val dataDir = ContextCompat.getDataDir(context)
|
|
|
- val binDir = File(dataDir, "bin")
|
|
|
- val dbDir = File(dataDir, "providerDB")
|
|
|
- if (!binDir.exists()) {
|
|
|
- Utils.copyAssetFolder(context.assets, "bin", binDir.path)
|
|
|
- Utils.copyAssetFolder(context.assets, "providerDB", dbDir.path)
|
|
|
- binDir.listFiles()?.forEach {
|
|
|
- it.setExecutable(true)
|
|
|
- }
|
|
|
- }
|
|
|
- Log.i("Modifier", "arch: " + Build.SUPPORTED_ABIS.joinToString(", "))
|
|
|
- val file = File(dataDir, "bin/sqlite3.arm")
|
|
|
- file.setExecutable(true)
|
|
|
- return file.path
|
|
|
- }
|
|
|
-
|
|
|
- @JvmStatic
|
|
|
- fun sendSmsIntent(sender: String, msg: String) {
|
|
|
- val intent = Intent()
|
|
|
- intent.setAction("com.example.modifier.sms")
|
|
|
- intent.putExtra("sender", sender)
|
|
|
- intent.putExtra(
|
|
|
- "message",
|
|
|
- msg
|
|
|
- )
|
|
|
- val context = Utils.getContext()
|
|
|
- context.sendBroadcast(intent)
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- @JvmStatic
|
|
|
- fun restartModifier() {
|
|
|
- val context = Utils.getContext()
|
|
|
- val mStartActivity: Intent = Intent(context, MainActivity::class.java)
|
|
|
- val mPendingIntentId = 123456
|
|
|
- val mPendingIntent = PendingIntent.getActivity(
|
|
|
- context,
|
|
|
- mPendingIntentId,
|
|
|
- mStartActivity,
|
|
|
- PendingIntent.FLAG_CANCEL_CURRENT or PendingIntent.FLAG_IMMUTABLE
|
|
|
- )
|
|
|
- val mgr = context.getSystemService(Context.ALARM_SERVICE) as AlarmManager
|
|
|
- mgr.set(AlarmManager.RTC, System.currentTimeMillis() + 100, mPendingIntent)
|
|
|
- exitProcess(0)
|
|
|
- }
|
|
|
-}
|