package com.simplecity.amp_library.lyrics;
import android.content.Context;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.text.Spannable;
import android.text.SpannableStringBuilder;
import android.text.Spanned;
import android.text.style.TypefaceSpan;
import com.simplecity.amp_library.R;
import com.simplecity.amp_library.ShuttleApplication;
import com.simplecity.amp_library.model.Song;
import com.simplecity.amp_library.utils.ShuttleUtils;
import com.simplecity.amp_library.utils.TypefaceManager;
/**
* QuickLyric helpers
*/
public class QuickLyricUtils {
private static final String QUICKLYRIC_URL = "https://d3khd.app.goo.gl/jdF1";
public static boolean isQLInstalled() {
PackageManager pm = ShuttleApplication.getInstance().getPackageManager();
try {
pm.getPackageInfo("com.geecko.QuickLyric", PackageManager.GET_ACTIVITIES);
return true;
} catch (PackageManager.NameNotFoundException ignored) {
return false;
}
}
static void getLyricsFor(Context context, Song song) {
Intent intent = new Intent("com.geecko.QuickLyric.getLyrics");
intent.putExtra("TAGS", new String[]{song.artistName, song.name});
if (intent.resolveActivity(ShuttleApplication.getInstance().getPackageManager()) != null) {
context.startActivity(intent);
}
}
static Intent getQuickLyricIntent() {
return new Intent(Intent.ACTION_VIEW, Uri.parse(QUICKLYRIC_URL));
}
/**
* @return true if the Play Store is available, and this QuickLyric can be downloaded.
*/
static boolean canDownloadQuickLyric() {
if (ShuttleUtils.isAmazonBuild()) return false;
return getQuickLyricIntent().resolveActivity(ShuttleApplication.getInstance().getPackageManager()) != null;
}
/**
* @return a {@link SpannableStringBuilder}, using the correct font as per the QuickLyric branding.
*/
static Spannable getSpannedString() {
SpannableStringBuilder ssBuilder = new SpannableStringBuilder(ShuttleApplication.getInstance().getString(R.string.quicklyric)); // "Quick" must use roboto light
ssBuilder.setSpan(new TypefaceSpan(TypefaceManager.SANS_SERIF_LIGHT), 0, 5, Spanned.SPAN_EXCLUSIVE_INCLUSIVE);
return ssBuilder;
}
}