From 40f4d4888aa089b36afe0584632093f7e1a257e2 Mon Sep 17 00:00:00 2001
From: Size43
Date: Thu, 4 Jun 2015 16:13:39 +0200
Subject: Adding Feeds/Filters directly from the hamburger menu
---
app/src/main/AndroidManifest.xml | 19 +-
.../main/java/org/rssin/android/FeedsActivity.java | 2 +-
.../java/org/rssin/android/FiltersActivity.java | 2 +-
.../java/org/rssin/android/HomeScreenActivity.java | 18 +-
.../org/rssin/android/NavigationDrawerAdapter.java | 94 ++++++++-
.../android/NavigationDrawerFeedFragment.java | 2 +-
.../rssin/android/NavigationDrawerFragment.java | 12 +-
.../NavigationDrawerManageFeedsFragment.java | 218 ++++++++++++++++++++
.../NavigationDrawerManageFiltersFragment.java | 220 +++++++++++++++++++++
.../org/rssin/android/UnifiedInboxActivity.java | 97 ---------
app/src/main/res/layout/activity_feeds.xml | 13 --
app/src/main/res/layout/activity_filters.xml | 17 --
app/src/main/res/layout/fragment_feeds.xml | 13 ++
app/src/main/res/layout/fragment_filters.xml | 17 ++
app/src/main/res/layout/fragment_home_screen.xml | 2 +-
app/src/main/res/menu/global.xml | 8 +-
app/src/main/res/menu/home_screen.xml | 2 +-
17 files changed, 593 insertions(+), 163 deletions(-)
mode change 100644 => 100755 app/src/main/java/org/rssin/android/FeedsActivity.java
create mode 100755 app/src/main/java/org/rssin/android/NavigationDrawerManageFeedsFragment.java
create mode 100755 app/src/main/java/org/rssin/android/NavigationDrawerManageFiltersFragment.java
delete mode 100755 app/src/main/java/org/rssin/android/UnifiedInboxActivity.java
delete mode 100644 app/src/main/res/layout/activity_feeds.xml
delete mode 100644 app/src/main/res/layout/activity_filters.xml
create mode 100644 app/src/main/res/layout/fragment_feeds.xml
create mode 100644 app/src/main/res/layout/fragment_filters.xml
(limited to 'app/src/main')
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index d572cc5..65dc82a 100755
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -9,10 +9,6 @@
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
-
-
@@ -20,33 +16,33 @@
+ android:parentActivityName="org.rssin.android.HomeScreenActivity" >
+ android:value="org.rssin.android.HomeScreenActivity" />
+ android:value="org.rssin.android.HomeScreenActivity" />
+ android:parentActivityName="org.rssin.android.HomeScreenActivity" >
+ android:value="org.rssin.android.HomeScreenActivity" />
+ android:parentActivityName="org.rssin.android.HomeScreenActivity" >
+ android:value="org.rssin.android.HomeScreenActivity" />
-
diff --git a/app/src/main/java/org/rssin/android/FeedsActivity.java b/app/src/main/java/org/rssin/android/FeedsActivity.java
old mode 100644
new mode 100755
index d4b6b6e..bc234d4
--- a/app/src/main/java/org/rssin/android/FeedsActivity.java
+++ b/app/src/main/java/org/rssin/android/FeedsActivity.java
@@ -39,7 +39,7 @@ public class FeedsActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_feeds);
+ setContentView(R.layout.fragment_feeds);
feedsView = (ListView) findViewById(R.id.feeds_list);
diff --git a/app/src/main/java/org/rssin/android/FiltersActivity.java b/app/src/main/java/org/rssin/android/FiltersActivity.java
index 63887fe..a8e295c 100755
--- a/app/src/main/java/org/rssin/android/FiltersActivity.java
+++ b/app/src/main/java/org/rssin/android/FiltersActivity.java
@@ -45,7 +45,7 @@ public class FiltersActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_filters);
+ setContentView(R.layout.fragment_filters);
filtersView = (ListView) findViewById(R.id.filters_list);
diff --git a/app/src/main/java/org/rssin/android/HomeScreenActivity.java b/app/src/main/java/org/rssin/android/HomeScreenActivity.java
index 082d810..bbae149 100755
--- a/app/src/main/java/org/rssin/android/HomeScreenActivity.java
+++ b/app/src/main/java/org/rssin/android/HomeScreenActivity.java
@@ -59,18 +59,20 @@ public class HomeScreenActivity extends ActionBarActivity
NavigationDrawerAllFeedsFragment initialFragment = NavigationDrawerAllFeedsFragment.newInstance();
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction()
- .replace(R.id.container, initialFragment)
+ .replace(R.id.container, currentFragment = initialFragment)
.commit();
mTitle = "All feeds";
}
+ private Fragment currentFragment;
+
@Override
public void onNavigationDrawerItemSelected(int position) {
// update the main content by replacing fragments
if(mNavigationDrawerFragment != null) {
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction()
- .replace(R.id.container, mNavigationDrawerFragment.getAdapter().getFragment(position))
+ .replace(R.id.container, currentFragment = mNavigationDrawerFragment.getAdapter().getFragment(position))
.commit();
mTitle = mNavigationDrawerFragment.getAdapter().getText(position);
}
@@ -86,10 +88,7 @@ public class HomeScreenActivity extends ActionBarActivity
@Override
public boolean onCreateOptionsMenu(Menu menu) {
if (!mNavigationDrawerFragment.isDrawerOpen()) {
- // Only show items in the action bar relevant to this screen
- // if the drawer is not showing. Otherwise, let the drawer
- // decide what to show in the action bar.
- getMenuInflater().inflate(R.menu.home_screen, menu);
+ getMenuInflater().inflate(mNavigationDrawerFragment.getCurrentItem().getPreferredMenuId(), menu);
restoreActionBar();
return true;
}
@@ -103,10 +102,9 @@ public class HomeScreenActivity extends ActionBarActivity
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
- //noinspection SimplifiableIfStatement
- if (id == R.id.action_settings) {
- Intent intent = new Intent(this, UnifiedInboxActivity.class);
- startActivity(intent);
+ if(currentFragment.onOptionsItemSelected(item))
+ {
+ return true;
}
return super.onOptionsItemSelected(item);
diff --git a/app/src/main/java/org/rssin/android/NavigationDrawerAdapter.java b/app/src/main/java/org/rssin/android/NavigationDrawerAdapter.java
index f7a1265..39a472c 100755
--- a/app/src/main/java/org/rssin/android/NavigationDrawerAdapter.java
+++ b/app/src/main/java/org/rssin/android/NavigationDrawerAdapter.java
@@ -1,6 +1,7 @@
package org.rssin.android;
import android.content.Context;
+import android.content.Intent;
import android.database.DataSetObserver;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
@@ -27,6 +28,11 @@ class NavigationDrawerAdapter implements ListAdapter {
private final List