summaryrefslogtreecommitdiff
path: root/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineFeedsActivity.java
diff options
context:
space:
mode:
Diffstat (limited to 'org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineFeedsActivity.java')
-rw-r--r--org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineFeedsActivity.java192
1 files changed, 88 insertions, 104 deletions
diff --git a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineFeedsActivity.java b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineFeedsActivity.java
index c2318501..19978bcc 100644
--- a/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineFeedsActivity.java
+++ b/org.fox.ttrss/src/main/java/org/fox/ttrss/offline/OfflineFeedsActivity.java
@@ -1,11 +1,5 @@
package org.fox.ttrss.offline;
-import org.fox.ttrss.GlobalState;
-import org.fox.ttrss.R;
-
-import com.jeremyfeinstein.slidingmenu.lib.SlidingMenu;
-
-import android.animation.LayoutTransition;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.database.sqlite.SQLiteStatement;
@@ -15,21 +9,29 @@ import android.preference.PreferenceManager;
import android.provider.BaseColumns;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTransaction;
+import android.support.v4.widget.DrawerLayout;
+import android.support.v7.app.ActionBarDrawerToggle;
import android.util.Log;
+import android.view.Gravity;
import android.view.MenuItem;
-import android.view.ViewGroup;
+import android.view.View;
import android.widget.LinearLayout;
+import org.fox.ttrss.GlobalState;
+import org.fox.ttrss.R;
+
public class OfflineFeedsActivity extends OfflineActivity implements OfflineHeadlinesEventListener {
private final String TAG = this.getClass().getSimpleName();
- private boolean m_actionbarUpEnabled = false;
- private int m_actionbarRevertDepth = 0;
- private SlidingMenu m_slidingMenu;
+ //private boolean m_actionbarUpEnabled = false;
+ //private int m_actionbarRevertDepth = 0;
private boolean m_feedIsSelected = false;
- private boolean m_feedWasSelected = false;
-
- @SuppressLint("NewApi")
+ //private boolean m_feedWasSelected = false;
+
+ private ActionBarDrawerToggle m_drawerToggle;
+ private DrawerLayout m_drawerLayout;
+
+ @SuppressLint("NewApi")
@Override
public void onCreate(Bundle savedInstanceState) {
m_prefs = PreferenceManager
@@ -47,73 +49,48 @@ public class OfflineFeedsActivity extends OfflineActivity implements OfflineHead
GlobalState.getInstance().load(savedInstanceState);
- if (isSmallScreen() || findViewById(R.id.sw600dp_port_anchor) != null) {
- m_slidingMenu = new SlidingMenu(this);
-
- /* if (findViewById(R.id.sw600dp_port_anchor) != null) {
- m_slidingMenu.setBehindWidth(getScreenWidthInPixel() * 2/3);
- } */
-
- m_slidingMenu.setMode(SlidingMenu.LEFT);
- m_slidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
- m_slidingMenu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT);
- m_slidingMenu.setSlidingEnabled(true);
- m_slidingMenu.setMenu(R.layout.feeds);
-
- m_slidingMenu.setOnClosedListener(new SlidingMenu.OnClosedListener() {
-
- @Override
- public void onClosed() {
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
- m_actionbarUpEnabled = true;
- m_feedIsSelected = true;
-
- initMenu();
- }
- });
-
- m_slidingMenu.setOnOpenedListener(new SlidingMenu.OnOpenedListener() {
-
- @Override
- public void onOpened() {
- if (m_actionbarRevertDepth == 0) {
- m_actionbarUpEnabled = false;
- m_feedIsSelected = false;
- getSupportActionBar().setDisplayHomeAsUpEnabled(false);
- refresh();
- }
-
- initMenu();
- }
- });
- }
+ m_drawerLayout = (DrawerLayout) findViewById(R.id.headlines_drawer);
+
+ if (m_drawerLayout != null) {
+
+ m_drawerToggle = new ActionBarDrawerToggle(this, m_drawerLayout, R.string.blank, R.string.blank) {
+ @Override
+ public void onDrawerOpened(View drawerView) {
+ invalidateOptionsMenu();
+ }
- if (savedInstanceState != null) {
+ @Override
+ public void onDrawerClosed(View drawerView) {
+ invalidateOptionsMenu();
+ }
+ };
+
+ m_drawerLayout.setDrawerListener(m_drawerToggle);
+ m_drawerToggle.setDrawerIndicatorEnabled(true);
+ }
+
+ getSupportActionBar().setDisplayHomeAsUpEnabled(true);
+ getSupportActionBar().setHomeButtonEnabled(true);
+
+ if (savedInstanceState != null) {
- m_actionbarUpEnabled = savedInstanceState.getBoolean("actionbarUpEnabled");
- m_actionbarRevertDepth = savedInstanceState.getInt("actionbarRevertDepth");
+ //m_actionbarUpEnabled = savedInstanceState.getBoolean("actionbarUpEnabled");
+ //m_actionbarRevertDepth = savedInstanceState.getInt("actionbarRevertDepth");
m_feedIsSelected = savedInstanceState.getBoolean("feedIsSelected");
- m_feedWasSelected = savedInstanceState.getBoolean("feedWasSelected");
+ //m_feedWasSelected = savedInstanceState.getBoolean("feedWasSelected");
- if (findViewById(R.id.sw600dp_port_anchor) != null && m_feedWasSelected && m_slidingMenu != null) {
+ /* if (findViewById(R.id.sw600dp_port_anchor) != null && m_feedWasSelected && m_slidingMenu != null) {
m_slidingMenu.setBehindWidth(getScreenWidthInPixel() * 2/3);
- }
-
- if (m_slidingMenu != null && m_feedIsSelected == false) {
- m_slidingMenu.showMenu();
- } else if (m_slidingMenu != null) {
- m_actionbarUpEnabled = true;
- } else {
- m_actionbarUpEnabled = m_actionbarRevertDepth > 0;
- }
-
- if (m_actionbarUpEnabled) {
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
- }
+ } */
+ if (m_drawerLayout != null && m_feedIsSelected == false) {
+ m_drawerLayout.openDrawer(Gravity.START);
+ }
+
} else {
- if (m_slidingMenu != null)
- m_slidingMenu.showMenu();
+ if (m_drawerLayout != null) {
+ m_drawerLayout.openDrawer(Gravity.START);
+ }
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
@@ -125,17 +102,16 @@ public class OfflineFeedsActivity extends OfflineActivity implements OfflineHead
ft.commit();
}
-
- setLoadingStatus(R.string.blank, false);
-
- initMenu();
- if (!isCompatMode() && !isSmallScreen()) {
- ((ViewGroup)findViewById(R.id.headlines_fragment)).setLayoutTransition(new LayoutTransition());
- ((ViewGroup)findViewById(R.id.feeds_fragment)).setLayoutTransition(new LayoutTransition());
- }
+ initMenu();
}
+ protected void onPostCreate(Bundle savedInstanceState) {
+ super.onPostCreate(savedInstanceState);
+ // Sync the toggle state after onRestoreInstanceState has occurred.
+ if (m_drawerToggle != null) m_drawerToggle.syncState();
+ }
+
public void openFeedArticles(int feedId, boolean isCat) {
if (isSmallScreen()) {
Intent intent = new Intent(OfflineFeedsActivity.this, OfflineHeadlinesActivity.class);
@@ -149,7 +125,9 @@ public class OfflineFeedsActivity extends OfflineActivity implements OfflineHead
@Override
public void onBackPressed() {
- if (m_actionbarRevertDepth > 0) {
+ super.onBackPressed();
+
+ /* if (m_actionbarRevertDepth > 0) {
if (m_feedIsSelected && m_slidingMenu != null && !m_slidingMenu.isMenuShowing()) {
m_slidingMenu.showMenu();
@@ -164,15 +142,18 @@ public class OfflineFeedsActivity extends OfflineActivity implements OfflineHead
m_slidingMenu.showMenu();
} else {
super.onBackPressed();
- }
+ } */
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
- switch (item.getItemId()) {
+ if (m_drawerToggle != null && m_drawerToggle.onOptionsItemSelected(item)) {
+ return true;
+ }
+
+ switch (item.getItemId()) {
case android.R.id.home:
- if (m_actionbarUpEnabled)
- onBackPressed();
+ onBackPressed();
return true;
case R.id.show_feeds:
setUnreadOnly(!getUnreadOnly());
@@ -189,10 +170,10 @@ public class OfflineFeedsActivity extends OfflineActivity implements OfflineHead
public void onSaveInstanceState(Bundle out) {
super.onSaveInstanceState(out);
- out.putBoolean("actionbarUpEnabled", m_actionbarUpEnabled);
- out.putInt("actionbarRevertDepth", m_actionbarRevertDepth);
+ //out.putBoolean("actionbarUpEnabled", m_actionbarUpEnabled);
+ //out.putInt("actionbarRevertDepth", m_actionbarRevertDepth);
out.putBoolean("feedIsSelected", m_feedIsSelected);
- out.putBoolean("feedWasSelected", m_feedWasSelected);
+ //out.putBoolean("feedWasSelected", m_feedWasSelected);
//if (m_slidingMenu != null )
@@ -209,9 +190,11 @@ public class OfflineFeedsActivity extends OfflineActivity implements OfflineHead
Fragment cf = getSupportFragmentManager().findFragmentByTag(FRAG_CATS);
OfflineHeadlinesFragment hf = (OfflineHeadlinesFragment)getSupportFragmentManager().findFragmentByTag(FRAG_HEADLINES);
- if (m_slidingMenu != null) {
- m_menu.setGroupVisible(R.id.menu_group_feeds, m_slidingMenu.isMenuShowing());
- m_menu.setGroupVisible(R.id.menu_group_headlines, hf != null && hf.isAdded() && !m_slidingMenu.isMenuShowing());
+ if (m_drawerLayout != null) {
+ boolean isDrawerOpen = m_drawerLayout.isDrawerOpen(Gravity.START);
+
+ m_menu.setGroupVisible(R.id.menu_group_feeds, isDrawerOpen);
+ m_menu.setGroupVisible(R.id.menu_group_headlines, hf != null && hf.isAdded() && !isDrawerOpen);
} else {
m_menu.setGroupVisible(R.id.menu_group_feeds, (ff != null && ff.isAdded()) || (cf != null && cf.isAdded()));
m_menu.setGroupVisible(R.id.menu_group_headlines, hf != null && hf.isAdded());
@@ -251,14 +234,14 @@ public class OfflineFeedsActivity extends OfflineActivity implements OfflineHead
.beginTransaction();
OfflineFeedsFragment ff = new OfflineFeedsFragment();
- ff.initialize(catId);
+ ff.initialize(catId, true);
ft.replace(R.id.feeds_fragment, ff, FRAG_FEEDS);
ft.addToBackStack(null);
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
- m_actionbarUpEnabled = true;
- m_actionbarRevertDepth = m_actionbarRevertDepth + 1;
+ //getSupportActionBar().setDisplayHomeAsUpEnabled(true);
+ //m_actionbarUpEnabled = true;
+ //m_actionbarRevertDepth = m_actionbarRevertDepth + 1;
ft.commit();
}
@@ -291,16 +274,17 @@ public class OfflineFeedsActivity extends OfflineActivity implements OfflineHead
ft.commit();
m_feedIsSelected = true;
- m_feedWasSelected = true;
+ //m_feedWasSelected = true;
- if (m_slidingMenu != null) {
- if (findViewById(R.id.sw600dp_port_anchor) != null) {
+ if (m_drawerLayout != null) {
+ /* if (findViewById(R.id.sw600dp_port_anchor) != null) {
m_slidingMenu.setBehindWidth(getScreenWidthInPixel() * 2/3);
- }
-
- m_slidingMenu.showContent();
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
- m_actionbarUpEnabled = true;
+ } */
+
+ m_drawerLayout.closeDrawers();
+
+ //getSupportActionBar().setDisplayHomeAsUpEnabled(true);
+ //m_actionbarUpEnabled = true;
}
}
}, 10);