mirror of
https://github.com/viq/NewsBlur.git
synced 2025-09-18 21:43:31 +00:00
#1590 Feed list comfortable and compact settings.
This commit is contained in:
parent
11fb73c6c6
commit
5b6cccba1b
19 changed files with 110 additions and 91 deletions
|
@ -46,7 +46,6 @@
|
||||||
android:shadowDy="1"
|
android:shadowDy="1"
|
||||||
android:shadowRadius="1"
|
android:shadowRadius="1"
|
||||||
style="?feedRowNeutCountText"
|
style="?feedRowNeutCountText"
|
||||||
android:textSize="14sp"
|
|
||||||
android:textStyle="bold" />
|
android:textStyle="bold" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
@ -58,13 +57,10 @@
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:paddingLeft="3dp"
|
android:paddingLeft="3dp"
|
||||||
android:paddingRight="3dp"
|
android:paddingRight="3dp"
|
||||||
android:paddingTop="1dp"
|
|
||||||
android:paddingBottom="2dp"
|
|
||||||
android:shadowColor="@color/positive_drop_shadow"
|
android:shadowColor="@color/positive_drop_shadow"
|
||||||
android:shadowDy="1"
|
android:shadowDy="1"
|
||||||
android:shadowRadius="1"
|
android:shadowRadius="1"
|
||||||
android:textColor="@color/white"
|
android:textColor="@color/white"
|
||||||
android:textSize="14sp"
|
|
||||||
android:textStyle="bold" />
|
android:textStyle="bold" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
@ -75,8 +71,6 @@
|
||||||
android:layout_centerVertical="true"
|
android:layout_centerVertical="true"
|
||||||
android:layout_toLeftOf="@id/row_foldersums"
|
android:layout_toLeftOf="@id/row_foldersums"
|
||||||
android:layout_toRightOf="@id/row_everything_icon"
|
android:layout_toRightOf="@id/row_everything_icon"
|
||||||
android:paddingBottom="9dp"
|
|
||||||
android:paddingTop="9dp"
|
|
||||||
android:text="@string/all_shared_stories_title"
|
android:text="@string/all_shared_stories_title"
|
||||||
android:textStyle="bold" />
|
android:textStyle="bold" />
|
||||||
|
|
||||||
|
|
|
@ -21,8 +21,6 @@
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_centerVertical="true"
|
android:layout_centerVertical="true"
|
||||||
android:layout_toRightOf="@id/row_everything_icon"
|
android:layout_toRightOf="@id/row_everything_icon"
|
||||||
android:paddingBottom="9dp"
|
|
||||||
android:paddingTop="9dp"
|
|
||||||
android:text="@string/all_stories_title"
|
android:text="@string/all_stories_title"
|
||||||
android:textStyle="bold" />
|
android:textStyle="bold" />
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
android:shadowDy="1"
|
android:shadowDy="1"
|
||||||
android:shadowRadius="1"
|
android:shadowRadius="1"
|
||||||
style="?feedRowNeutCountText"
|
style="?feedRowNeutCountText"
|
||||||
android:textSize="14sp"
|
android:textSize="13sp"
|
||||||
android:textStyle="bold" />
|
android:textStyle="bold" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
@ -44,7 +44,7 @@
|
||||||
android:shadowDy="1"
|
android:shadowDy="1"
|
||||||
android:shadowRadius="1"
|
android:shadowRadius="1"
|
||||||
android:textColor="@color/white"
|
android:textColor="@color/white"
|
||||||
android:textSize="14sp"
|
android:textSize="13sp"
|
||||||
android:textStyle="bold" />
|
android:textStyle="bold" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
@ -60,7 +60,7 @@
|
||||||
android:shadowDy="1"
|
android:shadowDy="1"
|
||||||
android:shadowRadius="1"
|
android:shadowRadius="1"
|
||||||
android:textColor="@color/white"
|
android:textColor="@color/white"
|
||||||
android:textSize="14sp"
|
android:textSize="13sp"
|
||||||
android:textStyle="bold" />
|
android:textStyle="bold" />
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
|
@ -107,8 +107,6 @@
|
||||||
android:layout_marginStart="45dp"
|
android:layout_marginStart="45dp"
|
||||||
android:layout_marginRight="5dp"
|
android:layout_marginRight="5dp"
|
||||||
android:ellipsize="end"
|
android:ellipsize="end"
|
||||||
android:paddingTop="7dp"
|
|
||||||
android:paddingBottom="7dp"
|
|
||||||
android:singleLine="true"
|
android:singleLine="true"
|
||||||
android:textSize="14sp"
|
android:textSize="14sp"
|
||||||
android:textStyle="bold" />
|
android:textStyle="bold" />
|
||||||
|
|
|
@ -43,13 +43,10 @@
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:paddingLeft="3dp"
|
android:paddingLeft="3dp"
|
||||||
android:paddingRight="3dp"
|
android:paddingRight="3dp"
|
||||||
android:paddingTop="1dp"
|
|
||||||
android:paddingBottom="2dp"
|
|
||||||
android:shadowColor="@color/neutral_drop_shadow"
|
android:shadowColor="@color/neutral_drop_shadow"
|
||||||
android:shadowDy="1"
|
android:shadowDy="1"
|
||||||
android:shadowRadius="1"
|
android:shadowRadius="1"
|
||||||
style="?feedRowNeutCountText"
|
style="?feedRowNeutCountText"
|
||||||
android:textSize="14sp"
|
|
||||||
android:textStyle="bold" />
|
android:textStyle="bold" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
@ -61,13 +58,10 @@
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:paddingLeft="3dp"
|
android:paddingLeft="3dp"
|
||||||
android:paddingRight="3dp"
|
android:paddingRight="3dp"
|
||||||
android:paddingTop="1dp"
|
|
||||||
android:paddingBottom="2dp"
|
|
||||||
android:shadowColor="@color/positive_drop_shadow"
|
android:shadowColor="@color/positive_drop_shadow"
|
||||||
android:shadowDy="1"
|
android:shadowDy="1"
|
||||||
android:shadowRadius="1"
|
android:shadowRadius="1"
|
||||||
android:textColor="@color/white"
|
android:textColor="@color/white"
|
||||||
android:textSize="14sp"
|
|
||||||
android:textStyle="bold" />
|
android:textStyle="bold" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
|
@ -78,8 +72,6 @@
|
||||||
android:layout_centerVertical="true"
|
android:layout_centerVertical="true"
|
||||||
android:layout_toRightOf="@id/row_folder_icon"
|
android:layout_toRightOf="@id/row_folder_icon"
|
||||||
android:layout_toLeftOf="@+id/row_foldersums"
|
android:layout_toLeftOf="@+id/row_foldersums"
|
||||||
android:paddingBottom="9dp"
|
|
||||||
android:paddingTop="9dp"
|
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
android:shadowDy="1"
|
android:shadowDy="1"
|
||||||
android:shadowRadius="1"
|
android:shadowRadius="1"
|
||||||
|
|
|
@ -21,8 +21,6 @@
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_centerVertical="true"
|
android:layout_centerVertical="true"
|
||||||
android:layout_toRightOf="@id/row_everything_icon"
|
android:layout_toRightOf="@id/row_everything_icon"
|
||||||
android:paddingBottom="9dp"
|
|
||||||
android:paddingTop="9dp"
|
|
||||||
android:text="@string/global_shared_stories_title"
|
android:text="@string/global_shared_stories_title"
|
||||||
android:textStyle="bold" />
|
android:textStyle="bold" />
|
||||||
|
|
||||||
|
|
|
@ -21,8 +21,6 @@
|
||||||
android:layout_height="wrap_content"
|
android:layout_height="wrap_content"
|
||||||
android:layout_centerVertical="true"
|
android:layout_centerVertical="true"
|
||||||
android:layout_toRightOf="@id/row_everything_icon"
|
android:layout_toRightOf="@id/row_everything_icon"
|
||||||
android:paddingBottom="9dp"
|
|
||||||
android:paddingTop="9dp"
|
|
||||||
android:text="@string/infrequent_title"
|
android:text="@string/infrequent_title"
|
||||||
android:textStyle="bold" />
|
android:textStyle="bold" />
|
||||||
|
|
||||||
|
|
|
@ -21,8 +21,6 @@
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_centerVertical="true"
|
android:layout_centerVertical="true"
|
||||||
android:layout_toRightOf="@id/row_read_icon"
|
android:layout_toRightOf="@id/row_read_icon"
|
||||||
android:paddingBottom="9dp"
|
|
||||||
android:paddingTop="9dp"
|
|
||||||
android:text="@string/read_stories_title"
|
android:text="@string/read_stories_title"
|
||||||
android:textStyle="bold" />
|
android:textStyle="bold" />
|
||||||
|
|
||||||
|
|
|
@ -23,9 +23,7 @@
|
||||||
android:layout_toRightOf="@id/row_saved_search_icon"
|
android:layout_toRightOf="@id/row_saved_search_icon"
|
||||||
android:ellipsize="end"
|
android:ellipsize="end"
|
||||||
android:lines="1"
|
android:lines="1"
|
||||||
android:paddingTop="9dp"
|
|
||||||
android:paddingEnd="9dp"
|
android:paddingEnd="9dp"
|
||||||
android:paddingBottom="9dp"
|
|
||||||
android:textSize="14sp" />
|
android:textSize="14sp" />
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
|
@ -21,8 +21,6 @@
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_centerVertical="true"
|
android:layout_centerVertical="true"
|
||||||
android:layout_toRightOf="@id/row_folder_icon"
|
android:layout_toRightOf="@id/row_folder_icon"
|
||||||
android:paddingTop="9dp"
|
|
||||||
android:paddingBottom="9dp"
|
|
||||||
android:text="@string/saved_searches_title"
|
android:text="@string/saved_searches_title"
|
||||||
android:textStyle="bold" />
|
android:textStyle="bold" />
|
||||||
|
|
||||||
|
|
|
@ -31,8 +31,6 @@
|
||||||
android:layout_height="match_parent"
|
android:layout_height="match_parent"
|
||||||
android:layout_centerVertical="true"
|
android:layout_centerVertical="true"
|
||||||
android:layout_toRightOf="@id/row_saved_icon"
|
android:layout_toRightOf="@id/row_saved_icon"
|
||||||
android:paddingBottom="9dp"
|
|
||||||
android:paddingTop="9dp"
|
|
||||||
android:text="@string/saved_stories_title"
|
android:text="@string/saved_stories_title"
|
||||||
android:textStyle="bold" />
|
android:textStyle="bold" />
|
||||||
|
|
||||||
|
@ -47,13 +45,10 @@
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:paddingLeft="3dp"
|
android:paddingLeft="3dp"
|
||||||
android:paddingRight="3dp"
|
android:paddingRight="3dp"
|
||||||
android:paddingTop="1dp"
|
|
||||||
android:paddingBottom="2dp"
|
|
||||||
android:shadowColor="@color/saved_drop_shadow"
|
android:shadowColor="@color/saved_drop_shadow"
|
||||||
android:shadowDy="1"
|
android:shadowDy="1"
|
||||||
android:shadowRadius="1"
|
android:shadowRadius="1"
|
||||||
android:textColor="@color/white"
|
android:textColor="@color/white"
|
||||||
android:textSize="14sp"
|
|
||||||
android:textStyle="bold" />
|
android:textStyle="bold" />
|
||||||
|
|
||||||
<View
|
<View
|
||||||
|
|
|
@ -8,8 +8,8 @@
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/row_tag_icon"
|
android:id="@+id/row_tag_icon"
|
||||||
android:src="@drawable/tag"
|
android:src="@drawable/tag"
|
||||||
android:layout_width="20dp"
|
android:layout_width="19dp"
|
||||||
android:layout_height="20dp"
|
android:layout_height="19dp"
|
||||||
android:layout_alignParentLeft="true"
|
android:layout_alignParentLeft="true"
|
||||||
android:layout_centerVertical="true"
|
android:layout_centerVertical="true"
|
||||||
android:layout_marginLeft="12dp"
|
android:layout_marginLeft="12dp"
|
||||||
|
@ -27,13 +27,11 @@
|
||||||
android:gravity="center"
|
android:gravity="center"
|
||||||
android:paddingLeft="3dp"
|
android:paddingLeft="3dp"
|
||||||
android:paddingRight="3dp"
|
android:paddingRight="3dp"
|
||||||
android:paddingTop="1dp"
|
|
||||||
android:paddingBottom="2dp"
|
|
||||||
android:shadowColor="@color/saved_drop_shadow"
|
android:shadowColor="@color/saved_drop_shadow"
|
||||||
android:shadowDy="1"
|
android:shadowDy="1"
|
||||||
android:shadowRadius="1"
|
android:shadowRadius="1"
|
||||||
android:textColor="@color/white"
|
android:textColor="@color/white"
|
||||||
android:textSize="14sp"
|
android:textSize="13sp"
|
||||||
android:textStyle="bold" />
|
android:textStyle="bold" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
@ -44,8 +42,6 @@
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
android:layout_toLeftOf="@id/row_saved_tag_sum"
|
android:layout_toLeftOf="@id/row_saved_tag_sum"
|
||||||
android:layout_toRightOf="@id/row_tag_icon"
|
android:layout_toRightOf="@id/row_tag_icon"
|
||||||
android:paddingBottom="7dp"
|
|
||||||
android:paddingTop="7dp"
|
|
||||||
android:textSize="14sp" />
|
android:textSize="14sp" />
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
android:shadowDy="1"
|
android:shadowDy="1"
|
||||||
android:shadowRadius="1"
|
android:shadowRadius="1"
|
||||||
style="?feedRowNeutCountText"
|
style="?feedRowNeutCountText"
|
||||||
android:textSize="14sp"
|
android:textSize="13sp"
|
||||||
android:textStyle="bold" />
|
android:textStyle="bold" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
@ -39,20 +39,20 @@
|
||||||
android:shadowDy="1"
|
android:shadowDy="1"
|
||||||
android:shadowRadius="1"
|
android:shadowRadius="1"
|
||||||
android:textColor="@color/white"
|
android:textColor="@color/white"
|
||||||
android:textSize="14sp"
|
|
||||||
android:paddingLeft="3dp"
|
android:paddingLeft="3dp"
|
||||||
android:paddingRight="3dp"
|
android:paddingRight="3dp"
|
||||||
|
android:textSize="13sp"
|
||||||
android:textStyle="bold" />
|
android:textStyle="bold" />
|
||||||
</LinearLayout>
|
</LinearLayout>
|
||||||
|
|
||||||
<ImageView
|
<ImageView
|
||||||
android:id="@+id/row_socialfeed_icon"
|
android:id="@+id/row_socialfeed_icon"
|
||||||
android:layout_width="27dp"
|
android:layout_width="19dp"
|
||||||
android:layout_height="27dp"
|
android:layout_height="19dp"
|
||||||
android:layout_alignParentLeft="true"
|
android:layout_alignParentLeft="true"
|
||||||
android:layout_centerVertical="true"
|
android:layout_centerVertical="true"
|
||||||
android:layout_marginLeft="8dp"
|
android:layout_marginLeft="12dp"
|
||||||
android:layout_marginRight="8dp"
|
android:layout_marginRight="12dp"
|
||||||
android:contentDescription="@string/description_row_folder_icon" />
|
android:contentDescription="@string/description_row_folder_icon" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
|
@ -63,8 +63,6 @@
|
||||||
android:textStyle="bold"
|
android:textStyle="bold"
|
||||||
android:layout_toLeftOf="@id/row_foldersums"
|
android:layout_toLeftOf="@id/row_foldersums"
|
||||||
android:layout_toRightOf="@id/row_socialfeed_icon"
|
android:layout_toRightOf="@id/row_socialfeed_icon"
|
||||||
android:paddingBottom="7dp"
|
|
||||||
android:paddingTop="7dp"
|
|
||||||
android:textSize="14sp" />
|
android:textSize="14sp" />
|
||||||
|
|
||||||
</RelativeLayout>
|
</RelativeLayout>
|
||||||
|
|
|
@ -362,6 +362,7 @@
|
||||||
|
|
||||||
<string name="settings_cat_feed_list">Feed list</string>
|
<string name="settings_cat_feed_list">Feed list</string>
|
||||||
|
|
||||||
|
<string name="setting_feed_list_style">Feed list style…</string>
|
||||||
<string name="setting_feed_list_order">Feed list order…</string>
|
<string name="setting_feed_list_order">Feed list order…</string>
|
||||||
<string name="settings_enable_row_global_shared">Show Global Shared Stories</string>
|
<string name="settings_enable_row_global_shared">Show Global Shared Stories</string>
|
||||||
<string name="settings_enable_row_global_shared_sum">Show the Global Shared Stories folder</string>
|
<string name="settings_enable_row_global_shared_sum">Show the Global Shared Stories folder</string>
|
||||||
|
@ -383,6 +384,17 @@
|
||||||
</string-array>
|
</string-array>
|
||||||
<string name="default_story_order_value">NEWEST</string>
|
<string name="default_story_order_value">NEWEST</string>
|
||||||
|
|
||||||
|
<string name="comfortable">Comfortable</string>
|
||||||
|
<string name="compact">Compact</string>
|
||||||
|
<string-array name="default_feed_list_style_entries">
|
||||||
|
<item>@string/comfortable</item>
|
||||||
|
<item>@string/compact</item>
|
||||||
|
</string-array>
|
||||||
|
<string-array name="default_feed_list_style_values">
|
||||||
|
<item>COMFORTABLE</item>
|
||||||
|
<item>COMPACT</item>
|
||||||
|
</string-array>
|
||||||
|
<string name="default_feed_list_style_value">COMFORTABLE</string>
|
||||||
<string name="alphabetical">Alphabetical</string>
|
<string name="alphabetical">Alphabetical</string>
|
||||||
<string name="most_used_at_top">Most used at top</string>
|
<string name="most_used_at_top">Most used at top</string>
|
||||||
<string-array name="default_feed_list_order_entries">
|
<string-array name="default_feed_list_order_entries">
|
||||||
|
|
|
@ -54,6 +54,13 @@
|
||||||
android:entries="@array/default_feed_list_order_entries"
|
android:entries="@array/default_feed_list_order_entries"
|
||||||
android:entryValues="@array/default_feed_list_order_values"
|
android:entryValues="@array/default_feed_list_order_values"
|
||||||
android:defaultValue="@string/default_feed_list_order_value" />
|
android:defaultValue="@string/default_feed_list_order_value" />
|
||||||
|
<ListPreference
|
||||||
|
android:key="pref_feed_list_style"
|
||||||
|
android:title="@string/setting_feed_list_style"
|
||||||
|
android:dialogTitle="@string/setting_feed_list_style"
|
||||||
|
android:entries="@array/default_feed_list_style_entries"
|
||||||
|
android:entryValues="@array/default_feed_list_style_values"
|
||||||
|
android:defaultValue="@string/default_feed_list_style_value" />
|
||||||
<CheckBoxPreference
|
<CheckBoxPreference
|
||||||
android:defaultValue="true"
|
android:defaultValue="true"
|
||||||
android:key="enable_row_global_shared"
|
android:key="enable_row_global_shared"
|
||||||
|
|
|
@ -17,7 +17,6 @@ import android.database.Cursor;
|
||||||
import android.util.Log;
|
import android.util.Log;
|
||||||
import android.view.LayoutInflater;
|
import android.view.LayoutInflater;
|
||||||
import android.view.View;
|
import android.view.View;
|
||||||
import android.view.View.OnClickListener;
|
|
||||||
import android.view.ViewGroup;
|
import android.view.ViewGroup;
|
||||||
import android.widget.BaseExpandableListAdapter;
|
import android.widget.BaseExpandableListAdapter;
|
||||||
import android.widget.ExpandableListView;
|
import android.widget.ExpandableListView;
|
||||||
|
@ -26,6 +25,9 @@ import android.widget.ImageView;
|
||||||
import android.widget.RelativeLayout;
|
import android.widget.RelativeLayout;
|
||||||
import android.widget.TextView;
|
import android.widget.TextView;
|
||||||
|
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
|
||||||
import com.google.android.material.progressindicator.CircularProgressIndicator;
|
import com.google.android.material.progressindicator.CircularProgressIndicator;
|
||||||
import com.newsblur.R;
|
import com.newsblur.R;
|
||||||
import com.newsblur.domain.Feed;
|
import com.newsblur.domain.Feed;
|
||||||
|
@ -35,8 +37,8 @@ import com.newsblur.domain.StarredCount;
|
||||||
import com.newsblur.domain.SocialFeed;
|
import com.newsblur.domain.SocialFeed;
|
||||||
import com.newsblur.util.AppConstants;
|
import com.newsblur.util.AppConstants;
|
||||||
import com.newsblur.util.FeedListOrder;
|
import com.newsblur.util.FeedListOrder;
|
||||||
|
import com.newsblur.util.FeedListStyle;
|
||||||
import com.newsblur.util.FeedSet;
|
import com.newsblur.util.FeedSet;
|
||||||
import com.newsblur.util.FeedUtils;
|
|
||||||
import com.newsblur.util.ImageLoader;
|
import com.newsblur.util.ImageLoader;
|
||||||
import com.newsblur.util.PrefsUtils;
|
import com.newsblur.util.PrefsUtils;
|
||||||
import com.newsblur.util.StateFilter;
|
import com.newsblur.util.StateFilter;
|
||||||
|
@ -67,7 +69,7 @@ public class FolderListAdapter extends BaseExpandableListAdapter {
|
||||||
|
|
||||||
private final static float defaultTextSize_childName = 14;
|
private final static float defaultTextSize_childName = 14;
|
||||||
private final static float defaultTextSize_groupName = 13;
|
private final static float defaultTextSize_groupName = 13;
|
||||||
private final static float defaultTextSize_count = 14;
|
private final static float defaultTextSize_count = 13;
|
||||||
|
|
||||||
private final static float NONZERO_UNREADS_ALPHA = 0.87f;
|
private final static float NONZERO_UNREADS_ALPHA = 0.87f;
|
||||||
private final static float ZERO_UNREADS_ALPHA = 0.70f;
|
private final static float ZERO_UNREADS_ALPHA = 0.70f;
|
||||||
|
@ -120,20 +122,21 @@ public class FolderListAdapter extends BaseExpandableListAdapter {
|
||||||
public int lastFeedCount = 0;
|
public int lastFeedCount = 0;
|
||||||
|
|
||||||
/** Flat names of folders explicity closed by the user. */
|
/** Flat names of folders explicity closed by the user. */
|
||||||
private Set<String> closedFolders = new HashSet<String>();
|
private final Set<String> closedFolders = new HashSet<String>();
|
||||||
|
|
||||||
private Context context;
|
private final Context context;
|
||||||
private LayoutInflater inflater;
|
private final LayoutInflater inflater;
|
||||||
private StateFilter currentState;
|
private StateFilter currentState;
|
||||||
private final ImageLoader iconLoader;
|
private final ImageLoader iconLoader;
|
||||||
private final BlurDatabaseHelper dbHelper;
|
private final BlurDatabaseHelper dbHelper;
|
||||||
|
|
||||||
// since we want to implement a custom expando that does group collapse/expand, we need
|
// since we want to implement a custom expando that does group collapse/expand, we need
|
||||||
// a way to call back to those functions on the listview from the onclick listener of
|
// a way to call back to those functions on the listview from the onclick listener of
|
||||||
// views we crate for the list.
|
// views we crate for the list.
|
||||||
public WeakReference<ExpandableListView> listBackref;
|
public WeakReference<ExpandableListView> listBackref;
|
||||||
|
|
||||||
private float textSize;
|
private float textSize;
|
||||||
|
private FeedListStyle feedListStyle;
|
||||||
|
|
||||||
// in order to implement the laggy disappearance of marked-read feeds, preserve the ID of
|
// in order to implement the laggy disappearance of marked-read feeds, preserve the ID of
|
||||||
// the last feed or folder viewed and force the DB to include it in the selection
|
// the last feed or folder viewed and force the DB to include it in the selection
|
||||||
|
@ -150,6 +153,7 @@ public class FolderListAdapter extends BaseExpandableListAdapter {
|
||||||
this.dbHelper = dbHelper;
|
this.dbHelper = dbHelper;
|
||||||
|
|
||||||
textSize = PrefsUtils.getListTextSize(context);
|
textSize = PrefsUtils.getListTextSize(context);
|
||||||
|
feedListStyle = PrefsUtils.getFeedListStyle(context);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -166,7 +170,7 @@ public class FolderListAdapter extends BaseExpandableListAdapter {
|
||||||
v.findViewById(R.id.row_foldersumneu).setVisibility(View.GONE);
|
v.findViewById(R.id.row_foldersumneu).setVisibility(View.GONE);
|
||||||
} else {
|
} else {
|
||||||
v.findViewById(R.id.row_foldersumneu).setVisibility(View.VISIBLE);
|
v.findViewById(R.id.row_foldersumneu).setVisibility(View.VISIBLE);
|
||||||
((TextView) v.findViewById(R.id.row_foldersumneu)).setText(Integer.toString(totalSocialNeutCount));
|
((TextView) v.findViewById(R.id.row_foldersumneu)).setText(Integer.toString(totalSocialNeutCount));
|
||||||
}
|
}
|
||||||
if (totalSocialPosiCount == 0) {
|
if (totalSocialPosiCount == 0) {
|
||||||
v.findViewById(R.id.row_foldersumpos).setVisibility(View.GONE);
|
v.findViewById(R.id.row_foldersumpos).setVisibility(View.GONE);
|
||||||
|
@ -188,7 +192,7 @@ public class FolderListAdapter extends BaseExpandableListAdapter {
|
||||||
v = inflater.inflate(R.layout.row_saved_searches, null, false);
|
v = inflater.inflate(R.layout.row_saved_searches, null, false);
|
||||||
} else if (isRowSavedStories(groupPosition)) {
|
} else if (isRowSavedStories(groupPosition)) {
|
||||||
if (v == null) v = inflater.inflate(R.layout.row_saved_stories, null, false);
|
if (v == null) v = inflater.inflate(R.layout.row_saved_stories, null, false);
|
||||||
TextView savedSum = ((TextView) v.findViewById(R.id.row_foldersum));
|
TextView savedSum = v.findViewById(R.id.row_foldersum);
|
||||||
if (savedStoriesTotalCount > 0) {
|
if (savedStoriesTotalCount > 0) {
|
||||||
savedSum.setVisibility(View.VISIBLE);
|
savedSum.setVisibility(View.VISIBLE);
|
||||||
savedSum.setText(Integer.toString(savedStoriesTotalCount));
|
savedSum.setText(Integer.toString(savedStoriesTotalCount));
|
||||||
|
@ -198,35 +202,33 @@ public class FolderListAdapter extends BaseExpandableListAdapter {
|
||||||
} else {
|
} else {
|
||||||
if (v == null) v = inflater.inflate(R.layout.row_folder, parent, false);
|
if (v == null) v = inflater.inflate(R.layout.row_folder, parent, false);
|
||||||
String folderName = activeFolderNames.get(groupPosition);
|
String folderName = activeFolderNames.get(groupPosition);
|
||||||
TextView folderTitle = ((TextView) v.findViewById(R.id.row_foldername));
|
TextView folderTitle = v.findViewById(R.id.row_foldername);
|
||||||
folderTitle.setText(folderName);
|
folderTitle.setText(folderName);
|
||||||
|
folderTitle.setTextSize(textSize * defaultTextSize_count);
|
||||||
bindCountViews(v, folderNeutCounts.get(groupPosition), folderPosCounts.get(groupPosition), false);
|
bindCountViews(v, folderNeutCounts.get(groupPosition), folderPosCounts.get(groupPosition), false);
|
||||||
v.findViewById(R.id.row_foldersums).setVisibility(isExpanded ? View.INVISIBLE : View.VISIBLE);
|
v.findViewById(R.id.row_foldersums).setVisibility(isExpanded ? View.INVISIBLE : View.VISIBLE);
|
||||||
ImageView folderIconView = ((ImageView) v.findViewById(R.id.row_folder_icon));
|
ImageView folderIconView = v.findViewById(R.id.row_folder_icon);
|
||||||
if ( folderIconView != null ) {
|
if ( folderIconView != null ) {
|
||||||
folderIconView.setImageResource(isExpanded ? R.drawable.g_icn_folder : R.drawable.g_icn_folder_rss);
|
folderIconView.setImageResource(isExpanded ? R.drawable.g_icn_folder : R.drawable.g_icn_folder_rss);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
TextView groupNameView = ((TextView) v.findViewById(R.id.row_foldername));
|
@NonNull TextView groupNameView = v.findViewById(R.id.row_foldername);
|
||||||
groupNameView.setTextSize(textSize * defaultTextSize_groupName);
|
groupNameView.setTextSize(textSize * defaultTextSize_groupName);
|
||||||
TextView sumNeutView = ((TextView) v.findViewById(R.id.row_foldersumneu));
|
int titleVerticalPadding = feedListStyle.getGroupTitleVerticalPadding(context);
|
||||||
|
groupNameView.setPadding(0, titleVerticalPadding, 0, titleVerticalPadding);
|
||||||
|
@Nullable TextView sumNeutView = v.findViewById(R.id.row_foldersumneu);
|
||||||
if (sumNeutView != null ) sumNeutView.setTextSize(textSize * defaultTextSize_count);
|
if (sumNeutView != null ) sumNeutView.setTextSize(textSize * defaultTextSize_count);
|
||||||
TextView sumPosiView = ((TextView) v.findViewById(R.id.row_foldersumpos));
|
@Nullable TextView sumPosiView = v.findViewById(R.id.row_foldersumpos);
|
||||||
if (sumPosiView != null ) sumPosiView.setTextSize(textSize * defaultTextSize_count);
|
if (sumPosiView != null ) sumPosiView.setTextSize(textSize * defaultTextSize_count);
|
||||||
TextView sumSavedView = ((TextView) v.findViewById(R.id.row_foldersum));
|
@Nullable TextView sumSavedView = v.findViewById(R.id.row_foldersum);
|
||||||
if (sumSavedView != null ) sumSavedView.setTextSize(textSize * defaultTextSize_count);
|
if (sumSavedView != null ) sumSavedView.setTextSize(textSize * defaultTextSize_count);
|
||||||
|
|
||||||
// if a group has a sub-view called row_folder_indicator, it will act as an expando
|
// if a group has a sub-view called row_folder_indicator, it will act as an expando
|
||||||
ImageView folderIndicatorView = ((ImageView) v.findViewById(R.id.row_folder_indicator));
|
@Nullable ImageView folderIndicatorView = v.findViewById(R.id.row_folder_indicator);
|
||||||
if ( folderIndicatorView != null ) {
|
if ( folderIndicatorView != null ) {
|
||||||
folderIndicatorView.setImageResource(isExpanded ? R.drawable.indicator_expanded : R.drawable.indicator_collapsed);
|
folderIndicatorView.setImageResource(isExpanded ? R.drawable.indicator_expanded : R.drawable.indicator_collapsed);
|
||||||
folderIndicatorView.setOnClickListener(new OnClickListener() {
|
folderIndicatorView.setOnClickListener(v1 -> toggleGroup(v1, groupPosition, isExpanded));
|
||||||
@Override
|
|
||||||
public void onClick(View v) {
|
|
||||||
toggleGroup(v, groupPosition, isExpanded);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return v;
|
return v;
|
||||||
|
@ -251,22 +253,24 @@ public class FolderListAdapter extends BaseExpandableListAdapter {
|
||||||
@Override
|
@Override
|
||||||
public synchronized View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {
|
public synchronized View getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) {
|
||||||
View v = convertView;
|
View v = convertView;
|
||||||
|
int titleVerticalPadding = feedListStyle.getChildTitleVerticalPadding(context);
|
||||||
if (isRowAllSharedStories(groupPosition)) {
|
if (isRowAllSharedStories(groupPosition)) {
|
||||||
if (v == null) v = inflater.inflate(R.layout.row_socialfeed, parent, false);
|
if (v == null) v = inflater.inflate(R.layout.row_socialfeed, parent, false);
|
||||||
SocialFeed f = socialFeedsActive.get(childPosition);
|
SocialFeed f = socialFeedsActive.get(childPosition);
|
||||||
TextView nameView = ((TextView) v.findViewById(R.id.row_socialfeed_name));
|
TextView nameView = v.findViewById(R.id.row_socialfeed_name);
|
||||||
nameView.setText(f.feedTitle);
|
nameView.setText(f.feedTitle);
|
||||||
nameView.setTextSize(textSize * defaultTextSize_childName);
|
nameView.setTextSize(textSize * defaultTextSize_childName);
|
||||||
ImageView iconView = (ImageView) v.findViewById(R.id.row_socialfeed_icon);
|
nameView.setPadding(nameView.getPaddingLeft(), titleVerticalPadding, nameView.getPaddingRight(), titleVerticalPadding);
|
||||||
|
ImageView iconView = v.findViewById(R.id.row_socialfeed_icon);
|
||||||
iconLoader.displayImage(f.photoUrl, iconView);
|
iconLoader.displayImage(f.photoUrl, iconView);
|
||||||
TextView neutCounter = ((TextView) v.findViewById(R.id.row_socialsumneu));
|
TextView neutCounter = v.findViewById(R.id.row_socialsumneu);
|
||||||
if (f.neutralCount > 0 && currentState != StateFilter.BEST) {
|
if (f.neutralCount > 0 && currentState != StateFilter.BEST) {
|
||||||
neutCounter.setVisibility(View.VISIBLE);
|
neutCounter.setVisibility(View.VISIBLE);
|
||||||
neutCounter.setText(Integer.toString(checkNegativeUnreads(f.neutralCount)));
|
neutCounter.setText(Integer.toString(checkNegativeUnreads(f.neutralCount)));
|
||||||
} else {
|
} else {
|
||||||
neutCounter.setVisibility(View.GONE);
|
neutCounter.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
TextView posCounter = ((TextView) v.findViewById(R.id.row_socialsumpos));
|
TextView posCounter = v.findViewById(R.id.row_socialsumpos);
|
||||||
if (f.positiveCount > 0) {
|
if (f.positiveCount > 0) {
|
||||||
posCounter.setVisibility(View.VISIBLE);
|
posCounter.setVisibility(View.VISIBLE);
|
||||||
posCounter.setText(Integer.toString(checkNegativeUnreads(f.positiveCount)));
|
posCounter.setText(Integer.toString(checkNegativeUnreads(f.positiveCount)));
|
||||||
|
@ -285,11 +289,12 @@ public class FolderListAdapter extends BaseExpandableListAdapter {
|
||||||
} else if (isRowSavedStories(groupPosition)) {
|
} else if (isRowSavedStories(groupPosition)) {
|
||||||
if (v == null) v = inflater.inflate(R.layout.row_saved_tag, parent, false);
|
if (v == null) v = inflater.inflate(R.layout.row_saved_tag, parent, false);
|
||||||
StarredCount sc = starredCountsByTag.get(childPosition);
|
StarredCount sc = starredCountsByTag.get(childPosition);
|
||||||
TextView nameView =((TextView) v.findViewById(R.id.row_tag_name));
|
TextView nameView = v.findViewById(R.id.row_tag_name);
|
||||||
nameView.setText(sc.tag);
|
nameView.setText(sc.tag);
|
||||||
nameView.setTextSize(textSize * defaultTextSize_childName);
|
nameView.setTextSize(textSize * defaultTextSize_childName);
|
||||||
nameView.setAlpha(NONZERO_UNREADS_ALPHA);
|
nameView.setAlpha(NONZERO_UNREADS_ALPHA);
|
||||||
TextView savedCounter =((TextView) v.findViewById(R.id.row_saved_tag_sum));
|
nameView.setPadding(nameView.getPaddingLeft(), titleVerticalPadding, nameView.getPaddingRight(), titleVerticalPadding);
|
||||||
|
TextView savedCounter = v.findViewById(R.id.row_saved_tag_sum);
|
||||||
savedCounter.setText(Integer.toString(checkNegativeUnreads(sc.count)));
|
savedCounter.setText(Integer.toString(checkNegativeUnreads(sc.count)));
|
||||||
savedCounter.setTextSize(textSize * defaultTextSize_count);
|
savedCounter.setTextSize(textSize * defaultTextSize_count);
|
||||||
} else if (isRowSavedSearches(groupPosition)) {
|
} else if (isRowSavedSearches(groupPosition)) {
|
||||||
|
@ -297,6 +302,7 @@ public class FolderListAdapter extends BaseExpandableListAdapter {
|
||||||
SavedSearch ss = savedSearches.get(childPosition);
|
SavedSearch ss = savedSearches.get(childPosition);
|
||||||
TextView nameView = v.findViewById(R.id.row_saved_search_title);
|
TextView nameView = v.findViewById(R.id.row_saved_search_title);
|
||||||
nameView.setText(UIUtils.fromHtml(ss.feedTitle));
|
nameView.setText(UIUtils.fromHtml(ss.feedTitle));
|
||||||
|
nameView.setPadding(nameView.getPaddingLeft(), titleVerticalPadding, nameView.getPaddingRight(), titleVerticalPadding);
|
||||||
ImageView iconView = v.findViewById(R.id.row_saved_search_icon);
|
ImageView iconView = v.findViewById(R.id.row_saved_search_icon);
|
||||||
iconLoader.preCheck(ss.faviconUrl, iconView);
|
iconLoader.preCheck(ss.faviconUrl, iconView);
|
||||||
iconLoader.displayImage(ss.faviconUrl, iconView);
|
iconLoader.displayImage(ss.faviconUrl, iconView);
|
||||||
|
@ -308,17 +314,18 @@ public class FolderListAdapter extends BaseExpandableListAdapter {
|
||||||
RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) containerTitle.getLayoutParams();
|
RelativeLayout.LayoutParams lp = (RelativeLayout.LayoutParams) containerTitle.getLayoutParams();
|
||||||
lp.setMarginStart(rowMarginStart);
|
lp.setMarginStart(rowMarginStart);
|
||||||
containerTitle.setLayoutParams(lp);
|
containerTitle.setLayoutParams(lp);
|
||||||
TextView nameView =((TextView) v.findViewById(R.id.row_feedname));
|
TextView nameView = v.findViewById(R.id.row_feedname);
|
||||||
nameView.setText(f.title);
|
nameView.setText(f.title);
|
||||||
nameView.setTextSize(textSize * defaultTextSize_childName);
|
nameView.setTextSize(textSize * defaultTextSize_childName);
|
||||||
ImageView iconView = (ImageView) v.findViewById(R.id.row_feedfavicon);
|
nameView.setPadding(nameView.getPaddingLeft(), titleVerticalPadding, nameView.getPaddingRight(), titleVerticalPadding);
|
||||||
|
ImageView iconView = v.findViewById(R.id.row_feedfavicon);
|
||||||
iconLoader.preCheck(f.faviconUrl, iconView);
|
iconLoader.preCheck(f.faviconUrl, iconView);
|
||||||
iconLoader.displayImage(f.faviconUrl, iconView);
|
iconLoader.displayImage(f.faviconUrl, iconView);
|
||||||
TextView neutCounter = ((TextView) v.findViewById(R.id.row_feedneutral));
|
TextView neutCounter = v.findViewById(R.id.row_feedneutral);
|
||||||
TextView posCounter = ((TextView) v.findViewById(R.id.row_feedpositive));
|
TextView posCounter = v.findViewById(R.id.row_feedpositive);
|
||||||
TextView savedCounter = ((TextView) v.findViewById(R.id.row_feedsaved));
|
TextView savedCounter = v.findViewById(R.id.row_feedsaved);
|
||||||
ImageView muteIcon = ((ImageView) v.findViewById(R.id.row_feedmuteicon));
|
ImageView muteIcon = v.findViewById(R.id.row_feedmuteicon);
|
||||||
CircularProgressIndicator fetchingIcon = ((CircularProgressIndicator) v.findViewById(R.id.row_feedfetching));
|
CircularProgressIndicator fetchingIcon = v.findViewById(R.id.row_feedfetching);
|
||||||
if (!f.active) {
|
if (!f.active) {
|
||||||
muteIcon.setVisibility(View.VISIBLE);
|
muteIcon.setVisibility(View.VISIBLE);
|
||||||
neutCounter.setVisibility(View.GONE);
|
neutCounter.setVisibility(View.GONE);
|
||||||
|
@ -444,7 +451,7 @@ public class FolderListAdapter extends BaseExpandableListAdapter {
|
||||||
public synchronized long getGroupId(int groupPosition) {
|
public synchronized long getGroupId(int groupPosition) {
|
||||||
return activeFolderNames.get(groupPosition).hashCode();
|
return activeFolderNames.get(groupPosition).hashCode();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public synchronized int getChildrenCount(int groupPosition) {
|
public synchronized int getChildrenCount(int groupPosition) {
|
||||||
if (isRowAllSharedStories(groupPosition)) {
|
if (isRowAllSharedStories(groupPosition)) {
|
||||||
|
@ -554,7 +561,7 @@ public class FolderListAdapter extends BaseExpandableListAdapter {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
recountChildren();
|
recountChildren();
|
||||||
notifyDataSetChanged();
|
notifyDataSetChanged();
|
||||||
}
|
}
|
||||||
|
@ -630,7 +637,7 @@ public class FolderListAdapter extends BaseExpandableListAdapter {
|
||||||
Collections.sort(savedSearches, SavedSearch.SavedSearchComparatorByTitle);
|
Collections.sort(savedSearches, SavedSearch.SavedSearchComparatorByTitle);
|
||||||
notifyDataSetChanged();
|
notifyDataSetChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void recountFeeds() {
|
private void recountFeeds() {
|
||||||
if ((folders == null) || (feeds == null)) return;
|
if ((folders == null) || (feeds == null)) return;
|
||||||
// re-init our local vars
|
// re-init our local vars
|
||||||
|
@ -928,7 +935,7 @@ public class FolderListAdapter extends BaseExpandableListAdapter {
|
||||||
default:
|
default:
|
||||||
if ((neutCount > 0) || showNeutZero) {
|
if ((neutCount > 0) || showNeutZero) {
|
||||||
v.findViewById(R.id.row_foldersumneu).setVisibility(View.VISIBLE);
|
v.findViewById(R.id.row_foldersumneu).setVisibility(View.VISIBLE);
|
||||||
} else {
|
} else {
|
||||||
v.findViewById(R.id.row_foldersumneu).setVisibility(View.GONE);
|
v.findViewById(R.id.row_foldersumneu).setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
if (posCount == 0) {
|
if (posCount == 0) {
|
||||||
|
@ -971,4 +978,8 @@ public class FolderListAdapter extends BaseExpandableListAdapter {
|
||||||
this.textSize = textSize;
|
this.textSize = textSize;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setFeedListStyle(FeedListStyle feedListStyle) {
|
||||||
|
this.feedListStyle = feedListStyle;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -52,6 +52,7 @@ import com.newsblur.domain.Folder;
|
||||||
import com.newsblur.domain.SavedSearch;
|
import com.newsblur.domain.SavedSearch;
|
||||||
import com.newsblur.domain.SocialFeed;
|
import com.newsblur.domain.SocialFeed;
|
||||||
import com.newsblur.util.AppConstants;
|
import com.newsblur.util.AppConstants;
|
||||||
|
import com.newsblur.util.FeedListStyle;
|
||||||
import com.newsblur.util.FeedSet;
|
import com.newsblur.util.FeedSet;
|
||||||
import com.newsblur.util.FeedUtils;
|
import com.newsblur.util.FeedUtils;
|
||||||
import com.newsblur.util.ImageLoader;
|
import com.newsblur.util.ImageLoader;
|
||||||
|
@ -114,8 +115,10 @@ public class FolderListFragment extends NbFragment implements OnCreateContextMen
|
||||||
public void onResume() {
|
public void onResume() {
|
||||||
super.onResume();
|
super.onResume();
|
||||||
if (adapter != null) {
|
if (adapter != null) {
|
||||||
float textSize = PrefsUtils.getListTextSize(getActivity());
|
float textSize = PrefsUtils.getListTextSize(requireContext());
|
||||||
adapter.setTextSize(textSize);
|
adapter.setTextSize(textSize);
|
||||||
|
FeedListStyle feedListStyle = PrefsUtils.getFeedListStyle(requireContext());
|
||||||
|
adapter.setFeedListStyle(feedListStyle);
|
||||||
adapter.notifyDataSetChanged();
|
adapter.notifyDataSetChanged();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
package com.newsblur.util
|
||||||
|
|
||||||
|
import android.content.Context
|
||||||
|
|
||||||
|
enum class FeedListStyle {
|
||||||
|
COMFORTABLE, // default
|
||||||
|
COMPACT,
|
||||||
|
;
|
||||||
|
|
||||||
|
fun getGroupTitleVerticalPadding(context: Context): Int = when (this) {
|
||||||
|
COMFORTABLE -> UIUtils.dp2px(context, 9)
|
||||||
|
COMPACT -> UIUtils.dp2px(context, 4)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun getChildTitleVerticalPadding(context: Context): Int = when (this) {
|
||||||
|
COMFORTABLE -> UIUtils.dp2px(context, 7)
|
||||||
|
COMPACT -> UIUtils.dp2px(context, 3)
|
||||||
|
}
|
||||||
|
}
|
|
@ -64,6 +64,7 @@ public class PrefConstants {
|
||||||
public static final String STORIES_SHOW_PREVIEWS_STYLE = "pref_show_content_preview_style";
|
public static final String STORIES_SHOW_PREVIEWS_STYLE = "pref_show_content_preview_style";
|
||||||
public static final String STORIES_THUMBNAIL_STYLE = "pref_thumbnail_style";
|
public static final String STORIES_THUMBNAIL_STYLE = "pref_thumbnail_style";
|
||||||
public static final String STORY_MARK_READ_BEHAVIOR = "pref_story_mark_read_behavior";
|
public static final String STORY_MARK_READ_BEHAVIOR = "pref_story_mark_read_behavior";
|
||||||
|
public static final String FEED_LIST_STYLE = "pref_feed_list_style";
|
||||||
|
|
||||||
public static final String ENABLE_OFFLINE = "enable_offline";
|
public static final String ENABLE_OFFLINE = "enable_offline";
|
||||||
public static final String ENABLE_IMAGE_PREFETCH = "enable_image_prefetch";
|
public static final String ENABLE_IMAGE_PREFETCH = "enable_image_prefetch";
|
||||||
|
|
|
@ -1052,6 +1052,11 @@ public class PrefsUtils {
|
||||||
editor.commit();
|
editor.commit();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static FeedListStyle getFeedListStyle(Context context) {
|
||||||
|
SharedPreferences preferences = context.getSharedPreferences(PrefConstants.PREFERENCES, 0);
|
||||||
|
return FeedListStyle.valueOf(preferences.getString(PrefConstants.FEED_LIST_STYLE, FeedListStyle.COMFORTABLE.name()));
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Check for logged in user.
|
* Check for logged in user.
|
||||||
* @return whether a cookie is stored on disk
|
* @return whether a cookie is stored on disk
|
||||||
|
|
Loading…
Add table
Reference in a new issue