From a994966095f57d7f61ad1a4fe5dbd2d1187ee8f6 Mon Sep 17 00:00:00 2001
From: Torsten Grote <t@grobox.de>
Date: Wed, 12 Dec 2018 17:21:16 -0200
Subject: [PATCH] [android] address review comments for image fullscreen
 swiping

---
 .../briar/android/conversation/ImageActivity.java        | 9 ++++++---
 .../briar/android/conversation/ImageFragment.java        | 2 +-
 .../briar/android/conversation/ImageViewModel.java       | 7 ++++---
 3 files changed, 11 insertions(+), 7 deletions(-)

diff --git a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ImageActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ImageActivity.java
index 7c7a94fc5c..811bf11e38 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ImageActivity.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ImageActivity.java
@@ -134,7 +134,7 @@ public class ImageActivity extends BriarActivity
 		viewPager.setCurrentItem(position);
 
 		if (SDK_INT >= 16) {
-			viewModel.getOnImageClicked().observe(this, this::onPhotoClicked);
+			viewModel.getOnImageClicked().observe(this, this::onImageClicked);
 			window.getDecorView().setSystemUiVisibility(
 					SYSTEM_UI_FLAG_LAYOUT_STABLE |
 							SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);
@@ -168,6 +168,8 @@ public class ImageActivity extends BriarActivity
 		);
 		if (SDK_INT >= 16) {
 			layout.getViewTreeObserver().removeOnGlobalLayoutListener(this);
+		} else {
+			layout.getViewTreeObserver().removeGlobalOnLayoutListener(this);
 		}
 	}
 
@@ -203,8 +205,9 @@ public class ImageActivity extends BriarActivity
 		supportFinishAfterTransition();
 	}
 
-	private void onPhotoClicked(@Nullable Boolean clicked) {
-		if (clicked != null&& clicked && SDK_INT >= 16) {
+	@RequiresApi(api = 16)
+	private void onImageClicked(@Nullable Boolean clicked) {
+		if (clicked != null && clicked) {
 			toggleSystemUi();
 			viewModel.onOnImageClickSeen();
 		}
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ImageFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ImageFragment.java
index 7a95d0f552..ba4bfec9c4 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ImageFragment.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ImageFragment.java
@@ -77,7 +77,7 @@ public class ImageFragment extends Fragment {
 				viewModelFactory).get(ImageViewModel.class);
 
 		photoView = v.findViewById(R.id.photoView);
-		photoView.setOnClickListener(view -> viewModel.clickPhoto());
+		photoView.setOnClickListener(view -> viewModel.clickImage());
 
 		// Request Listener
 		RequestListener<Drawable> listener = new RequestListener<Drawable>() {
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ImageViewModel.java b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ImageViewModel.java
index 42e31bf156..fc5b6cdff0 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/conversation/ImageViewModel.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/conversation/ImageViewModel.java
@@ -50,7 +50,8 @@ public class ImageViewModel extends AndroidViewModel {
 	@IoExecutor
 	private final Executor ioExecutor;
 
-	private final MutableLiveData<Boolean> imageClicked = new MutableLiveData<>();
+	private final MutableLiveData<Boolean> imageClicked =
+			new MutableLiveData<>();
 	private final MutableLiveData<Boolean> saveState = new MutableLiveData<>();
 	private int toolbarTop, toolbarBottom;
 
@@ -65,7 +66,7 @@ public class ImageViewModel extends AndroidViewModel {
 		this.ioExecutor = ioExecutor;
 	}
 
-	void clickPhoto() {
+	void clickImage() {
 		imageClicked.setValue(true);
 	}
 
@@ -97,7 +98,7 @@ public class ImageViewModel extends AndroidViewModel {
 		float scaleFactor = Math.min(widthPercentage, heightPercentage);
 		int realWidth = (int) (width * scaleFactor);
 		int realHeight = (int) (height * scaleFactor);
-		// return if photo doesn't use the full width,
+		// return if image doesn't use the full width,
 		// because it will be moved to the right otherwise
 		if (realWidth < screenView.getWidth()) return false;
 		int drawableTop = (screenView.getHeight() - realHeight) / 2;
-- 
GitLab