diff --git a/app/src/main/java/com/simplecity/amp_library/lyrics/LyricsFragment.java b/app/src/main/java/com/simplecity/amp_library/lyrics/LyricsFragment.java
index a336dfaf4..bb156df60 100644
--- a/app/src/main/java/com/simplecity/amp_library/lyrics/LyricsFragment.java
+++ b/app/src/main/java/com/simplecity/amp_library/lyrics/LyricsFragment.java
@@ -3,6 +3,7 @@
import android.content.ActivityNotFoundException;
import android.graphics.Color;
import android.os.Bundle;
+import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.support.v4.app.FragmentTransaction;
import android.view.GestureDetector;
@@ -15,6 +16,7 @@
import android.widget.TextView;
import com.simplecity.amp_library.R;
+import com.simplecity.amp_library.model.Song;
import com.simplecity.amp_library.ui.fragments.BaseFragment;
import com.simplecity.amp_library.utils.DialogUtils;
import com.simplecity.amp_library.utils.ThemeUtils;
@@ -30,6 +32,8 @@ public class LyricsFragment extends BaseFragment implements LyricsView {
private View noLyricsView;
+ private View quickLyricInfo;
+
/**
* Empty constructor as per the {@link android.app.Fragment} docs
*/
@@ -48,10 +52,10 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle sa
Button quickLyricButton = (Button) rootView.findViewById(R.id.quickLyricButton);
quickLyricButton.setText(QuickLyricUtils.getSpannedString());
- quickLyricButton.setOnClickListener(v -> lyricsPresenter.launchQuickLyric());
+ quickLyricButton.setOnClickListener(v -> lyricsPresenter.downloadOrLaunchQuickLyric());
- View quickLyricInfo = rootView.findViewById(R.id.quickLyricInfo);
- quickLyricInfo.setOnClickListener(v -> lyricsPresenter.showQuickLyricInfo());
+ quickLyricInfo = rootView.findViewById(R.id.quickLyricInfo);
+ quickLyricInfo.setOnClickListener(v -> lyricsPresenter.showQuickLyricInfoDialog());
ScrollView scrollView = (ScrollView) rootView.findViewById(R.id.scrollView);
@@ -132,7 +136,17 @@ public void showNoLyricsView(boolean show) {
}
@Override
- public void launchQuickLyric() {
+ public void showQuickLyricInfoButton(boolean show) {
+ quickLyricInfo.setVisibility(show ? View.VISIBLE : View.GONE);
+ }
+
+ @Override
+ public void launchQuickLyric(@NonNull Song song) {
+ QuickLyricUtils.getLyricsFor(getContext(), song);
+ }
+
+ @Override
+ public void downloadQuickLyric() {
try {
startActivity(QuickLyricUtils.getQuickLyricIntent());
} catch (ActivityNotFoundException ignored) {
@@ -141,14 +155,16 @@ public void launchQuickLyric() {
}
@Override
- public void showQuickLyricInfo() {
+ public void showQuickLyricInfoDialog() {
DialogUtils.getBuilder(getContext())
.iconRes(R.drawable.quicklyric)
.title(R.string.quicklyric)
.content(getString(R.string.quicklyric_info))
.positiveText(R.string.download)
- .onPositive((dialog, which) -> lyricsPresenter.launchQuickLyric())
+ .onPositive((dialog, which) -> lyricsPresenter.downloadOrLaunchQuickLyric())
.negativeText(R.string.close)
.show();
}
+
+
}
diff --git a/app/src/main/java/com/simplecity/amp_library/lyrics/LyricsPresenter.java b/app/src/main/java/com/simplecity/amp_library/lyrics/LyricsPresenter.java
index 44e46572b..84c03eb38 100644
--- a/app/src/main/java/com/simplecity/amp_library/lyrics/LyricsPresenter.java
+++ b/app/src/main/java/com/simplecity/amp_library/lyrics/LyricsPresenter.java
@@ -10,6 +10,7 @@
import com.f2prateek.rx.receivers.RxBroadcastReceiver;
import com.simplecity.amp_library.ShuttleApplication;
import com.simplecity.amp_library.model.Query;
+import com.simplecity.amp_library.model.Song;
import com.simplecity.amp_library.playback.MusicService;
import com.simplecity.amp_library.sql.SqlUtils;
import com.simplecity.amp_library.ui.presenters.Presenter;
@@ -41,17 +42,24 @@ public void bindView(@NonNull LyricsView view) {
.subscribe(intent -> updateLyrics()));
}
- void launchQuickLyric() {
+ void downloadOrLaunchQuickLyric() {
LyricsView lyricsView = getView();
if (lyricsView != null) {
- lyricsView.launchQuickLyric();
+ if (QuickLyricUtils.isQLInstalled()) {
+ Song song = MusicUtils.getSong();
+ if (song != null) {
+ lyricsView.launchQuickLyric(song);
+ }
+ } else {
+ lyricsView.downloadQuickLyric();
+ }
}
}
- void showQuickLyricInfo() {
+ void showQuickLyricInfoDialog() {
LyricsView lyricsView = getView();
if (lyricsView != null) {
- lyricsView.showQuickLyricInfo();
+ lyricsView.showQuickLyricInfoDialog();
}
}
@@ -108,6 +116,7 @@ private void updateLyrics() {
if (lyricsView != null) {
lyricsView.updateLyrics(lyrics);
lyricsView.showNoLyricsView(lyrics == null);
+ lyricsView.showQuickLyricInfoButton(!QuickLyricUtils.isQLInstalled());
}
}));
}
diff --git a/app/src/main/java/com/simplecity/amp_library/lyrics/LyricsView.java b/app/src/main/java/com/simplecity/amp_library/lyrics/LyricsView.java
index bb3fe4e40..abfc4b6a7 100644
--- a/app/src/main/java/com/simplecity/amp_library/lyrics/LyricsView.java
+++ b/app/src/main/java/com/simplecity/amp_library/lyrics/LyricsView.java
@@ -1,14 +1,21 @@
package com.simplecity.amp_library.lyrics;
+import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
+import com.simplecity.amp_library.model.Song;
+
interface LyricsView {
void updateLyrics(@Nullable String lyrics);
void showNoLyricsView(boolean show);
- void showQuickLyricInfo();
+ void showQuickLyricInfoButton(boolean show);
+
+ void showQuickLyricInfoDialog();
+
+ void downloadQuickLyric();
- void launchQuickLyric();
+ void launchQuickLyric(@NonNull Song song);
}
diff --git a/app/src/main/java/com/simplecity/amp_library/lyrics/QuickLyricUtils.java b/app/src/main/java/com/simplecity/amp_library/lyrics/QuickLyricUtils.java
index 28aa84cca..e95e6843d 100644
--- a/app/src/main/java/com/simplecity/amp_library/lyrics/QuickLyricUtils.java
+++ b/app/src/main/java/com/simplecity/amp_library/lyrics/QuickLyricUtils.java
@@ -22,9 +22,9 @@ public class QuickLyricUtils {
private static final String QUICKLYRIC_URL = "https://d3khd.app.goo.gl/jdF1";
- public static boolean isQLInstalled(Context context) {
+ public static boolean isQLInstalled() {
- PackageManager pm = context.getPackageManager();
+ PackageManager pm = ShuttleApplication.getInstance().getPackageManager();
try {
pm.getPackageInfo("com.geecko.QuickLyric", PackageManager.GET_ACTIVITIES);
return true;
@@ -33,7 +33,7 @@ public static boolean isQLInstalled(Context context) {
}
}
- public static void getLyricsFor(Context context, Song song) {
+ 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) {
diff --git a/app/src/main/java/com/simplecity/amp_library/ui/activities/MainActivity.java b/app/src/main/java/com/simplecity/amp_library/ui/activities/MainActivity.java
index 541cc2832..71564d716 100644
--- a/app/src/main/java/com/simplecity/amp_library/ui/activities/MainActivity.java
+++ b/app/src/main/java/com/simplecity/amp_library/ui/activities/MainActivity.java
@@ -58,7 +58,6 @@
import com.simplecity.amp_library.constants.Config;
import com.simplecity.amp_library.interfaces.BackPressListener;
import com.simplecity.amp_library.lyrics.LyricsFragment;
-import com.simplecity.amp_library.lyrics.QuickLyricUtils;
import com.simplecity.amp_library.model.Album;
import com.simplecity.amp_library.model.AlbumArtist;
import com.simplecity.amp_library.model.DrawerGroupItem;
@@ -531,7 +530,6 @@ public boolean onCreateOptionsMenu(Menu menu) {
menu.findItem(R.id.menu_share).setVisible(false);
menu.findItem(R.id.menu_queue).setVisible(false);
menu.findItem(R.id.menu_lyrics).setVisible(false);
- menu.findItem(R.id.menu_quicklyric).setVisible(false);
if (menu.findItem(GO_TO) != null) {
menu.findItem(GO_TO).setVisible(false);
}
@@ -540,7 +538,7 @@ public boolean onCreateOptionsMenu(Menu menu) {
} else {
menu.findItem(R.id.action_search).setVisible(false);
menu.findItem(R.id.menu_favorite).setVisible(true);
- menu.findItem(QuickLyricUtils.isQLInstalled(this) ? R.id.menu_quicklyric : R.id.menu_lyrics).setVisible(true);
+ menu.findItem(R.id.menu_lyrics).setVisible(true);
menu.findItem(R.id.menu_share).setVisible(true);
if (!ShuttleUtils.isTablet() && ShuttleUtils.isLandscape()) {
menu.findItem(R.id.menu_queue).setVisible(true);
@@ -730,9 +728,6 @@ public boolean onOptionsItemSelected(MenuItem item) {
}
return true;
- case R.id.menu_quicklyric:
- QuickLyricUtils.getLyricsFor(this, MusicUtils.getSong());
- return true;
case android.R.id.home:
playingFragment = getSupportFragmentManager().findFragmentById(R.id.player_container);
if (playingFragment != null) {
diff --git a/app/src/main/java/com/simplecity/amp_library/ui/activities/PlayerActivity.java b/app/src/main/java/com/simplecity/amp_library/ui/activities/PlayerActivity.java
index fbefd03ad..4bca6f2ab 100644
--- a/app/src/main/java/com/simplecity/amp_library/ui/activities/PlayerActivity.java
+++ b/app/src/main/java/com/simplecity/amp_library/ui/activities/PlayerActivity.java
@@ -50,7 +50,6 @@
import com.simplecity.amp_library.utils.MusicServiceConnectionUtils;
import com.simplecity.amp_library.utils.MusicUtils;
import com.simplecity.amp_library.utils.PlaylistUtils;
-import com.simplecity.amp_library.lyrics.QuickLyricUtils;
import com.simplecity.amp_library.utils.SettingsManager;
import com.simplecity.amp_library.utils.ShuttleUtils;
import com.simplecity.amp_library.utils.SleepTimer;
@@ -317,11 +316,6 @@ public boolean onCreateOptionsMenu(Menu menu) {
}
}
- if (QuickLyricUtils.isQLInstalled(this)) {
- menu.findItem(R.id.menu_lyrics).setVisible(false);
- menu.findItem(R.id.menu_quicklyric).setVisible(true);
- }
-
return super.onCreateOptionsMenu(menu);
}
@@ -450,11 +444,6 @@ public boolean onOptionsItemSelected(MenuItem item) {
return true;
}
- if (item.getItemId() == R.id.menu_quicklyric) {
- QuickLyricUtils.getLyricsFor(this, MusicUtils.getSong());
- return true;
- }
-
return false;
}
diff --git a/app/src/main/java/com/simplecity/amp_library/ui/fragments/ArtworkFragment.java b/app/src/main/java/com/simplecity/amp_library/ui/fragments/ArtworkFragment.java
index 79d14971d..84d0d27a3 100644
--- a/app/src/main/java/com/simplecity/amp_library/ui/fragments/ArtworkFragment.java
+++ b/app/src/main/java/com/simplecity/amp_library/ui/fragments/ArtworkFragment.java
@@ -23,7 +23,6 @@
import com.simplecity.amp_library.glide.utils.GlideUtils;
import com.simplecity.amp_library.model.Song;
import com.simplecity.amp_library.ui.activities.PlayerActivity;
-import com.simplecity.amp_library.lyrics.QuickLyricUtils;
import com.simplecity.amp_library.utils.SettingsManager;
import java.lang.ref.WeakReference;
@@ -185,8 +184,7 @@ public boolean onDoubleTap(MotionEvent e) {
if (parentFragment != null) {
playingFragment = parentFragment.getParentFragment();
}
- if (playingFragment != null && playingFragment instanceof PlayerFragment
- && !QuickLyricUtils.isQLInstalled(fragment.getActivity())) {
+ if (playingFragment != null && playingFragment instanceof PlayerFragment) {
((PlayerFragment) playingFragment).toggleLyrics();
}
}
diff --git a/app/src/main/res/drawable-hdpi/ic_action_lyrics.png b/app/src/main/res/drawable-hdpi/ic_action_lyrics.png
deleted file mode 100644
index c8be6f83a..000000000
Binary files a/app/src/main/res/drawable-hdpi/ic_action_lyrics.png and /dev/null differ
diff --git a/app/src/main/res/drawable-hdpi/ic_action_lyrics_light.png b/app/src/main/res/drawable-hdpi/ic_action_lyrics_light.png
deleted file mode 100644
index 06e251416..000000000
Binary files a/app/src/main/res/drawable-hdpi/ic_action_lyrics_light.png and /dev/null differ
diff --git a/app/src/main/res/drawable-hdpi/ic_action_quicklyric.png b/app/src/main/res/drawable-hdpi/ic_action_quicklyric.png
deleted file mode 100644
index 6c9b6faa5..000000000
Binary files a/app/src/main/res/drawable-hdpi/ic_action_quicklyric.png and /dev/null differ
diff --git a/app/src/main/res/drawable-hdpi/ic_action_quicklyric_light.png b/app/src/main/res/drawable-hdpi/ic_action_quicklyric_light.png
deleted file mode 100644
index 15504d6a4..000000000
Binary files a/app/src/main/res/drawable-hdpi/ic_action_quicklyric_light.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_action_lyrics.png b/app/src/main/res/drawable-xhdpi/ic_action_lyrics.png
deleted file mode 100644
index 012e93346..000000000
Binary files a/app/src/main/res/drawable-xhdpi/ic_action_lyrics.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_action_lyrics_light.png b/app/src/main/res/drawable-xhdpi/ic_action_lyrics_light.png
deleted file mode 100644
index 7415a2c02..000000000
Binary files a/app/src/main/res/drawable-xhdpi/ic_action_lyrics_light.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_action_quicklyric.png b/app/src/main/res/drawable-xhdpi/ic_action_quicklyric.png
deleted file mode 100644
index 04011dfe7..000000000
Binary files a/app/src/main/res/drawable-xhdpi/ic_action_quicklyric.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xhdpi/ic_action_quicklyric_light.png b/app/src/main/res/drawable-xhdpi/ic_action_quicklyric_light.png
deleted file mode 100644
index 265291316..000000000
Binary files a/app/src/main/res/drawable-xhdpi/ic_action_quicklyric_light.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_action_lyrics.png b/app/src/main/res/drawable-xxhdpi/ic_action_lyrics.png
deleted file mode 100644
index dfee0eba1..000000000
Binary files a/app/src/main/res/drawable-xxhdpi/ic_action_lyrics.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_action_lyrics_light.png b/app/src/main/res/drawable-xxhdpi/ic_action_lyrics_light.png
deleted file mode 100644
index aeac221b8..000000000
Binary files a/app/src/main/res/drawable-xxhdpi/ic_action_lyrics_light.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_action_quicklyric.png b/app/src/main/res/drawable-xxhdpi/ic_action_quicklyric.png
deleted file mode 100644
index 861f98d2e..000000000
Binary files a/app/src/main/res/drawable-xxhdpi/ic_action_quicklyric.png and /dev/null differ
diff --git a/app/src/main/res/drawable-xxhdpi/ic_action_quicklyric_light.png b/app/src/main/res/drawable-xxhdpi/ic_action_quicklyric_light.png
deleted file mode 100644
index e9402088f..000000000
Binary files a/app/src/main/res/drawable-xxhdpi/ic_action_quicklyric_light.png and /dev/null differ
diff --git a/app/src/main/res/drawable/ic_action_lyrics_24dp.xml b/app/src/main/res/drawable/ic_action_lyrics_24dp.xml
new file mode 100644
index 000000000..11d77d686
--- /dev/null
+++ b/app/src/main/res/drawable/ic_action_lyrics_24dp.xml
@@ -0,0 +1,12 @@
+
+
+
+
diff --git a/app/src/main/res/drawable/ic_action_lyrics_light_24dp.xml b/app/src/main/res/drawable/ic_action_lyrics_light_24dp.xml
new file mode 100644
index 000000000..b0d7b8c5c
--- /dev/null
+++ b/app/src/main/res/drawable/ic_action_lyrics_light_24dp.xml
@@ -0,0 +1,12 @@
+
+
+
+
diff --git a/app/src/main/res/menu/menu_main_activity.xml b/app/src/main/res/menu/menu_main_activity.xml
index 992f59fdf..595fae424 100644
--- a/app/src/main/res/menu/menu_main_activity.xml
+++ b/app/src/main/res/menu/menu_main_activity.xml
@@ -39,11 +39,4 @@
app:showAsAction="ifRoom"
android:visible="false"/>
-
-
\ No newline at end of file
diff --git a/app/src/main/res/menu/menu_player_activity.xml b/app/src/main/res/menu/menu_player_activity.xml
index 4d3ae5fc4..60bac5c74 100644
--- a/app/src/main/res/menu/menu_player_activity.xml
+++ b/app/src/main/res/menu/menu_player_activity.xml
@@ -32,11 +32,4 @@
android:title="@string/lyrics"
app:showAsAction="ifRoom"/>
-
-
\ No newline at end of file
diff --git a/app/src/main/res/values/themes.xml b/app/src/main/res/values/themes.xml
index 55d18e3dc..2f9470300 100644
--- a/app/src/main/res/values/themes.xml
+++ b/app/src/main/res/values/themes.xml
@@ -224,8 +224,7 @@
- @drawable/ic_action_search
- @drawable/ic_action_settings
- @drawable/ic_action_share
- - @drawable/ic_action_lyrics
- - @drawable/ic_action_quicklyric
+ - @drawable/ic_action_lyrics_24dp
- @drawable/ic_action_sort
- @drawable/ic_fav
- @drawable/ic_fav_pressed
@@ -242,8 +241,7 @@
- @drawable/ic_action_search_light
- @drawable/ic_action_settings_light
- @drawable/ic_action_share_light
- - @drawable/ic_action_lyrics_light
- - @drawable/ic_action_quicklyric_light
+ - @drawable/ic_action_lyrics_light_24dp
- @drawable/ic_action_sort_light
- @drawable/ic_action_add_light
- @drawable/ic_fav_light
@@ -259,8 +257,7 @@