This commit is contained in:
wunter8 2023-05-20 05:50:28 -07:00 committed by GitHub
commit f6c15d8841
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 29 additions and 1 deletions

View file

@ -149,6 +149,8 @@ class Backuper(val context: Context) {
body = a.body,
intent = a.intent,
extras = a.extras,
intent_class = a.intent_class,
intent_package = a.intent_package,
progress = a.progress,
error = a.error
)
@ -278,6 +280,8 @@ class Backuper(val context: Context) {
body = a.body,
intent = a.intent,
extras = a.extras,
intent_class = a.intent_class,
intent_package = a.intent_package,
progress = a.progress,
error = a.error
)
@ -407,6 +411,8 @@ data class Action(
val body: String?, // used in "http" action
val intent: String?, // used in "broadcast" action
val extras: Map<String,String>?, // used in "broadcast" action
val intent_class: String?, // used in "broadcast" action
val intent_package: String?, // used in "broadcast" action
val progress: Int?, // used to indicate progress in popup
val error: String? // used to indicate errors in popup
)

View file

@ -151,6 +151,8 @@ data class Action(
@ColumnInfo(name = "body") val body: String?, // used in "http" action
@ColumnInfo(name = "intent") val intent: String?, // used in "broadcast" action
@ColumnInfo(name = "extras") val extras: Map<String,String>?, // used in "broadcast" action
@ColumnInfo(name = "intent_class") val intent_class: String?, // used in "broadcast" action
@ColumnInfo(name = "intent_package") val intent_package: String?, // used in "broadcast" action
@ColumnInfo(name = "progress") val progress: Int?, // used to indicate progress in popup
@ColumnInfo(name = "error") val error: String?, // used to indicate errors in popup
)

View file

@ -47,10 +47,24 @@ class BroadcastService(private val ctx: Context) {
fun sendUserAction(action: Action) {
val intent = Intent()
intent.action = action.intent ?: USER_ACTION_ACTION
if (action.intent_class != null && action.intent_package != null) {
intent.setClassName(action.intent_package, action.intent_class)
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
Log.d(
TAG,
"Sending user action intent to start activity: ${intent.action} to ${action.intent_package}:${action.intent_class} with extras ${intent.extras}"
)
ctx.startActivity(intent)
return
}
action.extras?.forEach { (key, value) ->
intent.putExtra(key, value)
}
Log.d(TAG, "Sending user action intent broadcast: ${intent.action} with extras ${intent.extras}")
Log.d(
TAG,
"Sending user action intent broadcast: ${intent.action} with extras ${intent.extras}"
)
ctx.sendBroadcast(intent)
}

View file

@ -42,6 +42,8 @@ data class MessageAction(
val body: String?, // used in "http" action
val intent: String?, // used in "broadcast" action
val extras: Map<String,String>?, // used in "broadcast" action
val intent_class: String?, // used in "broadcast" action
val intent_package: String?, // used in "broadcast" action
)
const val MESSAGE_ENCODING_BASE64 = "base64"

View file

@ -45,6 +45,8 @@ class NotificationParser {
body = a.body,
intent = a.intent,
extras = a.extras,
intent_class = a.intent_class,
intent_package = a.intent_package,
progress = null,
error = null
)
@ -89,6 +91,8 @@ class NotificationParser {
body = a.body,
intent = a.intent,
extras = a.extras,
intent_class = a.intent_class,
intent_package = a.intent_package,
progress = null,
error = null
)