summaryrefslogtreecommitdiff
path: root/src/org/fox/ttrss/FeedsActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/fox/ttrss/FeedsActivity.java')
-rw-r--r--src/org/fox/ttrss/FeedsActivity.java26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/org/fox/ttrss/FeedsActivity.java b/src/org/fox/ttrss/FeedsActivity.java
index f7f0c989..4cd6148c 100644
--- a/src/org/fox/ttrss/FeedsActivity.java
+++ b/src/org/fox/ttrss/FeedsActivity.java
@@ -11,10 +11,13 @@ import org.fox.ttrss.util.AppRater;
import android.animation.ObjectAnimator;
import android.annotation.SuppressLint;
+import android.content.ComponentName;
import android.content.Intent;
+import android.content.Intent.ShortcutIconResource;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.os.Handler;
+import android.os.Parcelable;
import android.preference.PreferenceManager;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTransaction;
@@ -389,4 +392,27 @@ public class FeedsActivity extends OnlineActivity implements HeadlinesEventListe
GlobalState.getInstance().m_activeArticle = null;
}
}
+
+ public void createFeedShortcut(Feed feed) {
+ final Intent shortcutIntent = new Intent(this, HeadlinesActivity.class);
+ shortcutIntent.putExtra("feed_id", feed.id);
+ shortcutIntent.putExtra("feed_is_cat", feed.is_cat);
+ shortcutIntent.putExtra("feed_title", feed.title);
+ shortcutIntent.putExtra("shortcut_mode", true);
+
+ Intent intent = new Intent("com.android.launcher.action.INSTALL_SHORTCUT");
+
+ intent.putExtra(Intent.EXTRA_SHORTCUT_NAME, feed.title);
+ intent.putExtra(Intent.EXTRA_SHORTCUT_INTENT, shortcutIntent);
+ intent.putExtra(Intent.EXTRA_SHORTCUT_ICON_RESOURCE, Intent.ShortcutIconResource.fromContext(this, R.drawable.icon));
+ intent.putExtra("duplicate", false);
+
+ sendBroadcast(intent);
+
+ toast(R.string.shortcut_has_been_placed_on_the_home_screen);
+ }
+
+ public void createCategoryShortcut(FeedCategory cat) {
+ createFeedShortcut(new Feed(cat.id, cat.title, true));
+ }
}