diff options
author | Andrew Dolgov <[email protected]> | 2019-08-12 12:52:45 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2019-08-12 12:52:45 +0300 |
commit | 0ee49a072c3ccfd7b06a23b5950f41e863eff2a5 (patch) | |
tree | ae72b43e6920f539ded0db0f121981dbfc2a5e7d /org.fox.ttrss | |
parent | 1aa9bc5e910ffe3eab9abd2a0425d57cfa49b77f (diff) |
add option to show headline images on wifi only
Diffstat (limited to 'org.fox.ttrss')
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" |