summaryrefslogtreecommitdiff
path: root/org.fox.ttrss
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2015-06-04 20:57:32 +0300
committerAndrew Dolgov <[email protected]>2015-06-04 20:57:32 +0300
commit8c6d767190071487df97b47ef552669df36f1256 (patch)
treeda871c6a5a69aeba33d8cf569db5bbf7aba137d3 /org.fox.ttrss
parentc9398d0fe13fbce4deafb57c910d4edf97e97723 (diff)
move offline/online prompts to the sidebar
Diffstat (limited to 'org.fox.ttrss')
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/BaseFeedlistFragment.java19
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/FeedCategoriesFragment.java23
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/FeedsFragment.java23
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/OnlineActivity.java6
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineActivity.java6
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineFeedCategoriesFragment.java23
-rwxr-xr-xorg.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineFeedsFragment.java23
-rw-r--r--org.fox.ttrss/src/main/res/drawable-hdpi/ic_cloud_download_dark.pngbin0 -> 976 bytes
-rw-r--r--org.fox.ttrss/src/main/res/drawable-hdpi/ic_cloud_upload_dark.pngbin0 -> 971 bytes
-rw-r--r--org.fox.ttrss/src/main/res/drawable-xhdpi/ic_cloud_download_dark.pngbin0 -> 1318 bytes
-rw-r--r--org.fox.ttrss/src/main/res/drawable-xhdpi/ic_cloud_upload_dark.pngbin0 -> 1378 bytes
-rw-r--r--org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_cloud_download_dark.pngbin0 -> 1929 bytes
-rw-r--r--org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_cloud_upload_dark.pngbin0 -> 1942 bytes
-rw-r--r--org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_cloud_download_dark.pngbin0 -> 2616 bytes
-rw-r--r--org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_cloud_upload_dark.pngbin0 -> 2631 bytes
-rwxr-xr-xorg.fox.ttrss/src/main/res/menu/main_menu.xml4
-rwxr-xr-xorg.fox.ttrss/src/main/res/menu/offline_menu.xml4
-rwxr-xr-xorg.fox.ttrss/src/main/res/values/attrs.xml2
-rwxr-xr-xorg.fox.ttrss/src/main/res/values/style.xml4
19 files changed, 90 insertions, 47 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 9f9afe73..1dc880be 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
@@ -20,7 +20,8 @@ import java.net.URL;
public abstract class BaseFeedlistFragment extends Fragment {
abstract public void refresh(boolean background);
- public void initDrawerHeader(LayoutInflater inflater, View view, ListView list, final CommonActivity activity, final SharedPreferences prefs) {
+ public void initDrawerHeader(LayoutInflater inflater, View view, ListView list, final CommonActivity activity, final SharedPreferences prefs,
+ boolean rootView, boolean isOffline) {
if (true /*m_activity.findViewById(R.id.headlines_drawer) != null*/) {
try {
@@ -87,6 +88,22 @@ public abstract class BaseFeedlistFragment extends Fragment {
}
});
+ if (rootView) {
+ // offline
+ footer = inflater.inflate(R.layout.feeds_row, list, false);
+ list.addFooterView(footer);
+ text = (TextView) footer.findViewById(R.id.title);
+ text.setText(isOffline ? R.string.go_online : R.string.go_offline);
+
+ icon = (ImageView) 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 = (TextView) footer.findViewById(R.id.unread_counter);
+ counter.setText(R.string.blank);
+ }
+
// settings
footer = inflater.inflate(R.layout.feeds_row, list, false);
list.addFooterView(footer);
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 db748846..4f2f72ee 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
@@ -217,7 +217,7 @@ public class FeedCategoriesFragment extends BaseFeedlistFragment implements OnIt
m_list = (ListView)view.findViewById(R.id.feeds);
m_adapter = new FeedCategoryListAdapter(getActivity(), R.layout.feeds_row, (ArrayList<FeedCategory>)m_cats);
- initDrawerHeader(inflater, view, m_list, m_activity, m_prefs);
+ initDrawerHeader(inflater, view, m_list, m_activity, m_prefs, true, false);
m_list.setAdapter(m_adapter);
m_list.setOnItemClickListener(this);
@@ -511,14 +511,6 @@ public class FeedCategoriesFragment extends BaseFeedlistFragment implements OnIt
if (list != null) {
- if (position == list.getCount() - 1) {
- Intent intent = new Intent(m_activity,
- PreferencesActivity.class);
- startActivityForResult(intent, 0);
-
- return;
- }
-
FeedCategory cat = (FeedCategory)list.getItemAtPosition(position);
if (cat != null) {
@@ -531,6 +523,19 @@ public class FeedCategoriesFragment extends BaseFeedlistFragment implements OnIt
m_selectedCat = cat;
m_adapter.notifyDataSetChanged();
+ } else {
+ if (position == list.getCount() - 1) {
+ Intent intent = new Intent(m_activity,
+ PreferencesActivity.class);
+ startActivityForResult(intent, 0);
+
+ return;
+ }
+
+ if (position == list.getCount() - 2) {
+ m_activity.switchOffline();
+ return;
+ }
}
}
}
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedsFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedsFragment.java
index a3a6222d..97a96490 100755
--- a/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedsFragment.java
+++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/FeedsFragment.java
@@ -283,7 +283,7 @@ public class FeedsFragment extends BaseFeedlistFragment implements OnItemClickLi
m_list = (ListView)view.findViewById(R.id.feeds);
- initDrawerHeader(inflater, view, m_list, m_activity, m_prefs);
+ initDrawerHeader(inflater, view, m_list, m_activity, m_prefs, !m_enableParentBtn, false);
if (m_enableParentBtn) {
View layout = inflater.inflate(R.layout.feeds_goback, m_list, false);
@@ -358,14 +358,6 @@ public class FeedsFragment extends BaseFeedlistFragment implements OnItemClickLi
ListView list = (ListView)av;
if (list != null) {
- if (position == list.getCount() - 1) {
- Intent intent = new Intent(m_activity,
- PreferencesActivity.class);
- startActivityForResult(intent, 0);
-
- return;
- }
-
Feed feed = (Feed)list.getItemAtPosition(position);
if (feed != null) {
@@ -378,6 +370,19 @@ public class FeedsFragment extends BaseFeedlistFragment implements OnItemClickLi
} else {
m_activity.onFeedSelected(feed);
}
+ } else {
+ if (position == list.getCount() - 1) {
+ Intent intent = new Intent(m_activity,
+ PreferencesActivity.class);
+ startActivityForResult(intent, 0);
+
+ return;
+ }
+
+ if (position == list.getCount() - 2) {
+ m_activity.switchOffline();
+ return;
+ }
}
m_selectedFeed = feed;
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/OnlineActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/OnlineActivity.java
index ab7c95e8..8766d3cd 100755
--- a/org.fox.ttrss/src/main/java/org/fox/ttrss/OnlineActivity.java
+++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/OnlineActivity.java
@@ -200,7 +200,7 @@ public class OnlineActivity extends CommonActivity {
return GlobalState.getInstance().m_canUseProgress;
}
- private void switchOffline() {
+ protected void switchOffline() {
if (m_offlineModeStatus == 2) {
AlertDialog.Builder builder = new AlertDialog.Builder(
@@ -729,9 +729,9 @@ public class OnlineActivity extends CommonActivity {
case R.id.login:
login();
return true;
- case R.id.go_offline:
+ /*case R.id.go_offline:
switchOffline();
- return true;
+ return true;*/
case R.id.article_set_note:
if (ap != null && ap.getSelectedArticle() != null) {
editArticleNote(ap.getSelectedArticle());
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineActivity.java
index 1bd2342c..5041fd3a 100755
--- a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineActivity.java
+++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineActivity.java
@@ -271,9 +271,9 @@ public class OfflineActivity extends CommonActivity {
}
}
return true; */
- case R.id.go_online:
+ /*case R.id.go_online:
switchOnline();
- return true;
+ return true;*/
case R.id.search:
if (ohf != null) {
Dialog dialog = new Dialog(this);
@@ -602,7 +602,7 @@ public class OfflineActivity extends CommonActivity {
}
}
- private void switchOnline() {
+ protected void switchOnline() {
SharedPreferences localPrefs = getSharedPreferences("localprefs", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = localPrefs.edit();
editor.putBoolean("offline_mode_active", false);
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineFeedCategoriesFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineFeedCategoriesFragment.java
index 0c48df4e..88abf0f5 100755
--- a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineFeedCategoriesFragment.java
+++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineFeedCategoriesFragment.java
@@ -148,7 +148,7 @@ public class OfflineFeedCategoriesFragment extends BaseFeedlistFragment implemen
m_adapter = new FeedCategoryListAdapter(getActivity(), R.layout.feeds_row, m_cursor,
new String[] { "title", "unread" }, new int[] { R.id.title, R.id.unread_counter }, 0);
- initDrawerHeader(inflater, view, m_list, m_activity, m_prefs);
+ initDrawerHeader(inflater, view, m_list, m_activity, m_prefs, true, true);
m_list.setAdapter(m_adapter);
m_list.setOnItemClickListener(this);
@@ -188,14 +188,6 @@ public class OfflineFeedCategoriesFragment extends BaseFeedlistFragment implemen
ListView list = (ListView)getActivity().findViewById(R.id.feeds);
if (list != null) {
- if (position == list.getCount() - 1) {
- Intent intent = new Intent(m_activity,
- PreferencesActivity.class);
- startActivityForResult(intent, 0);
-
- return;
- }
-
Cursor cursor = (Cursor) list.getItemAtPosition(position);
if (cursor != null) {
@@ -207,6 +199,19 @@ public class OfflineFeedCategoriesFragment extends BaseFeedlistFragment implemen
m_selectedCatId = feedId;
m_adapter.notifyDataSetChanged();
+ } else {
+ if (position == list.getCount() - 1) {
+ Intent intent = new Intent(m_activity,
+ PreferencesActivity.class);
+ startActivityForResult(intent, 0);
+
+ return;
+ }
+
+ if (position == list.getCount() - 2) {
+ m_activity.switchOnline();
+ return;
+ }
}
}
}
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineFeedsFragment.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineFeedsFragment.java
index 13d57dea..1504a734 100755
--- a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineFeedsFragment.java
+++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineFeedsFragment.java
@@ -150,7 +150,7 @@ public class OfflineFeedsFragment extends BaseFeedlistFragment implements OnItem
m_list = (ListView)view.findViewById(R.id.feeds);
- initDrawerHeader(inflater, view, m_list, m_activity, m_prefs);
+ initDrawerHeader(inflater, view, m_list, m_activity, m_prefs, !m_enableParentBtn, true);
if (m_enableParentBtn) {
View layout = inflater.inflate(R.layout.feeds_goback, container, false);
@@ -215,14 +215,6 @@ public class OfflineFeedsFragment extends BaseFeedlistFragment implements OnItem
ListView list = (ListView)getActivity().findViewById(R.id.feeds);
if (list != null) {
- if (position == list.getCount() - 1) {
- Intent intent = new Intent(m_activity,
- PreferencesActivity.class);
- startActivityForResult(intent, 0);
-
- return;
- }
-
Cursor cursor = (Cursor) list.getItemAtPosition(position);
if (cursor != null) {
@@ -234,6 +226,19 @@ public class OfflineFeedsFragment extends BaseFeedlistFragment implements OnItem
m_selectedFeedId = feedId;
m_adapter.notifyDataSetChanged();
+ } else {
+ if (position == list.getCount() - 1) {
+ Intent intent = new Intent(m_activity,
+ PreferencesActivity.class);
+ startActivityForResult(intent, 0);
+
+ return;
+ }
+
+ if (position == list.getCount() - 2) {
+ m_activity.switchOnline();
+ return;
+ }
}
}
}
diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_cloud_download_dark.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_cloud_download_dark.png
new file mode 100644
index 00000000..056fcba9
--- /dev/null
+++ b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_cloud_download_dark.png
Binary files differ
diff --git a/org.fox.ttrss/src/main/res/drawable-hdpi/ic_cloud_upload_dark.png b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_cloud_upload_dark.png
new file mode 100644
index 00000000..760b0cb0
--- /dev/null
+++ b/org.fox.ttrss/src/main/res/drawable-hdpi/ic_cloud_upload_dark.png
Binary files differ
diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_cloud_download_dark.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_cloud_download_dark.png
new file mode 100644
index 00000000..1c9ac716
--- /dev/null
+++ b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_cloud_download_dark.png
Binary files differ
diff --git a/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_cloud_upload_dark.png b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_cloud_upload_dark.png
new file mode 100644
index 00000000..75e647d4
--- /dev/null
+++ b/org.fox.ttrss/src/main/res/drawable-xhdpi/ic_cloud_upload_dark.png
Binary files differ
diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_cloud_download_dark.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_cloud_download_dark.png
new file mode 100644
index 00000000..8b49ae1c
--- /dev/null
+++ b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_cloud_download_dark.png
Binary files differ
diff --git a/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_cloud_upload_dark.png b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_cloud_upload_dark.png
new file mode 100644
index 00000000..b66decd8
--- /dev/null
+++ b/org.fox.ttrss/src/main/res/drawable-xxhdpi/ic_cloud_upload_dark.png
Binary files differ
diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_cloud_download_dark.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_cloud_download_dark.png
new file mode 100644
index 00000000..55488264
--- /dev/null
+++ b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_cloud_download_dark.png
Binary files differ
diff --git a/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_cloud_upload_dark.png b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_cloud_upload_dark.png
new file mode 100644
index 00000000..0b9d4177
--- /dev/null
+++ b/org.fox.ttrss/src/main/res/drawable-xxxhdpi/ic_cloud_upload_dark.png
Binary files differ
diff --git a/org.fox.ttrss/src/main/res/menu/main_menu.xml b/org.fox.ttrss/src/main/res/menu/main_menu.xml
index 8693dc2b..d183f591 100755
--- a/org.fox.ttrss/src/main/res/menu/main_menu.xml
+++ b/org.fox.ttrss/src/main/res/menu/main_menu.xml
@@ -14,12 +14,12 @@
android:icon="@drawable/ic_filter_remove"
app:showAsAction=""
android:title="@string/menu_all_feeds"/> -->
- <item
+ <!-- <item
android:id="@+id/go_offline"
android:icon="@drawable/ic_cloud_download"
android:orderInCategory="800"
app:showAsAction=""
- android:title="@string/go_offline"/> <!-- iRroom -->
+ android:title="@string/go_offline"/> --><!-- iRroom -->
<!-- <item
android:id="@+id/update_feeds"
android:icon="@drawable/ic_refresh"
diff --git a/org.fox.ttrss/src/main/res/menu/offline_menu.xml b/org.fox.ttrss/src/main/res/menu/offline_menu.xml
index 11c37642..e8e81329 100755
--- a/org.fox.ttrss/src/main/res/menu/offline_menu.xml
+++ b/org.fox.ttrss/src/main/res/menu/offline_menu.xml
@@ -1,12 +1,12 @@
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" >
<group android:id="@+id/menu_group_feeds" >
- <item
+ <!-- <item
android:id="@+id/go_online"
android:icon="@drawable/ic_cloud_upload"
app:showAsAction=""
android:title="@string/go_online"
- android:visible="false"/> <!-- ifRoom|withText -->
+ android:visible="false"/> --> <!-- ifRoom|withText -->
<!-- <item
android:id="@+id/show_feeds"
android:icon="@drawable/ic_filter_remove"
diff --git a/org.fox.ttrss/src/main/res/values/attrs.xml b/org.fox.ttrss/src/main/res/values/attrs.xml
index e6c661f6..6a01e683 100755
--- a/org.fox.ttrss/src/main/res/values/attrs.xml
+++ b/org.fox.ttrss/src/main/res/values/attrs.xml
@@ -38,6 +38,8 @@
<attr name="ic_keyboard_backspace" format="reference" />
<attr name="ic_settings" format="reference" />
<attr name="ic_filter_variant" format="reference" />
+ <attr name="ic_cloud_download" format="reference" />
+ <attr name="ic_cloud_upload" format="reference" />
<declare-styleable name="ScrimInsetsView">
<attr format="reference|color" name="insetForeground">
</attr></declare-styleable>
diff --git a/org.fox.ttrss/src/main/res/values/style.xml b/org.fox.ttrss/src/main/res/values/style.xml
index 396a71bc..bb933df1 100755
--- a/org.fox.ttrss/src/main/res/values/style.xml
+++ b/org.fox.ttrss/src/main/res/values/style.xml
@@ -51,6 +51,8 @@
<item name="ic_keyboard_backspace">@drawable/ic_keyboard_backspace_dark</item>
<item name="ic_settings">@drawable/ic_settings_dark</item>
<item name="ic_filter_variant">@drawable/ic_filter_variant_dark</item>
+ <item name="ic_cloud_download">@drawable/ic_cloud_download_dark</item>
+ <item name="ic_cloud_upload">@drawable/ic_cloud_upload_dark</item>
</style>
<style name="DarkTheme.Base" parent="Theme.AppCompat.NoActionBar">
@@ -103,6 +105,8 @@
<item name="ic_keyboard_backspace">@drawable/ic_keyboard_backspace</item>
<item name="ic_settings">@drawable/ic_settings</item>
<item name="ic_filter_variant">@drawable/ic_filter_variant</item>
+ <item name="ic_cloud_download">@drawable/ic_cloud_download</item>
+ <item name="ic_cloud_upload">@drawable/ic_cloud_upload</item>
</style>
<style name="DarkDialogTheme" parent="android:Theme"></style>