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 2b7f16bb4..fe33819e9 100644 Binary files a/app/src/main/res/drawable-hdpi/ic_save.png and b/app/src/main/res/drawable-hdpi/ic_save.png differ diff --git a/app/src/main/res/drawable-ldpi/ic_save.png b/app/src/main/res/drawable-ldpi/ic_save.png index f348b0132..3d796d269 100644 Binary files a/app/src/main/res/drawable-ldpi/ic_save.png and b/app/src/main/res/drawable-ldpi/ic_save.png differ diff --git a/app/src/main/res/drawable-mdpi/ic_save.png b/app/src/main/res/drawable-mdpi/ic_save.png index db465e5d5..59037c47c 100644 Binary files a/app/src/main/res/drawable-mdpi/ic_save.png and b/app/src/main/res/drawable-mdpi/ic_save.png differ diff --git a/app/src/main/res/drawable-xhdpi/ic_save.png b/app/src/main/res/drawable-xhdpi/ic_save.png index b3a4e228c..d71055b9e 100644 Binary files a/app/src/main/res/drawable-xhdpi/ic_save.png and b/app/src/main/res/drawable-xhdpi/ic_save.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_save.png b/app/src/main/res/drawable-xxhdpi/ic_save.png index 2e6182fd3..272e2b67b 100644 Binary files a/app/src/main/res/drawable-xxhdpi/ic_save.png and b/app/src/main/res/drawable-xxhdpi/ic_save.png differ diff --git a/app/src/main/res/drawable-xxxhdpi/ic_save.png b/app/src/main/res/drawable-xxxhdpi/ic_save.png index 66325b4fd..efe6b14f7 100644 Binary files a/app/src/main/res/drawable-xxxhdpi/ic_save.png and b/app/src/main/res/drawable-xxxhdpi/ic_save.png differ diff --git a/app/src/main/res/layout/activity_hashtag.xml b/app/src/main/res/layout/activity_hashtag.xml index 935de971e..878587515 100644 --- a/app/src/main/res/layout/activity_hashtag.xml +++ b/app/src/main/res/layout/activity_hashtag.xml @@ -32,6 +32,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/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 . --> - - - - + -