diff options
Diffstat (limited to 'src/org/fox/ttrss/OfflineActivity.java')
| -rw-r--r-- | src/org/fox/ttrss/OfflineActivity.java | 30 |
1 files changed, 23 insertions, 7 deletions
diff --git a/src/org/fox/ttrss/OfflineActivity.java b/src/org/fox/ttrss/OfflineActivity.java index ca69623c..74968893 100644 --- a/src/org/fox/ttrss/OfflineActivity.java +++ b/src/org/fox/ttrss/OfflineActivity.java @@ -305,8 +305,7 @@ public class OfflineActivity extends FragmentActivity implements } } - @Override - public void onBackPressed() { + private void goBack(boolean allowQuit) { if (m_smallScreenMode) { if (m_selectedArticleId != 0) { closeArticle(); @@ -332,17 +331,28 @@ public class OfflineActivity extends FragmentActivity implements refreshViews(); initMainMenu(); - } else { + } else if (allowQuit) { finish(); } } else { if (m_selectedArticleId != 0) { closeArticle(); - } else { + } else if (m_activeFeedId != 0) { + findViewById(R.id.headlines_fragment).setVisibility(View.INVISIBLE); + m_activeFeedId = 0; + + refreshViews(); + initMainMenu(); + + } else if (allowQuit) { finish(); } } - + } + + @Override + public void onBackPressed() { + goBack(true); } /* @@ -426,7 +436,7 @@ public class OfflineActivity extends FragmentActivity implements switch (item.getItemId()) { case android.R.id.home: - closeArticle(); + goBack(false); return true; case R.id.preferences: Intent intent = new Intent(this, PreferencesActivity.class); @@ -668,7 +678,11 @@ public class OfflineActivity extends FragmentActivity implements } if (!m_compatMode) { - getActionBar().setDisplayHomeAsUpEnabled(m_selectedArticleId != 0); + if (!m_smallScreenMode) { + getActionBar().setDisplayHomeAsUpEnabled(m_selectedArticleId != 0); + } else { + getActionBar().setDisplayHomeAsUpEnabled(m_selectedArticleId != 0 || m_activeFeedId != 0); + } } } } @@ -953,6 +967,8 @@ public class OfflineActivity extends FragmentActivity implements if (m_smallScreenMode) { findViewById(R.id.feeds_fragment).setVisibility(View.GONE); findViewById(R.id.headlines_fragment).setVisibility(View.VISIBLE); + } else { + findViewById(R.id.headlines_fragment).setVisibility(View.VISIBLE); } deselectAllArticles(); |