From 9ecf55ca8210e7e3c8a53745339f61ce44bf159b Mon Sep 17 00:00:00 2001 From: vanitasvitae Date: Sun, 7 Aug 2016 23:11:47 +0200 Subject: [PATCH] Removed buggy swipe refresh layout and added reload button to top toolbar --- .../activity/MainActivity.java | 46 ++++++++---------- .../ui/CustomWebViewClient.java | 15 +----- .../drawable-hdpi/ic_refresh_white_24dp.png | Bin 0 -> 387 bytes .../drawable-mdpi/ic_refresh_white_24dp.png | Bin 0 -> 254 bytes .../drawable-xhdpi/ic_refresh_white_24dp.png | Bin 0 -> 509 bytes .../drawable-xxhdpi/ic_refresh_white_24dp.png | Bin 0 -> 734 bytes .../ic_refresh_white_24dp.png | Bin 0 -> 967 bytes app/src/main/res/layout/main__content.xml | 27 ++++------ app/src/main/res/menu/main__menu_top.xml | 6 +++ 9 files changed, 38 insertions(+), 56 deletions(-) create mode 100644 app/src/main/res/drawable-hdpi/ic_refresh_white_24dp.png create mode 100644 app/src/main/res/drawable-mdpi/ic_refresh_white_24dp.png create mode 100644 app/src/main/res/drawable-xhdpi/ic_refresh_white_24dp.png create mode 100644 app/src/main/res/drawable-xxhdpi/ic_refresh_white_24dp.png create mode 100644 app/src/main/res/drawable-xxxhdpi/ic_refresh_white_24dp.png 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 0000000000000000000000000000000000000000..ffa7be9337df524557807b421e8f0c5a5f53ed08 GIT binary patch literal 387 zcmV-}0et?6P)Nkl9LM4B;APNAOe8{k>Ka6ZdoY+NjnQBvqLY`~Fj)kHsiE3P+(RRg*h+08!O+I( zho6SjasKC2x=Ei$>e7EgnjA%{)Oq895;;7zU`O%rIKd~#=a8g6u?vdBGOxHivmmj@ z2SsC(rUrR3c=XakiVOw5T<}RzSf;7Wqym`bmKJiu;}uh4Kp`07j&E|~7*l3Iq1dB^ zTu9>s4JH+eU4D=YIZR%m*dahJ6fqfvV4Gj$LKWkwQ`9lN>J)WMpE|`oCaq3U#4ITW zE0|Ncu!T8O42qaFxsbxgOeq30m^#C9;|Oz2LJkaagV|RUlDuFpNhkz^Twxv=Q8Y3% zT{Eo!X1Kxl%qbr0d^sn}1pV|eL6!nd4OZ127J0_yiFvh;aSrhbdgFjm{S`?zDNvzC hjS6RMFs3g3C-2Jk?*l<_)DHjv002ovPDHLkV1oL9pSu76 literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..97e42b5251a984f151a3fc469c583c360763aa17 GIT binary patch literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM0wlfaz7_+iqn<8~Ar^vn58C=20?J;<7d+)D z!|^{xU``;1V%Y-~zhmA4){=|W3l^Ae^mp#jTxxh`k9c8Y&l00n|Cv_|_|7cq>|2|> zG$hGy&ZUnnds{bdo7Op%Nx$xhX7rv{ZmkRX*#pyC_U6eHJ`TU)xv@j}**}-LJdalx z1PhjOZFyV+!t)F}KkqyqYqH^3?iERmr&WQ;3qCxx^7H(-OkVWYy^TF;Lj5OneM?oA zg%#QC=t>h>85EkiR`kE&hK-Z8-{gFG#8k`7Qt>7y-mx$k=phDAS3j3^P6(sT0)b>h9b-n(poNi8 zG-zQY6b*JU4l5e0V&oJJDj3%k4Q4T3VPt|orM3o^7Z9?FUlo?v_>EjL`pcT=Gl;SRnlaz&CFzDJ}KfN37%TVq`A$WX`kh6{M= z!6=v6#}R?1pi{*}C8ro5mjO-_Ru*)DiiH)#7^4tLdZA<=>SdMkpq|I%AXn6pz$;0s3PKrYm?8_gA;c@ZhG~!mn)t?F z$qgNN4O1ga+~BX|f)yk&k~GK?-DDvb#PDjBCA!H<_NZhGqgR%Ql7sAV3M0iTSs_YJ zvc~|%OAhJatMnt8@AV$4Pk2pqH zrN<;jNTtUlMo6Vc93!mKV-TZWrAHq|M5RX$##I#o*D*R}iwMSB`9>KZFt*DURd{Wb zPi)1Qpj`HNj&VyqaS!9ZTyPR2MXh{b9chdMazO=2j0bW?8T}X|ER-8A;dMxkIDywW zxnddLF~(Rg2W(;jBhDhZqaCl0)X5U-7{TkX{9pku@%qFDS)h^6cs-&_{!mK-uW^p3 zK(sNA*C&?CKX#F3riZLn9;~6CnI>pbad4E`Qru>b~1{qINMZw)bIiqPg$vdg9V)BJ2t*?ntA${sOADm3Ngxg zD)c{4!Ev53O*Yd!;W*{`zgWT^F4D^zJ~P22UwF-ZF0h-W3IqayKw!@L0j`rmsrdc? QM*si-07*qoM6N<$f&f-ZIRF3v literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..f5beca2511d275c2f754b38989a1e1e69196da05 GIT binary patch literal 967 zcmV;&133JNP)`{$AjijdZyt1MC$Azf957h>3-t3^RKU9_d^!eEr!Ikee|V#8uo zB-PXcagY>r5oi=j5EdwHm3A>)o13%M6gJwvNrd#g?>T4ZywCH_z3_ZKlIMAz=Xsvz zd7dNO!jtqc#7V}u%mNEsW{i^z(ajUwq>|97TB%YIXrP0O6iIIJ7P-vPO|?qE^}Nd> zMUYE8MJ~gvR|Gu77)z2n+|Ddvhp16R+{kg3AXiB9En#nymIbOfLP2tc=Lma8*65}n zxj_R{1RWwROJrGs+#pNPFg3D7mLX^Ya$9h>JOA+J(I|=HRB{CF6E-;K~lxkTa zLy=^U`v_{26*3e}_IMrBBvrCN7bTEAPGjnm1-dASY_XQ04T_8|N+ers!!)MI=%i$_ z#coXd6%n08AX^;7)T&76Bof);IHt`?7S3X7QnE0OsZq(oB}^4c7XHLkp=9A4rbZ)udzg;N1$r<|QLPwI z&n%`FHnD(d zlnS{+2SFp$$Prd^hM?!=5_OCdbeOappo}jG`i)AtMGIjAvPO!J2-_z2I7-+6X<4A0 zeS{rR99YLi!iK0-MAY*+VH2!XJb08`e&!xUz(#%{Y>_RB4|~XEo?cd|1k}>Y-{i7O zaU#Ws|}!6-dEfx=QHw|VlU04lm{uA*~>Kf43bv-DCc7enc!1)u!Y-L zLnYTy&mBBWI|mr2kbRVCd61$P*Iv=`;xYcfm1(wX`Ee^>XL$g*c*07zI8RR?8GRYkCOf$*} p4w7XnH^}om&+|Ob^E}Uye*phd*siKI(OCch002ovPDHLkV1hNcx5WSe literal 0 HcmV?d00001 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 @@ - - - - - + + +