diff --git a/app/src/main/java/com/github/dfa/diaspora_android/activity/MainActivity.java b/app/src/main/java/com/github/dfa/diaspora_android/activity/MainActivity.java index ea87ed23..17628f0a 100644 --- a/app/src/main/java/com/github/dfa/diaspora_android/activity/MainActivity.java +++ b/app/src/main/java/com/github/dfa/diaspora_android/activity/MainActivity.java @@ -45,7 +45,6 @@ import android.support.design.widget.Snackbar; import android.support.v4.content.LocalBroadcastManager; import android.support.v4.view.GravityCompat; import android.support.v4.widget.DrawerLayout; -import android.support.v4.widget.SwipeRefreshLayout; import android.support.v7.app.ActionBarDrawerToggle; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.ActionMenuView; @@ -73,6 +72,7 @@ import android.widget.EditText; import android.widget.ImageView; import android.widget.LinearLayout; import android.widget.ProgressBar; +import android.widget.RelativeLayout; import android.widget.TextView; import android.widget.Toast; @@ -136,8 +136,8 @@ public class MainActivity extends AppCompatActivity /** * UI Bindings */ - @BindView(R.id.swipe) - SwipeRefreshLayout swipeRefreshLayout; + @BindView(R.id.content_layout) + RelativeLayout contentLayout; @BindView(R.id.progressBar) ProgressBar progressBar; @@ -206,7 +206,7 @@ public class MainActivity extends AppCompatActivity //Setup snackbar snackbarExitApp = Snackbar - .make(swipeRefreshLayout, R.string.confirm_exit, Snackbar.LENGTH_LONG) + .make(contentLayout, R.string.confirm_exit, Snackbar.LENGTH_LONG) .setAction(android.R.string.yes, new View.OnClickListener() { @Override public void onClick(View view) { @@ -215,18 +215,18 @@ public class MainActivity extends AppCompatActivity } }); snackbarNewNotification = Snackbar - .make(swipeRefreshLayout, R.string.new_notifications, Snackbar.LENGTH_LONG) + .make(contentLayout, R.string.new_notifications, Snackbar.LENGTH_LONG) .setAction(android.R.string.yes, new View.OnClickListener() { @Override public void onClick(View view) { if (Helpers.isOnline(MainActivity.this)) { webView.loadUrl("https://" + podDomain + "/notifications"); } else { - Snackbar.make(swipeRefreshLayout, R.string.no_internet, Snackbar.LENGTH_LONG).show(); + Snackbar.make(contentLayout, R.string.no_internet, Snackbar.LENGTH_LONG).show(); } } }); - snackbarNoInternet = Snackbar.make(swipeRefreshLayout, R.string.no_internet, Snackbar.LENGTH_LONG); + snackbarNoInternet = Snackbar.make(contentLayout, R.string.no_internet, Snackbar.LENGTH_LONG); // Load app settings setupNavigationSlider(); @@ -234,9 +234,6 @@ public class MainActivity extends AppCompatActivity progressBar = (ProgressBar) findViewById(R.id.progressBar); podDomain = appSettings.getPodDomain(); - swipeRefreshLayout.setColorSchemeResources(R.color.colorPrimary, - R.color.fab_big); - String url = "https://" + podDomain; if (savedInstanceState == null) { if (Helpers.isOnline(MainActivity.this)) { @@ -291,20 +288,9 @@ public class MainActivity extends AppCompatActivity /* * WebViewClient */ - webViewClient = new CustomWebViewClient(app, swipeRefreshLayout, webView); + webViewClient = new CustomWebViewClient(app, webView); webView.setWebViewClient(webViewClient); - swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { - @Override - public void onRefresh() { - if (Helpers.isOnline(MainActivity.this)) { - webView.reload(); - } else { - snackbarNoInternet.show(); - swipeRefreshLayout.setRefreshing(false); - } - } - }); /* * WebChromeClient @@ -345,7 +331,7 @@ public class MainActivity extends AppCompatActivity takePictureIntent.putExtra("PhotoPath", mCameraPhotoPath); } catch (IOException ex) { // Error occurred while creating the File - Snackbar.make(swipeRefreshLayout, R.string.unable_to_load_image, Snackbar.LENGTH_LONG).show(); + Snackbar.make(contentLayout, R.string.unable_to_load_image, Snackbar.LENGTH_LONG).show(); return false; } @@ -634,6 +620,16 @@ public class MainActivity extends AppCompatActivity } } + case R.id.action_reload: { + if(Helpers.isOnline(MainActivity.this)) { + webView.reload(); + return true; + } else { + snackbarNoInternet.show(); + return false; + } + } + case R.id.action_exit: { moveTaskToBack(true); finish(); @@ -701,7 +697,7 @@ public class MainActivity extends AppCompatActivity String cleanTag = inputTag.replaceAll(wasClickedOnSearchForPeople ? "\\*" : "\\#", ""); // this validate the input data for tagfind if (cleanTag == null || cleanTag.equals("")) { - Snackbar.make(swipeRefreshLayout, R.string.search_alert_bypeople_validate_needsomedata, Snackbar.LENGTH_LONG).show(); + Snackbar.make(contentLayout, R.string.search_alert_bypeople_validate_needsomedata, Snackbar.LENGTH_LONG).show(); } else { // User have added a search tag if (wasClickedOnSearchForPeople) { webView.loadUrl("https://" + podDomain + "/people.mobile?q=" + cleanTag); @@ -785,7 +781,7 @@ public class MainActivity extends AppCompatActivity } if (!hasToShareScreenshot) { - Snackbar.make(swipeRefreshLayout, getString(R.string.share__toast_screenshot) + " " + fileSaveName, Snackbar.LENGTH_LONG).show(); + Snackbar.make(contentLayout, getString(R.string.share__toast_screenshot) + " " + fileSaveName, Snackbar.LENGTH_LONG).show(); } Bitmap bitmap; diff --git a/app/src/main/java/com/github/dfa/diaspora_android/ui/CustomWebViewClient.java b/app/src/main/java/com/github/dfa/diaspora_android/ui/CustomWebViewClient.java index a9d345ab..8296b47f 100644 --- a/app/src/main/java/com/github/dfa/diaspora_android/ui/CustomWebViewClient.java +++ b/app/src/main/java/com/github/dfa/diaspora_android/ui/CustomWebViewClient.java @@ -21,7 +21,6 @@ package com.github.dfa.diaspora_android.ui; import android.content.Intent; import android.graphics.Bitmap; import android.net.Uri; -import android.support.v4.widget.SwipeRefreshLayout; import android.webkit.CookieManager; import android.webkit.WebView; import android.webkit.WebViewClient; @@ -30,12 +29,10 @@ import com.github.dfa.diaspora_android.App; public class CustomWebViewClient extends WebViewClient { private App app; - private SwipeRefreshLayout swipeRefreshLayout; private WebView webView; - public CustomWebViewClient(App app, SwipeRefreshLayout swipeRefreshLayout, WebView webView) { + public CustomWebViewClient(App app, WebView webView) { this.app = app; - this.swipeRefreshLayout = swipeRefreshLayout; this.webView = webView; } @@ -49,18 +46,8 @@ public class CustomWebViewClient extends WebViewClient { return false; } - @Override - public void onPageStarted(WebView view, String url, Bitmap favicon) { - super.onPageStarted(view, url, favicon); - swipeRefreshLayout.setEnabled(true); - if(url.contains(app.getSettings().getPodDomain()+"/conversations/") || url.endsWith("status_messages/new") || url.equals("about:blank")){ - swipeRefreshLayout.setEnabled(false); - } - } - public void onPageFinished(WebView view, String url) { super.onPageFinished(view, url); - swipeRefreshLayout.setRefreshing(false); final CookieManager cookieManager = app.getCookieManager(); String cookies = cookieManager.getCookie(url); diff --git a/app/src/main/res/drawable-hdpi/ic_refresh_white_24dp.png b/app/src/main/res/drawable-hdpi/ic_refresh_white_24dp.png new file mode 100644 index 00000000..ffa7be93 Binary files /dev/null and b/app/src/main/res/drawable-hdpi/ic_refresh_white_24dp.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_refresh_white_24dp.png b/app/src/main/res/drawable-mdpi/ic_refresh_white_24dp.png new file mode 100644 index 00000000..97e42b52 Binary files /dev/null and b/app/src/main/res/drawable-mdpi/ic_refresh_white_24dp.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_refresh_white_24dp.png b/app/src/main/res/drawable-xhdpi/ic_refresh_white_24dp.png new file mode 100644 index 00000000..1989184b Binary files /dev/null and b/app/src/main/res/drawable-xhdpi/ic_refresh_white_24dp.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_refresh_white_24dp.png b/app/src/main/res/drawable-xxhdpi/ic_refresh_white_24dp.png new file mode 100644 index 00000000..1692d8a2 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_refresh_white_24dp.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_refresh_white_24dp.png b/app/src/main/res/drawable-xxxhdpi/ic_refresh_white_24dp.png new file mode 100644 index 00000000..f5beca25 Binary files /dev/null and b/app/src/main/res/drawable-xxxhdpi/ic_refresh_white_24dp.png differ diff --git a/app/src/main/res/layout/main__content.xml b/app/src/main/res/layout/main__content.xml index fbb52b80..fad40116 100644 --- a/app/src/main/res/layout/main__content.xml +++ b/app/src/main/res/layout/main__content.xml @@ -2,29 +2,22 @@ - - - - - + + +