mirror of
https://github.com/awfixers-stuff/OwnDroid.git
synced 2026-03-24 03:16:00 +00:00
Refactor code of API
Rename Automation API to API Add API section to READMEs
This commit is contained in:
51
app/src/main/java/com/bintianqi/owndroid/ApiReceiver.kt
Normal file
51
app/src/main/java/com/bintianqi/owndroid/ApiReceiver.kt
Normal file
@@ -0,0 +1,51 @@
|
||||
package com.bintianqi.owndroid
|
||||
|
||||
import android.annotation.SuppressLint
|
||||
import android.content.BroadcastReceiver
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.util.Log
|
||||
import com.bintianqi.owndroid.dpm.getDPM
|
||||
import com.bintianqi.owndroid.dpm.getReceiver
|
||||
|
||||
class ApiReceiver: BroadcastReceiver() {
|
||||
@SuppressLint("NewApi")
|
||||
override fun onReceive(context: Context, intent: Intent) {
|
||||
val sharedPrefs = context.getSharedPreferences("data", Context.MODE_PRIVATE)
|
||||
if(sharedPrefs.getBoolean("enable_api", false)) return
|
||||
val key = sharedPrefs.getString("api_key", null)
|
||||
if(key != null && key == intent.getStringExtra("key")) {
|
||||
val dpm = context.getDPM()
|
||||
val receiver = context.getReceiver()
|
||||
val app = intent.getStringExtra("package") ?: ""
|
||||
try {
|
||||
val ok = when(intent.action) {
|
||||
"com.bintianqi.owndroid.action.HIDE" -> dpm.setApplicationHidden(receiver, app, true)
|
||||
"com.bintianqi.owndroid.action.UNHIDE" -> dpm.setApplicationHidden(receiver, app, false)
|
||||
"com.bintianqi.owndroid.action.SUSPEND" -> dpm.setPackagesSuspended(receiver, arrayOf(app), true).isEmpty()
|
||||
"com.bintianqi.owndroid.action.UNSUSPEND" -> dpm.setPackagesSuspended(receiver, arrayOf(app), false).isEmpty()
|
||||
"com.bintianqi.owndroid.action.LOCK" -> { dpm.lockNow(); true }
|
||||
else -> {
|
||||
Log.w(TAG, "Invalid action")
|
||||
resultData = "Invalid action"
|
||||
false
|
||||
}
|
||||
}
|
||||
if(!ok) resultCode = 1
|
||||
} catch(e: Exception) {
|
||||
e.printStackTrace()
|
||||
val message = (e::class.qualifiedName ?: "Exception") + ": " + (e.message ?: "")
|
||||
Log.w(TAG, message)
|
||||
resultCode = 1
|
||||
resultData = message
|
||||
}
|
||||
} else {
|
||||
Log.w(TAG, "Unauthorized")
|
||||
resultCode = 1
|
||||
resultData = "Unauthorized"
|
||||
}
|
||||
}
|
||||
companion object {
|
||||
private const val TAG = "API"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user