From f4800666e91f48c3d62e64813208ed506e00ce65 Mon Sep 17 00:00:00 2001 From: tom79 Date: Wed, 28 Jun 2017 17:42:33 +0200 Subject: [PATCH] Layout improvements + prepares release 1.2.6 --- app/build.gradle | 5 +- .../mastodon/activities/MainActivity.java | 2 +- .../mastodon/activities/MediaActivity.java | 3 +- .../mastodon/activities/WebviewActivity.java | 24 + app/src/main/res/drawable-hdpi/ic_save.png | Bin 252 -> 247 bytes app/src/main/res/drawable-ldpi/ic_save.png | Bin 346 -> 153 bytes app/src/main/res/drawable-mdpi/ic_save.png | Bin 173 -> 173 bytes app/src/main/res/drawable-xhdpi/ic_save.png | Bin 287 -> 259 bytes app/src/main/res/drawable-xxhdpi/ic_save.png | Bin 418 -> 355 bytes app/src/main/res/drawable-xxxhdpi/ic_save.png | Bin 548 -> 1129 bytes app/src/main/res/layout/activity_hashtag.xml | 1 + .../res/layout/activity_search_result.xml | 1 + .../res/layout/activity_show_conversation.xml | 1 + app/src/main/res/layout/drawer_account.xml | 258 ++++----- .../layout/drawer_account_follow_request.xml | 108 ++-- .../res/layout/drawer_account_main_search.xml | 236 ++++---- .../main/res/layout/drawer_account_search.xml | 64 ++- .../main/res/layout/drawer_notification.xml | 215 ++++---- app/src/main/res/layout/drawer_status.xml | 522 +++++++++--------- .../res/layout/drawer_status_main_search.xml | 164 +++--- app/src/main/res/layout/drawer_tag.xml | 69 +-- app/src/main/res/layout/fragment_accounts.xml | 1 + .../res/layout/fragment_notifications.xml | 1 + app/src/main/res/layout/fragment_status.xml | 1 + app/src/main/res/layout/nav_header_main.xml | 4 +- app/src/main/res/values-sw600dp/dimens.xml | 1 + app/src/main/res/values/colors.xml | 2 +- app/src/main/res/values/dimens.xml | 1 + 28 files changed, 882 insertions(+), 802 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 583075c5d..f77cfdfe3 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -7,8 +7,8 @@ android { applicationId "fr.gouv.etalab.mastodon" minSdkVersion 15 targetSdkVersion 25 - versionCode 22 - versionName "1.2.5" + versionCode 23 + versionName "1.2.6" } buildTypes { release { @@ -27,6 +27,7 @@ dependencies { compile 'com.android.support:appcompat-v7:25.3.1' compile 'com.android.support:design:25.3.1' compile 'com.android.support:support-v4:25.3.1' + compile 'com.android.support:cardview-v7:25.3.1' compile 'com.loopj.android:android-async-http:1.4.9' compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5' compile 'com.evernote:android-job:1.1.11' diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/activities/MainActivity.java b/app/src/main/java/fr/gouv/etalab/mastodon/activities/MainActivity.java index c65e19dbe..12fbd7097 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/activities/MainActivity.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/activities/MainActivity.java @@ -86,7 +86,7 @@ public class MainActivity extends AppCompatActivity private ImageLoader imageLoader; private DisplayImageOptions options; private View headerLayout; - static final int MIN_DISTANCE = 150; + static final int MIN_DISTANCE = 100; private float downX, downY; private int currentScreen = 1; private actionSwipe currentAction; diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/activities/MediaActivity.java b/app/src/main/java/fr/gouv/etalab/mastodon/activities/MediaActivity.java index 19763729e..d71b39abb 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/activities/MediaActivity.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/activities/MediaActivity.java @@ -84,7 +84,7 @@ public class MediaActivity extends AppCompatActivity { MediaActivity.actionSwipe currentAction; private ImageLoader imageLoader; private DisplayImageOptions options; - static final int MIN_DISTANCE = 200; + static final int MIN_DISTANCE = 100; private String finalUrlDownload; private String preview_url; private ImageView prev, next; @@ -206,6 +206,7 @@ public class MediaActivity extends AppCompatActivity { float deltaX = downX - upX; float deltaY = downY - upY; // swipe horizontal + if( downX > MIN_DISTANCE & (Math.abs(deltaX) > MIN_DISTANCE && Math.abs(deltaY) < MIN_DISTANCE)){ if(deltaX < 0) { switchOnSwipe(MediaActivity.actionSwipe.LEFT_TO_RIGHT); return true; } if(deltaX > 0) { switchOnSwipe(MediaActivity.actionSwipe.RIGHT_TO_LEFT); return true; } diff --git a/app/src/main/java/fr/gouv/etalab/mastodon/activities/WebviewActivity.java b/app/src/main/java/fr/gouv/etalab/mastodon/activities/WebviewActivity.java index 2bc6edba2..7f18fd091 100644 --- a/app/src/main/java/fr/gouv/etalab/mastodon/activities/WebviewActivity.java +++ b/app/src/main/java/fr/gouv/etalab/mastodon/activities/WebviewActivity.java @@ -15,13 +15,19 @@ package fr.gouv.etalab.mastodon.activities; +import android.Manifest; +import android.content.pm.PackageManager; +import android.os.Build; import android.os.Bundle; +import android.support.v4.app.ActivityCompat; +import android.support.v4.content.ContextCompat; import android.support.v7.app.AppCompatActivity; import android.util.Log; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.view.WindowManager; +import android.webkit.DownloadListener; import android.webkit.WebView; import android.widget.FrameLayout; @@ -30,6 +36,9 @@ import fr.gouv.etalab.mastodon.webview.MastalabWebChromeClient; import fr.gouv.etalab.mastodon.webview.MastalabWebViewClient; import mastodon.etalab.gouv.fr.mastodon.R; +import static fr.gouv.etalab.mastodon.helper.Helper.EXTERNAL_STORAGE_REQUEST_CODE; +import static fr.gouv.etalab.mastodon.helper.Helper.manageDownloads; + /** * Created by Thomas on 24/06/2017. @@ -84,6 +93,21 @@ public class WebviewActivity extends AppCompatActivity { }); webView.setWebChromeClient(mastalabWebChromeClient); webView.setWebViewClient(new MastalabWebViewClient(WebviewActivity.this)); + webView.setDownloadListener(new DownloadListener() { + @Override + public void onDownloadStart(String url, String userAgent, String contentDisposition, String mimetype, long contentLength) { + + if(Build.VERSION.SDK_INT >= 23 ){ + if (ContextCompat.checkSelfPermission(WebviewActivity.this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED || ContextCompat.checkSelfPermission(WebviewActivity.this, Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { + ActivityCompat.requestPermissions(WebviewActivity.this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_EXTERNAL_STORAGE}, EXTERNAL_STORAGE_REQUEST_CODE); + } else { + manageDownloads(WebviewActivity.this, url); + } + }else{ + manageDownloads(WebviewActivity.this, url); + } + } + }); webView.loadUrl(url); } diff --git a/app/src/main/res/drawable-hdpi/ic_save.png b/app/src/main/res/drawable-hdpi/ic_save.png index 2b7f16bb40d922330a71904f96831614e972800a..fe33819e98ea3749d2d9aabb3788c6db40af1cef 100644 GIT binary patch literal 247 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpUteV#6kAr-gY-ZbPof@L#HkUd1&XP9XNDIRAu)~$r}4TW)GWnv?Y>y4i+;4jbJ## zY^Qtt^!xntvzOcxN|?UFm!ZTwGn;k7t(V*m=3c$&4euVwF0ig1>Gu>l=LARxw?Z0UE=_z}H$-%AZmx-f+Ej%aT_ObK0l)ztCsAd&q)WCW)_* q^+13|T`$uHju%?T>r;Rl4DRqeOY8f(_GXY6$QholelF{r5}E+zHD2%l literal 252 zcmVn&>i{vd4ZV^<(o#yg$AQD@u1e|bbp3MqjTdfcCl$3`MWlw{9qno(Aje2CcQEp zF{vfegc{Z-Qkjs5xFFYDAgCXy2)weFAyJV`iZxFg<)LTua{z!McU72{WUgwehfi+Ow$$G=!sMrK9w*{<6 z(loks6pmdLiBxc4;IEUvV8YjyXC%A!;)`@fhFSC6S9JufO#|A+;OXk;vd$@?2>>#x BGtvM6 literal 346 zcmV-g0j2(lP)Ln}+8#*W^4-L4-@5 z^!k1GJ-x5ZwN^Xz2!fyv%>%grza&YLR+^@d@cauAJi#sN8(|pkh?eg>aLloN}6qL}16WU%s(S(3e?yxbjy!5x1RWyJMT=VnJoi84NKkC%Kc znD-soL83ytkf2(lIkAP+=J`dDr?tM-+Q8FV7StkvsQ>OVX8-^I07*qoM6N<$f=3FR<^TWy diff --git a/app/src/main/res/drawable-mdpi/ic_save.png b/app/src/main/res/drawable-mdpi/ic_save.png index db465e5d574bd5eaea16b5f9a4aa3bb2cb511585..59037c47c2cd24e9bb9b7fe3d27d3e7ae2ae473a 100644 GIT binary patch literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=ffJ5>FS$kcwN$KmPx>KkSgy7RcUX zm0)1aASsZ&fN|2itSIXT_F|?d_S5 Q0kogN)78&qol`;+046p%asU7T literal 173 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM0wlfaz7_+i5>FS$kcwMZFFSHIC3nP3gH78Q>i77*+xFAQ-Q|NCSHpXU zQ|k{jGH|zdEMjiF<;t$JHI7|oYcroq)?~gZzslqD{VggtbO)dHH{g_>Xjr!UuXq99 WPb-U!@)v;iGkCiCxvX~)y>*b2$xwjxLX6G< zrEUD&8#oT~eM{jlOVAff5}db(Q^>gd=-!mrx!)ho7nW1uQCxa0%4j=KI~*ir-Cuf~ ztz7?_Wg2_On|jFy!OIx#M4QiKRJwjm(b(b1rCsNE1T43&Gh%k}yUD1OT-MUo z1sY_C;K_=Sqh$jJER`!)I5L4oYu{CfI}gZ=C()J%L`ERt0iF@?zX*tpz=j9pMxfvU zt(<$k{hB$Zke^kkwLh_sidN2jB44a8_r4gp`%&OVIqI&%z@7q>bNqn3a>im9=!l(s l#Oa$;s_pv#y&Uidzyk*OqP;OYrVAS$-aSW-r_4d|ALB>Fd)<9*U z6RBPkRynQX=gn|nfMfO}JEg*JWo72Ll5T zF)}DHFt9K*Ffa%(FfcJV*s~a5V5t9I4W>ba!?$O3iEti-ap1@PE{VH)p`tI%ZMUgQ0y!4Ua~NSN`xnYN133?P nU;+#u_A9{I=pJHVSh3ywOVg4YhdZ{s0IBkH^>bP0l+XkKN{eGn literal 418 zcmV;T0bTxyP)+dMkEbTB}oTVLDB*_NqQg$NfTrx>4HEIK?Fq)K?D&*5J3cKgLar= zfDT$n(ZvumUC;_Q2T%7=YJr|{ZXG)=u+RXl9GpK=DGl0LHfz6br9o5gyf~Ky4ZNU{ zEU4oJ^<+UUFDR1*rT-1o^@6TtK|?QSEDM@>K~K_u>V75XPQG=Nra`zkZLBq#>%u{5 z<3(%yC{52g+^lttH$<2i=cY;Y%wH!nANn}(DAxpiiw&^bFwnags0af+ih=IKKxbwe zl*oszBf73Qmjay2@H^MvUj2YKbLiq6<-%-MTIUj2u?QlFAcC~(2Uq4Yo$3n(EC2ui M07*qoM6N<$f&^Epi2wiq diff --git a/app/src/main/res/drawable-xxxhdpi/ic_save.png b/app/src/main/res/drawable-xxxhdpi/ic_save.png index 66325b4fdd8e50d62d5a7d63380eea13e2ecef75..efe6b14f77c4ec5541ced8844083b940db817d68 100644 GIT binary patch literal 1129 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1|$#LC7xzrU@`D?aSW-r^>(gxwn(5vo4KL5 zOR&bl28GBQD$4{}s%J0Rdcmt(qpRLw+co@8?SH4oqfT7M(q!)b2E8NOQ%@wEn8J6G~?&D zMm5h(E8l3=E;U!E{XWb0_OWfed$wuHKKGSEHUs;9R)9P0_$m(fu&4jValI2CHszalh$1^ieKgOQ;Q_@ejeJfulD8!=R zFwe|motY;iqo2x+pfHt#FJDNvHgZhZ&O2$PZ%_ck!NEnC;S*IEYRb6Geh>`YJCJ0*J3gPf3fR*nfXe~Nlv=p5c;ymbl#qu1xq%7x!|O8jDyWcko+%2mE9MxmME ztI&c^qCr0F?S`^3Q4TC8{{361%i-9-rqAgNB)D7~0!3s_Y${-pn93lR?aaX907Cjq zI#*m8Oj%aMF-ZT~vh%}6E~)%`iym*@-TZ#XR2z?ye5aJYL7!XH}FA zOlY#+s$+5c=L;1p(aI(*+I}hFy&u2OI>L6d0fgNz6c`2ju)3Rt1J$ z2bKlW9Sl4yiePmg);w6j65-JBrJA|9KCIy2bMD(eXFR`m;34aKwTJfFJ3PehwC{hF z<O9d3Z{QP~vxTMxGSEVD@!+gqDR*a0x@c)x|fUrk(SVXubNYc~Q&t;uc GLK6TUbI2P2 literal 548 zcmV+<0^9wGP)kV^VHk#Cn82Wc5f<3uuj3&Xr-gS{Fh+Xuk_J@pige>8 z3m7B)c*y}8$R=J=fDzyVA-HP+xIhT*+5#>Rg1h#UOSmOO&eztRLbOPGOpH!|j z0+t6>o}gC1N*|zW^;zpiAE0RkXz2q~tpGKBfT9(kL;$DIzk7&#R)D@ffN%98Tk8Wr z>U~o{M`taxmU`c0_!s!lT24P1mD4lL8=8R(FnsuT+P9QbsrQ2?&n)(RQ{2>Vq~0$a zSa~|J=6*(>RaR0kx8!|Wl2((e{!w2fVga)KU{MHN)Sb z9_IkWNDW{Z?*vB~FDi!rEGt>eLqKKu6?Pd diff --git a/app/src/main/res/layout/activity_search_result.xml b/app/src/main/res/layout/activity_search_result.xml index e76aa8af7..922d5bb8d 100644 --- a/app/src/main/res/layout/activity_search_result.xml +++ b/app/src/main/res/layout/activity_search_result.xml @@ -29,6 +29,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:scrollbars="none" + android:divider="@null" > diff --git a/app/src/main/res/layout/drawer_account.xml b/app/src/main/res/layout/drawer_account.xml index 242e99112..4fa1aca76 100644 --- a/app/src/main/res/layout/drawer_account.xml +++ b/app/src/main/res/layout/drawer_account.xml @@ -15,142 +15,146 @@ You should have received a copy of the GNU General Public License along with Thomas Schneider; if not, see . --> - - + - - - - - - + android:id="@+id/main_container" + android:orientation="horizontal"> - + + + + + + + + android:orientation="horizontal"> + + + + + android:orientation="horizontal" + android:baselineAligned="false"> + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - \ No newline at end of file + \ No newline at end of file diff --git a/app/src/main/res/layout/drawer_account_follow_request.xml b/app/src/main/res/layout/drawer_account_follow_request.xml index 6fbac095e..011209a3f 100644 --- a/app/src/main/res/layout/drawer_account_follow_request.xml +++ b/app/src/main/res/layout/drawer_account_follow_request.xml @@ -15,57 +15,65 @@ You should have received a copy of the GNU General Public License along with Thomas Schneider; if not, see . --> - - - - + -