Skip to content

Commit ac2de1a

Browse files
tanvidadumisaochan
authored andcommitted
back button functionality (#1517)
1 parent f6c18c6 commit ac2de1a

File tree

1 file changed

+19
-1
lines changed

1 file changed

+19
-1
lines changed

app/src/main/java/fr/free/nrw/commons/upload/ShareActivity.java

+19-1
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import android.support.graphics.drawable.VectorDrawableCompat;
2626
import android.support.v4.app.ActivityCompat;
2727
import android.support.v4.content.ContextCompat;
28+
import android.view.KeyEvent;
2829
import android.view.MenuItem;
2930
import android.view.View;
3031
import android.view.animation.DecelerateInterpolator;
@@ -137,6 +138,8 @@ public class ShareActivity
137138
private long ShortAnimationDuration;
138139
private boolean isFABOpen = false;
139140
private float startScaleFinal;
141+
private boolean isZoom = false;
142+
140143

141144
/**
142145
* Called when user taps the submit button.
@@ -505,6 +508,7 @@ private void zoomImageFromThumb(final View thumbView, Uri imageuri) {
505508
if (CurrentAnimator != null) {
506509
CurrentAnimator.cancel();
507510
}
511+
isZoom = true;
508512
ViewUtil.hideKeyboard(ShareActivity.this.findViewById(R.id.titleEdit | R.id.descEdit));
509513
closeFABMenu();
510514
mainFab.setVisibility(View.GONE);
@@ -521,7 +525,6 @@ private void zoomImageFromThumb(final View thumbView, Uri imageuri) {
521525

522526
// Load the high-resolution "zoomed-in" image.
523527
expandedImageView.setImageBitmap(scaledImage);
524-
525528
float startScale = zoomObj.adjustStartEndBounds(startBounds, finalBounds, globalOffset);
526529

527530
// Hide the thumbnail and show the zoomed-in view. When the animation
@@ -593,6 +596,7 @@ public void onZoomOutFabClicked() {
593596
if (CurrentAnimator != null) {
594597
CurrentAnimator.cancel();
595598
}
599+
isZoom = false;
596600
zoomOutButton.setVisibility(View.GONE);
597601
mainFab.setVisibility(View.VISIBLE);
598602

@@ -603,6 +607,7 @@ public void onZoomOutFabClicked() {
603607
.with(ObjectAnimator.ofFloat(expandedImageView, View.Y, startBounds.top))
604608
.with(ObjectAnimator.ofFloat(expandedImageView, View.SCALE_X, startScaleFinal))
605609
.with(ObjectAnimator.ofFloat(expandedImageView, View.SCALE_Y, startScaleFinal));
610+
606611
set.setDuration(ShortAnimationDuration);
607612
set.setInterpolator(new DecelerateInterpolator());
608613
set.addListener(new AnimatorListenerAdapter() {
@@ -635,4 +640,17 @@ public void onFabShowMapsClicked() {
635640
startActivity(mapIntent);
636641
}
637642
}
643+
644+
@Override
645+
public boolean onKeyDown(int keyCode, KeyEvent event) {
646+
switch (keyCode) {
647+
case KeyEvent.KEYCODE_BACK:
648+
if(isZoom) {
649+
onZoomOutFabClicked();
650+
return true;
651+
}
652+
}
653+
return super.onKeyDown(keyCode,event);
654+
655+
}
638656
}

0 commit comments

Comments
 (0)