diff options
author | Shinichiro Fujiwara <mamehacker@gmail.com> | 2020-03-30 07:39:52 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-03-30 00:39:52 +0200 |
commit | 001583a4e0eaa7f90fb2c0f7d3cfa19f7ffb5ae3 (patch) | |
tree | fb53e160c613baacb4d0010e369e275fee35d28b /app | |
parent | ec0255b7434a15264286863e21bd00c089fc55de (diff) | |
download | AntennaPod-001583a4e0eaa7f90fb2c0f7d3cfa19f7ffb5ae3.zip |
App shortcuts (#3748)
Diffstat (limited to 'app')
-rw-r--r-- | app/build.gradle | 4 | ||||
-rw-r--r-- | app/src/main/AndroidManifest.xml | 4 | ||||
-rw-r--r-- | app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java | 9 | ||||
-rw-r--r-- | app/src/main/res/xml/shortcuts.xml | 62 |
4 files changed, 78 insertions, 1 deletions
diff --git a/app/build.gradle b/app/build.gradle index 34a2421b9..c281df885 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -198,3 +198,7 @@ task copyLicense(type: Copy) { preBuild.dependsOn copyLicense +apply plugin: 'de.timfreiheit.resourceplaceholders.plugin' +resourcePlaceholders { + files = ['xml/shortcuts.xml'] +} diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 3f0df81f1..31b832b26 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -64,6 +64,10 @@ <category android:name= "android.intent.category.DEFAULT" /> </intent-filter> + + <meta-data + android:name="android.app.shortcuts" + android:resource="@xml/shortcuts" /> </activity> <activity diff --git a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java index a2d968031..7983db393 100644 --- a/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java +++ b/app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java @@ -30,6 +30,7 @@ import de.danoeh.antennapod.R; import de.danoeh.antennapod.core.event.MessageEvent; import de.danoeh.antennapod.core.preferences.UserPreferences; import de.danoeh.antennapod.core.util.StorageUtils; +import de.danoeh.antennapod.core.util.download.AutoUpdateManager; import de.danoeh.antennapod.dialog.RatingDialog; import de.danoeh.antennapod.fragment.AddFeedFragment; import de.danoeh.antennapod.fragment.AudioPlayerFragment; @@ -64,6 +65,7 @@ public class MainActivity extends CastEnabledActivity { public static final String EXTRA_FRAGMENT_ARGS = "fragment_args"; public static final String EXTRA_FEED_ID = "fragment_feed_id"; public static final String EXTRA_OPEN_PLAYER = "open_player"; + public static final String EXTRA_REFRESH_ON_START = "refresh_on_start"; private static final String SAVE_BACKSTACK_COUNT = "backstackCount"; @@ -407,10 +409,15 @@ public class MainActivity extends CastEnabledActivity { private void handleNavIntent() { Intent intent = getIntent(); - if (intent.hasExtra(EXTRA_FEED_ID) || intent.hasExtra(EXTRA_FRAGMENT_TAG)) { + if (intent.hasExtra(EXTRA_FEED_ID) || intent.hasExtra(EXTRA_FRAGMENT_TAG) || intent.hasExtra(EXTRA_REFRESH_ON_START)) { Log.d(TAG, "handleNavIntent()"); String tag = intent.getStringExtra(EXTRA_FRAGMENT_TAG); Bundle args = intent.getBundleExtra(EXTRA_FRAGMENT_ARGS); + boolean refreshOnStart = intent.getBooleanExtra(EXTRA_REFRESH_ON_START, false); + if (refreshOnStart) { + AutoUpdateManager.runImmediate(this); + } + long feedId = intent.getLongExtra(EXTRA_FEED_ID, 0); if (tag != null) { loadFragment(tag, args); diff --git a/app/src/main/res/xml/shortcuts.xml b/app/src/main/res/xml/shortcuts.xml new file mode 100644 index 000000000..03042f224 --- /dev/null +++ b/app/src/main/res/xml/shortcuts.xml @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="utf-8"?> +<shortcuts xmlns:android="http://schemas.android.com/apk/res/android"> + <shortcut + android:enabled="true" + android:icon="@drawable/ic_playlist_shortcut" + android:shortcutId="queue" + android:shortcutShortLabel="@string/queue_label"> + <intent + android:action="android.intent.action.VIEW" + android:targetClass="de.danoeh.antennapod.activity.MainActivity" + android:targetPackage="${applicationId}"> + <extra + android:name="fragment_tag" + android:value="QueueFragment" /> + </intent> + </shortcut> + + <shortcut + android:enabled="true" + android:icon="@drawable/ic_feed_shortcut" + android:shortcutId="episodes" + android:shortcutShortLabel="@string/episodes_label"> + <intent + android:action="android.intent.action.VIEW" + android:targetClass="de.danoeh.antennapod.activity.MainActivity" + android:targetPackage="${applicationId}"> + <extra + android:name="fragment_tag" + android:value="EpisodesFragment" /> + </intent> + </shortcut> + + <shortcut + android:enabled="true" + android:icon="@drawable/ic_folder_shortcut" + android:shortcutId="subscriptions" + android:shortcutShortLabel="@string/subscriptions_label"> + <intent + android:action="android.intent.action.VIEW" + android:targetClass="de.danoeh.antennapod.activity.MainActivity" + android:targetPackage="${applicationId}"> + <extra + android:name="fragment_tag" + android:value="SubscriptionFragment" /> + </intent> + </shortcut> + + <shortcut + android:enabled="true" + android:icon="@drawable/ic_refresh_shortcut" + android:shortcutId="refresh" + android:shortcutShortLabel="@string/refresh_label"> + <intent + android:action="android.intent.action.VIEW" + android:targetClass="de.danoeh.antennapod.activity.MainActivity" + android:targetPackage="${applicationId}"> + <extra + android:name="refresh_on_start" + android:value="true" /> + </intent> + </shortcut> +</shortcuts> |