summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2013-05-28 19:59:33 +0400
committerAndrew Dolgov <[email protected]>2013-05-28 19:59:33 +0400
commit8c923e309f3701039f9591b0d8702e608ed10fb6 (patch)
tree02249b55267d36e281134082e6eb5790629eb3be /src
parentee687410d8a92dfc9dc93651f2f44967ef75aeb6 (diff)
attempt at better reverse navigation
Diffstat (limited to 'src')
-rw-r--r--src/org/fox/ttrss/FeedsActivity.java20
-rw-r--r--src/org/fox/ttrss/offline/OfflineFeedsActivity.java15
2 files changed, 23 insertions, 12 deletions
diff --git a/src/org/fox/ttrss/FeedsActivity.java b/src/org/fox/ttrss/FeedsActivity.java
index 0925840a..18c7fcbf 100644
--- a/src/org/fox/ttrss/FeedsActivity.java
+++ b/src/org/fox/ttrss/FeedsActivity.java
@@ -73,10 +73,11 @@ public class FeedsActivity extends OnlineActivity implements HeadlinesEventListe
public void onOpened() {
if (m_actionbarRevertDepth == 0) {
m_actionbarUpEnabled = false;
- m_feedIsSelected = false;
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
- initMenu();
}
+
+ m_feedIsSelected = false;
+ initMenu();
}
});
}
@@ -256,11 +257,15 @@ public class FeedsActivity extends OnlineActivity implements HeadlinesEventListe
public void onBackPressed() {
if (m_actionbarRevertDepth > 0) {
- m_actionbarRevertDepth = m_actionbarRevertDepth - 1;
- m_actionbarUpEnabled = m_actionbarRevertDepth > 0;
- getSupportActionBar().setDisplayHomeAsUpEnabled(m_actionbarUpEnabled);
+ if (m_feedIsSelected && m_slidingMenu != null && !m_slidingMenu.isMenuShowing()) {
+ m_slidingMenu.showMenu();
+ } else {
+ m_actionbarRevertDepth = m_actionbarRevertDepth - 1;
+ m_actionbarUpEnabled = m_actionbarRevertDepth > 0;
+ getSupportActionBar().setDisplayHomeAsUpEnabled(m_actionbarUpEnabled);
- onBackPressed();
+ onBackPressed();
+ }
} else if (m_slidingMenu != null && !m_slidingMenu.isMenuShowing()) {
m_slidingMenu.showMenu();
} else {
@@ -272,7 +277,8 @@ public class FeedsActivity extends OnlineActivity implements HeadlinesEventListe
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
- onBackPressed();
+ if (m_actionbarUpEnabled)
+ onBackPressed();
return true;
case R.id.show_feeds:
setUnreadOnly(!getUnreadOnly());
diff --git a/src/org/fox/ttrss/offline/OfflineFeedsActivity.java b/src/org/fox/ttrss/offline/OfflineFeedsActivity.java
index 608520cb..097b588e 100644
--- a/src/org/fox/ttrss/offline/OfflineFeedsActivity.java
+++ b/src/org/fox/ttrss/offline/OfflineFeedsActivity.java
@@ -129,11 +129,15 @@ public class OfflineFeedsActivity extends OfflineActivity implements OfflineHead
public void onBackPressed() {
if (m_actionbarRevertDepth > 0) {
- m_actionbarRevertDepth = m_actionbarRevertDepth - 1;
- m_actionbarUpEnabled = m_actionbarRevertDepth > 0;
- getSupportActionBar().setDisplayHomeAsUpEnabled(m_actionbarUpEnabled);
+ if (m_feedIsSelected && m_slidingMenu != null && !m_slidingMenu.isMenuShowing()) {
+ m_slidingMenu.showMenu();
+ } else {
+ m_actionbarRevertDepth = m_actionbarRevertDepth - 1;
+ m_actionbarUpEnabled = m_actionbarRevertDepth > 0;
+ getSupportActionBar().setDisplayHomeAsUpEnabled(m_actionbarUpEnabled);
- onBackPressed();
+ onBackPressed();
+ }
} else if (m_slidingMenu != null && !m_slidingMenu.isMenuShowing()) {
m_slidingMenu.showMenu();
} else {
@@ -145,7 +149,8 @@ public class OfflineFeedsActivity extends OfflineActivity implements OfflineHead
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
- onBackPressed();
+ if (m_actionbarUpEnabled)
+ onBackPressed();
return true;
case R.id.show_feeds:
setUnreadOnly(!getUnreadOnly());