summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2019-08-12 12:52:45 +0300
committerAndrew Dolgov <[email protected]>2019-08-12 12:52:45 +0300
commit0ee49a072c3ccfd7b06a23b5950f41e863eff2a5 (patch)
treeae72b43e6920f539ded0db0f121981dbfc2a5e7d
parent1aa9bc5e910ffe3eab9abd2a0425d57cfa49b77f (diff)
add option to show headline images on wifi only
-rwxr-xr-xorg.fox.ttrss/src/main/AndroidManifest.xml1
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java33
-rwxr-xr-xorg.fox.ttrss/src/main/res/values/strings.xml2
-rwxr-xr-xorg.fox.ttrss/src/main/res/xml/preferences.xml23
4 files changed, 49 insertions, 10 deletions
diff --git a/org.fox.ttrss/src/main/AndroidManifest.xml b/org.fox.ttrss/src/main/AndroidManifest.xml
index dffce8ed..520ba28d 100755
--- a/org.fox.ttrss/src/main/AndroidManifest.xml
+++ b/org.fox.ttrss/src/main/AndroidManifest.xml
@@ -10,6 +10,7 @@
<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
+ <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<application
android:name=".Application"
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java
index 07fbe094..c16c08cc 100755
--- a/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java
+++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/HeadlinesFragment.java
@@ -15,6 +15,8 @@ import android.graphics.Point;
import android.graphics.SurfaceTexture;
import android.graphics.drawable.Drawable;
import android.media.MediaPlayer;
+import android.net.ConnectivityManager;
+import android.net.NetworkInfo;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
@@ -865,12 +867,31 @@ public class HeadlinesFragment extends StateSavedFragment {
private ColorGenerator m_colorGenerator = ColorGenerator.DEFAULT;
private TextDrawable.IBuilder m_drawableBuilder = TextDrawable.builder().round();
- boolean showFlavorImage;
+ boolean flavorImageEnabled;
private int m_minimumHeightToEmbed;
boolean m_youtubeInstalled;
private int m_screenHeight;
private int m_lastAddedPosition;
+ private final ConnectivityManager m_cmgr;
+
+ private boolean canShowFlavorImage() {
+ if (flavorImageEnabled) {
+ if (m_prefs.getBoolean("headline_images_wifi_only", false)) {
+ // why do i have to get this service every time instead of using a member variable :(
+ NetworkInfo wifi = m_cmgr.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
+
+ if (wifi != null)
+ return wifi.isConnected();
+
+ } else {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
public ArticleListAdapter(Context context, int textViewResourceId, ArrayList<Article> items) {
super();
this.items = items;
@@ -882,7 +903,9 @@ public class HeadlinesFragment extends StateSavedFragment {
m_screenHeight = size.y;
String headlineMode = m_prefs.getString("headline_mode", "HL_DEFAULT");
- showFlavorImage = "HL_DEFAULT".equals(headlineMode) || "HL_COMPACT".equals(headlineMode);
+ flavorImageEnabled = "HL_DEFAULT".equals(headlineMode) || "HL_COMPACT".equals(headlineMode);
+
+ m_cmgr = (ConnectivityManager) m_activity.getSystemService(Context.CONNECTIVITY_SERVICE);
Theme theme = context.getTheme();
TypedValue tv = new TypedValue();
@@ -1122,7 +1145,7 @@ public class HeadlinesFragment extends StateSavedFragment {
holder.excerptView.setTextSize(TypedValue.COMPLEX_UNIT_SP, headlineFontSize);
holder.excerptView.setText(excerpt);
- if (!showFlavorImage) {
+ if (!canShowFlavorImage()) {
holder.excerptView.setPadding(holder.excerptView.getPaddingLeft(),
0,
holder.excerptView.getPaddingRight(),
@@ -1167,7 +1190,7 @@ public class HeadlinesFragment extends StateSavedFragment {
}
});
- if (showFlavorImage && article.flavorImageUri != null && holder.flavorImageView != null) {
+ if (canShowFlavorImage() && article.flavorImageUri != null && holder.flavorImageView != null) {
if (holder.flavorImageOverflow != null) {
holder.flavorImageOverflow.setOnClickListener(new View.OnClickListener() {
@Override
@@ -1525,7 +1548,7 @@ public class HeadlinesFragment extends StateSavedFragment {
holder.textImage.setImageDrawable(textDrawable);
- if (!showFlavorImage || article.flavorImage == null) {
+ if (!canShowFlavorImage() || article.flavorImage == null) {
holder.textImage.setImageDrawable(textDrawable);
} else {
diff --git a/org.fox.ttrss/src/main/res/values/strings.xml b/org.fox.ttrss/src/main/res/values/strings.xml
index 2e21d19e..d460101e 100755
--- a/org.fox.ttrss/src/main/res/values/strings.xml
+++ b/org.fox.ttrss/src/main/res/values/strings.xml
@@ -273,4 +273,6 @@
<string name="cat_uncategorized">Uncategorized</string>
<string name="prefs_headline_request_size">How many headlines to request</string>
<string name="prefs_headline_request_size_long">Use lower values on slow connections</string>
+ <string name="headlines">Headlines</string>
+ <string name="prefs_headline_images_wifi_only">Show headline images on Wi-Fi only</string>
</resources>
diff --git a/org.fox.ttrss/src/main/res/xml/preferences.xml b/org.fox.ttrss/src/main/res/xml/preferences.xml
index 47f940f1..15340386 100755
--- a/org.fox.ttrss/src/main/res/xml/preferences.xml
+++ b/org.fox.ttrss/src/main/res/xml/preferences.xml
@@ -50,6 +50,7 @@
android:defaultValue="false"
android:key="enable_cats"
android:title="@string/enable_cats" />
+
<org.fox.ttrss.util.LessBrokenSwitchPreference
android:defaultValue="false"
android:dependency="enable_cats"
@@ -59,6 +60,16 @@
<org.fox.ttrss.util.LessBrokenSwitchPreference
android:defaultValue="true"
+ android:key="open_fresh_on_startup"
+ android:title="@string/prefs_open_fresh_on_startup" />
+ </PreferenceCategory>
+
+ <PreferenceCategory
+ android:key="category_headlines"
+ android:title="@string/headlines" >
+
+ <org.fox.ttrss.util.LessBrokenSwitchPreference
+ android:defaultValue="true"
android:key="headlines_show_content"
android:summary="@string/pref_headlines_show_content_long"
android:title="@string/pref_headlines_show_content" />
@@ -97,6 +108,11 @@
android:summary="@string/prefs_headline_display_mode_long"
android:title="@string/prefs_headline_display_mode" />
+ <org.fox.ttrss.util.LessBrokenSwitchPreference
+ android:defaultValue="false"
+ android:key="headline_images_wifi_only"
+ android:title="@string/prefs_headline_images_wifi_only" />
+
<ListPreference
android:defaultValue="15"
android:entries="@array/pref_headlines_request_values"
@@ -106,16 +122,13 @@
android:title="@string/prefs_headline_request_size" />
<org.fox.ttrss.util.LessBrokenSwitchPreference
- android:defaultValue="true"
- android:key="open_fresh_on_startup"
- android:title="@string/prefs_open_fresh_on_startup" />
-
- <org.fox.ttrss.util.LessBrokenSwitchPreference
android:defaultValue="false"
android:key="inline_video_player"
android:summary="Experimental: play videos inside headlines list. Long tap to open separate player"
android:title="Inline video player" />
+
</PreferenceCategory>
+
<PreferenceCategory android:title="@string/reading" >
<org.fox.ttrss.util.FontSizeDialogPreference
android:defaultValue="16"