aboutsummaryrefslogtreecommitdiff
path: root/org.fox.ttrss/src/main/java/org/fox
diff options
context:
space:
mode:
authorAndrew Dolgov <fox@fakecake.org>2025-05-06 19:58:35 +0300
committerAndrew Dolgov <fox@fakecake.org>2025-05-06 19:58:35 +0300
commit97e92defd99b4d9b4bbb85a6a7170a70b05cae75 (patch)
treefbd9f67d404266beba751232994c0eed6ec89f36 /org.fox.ttrss/src/main/java/org/fox
parenteec72cb0137d01011620bdca9d51dcb8de81cf44 (diff)
drawer style tweaks
Diffstat (limited to 'org.fox.ttrss/src/main/java/org/fox')
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/BaseFeedlistFragment.java210
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/FeedCategoriesFragment.java2
2 files changed, 86 insertions, 126 deletions
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/BaseFeedlistFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/BaseFeedlistFragment.java
index 853cfcbd..0952e7f7 100755
--- a/org.fox.ttrss/src/main/java/org/fox/ttrss/BaseFeedlistFragment.java
+++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/BaseFeedlistFragment.java
@@ -25,152 +25,112 @@ public abstract class BaseFeedlistFragment extends androidx.fragment.app.Fragmen
boolean isOffline = activity instanceof OfflineActivity;
- if (true /*m_activity.findViewById(R.id.headlines_drawer) != null*/) {
- try {
+ try {
+ View layout = inflater.inflate(R.layout.drawer_header, list, false);
+ list.addHeaderView(layout, null, false);
- boolean needSettingsFooter = false;
+ TextView login = view.findViewById(R.id.drawer_header_login);
+ TextView server = view.findViewById(R.id.drawer_header_server);
- if (activity.isSmallScreen()) {
- View layout = inflater.inflate(R.layout.drawer_header, list, false);
- list.addHeaderView(layout, null, false);
+ login.setText(prefs.getString("login", ""));
+ try {
+ server.setText(new URL(prefs.getString("ttrss_url", "")).getHost());
+ } catch (MalformedURLException e) {
+ server.setText("");
+ }
- TextView login = view.findViewById(R.id.drawer_header_login);
- TextView server = view.findViewById(R.id.drawer_header_server);
+ View settings = view.findViewById(R.id.drawer_settings_btn);
- login.setText(prefs.getString("login", ""));
+ settings.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
try {
- server.setText(new URL(prefs.getString("ttrss_url", "")).getHost());
- } catch (MalformedURLException e) {
- server.setText("");
- }
+ Intent intent = new Intent(getActivity(),
+ PreferencesActivity.class);
- View settings = view.findViewById(R.id.drawer_settings_btn);
+ startActivityForResult(intent, 0);
- settings.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- try {
- Intent intent = new Intent(getActivity(),
- PreferencesActivity.class);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+ });
- startActivityForResult(intent, 0);
+ /* deal with ~material~ footers */
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- });
- } else {
- needSettingsFooter = true;
+ // divider
+ final View footer = inflater.inflate(R.layout.drawer_divider, list, false);
+ footer.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ //
+ }
+ });
+ list.addFooterView(footer);
+
+ // unread only checkbox
+ final View rowToggle = inflater.inflate(R.layout.feeds_row_toggle, list, false);
+ list.addFooterView(rowToggle);
+ TextView text = rowToggle.findViewById(R.id.title);
+ text.setText(R.string.unread_only);
+
+ ImageView icon = rowToggle.findViewById(R.id.icon);
+ TypedValue tv = new TypedValue();
+ getActivity().getTheme().resolveAttribute(R.attr.ic_filter_variant, tv, true);
+ icon.setImageResource(tv.resourceId);
+
+ final SwitchCompat rowSwitch = rowToggle.findViewById(R.id.row_switch);
+ rowSwitch.setChecked(activity.getUnreadOnly());
+
+ rowSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
+ @Override
+ public void onCheckedChanged(CompoundButton button, boolean isChecked) {
+ activity.setUnreadOnly(isChecked);
+ refresh();
}
+ });
- /* deal with ~material~ footers */
+ footer.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ rowSwitch.setChecked(!rowSwitch.isChecked());
+ }
+ });
- // divider
- View footer = inflater.inflate(R.layout.drawer_divider, list, false);
- footer.setOnClickListener(new View.OnClickListener() {
+ // root or subdirectory (i.e. feed category)
+ if (isRoot) {
+ // offline
+ final View offlineFooter = inflater.inflate(R.layout.feeds_row, list, false);
+ offlineFooter.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
- //
- }
- });
- list.addFooterView(footer);
-
- // unread only checkbox
- footer = inflater.inflate(R.layout.feeds_row_toggle, list, false);
- list.addFooterView(footer);
- TextView text = footer.findViewById(R.id.title);
- text.setText(R.string.unread_only);
-
- ImageView icon = footer.findViewById(R.id.icon);
- TypedValue tv = new TypedValue();
- getActivity().getTheme().resolveAttribute(R.attr.ic_filter_variant, tv, true);
- icon.setImageResource(tv.resourceId);
-
- final SwitchCompat rowSwitch = footer.findViewById(R.id.row_switch);
- rowSwitch.setChecked(activity.getUnreadOnly());
+ if (activity instanceof OnlineActivity) {
+ ((OnlineActivity)activity).switchOffline();
- rowSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
- @Override
- public void onCheckedChanged(CompoundButton button, boolean isChecked) {
- activity.setUnreadOnly(isChecked);
- refresh();
- }
- });
-
- footer.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- rowSwitch.setChecked(!rowSwitch.isChecked());
+ } else if (activity instanceof OfflineActivity) {
+ ((OfflineActivity)activity).switchOnline();
+ }
}
});
- if (isRoot) {
- if (needSettingsFooter) {
- // settings (as a list footer row)
-
- footer = inflater.inflate(R.layout.feeds_row, list, false);
- footer.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- try {
- Intent intent = new Intent(getActivity(),
- PreferencesActivity.class);
-
- startActivityForResult(intent, 0);
-
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- });
-
- list.addFooterView(footer);
- text = footer.findViewById(R.id.title);
- text.setText(R.string.action_settings);
-
- icon = footer.findViewById(R.id.icon);
- tv = new TypedValue();
- getActivity().getTheme().resolveAttribute(R.attr.ic_settings, tv, true);
- icon.setImageResource(tv.resourceId);
-
- TextView counter = footer.findViewById(R.id.unread_counter);
- counter.setText(R.string.blank);
- }
+ list.addFooterView(offlineFooter);
+ text = offlineFooter.findViewById(R.id.title);
+ text.setText(isOffline ? R.string.go_online : R.string.go_offline);
- // offline
- footer = inflater.inflate(R.layout.feeds_row, list, false);
- footer.setOnClickListener(new View.OnClickListener() {
- @Override
- public void onClick(View v) {
- if (activity instanceof OnlineActivity) {
- ((OnlineActivity)activity).switchOffline();
-
- } else if (activity instanceof OfflineActivity) {
- ((OfflineActivity)activity).switchOnline();
- }
- }
- });
-
- list.addFooterView(footer);
- text = footer.findViewById(R.id.title);
- text.setText(isOffline ? R.string.go_online : R.string.go_offline);
-
- icon = footer.findViewById(R.id.icon);
- tv = new TypedValue();
- getActivity().getTheme().resolveAttribute(isOffline ? R.attr.ic_cloud_upload : R.attr.ic_cloud_download, tv, true);
- icon.setImageResource(tv.resourceId);
-
- TextView counter = footer.findViewById(R.id.unread_counter);
- counter.setText(R.string.blank);
- }
+ icon = offlineFooter.findViewById(R.id.icon);
+ tv = new TypedValue();
+ getActivity().getTheme().resolveAttribute(isOffline ? R.attr.ic_cloud_upload : R.attr.ic_cloud_download, tv, true);
+ icon.setImageResource(tv.resourceId);
- } catch (InflateException e) {
- // welp couldn't inflate header i guess
- e.printStackTrace();
- } catch (java.lang.UnsupportedOperationException e) {
- e.printStackTrace();
+ TextView counter = offlineFooter.findViewById(R.id.unread_counter);
+ counter.setText(R.string.blank);
}
+
+ } catch (InflateException e) {
+ // welp couldn't inflate header i guess
+ e.printStackTrace();
+ } catch (java.lang.UnsupportedOperationException e) {
+ e.printStackTrace();
}
}
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedCategoriesFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedCategoriesFragment.java
index af925ea4..b805ee6a 100755
--- a/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedCategoriesFragment.java
+++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedCategoriesFragment.java
@@ -300,7 +300,7 @@ public class FeedCategoriesFragment extends BaseFeedlistFragment implements OnIt
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
- View view = inflater.inflate(R.layout.fragment_cats, container, false);
+ View view = inflater.inflate(R.layout.fragment_feeds, container, false);
m_swipeLayout = view.findViewById(R.id.feeds_swipe_container);