From 0a871af744139ba3cdb5adf744068e09bd6333ee Mon Sep 17 00:00:00 2001 From: Adrian Campos Date: Wed, 22 Mar 2017 14:47:19 -0700 Subject: [PATCH] Implemented reportShortcutUsed() to track shortcut usage --- .../appshortcuts/AppShortcutLauncherActivity.java | 6 ++++++ .../gramophone/appshortcuts/DynamicShortcutManager.java | 4 ++++ .../appshortcuts/shortcuttype/BaseShortcutType.java | 4 ++++ .../appshortcuts/shortcuttype/LastAddedShortcutType.java | 6 +++++- .../appshortcuts/shortcuttype/ShuffleAllShortcutType.java | 6 +++++- .../appshortcuts/shortcuttype/TopTracksShortcutType.java | 6 +++++- 6 files changed, 29 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/kabouzeid/gramophone/appshortcuts/AppShortcutLauncherActivity.java b/app/src/main/java/com/kabouzeid/gramophone/appshortcuts/AppShortcutLauncherActivity.java index d976686d..81057ddc 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/appshortcuts/AppShortcutLauncherActivity.java +++ b/app/src/main/java/com/kabouzeid/gramophone/appshortcuts/AppShortcutLauncherActivity.java @@ -6,6 +6,9 @@ import android.os.Bundle; import android.widget.Toast; import com.kabouzeid.gramophone.R; +import com.kabouzeid.gramophone.appshortcuts.shortcuttype.LastAddedShortcutType; +import com.kabouzeid.gramophone.appshortcuts.shortcuttype.ShuffleAllShortcutType; +import com.kabouzeid.gramophone.appshortcuts.shortcuttype.TopTracksShortcutType; import com.kabouzeid.gramophone.loader.LastAddedLoader; import com.kabouzeid.gramophone.loader.SongLoader; import com.kabouzeid.gramophone.loader.TopAndRecentlyPlayedTracksLoader; @@ -44,14 +47,17 @@ public class AppShortcutLauncherActivity extends Activity { case SHUFFLE_ALL: launchMainActivityWithSongs(PlayMode.SHUFFLE, SongLoader.getAllSongs(getApplicationContext())); + DynamicShortcutManager.reportShortcutUsed(this, ShuffleAllShortcutType.getId()); break; case TOP_TRACKS: launchMainActivityWithSongs(PlayMode.NORMAL, TopAndRecentlyPlayedTracksLoader.getRecentlyPlayedTracks(getApplicationContext())); + DynamicShortcutManager.reportShortcutUsed(this, TopTracksShortcutType.getId()); break; case LAST_ADDED: launchMainActivityWithSongs(PlayMode.NORMAL, LastAddedLoader.getLastAddedSongs(getApplicationContext())); + DynamicShortcutManager.reportShortcutUsed(this, LastAddedShortcutType.getId()); break; case NONE: shortcutError(); diff --git a/app/src/main/java/com/kabouzeid/gramophone/appshortcuts/DynamicShortcutManager.java b/app/src/main/java/com/kabouzeid/gramophone/appshortcuts/DynamicShortcutManager.java index 64b9d3c4..95bbe292 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/appshortcuts/DynamicShortcutManager.java +++ b/app/src/main/java/com/kabouzeid/gramophone/appshortcuts/DynamicShortcutManager.java @@ -58,4 +58,8 @@ public class DynamicShortcutManager { new LastAddedShortcutType(mContext).getShortcutInfo() )); } + + public static void reportShortcutUsed(Context context, String shortcutId){ + context.getSystemService(ShortcutManager.class).reportShortcutUsed(shortcutId); + } } diff --git a/app/src/main/java/com/kabouzeid/gramophone/appshortcuts/shortcuttype/BaseShortcutType.java b/app/src/main/java/com/kabouzeid/gramophone/appshortcuts/shortcuttype/BaseShortcutType.java index ef1c8291..85119e5c 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/appshortcuts/shortcuttype/BaseShortcutType.java +++ b/app/src/main/java/com/kabouzeid/gramophone/appshortcuts/shortcuttype/BaseShortcutType.java @@ -26,6 +26,10 @@ public abstract class BaseShortcutType { abstract ShortcutInfo getShortcutInfo(); + static public String getId(){ + return ID_PREFIX + "invalid"; + } + /** * Creates an Intent that will launch MainActivtiy and immediately play {@param songs} in either shuffle or normal mode diff --git a/app/src/main/java/com/kabouzeid/gramophone/appshortcuts/shortcuttype/LastAddedShortcutType.java b/app/src/main/java/com/kabouzeid/gramophone/appshortcuts/shortcuttype/LastAddedShortcutType.java index fcb632c8..905cbc3d 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/appshortcuts/shortcuttype/LastAddedShortcutType.java +++ b/app/src/main/java/com/kabouzeid/gramophone/appshortcuts/shortcuttype/LastAddedShortcutType.java @@ -19,11 +19,15 @@ public final class LastAddedShortcutType extends BaseShortcutType { } public ShortcutInfo getShortcutInfo() { - return new ShortcutInfo.Builder(mContext, ID_PREFIX + "last_added") + return new ShortcutInfo.Builder(mContext, getId()) .setShortLabel(mContext.getString(R.string.app_shortcut_last_added_short)) .setLongLabel(mContext.getString(R.string.app_shortcut_last_added_long)) .setIcon(AppShortcutIconGenerator.generateThemedIcon(mContext, R.drawable.ic_app_shortcut_last_added)) .setIntent(getPlaySongsIntent(AppShortcutLauncherActivity.ShortcutType.LAST_ADDED)) .build(); } + + public static String getId(){ + return ID_PREFIX + "last_added"; + } } diff --git a/app/src/main/java/com/kabouzeid/gramophone/appshortcuts/shortcuttype/ShuffleAllShortcutType.java b/app/src/main/java/com/kabouzeid/gramophone/appshortcuts/shortcuttype/ShuffleAllShortcutType.java index 868a0670..2844a035 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/appshortcuts/shortcuttype/ShuffleAllShortcutType.java +++ b/app/src/main/java/com/kabouzeid/gramophone/appshortcuts/shortcuttype/ShuffleAllShortcutType.java @@ -19,11 +19,15 @@ public final class ShuffleAllShortcutType extends BaseShortcutType { } public ShortcutInfo getShortcutInfo() { - return new ShortcutInfo.Builder(mContext, ID_PREFIX + "shuffle_all") + return new ShortcutInfo.Builder(mContext, getId()) .setShortLabel(mContext.getString(R.string.app_shortcut_shuffle_all_short)) .setLongLabel(mContext.getString(R.string.app_shortcut_shuffle_all_long)) .setIcon(AppShortcutIconGenerator.generateThemedIcon(mContext, R.drawable.ic_app_shortcut_shuffle_all)) .setIntent(getPlaySongsIntent(AppShortcutLauncherActivity.ShortcutType.SHUFFLE_ALL)) .build(); } + + public static String getId() { + return ID_PREFIX + "shuffle_all"; + } } diff --git a/app/src/main/java/com/kabouzeid/gramophone/appshortcuts/shortcuttype/TopTracksShortcutType.java b/app/src/main/java/com/kabouzeid/gramophone/appshortcuts/shortcuttype/TopTracksShortcutType.java index db3b114b..3fe22ff4 100644 --- a/app/src/main/java/com/kabouzeid/gramophone/appshortcuts/shortcuttype/TopTracksShortcutType.java +++ b/app/src/main/java/com/kabouzeid/gramophone/appshortcuts/shortcuttype/TopTracksShortcutType.java @@ -19,11 +19,15 @@ public final class TopTracksShortcutType extends BaseShortcutType { } public ShortcutInfo getShortcutInfo() { - return new ShortcutInfo.Builder(mContext, ID_PREFIX + "top_tracks") + return new ShortcutInfo.Builder(mContext, getId()) .setShortLabel(mContext.getString(R.string.app_shortcut_top_tracks_short)) .setLongLabel(mContext.getString(R.string.app_shortcut_top_tracks_long)) .setIcon(AppShortcutIconGenerator.generateThemedIcon(mContext, R.drawable.ic_app_shortcut_top_tracks)) .setIntent(getPlaySongsIntent(AppShortcutLauncherActivity.ShortcutType.TOP_TRACKS)) .build(); } + + public static String getId() { + return ID_PREFIX + "top_tracks"; + } }