summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorShinichiro Fujiwara <mamehacker@gmail.com>2020-03-30 07:39:52 +0900
committerGitHub <noreply@github.com>2020-03-30 00:39:52 +0200
commit001583a4e0eaa7f90fb2c0f7d3cfa19f7ffb5ae3 (patch)
treefb53e160c613baacb4d0010e369e275fee35d28b /app
parentec0255b7434a15264286863e21bd00c089fc55de (diff)
downloadAntennaPod-001583a4e0eaa7f90fb2c0f7d3cfa19f7ffb5ae3.zip
App shortcuts (#3748)
Diffstat (limited to 'app')
-rw-r--r--app/build.gradle4
-rw-r--r--app/src/main/AndroidManifest.xml4
-rw-r--r--app/src/main/java/de/danoeh/antennapod/activity/MainActivity.java9
-rw-r--r--app/src/main/res/xml/shortcuts.xml62
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>