parent
9d98756fa7
commit
f11b20a865
@ -6,7 +6,6 @@ import android.os.UserHandle
|
|||||||
import android.os.UserManager
|
import android.os.UserManager
|
||||||
|
|
||||||
fun UserHandle.getSerialNumber(context: Context): Long {
|
fun UserHandle.getSerialNumber(context: Context): Long {
|
||||||
if (this == Process.myUserHandle()) return 0L
|
|
||||||
val userManager = context.getSystemService(Context.USER_SERVICE) as UserManager
|
val userManager = context.getSystemService(Context.USER_SERVICE) as UserManager
|
||||||
return userManager.getSerialNumberForUser(this)
|
return userManager.getSerialNumberForUser(this)
|
||||||
}
|
}
|
||||||
@ -4,6 +4,7 @@ import android.content.ComponentName
|
|||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.content.pm.LauncherApps
|
import android.content.pm.LauncherApps
|
||||||
|
import android.os.Process
|
||||||
import android.os.UserManager
|
import android.os.UserManager
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
import androidx.core.content.getSystemService
|
import androidx.core.content.getSystemService
|
||||||
@ -47,8 +48,8 @@ class LauncherAppDeserializer(val context: Context) : SearchableDeserializer {
|
|||||||
val json = JSONObject(serialized)
|
val json = JSONObject(serialized)
|
||||||
val launcherApps = context.getSystemService<LauncherApps>()!!
|
val launcherApps = context.getSystemService<LauncherApps>()!!
|
||||||
val userManager = context.getSystemService<UserManager>()!!
|
val userManager = context.getSystemService<UserManager>()!!
|
||||||
val userSerial = json.optLong("user")
|
val userSerial = json.optLong("user", -1L)
|
||||||
val user = userManager.getUserForSerialNumber(userSerial) ?: return null
|
val user = if (userSerial == -1L) Process.myUserHandle() else (userManager.getUserForSerialNumber(userSerial) ?: return null)
|
||||||
|
|
||||||
val pkg = json.getString("package")
|
val pkg = json.getString("package")
|
||||||
val activity = json.getString("activity")
|
val activity = json.getString("activity")
|
||||||
|
|||||||
@ -5,6 +5,7 @@ import android.content.Intent
|
|||||||
import android.content.Intent.ShortcutIconResource
|
import android.content.Intent.ShortcutIconResource
|
||||||
import android.content.pm.LauncherApps
|
import android.content.pm.LauncherApps
|
||||||
import android.content.pm.PackageManager
|
import android.content.pm.PackageManager
|
||||||
|
import android.os.Process
|
||||||
import android.os.UserManager
|
import android.os.UserManager
|
||||||
import android.util.Log
|
import android.util.Log
|
||||||
import androidx.core.content.getSystemService
|
import androidx.core.content.getSystemService
|
||||||
@ -43,10 +44,10 @@ class LauncherShortcutDeserializer(
|
|||||||
val json = JSONObject(serialized)
|
val json = JSONObject(serialized)
|
||||||
val packageName = json.getString("packagename")
|
val packageName = json.getString("packagename")
|
||||||
val id = json.getString("id")
|
val id = json.getString("id")
|
||||||
val userSerial = json.optLong("user")
|
val userSerial = json.optLong("user", -1L)
|
||||||
|
|
||||||
val userManager = context.getSystemService<UserManager>()!!
|
val userManager = context.getSystemService<UserManager>()!!
|
||||||
val user = userManager.getUserForSerialNumber(userSerial) ?: return null
|
val user = if (userSerial == -1L) Process.myUserHandle() else (userManager.getUserForSerialNumber(userSerial) ?: return null)
|
||||||
|
|
||||||
if (!launcherApps.hasShortcutHostPermission()) {
|
if (!launcherApps.hasShortcutHostPermission()) {
|
||||||
return UnavailableShortcut(context, id, packageName, user, userSerial)
|
return UnavailableShortcut(context, id, packageName, user, userSerial)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user