diff --git a/core/ktx/src/main/java/de/mm20/launcher2/ktx/UserHandle.kt b/core/ktx/src/main/java/de/mm20/launcher2/ktx/UserHandle.kt index f07b70ad..c798300d 100644 --- a/core/ktx/src/main/java/de/mm20/launcher2/ktx/UserHandle.kt +++ b/core/ktx/src/main/java/de/mm20/launcher2/ktx/UserHandle.kt @@ -6,7 +6,6 @@ import android.os.UserHandle import android.os.UserManager fun UserHandle.getSerialNumber(context: Context): Long { - if (this == Process.myUserHandle()) return 0L val userManager = context.getSystemService(Context.USER_SERVICE) as UserManager return userManager.getSerialNumberForUser(this) } \ No newline at end of file diff --git a/data/applications/src/main/java/de/mm20/launcher2/applications/AppSerialization.kt b/data/applications/src/main/java/de/mm20/launcher2/applications/AppSerialization.kt index d2ed66e8..f468fc5a 100644 --- a/data/applications/src/main/java/de/mm20/launcher2/applications/AppSerialization.kt +++ b/data/applications/src/main/java/de/mm20/launcher2/applications/AppSerialization.kt @@ -4,6 +4,7 @@ import android.content.ComponentName import android.content.Context import android.content.Intent import android.content.pm.LauncherApps +import android.os.Process import android.os.UserManager import android.util.Log import androidx.core.content.getSystemService @@ -47,8 +48,8 @@ class LauncherAppDeserializer(val context: Context) : SearchableDeserializer { val json = JSONObject(serialized) val launcherApps = context.getSystemService()!! val userManager = context.getSystemService()!! - val userSerial = json.optLong("user") - val user = userManager.getUserForSerialNumber(userSerial) ?: return null + val userSerial = json.optLong("user", -1L) + val user = if (userSerial == -1L) Process.myUserHandle() else (userManager.getUserForSerialNumber(userSerial) ?: return null) val pkg = json.getString("package") val activity = json.getString("activity") diff --git a/data/appshortcuts/src/main/java/de/mm20/launcher2/appshortcuts/AppShortcutSerialization.kt b/data/appshortcuts/src/main/java/de/mm20/launcher2/appshortcuts/AppShortcutSerialization.kt index 95258898..21cfa2ee 100644 --- a/data/appshortcuts/src/main/java/de/mm20/launcher2/appshortcuts/AppShortcutSerialization.kt +++ b/data/appshortcuts/src/main/java/de/mm20/launcher2/appshortcuts/AppShortcutSerialization.kt @@ -5,6 +5,7 @@ import android.content.Intent import android.content.Intent.ShortcutIconResource import android.content.pm.LauncherApps import android.content.pm.PackageManager +import android.os.Process import android.os.UserManager import android.util.Log import androidx.core.content.getSystemService @@ -43,10 +44,10 @@ class LauncherShortcutDeserializer( val json = JSONObject(serialized) val packageName = json.getString("packagename") val id = json.getString("id") - val userSerial = json.optLong("user") + val userSerial = json.optLong("user", -1L) val userManager = context.getSystemService()!! - val user = userManager.getUserForSerialNumber(userSerial) ?: return null + val user = if (userSerial == -1L) Process.myUserHandle() else (userManager.getUserForSerialNumber(userSerial) ?: return null) if (!launcherApps.hasShortcutHostPermission()) { return UnavailableShortcut(context, id, packageName, user, userSerial)