From 522b1d95e7355617ea49c7c6b3722ec1bab74511 Mon Sep 17 00:00:00 2001 From: stom79 Date: Mon, 6 Nov 2017 19:38:04 +0100 Subject: [PATCH] Fixes issue #27 --- .../mastodon/activities/MediaActivity.java | 41 +++++++++++++++++-- 1 file changed, 37 insertions(+), 4 deletions(-) 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 dde4c7ad2..4ac4ac061 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 @@ -100,12 +100,16 @@ public class MediaActivity extends AppCompatActivity { private File fileVideo; private TextView progress; private boolean canSwipe; + + + private enum actionSwipe{ RIGHT_TO_LEFT, LEFT_TO_RIGHT, POP } + @SuppressLint("ClickableViewAccessibility") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -123,8 +127,7 @@ public class MediaActivity extends AppCompatActivity { mediaPosition = getIntent().getExtras().getInt("position", 1); if( attachments == null || attachments.size() == 0) finish(); - if( getSupportActionBar() != null) - getSupportActionBar().setDisplayHomeAsUpEnabled(true); + RelativeLayout main_container_media = findViewById(R.id.main_container_media); if( theme == Helper.THEME_LIGHT){ @@ -133,6 +136,21 @@ public class MediaActivity extends AppCompatActivity { main_container_media.setBackgroundResource(R.color.mastodonC1); } + if( getSupportActionBar() != null) { + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + Handler h = new Handler(); + + h.postDelayed(new Runnable() { + + @Override + public void run() { + // DO DELAYED STUFF + if(canSwipe) + getSupportActionBar().hide(); + } + }, 2000); + } + canSwipe = true; loader = findViewById(R.id.loader); @@ -160,6 +178,9 @@ public class MediaActivity extends AppCompatActivity { @Override public void onMatrixChanged(RectF rect) { canSwipe = (imageView.getScale() == 1 ); + if( !canSwipe && getSupportActionBar() != null && getSupportActionBar().isShowing()){ + getSupportActionBar().hide(); + } } }); @@ -212,8 +233,6 @@ public class MediaActivity extends AppCompatActivity { return true; } - - /** * Manage touch event * Allows to swipe from timelines @@ -222,6 +241,20 @@ public class MediaActivity extends AppCompatActivity { */ @Override public boolean dispatchTouchEvent(MotionEvent event) { + + if( event.getAction() == MotionEvent.ACTION_DOWN){ + if( getSupportActionBar() != null && !getSupportActionBar().isShowing() && canSwipe) { + getSupportActionBar().show(); + Handler handler = new Handler(); + handler.postDelayed(new Runnable() { + @Override + public void run() { + getSupportActionBar().hide(); + } + }, 2000); + return super.dispatchTouchEvent(event); + } + } if( !canSwipe || mediaPosition > attachments.size() || mediaPosition < 1 || attachments.size() <= 1) return super.dispatchTouchEvent(event); switch(event.getAction()){