summaryrefslogtreecommitdiff
path: root/org.fox.ttrss/src/main/java
diff options
context:
space:
mode:
authorJean-François Turcotte <[email protected]>2019-06-27 18:49:45 -0400
committerJean-François Turcotte <[email protected]>2019-06-27 18:49:45 -0400
commit052a220cff715300c07e5681715b7fe97241ed5a (patch)
tree6f72d4c1b35ca1dce47838ce0d43c2027324f9e0 /org.fox.ttrss/src/main/java
parent9d2d7d528e55657f16406831cf4c2f99f2caf914 (diff)
- Added a new preference "Always open external links" that changes the default behavior of selecting an article
- Activating this preference will make it so that the "Open with..." command is invoked directly when selecting an article, instead of opening the default detail view - The long-press menu on articles remain usable and unchanged
Diffstat (limited to 'org.fox.ttrss/src/main/java')
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/MasterActivity.java57
1 files changed, 36 insertions, 21 deletions
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/MasterActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/MasterActivity.java
index f513ce98..1b638d48 100755
--- a/org.fox.ttrss/src/main/java/org/fox/ttrss/MasterActivity.java
+++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/MasterActivity.java
@@ -7,6 +7,7 @@ import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
+import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.preference.PreferenceManager;
@@ -464,27 +465,41 @@ public class MasterActivity extends OnlineActivity implements HeadlinesEventList
public void onArticleSelected(Article article, boolean open) {
if (open) {
- HeadlinesFragment hf = (HeadlinesFragment)getSupportFragmentManager().findFragmentByTag(FRAG_HEADLINES);
-
- Intent intent = new Intent(MasterActivity.this, DetailActivity.class);
- intent.putExtra("feed", hf.getFeed());
- //intent.putExtra("article", article);
- intent.putExtra("searchQuery", hf.getSearchQuery());
- //intent.putExtra("articles", (Parcelable)hf.getAllArticles());
- Application.getInstance().tmpArticleList = hf.getAllArticles();
- Application.getInstance().tmpArticle = article;
-
- /* if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
- startActivityForResult(intent, HEADLINES_REQUEST, ActivityOptions.makeSceneTransitionAnimation(this).toBundle());
- } else {
- startActivityForResult(intent, HEADLINES_REQUEST);
- } */
-
- // mysterious crashes somewhere in gl layer (?) on some feeds if we use activitycompat transitions here on LP so welp
- startActivityForResult(intent, HEADLINES_REQUEST);
- overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
-
-
+ boolean alwaysOpenUri = m_prefs.getBoolean("always_open_uri", false);
+ if (alwaysOpenUri) {
+ if (article.unread) {
+ article.unread = false;
+ saveArticleUnread(article);
+ }
+
+ HeadlinesFragment hf = (HeadlinesFragment) getSupportFragmentManager().findFragmentByTag(FRAG_HEADLINES);
+ if (hf != null) {
+ hf.setActiveArticle(article);
+ }
+
+ openUri(Uri.parse(article.link));
+ }
+ else {
+ HeadlinesFragment hf = (HeadlinesFragment) getSupportFragmentManager().findFragmentByTag(FRAG_HEADLINES);
+
+ Intent intent = new Intent(MasterActivity.this, DetailActivity.class);
+ intent.putExtra("feed", hf.getFeed());
+ //intent.putExtra("article", article);
+ intent.putExtra("searchQuery", hf.getSearchQuery());
+ //intent.putExtra("articles", (Parcelable)hf.getAllArticles());
+ Application.getInstance().tmpArticleList = hf.getAllArticles();
+ Application.getInstance().tmpArticle = article;
+
+ /* if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
+ startActivityForResult(intent, HEADLINES_REQUEST, ActivityOptions.makeSceneTransitionAnimation(this).toBundle());
+ } else {
+ startActivityForResult(intent, HEADLINES_REQUEST);
+ } */
+
+ // mysterious crashes somewhere in gl layer (?) on some feeds if we use activitycompat transitions here on LP so welp
+ startActivityForResult(intent, HEADLINES_REQUEST);
+ overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
+ }
} else {
invalidateOptionsMenu();