diff options
author | Andrew Dolgov <[email protected]> | 2020-04-21 11:31:21 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2020-04-21 11:31:21 +0300 |
commit | 00227531e5f78c063fc6a0c0d9459ee0c81cafa5 (patch) | |
tree | 1dba992b39db90f87bdd06d7f491b02199614479 /org.fox.epube/src/main/java/org | |
parent | f3a700589e16e16de38a0ae7f3a7c20ef919f3e9 (diff) |
offline mode switch, etc
Diffstat (limited to 'org.fox.epube/src/main/java/org')
-rw-r--r-- | org.fox.epube/src/main/java/org/fox/epube/MainActivity.java | 35 |
1 files changed, 30 insertions, 5 deletions
diff --git a/org.fox.epube/src/main/java/org/fox/epube/MainActivity.java b/org.fox.epube/src/main/java/org/fox/epube/MainActivity.java index c9ef961..18845c4 100644 --- a/org.fox.epube/src/main/java/org/fox/epube/MainActivity.java +++ b/org.fox.epube/src/main/java/org/fox/epube/MainActivity.java @@ -29,6 +29,8 @@ public class MainActivity extends AppCompatActivity { private ProgressBar m_loadingBar;
private WebView m_web;
private Menu m_menu;
+ private boolean m_offlineMode;
+ private AppPage m_currentPage;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -49,7 +51,6 @@ public class MainActivity extends AppCompatActivity { settings.setAppCachePath(getCacheDir().getAbsolutePath());
settings.setAppCacheEnabled(true);
-
m_loadingBar = findViewById(R.id.loading_progress);
m_loadingBar.setVisibility(View.VISIBLE);
m_loadingBar.setMax(100);
@@ -104,6 +105,8 @@ public class MainActivity extends AppCompatActivity { private void onPageSwitched(MainActivity.AppPage page) {
+ m_currentPage = page;
+
m_menu.setGroupVisible(R.id.menu_group_pages, false);
m_menu.setGroupVisible(R.id.menu_group_library, false);
m_menu.setGroupVisible(R.id.menu_group_favorites, false);
@@ -112,18 +115,20 @@ public class MainActivity extends AppCompatActivity { getSupportActionBar().setDisplayHomeAsUpEnabled(false);
- Log.d(TAG, "switching to page:" + page);
+ Log.d(TAG, "switching to page: " + page);
+
+ if (page != AppPage.PAGE_READER) {
+ m_menu.setGroupVisible(R.id.menu_group_pages, !m_offlineMode);
+ m_menu.setGroupVisible(R.id.menu_group_pages_offline, m_offlineMode);
+ }
if (page == AppPage.PAGE_FAVORITES) {
- m_menu.setGroupVisible(R.id.menu_group_pages, true);
m_menu.setGroupVisible(R.id.menu_group_favorites, true);
getSupportActionBar().setTitle("Favorites");
} else if (page == AppPage.PAGE_LIBRARY) {
- m_menu.setGroupVisible(R.id.menu_group_pages, true);
m_menu.setGroupVisible(R.id.menu_group_library, true);
getSupportActionBar().setTitle("The Epube");
} else if (page == AppPage.PAGE_OFFLINE) {
- m_menu.setGroupVisible(R.id.menu_group_pages, true);
m_menu.setGroupVisible(R.id.menu_group_offline, true);
getSupportActionBar().setTitle("Downloaded");
} else if (page == AppPage.PAGE_READER) {
@@ -163,6 +168,7 @@ public class MainActivity extends AppCompatActivity { m_web.loadUrl(BASE_URL + "/index.php");
return true;
case R.id.library_local:
+ case R.id.library_local_offline:
m_web.loadUrl(BASE_URL + "/offline.html");
return true;
case R.id.refresh_script_cache:
@@ -214,6 +220,15 @@ public class MainActivity extends AppCompatActivity { }
}
+ private void onOfflineModeChanged(boolean offline) {
+ Log.d(TAG, "offline mode changed: " + offline);
+
+ m_offlineMode = offline;
+
+ if (m_currentPage != null)
+ onPageSwitched(m_currentPage);
+ }
+
class WebAppInterface {
private Context m_context;
@@ -288,5 +303,15 @@ public class MainActivity extends AppCompatActivity { }
});
}
+
+ @JavascriptInterface
+ public void setOffline(final boolean offline) {
+ runOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ MainActivity.this.onOfflineModeChanged(offline);
+ }
+ });
+ }
}
}
\ No newline at end of file |