blob: 405303042e5ca388fe1f587106e7ec52a177e918 [file] [log] [blame]
package com.android.launcher3.shortcuts;
import android.content.ComponentName;
import android.content.Intent;
import com.android.launcher3.ItemInfo;
import com.android.launcher3.compat.UserHandleCompat;
import com.android.launcher3.util.ComponentKey;
/**
* A key that uniquely identifies a shortcut using its package, id, and user handle.
*/
public class ShortcutKey extends ComponentKey {
public ShortcutKey(String packageName, UserHandleCompat user, String id) {
// Use the id as the class name.
super(new ComponentName(packageName, id), user);
}
public String getId() {
return componentName.getClassName();
}
public static ShortcutKey fromInfo(ShortcutInfoCompat shortcutInfo) {
return new ShortcutKey(shortcutInfo.getPackage(), shortcutInfo.getUserHandle(),
shortcutInfo.getId());
}
public static ShortcutKey fromIntent(Intent intent, UserHandleCompat user) {
String shortcutId = intent.getStringExtra(
ShortcutInfoCompat.EXTRA_SHORTCUT_ID);
return new ShortcutKey(intent.getPackage(), user, shortcutId);
}
public static ShortcutKey fromItemInfo(ItemInfo info) {
return fromIntent(info.getIntent(), info.user);
}
}