package droidkit.app;
import android.content.Context;
import android.content.Intent;
import android.content.pm.ResolveInfo;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import java.util.List;
/**
* @author Daniel Serdyukov
*/
public final class IntentUtils {
private IntentUtils() {
}
@NonNull
public static List<ResolveInfo> getResolution(@NonNull Context context, @NonNull Intent intent) {
return context.getPackageManager().queryIntentActivities(intent, 0);
}
public static boolean hasResolution(@NonNull Context context, @NonNull Intent intent) {
return !getResolution(context, intent).isEmpty();
}
public static void startActivity(@NonNull Context context, @NonNull Intent intent, @Nullable CharSequence title) {
if (hasResolution(context, intent)) {
context.startActivity(intent);
} else {
context.startActivity(Intent.createChooser(intent, title));
}
}
}