1bfbf7f9f4a0b300613f0ff27a4eb592d88c08325Tony Wickhampackage com.android.launcher3.shortcuts; 2bfbf7f9f4a0b300613f0ff27a4eb592d88c08325Tony Wickham 3bfbf7f9f4a0b300613f0ff27a4eb592d88c08325Tony Wickhamimport android.content.ComponentName; 4d3b87ef1963fb96177ca85bcd6a25879e27e419cSunny Goyalimport android.content.Intent; 5bfbf7f9f4a0b300613f0ff27a4eb592d88c08325Tony Wickham 6fc02c1b446ee54561ac7351fb6ff0f8294785f0eTony Wickhamimport com.android.launcher3.ShortcutInfo; 7bfbf7f9f4a0b300613f0ff27a4eb592d88c08325Tony Wickhamimport com.android.launcher3.compat.UserHandleCompat; 8bfbf7f9f4a0b300613f0ff27a4eb592d88c08325Tony Wickhamimport com.android.launcher3.util.ComponentKey; 9bfbf7f9f4a0b300613f0ff27a4eb592d88c08325Tony Wickham 10bfbf7f9f4a0b300613f0ff27a4eb592d88c08325Tony Wickham/** 11bfbf7f9f4a0b300613f0ff27a4eb592d88c08325Tony Wickham * A key that uniquely identifies a shortcut using its package, id, and user handle. 12bfbf7f9f4a0b300613f0ff27a4eb592d88c08325Tony Wickham */ 13bfbf7f9f4a0b300613f0ff27a4eb592d88c08325Tony Wickhampublic class ShortcutKey extends ComponentKey { 14bfbf7f9f4a0b300613f0ff27a4eb592d88c08325Tony Wickham 15bfbf7f9f4a0b300613f0ff27a4eb592d88c08325Tony Wickham public ShortcutKey(String packageName, UserHandleCompat user, String id) { 16bfbf7f9f4a0b300613f0ff27a4eb592d88c08325Tony Wickham // Use the id as the class name. 17bfbf7f9f4a0b300613f0ff27a4eb592d88c08325Tony Wickham super(new ComponentName(packageName, id), user); 18d3b87ef1963fb96177ca85bcd6a25879e27e419cSunny Goyal } 19d3b87ef1963fb96177ca85bcd6a25879e27e419cSunny Goyal 20d3b87ef1963fb96177ca85bcd6a25879e27e419cSunny Goyal public String getId() { 21d3b87ef1963fb96177ca85bcd6a25879e27e419cSunny Goyal return componentName.getClassName(); 22bfbf7f9f4a0b300613f0ff27a4eb592d88c08325Tony Wickham } 23bfbf7f9f4a0b300613f0ff27a4eb592d88c08325Tony Wickham 24bfbf7f9f4a0b300613f0ff27a4eb592d88c08325Tony Wickham public static ShortcutKey fromInfo(ShortcutInfoCompat shortcutInfo) { 25bfbf7f9f4a0b300613f0ff27a4eb592d88c08325Tony Wickham return new ShortcutKey(shortcutInfo.getPackage(), shortcutInfo.getUserHandle(), 26bfbf7f9f4a0b300613f0ff27a4eb592d88c08325Tony Wickham shortcutInfo.getId()); 27bfbf7f9f4a0b300613f0ff27a4eb592d88c08325Tony Wickham } 28d3b87ef1963fb96177ca85bcd6a25879e27e419cSunny Goyal 29d3b87ef1963fb96177ca85bcd6a25879e27e419cSunny Goyal public static ShortcutKey fromIntent(Intent intent, UserHandleCompat user) { 30d3b87ef1963fb96177ca85bcd6a25879e27e419cSunny Goyal String shortcutId = intent.getStringExtra( 31d3b87ef1963fb96177ca85bcd6a25879e27e419cSunny Goyal ShortcutInfoCompat.EXTRA_SHORTCUT_ID); 32d3b87ef1963fb96177ca85bcd6a25879e27e419cSunny Goyal return new ShortcutKey(intent.getPackage(), user, shortcutId); 33d3b87ef1963fb96177ca85bcd6a25879e27e419cSunny Goyal } 34d3b87ef1963fb96177ca85bcd6a25879e27e419cSunny Goyal 35fc02c1b446ee54561ac7351fb6ff0f8294785f0eTony Wickham public static ShortcutKey fromShortcutInfo(ShortcutInfo info) { 36fc02c1b446ee54561ac7351fb6ff0f8294785f0eTony Wickham return fromIntent(info.getPromisedIntent(), info.user); 37d3b87ef1963fb96177ca85bcd6a25879e27e419cSunny Goyal } 38bfbf7f9f4a0b300613f0ff27a4eb592d88c08325Tony Wickham} 39