From 6a32454347e97fb4e37ede9332ce41f315a42434 Mon Sep 17 00:00:00 2001 From: Tanmay Gupta <119003089+savsch@users.noreply.github.com> Date: Sun, 22 Dec 2024 05:09:30 +0530 Subject: [PATCH 1/2] Nearby: Fix map moving by itself (#6061) fixes #6046 the OnFocusChangeListener for nearby place list items sometimes gets invoked when new items aer set, even when the list is hidden, if an item had previously been clicked in it. This in turn causes the onItemClick to be called. This commit adds a check to make sure the list is not hidden when onItemClick is invoked this way. --- .../fr/free/nrw/commons/nearby/PlaceAdapterDelegate.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/fr/free/nrw/commons/nearby/PlaceAdapterDelegate.kt b/app/src/main/java/fr/free/nrw/commons/nearby/PlaceAdapterDelegate.kt index a4ea3cd5b..cf5595ffc 100644 --- a/app/src/main/java/fr/free/nrw/commons/nearby/PlaceAdapterDelegate.kt +++ b/app/src/main/java/fr/free/nrw/commons/nearby/PlaceAdapterDelegate.kt @@ -5,10 +5,12 @@ import android.view.View import android.view.View.GONE import android.view.View.INVISIBLE import android.view.View.VISIBLE +import android.widget.RelativeLayout import androidx.activity.result.ActivityResultLauncher import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import androidx.transition.TransitionManager +import com.google.android.material.bottomsheet.BottomSheetBehavior import com.hannesdorfmann.adapterdelegates4.dsl.AdapterDelegateViewBindingViewHolder import com.hannesdorfmann.adapterdelegates4.dsl.adapterDelegateViewBinding import fr.free.nrw.commons.R @@ -42,7 +44,10 @@ fun placeAdapterDelegate( root.setOnFocusChangeListener { view1: View?, hasFocus: Boolean -> if (!hasFocus && nearbyButtonLayout.buttonLayout.isShown) { nearbyButtonLayout.buttonLayout.visibility = GONE - } else if (hasFocus && !nearbyButtonLayout.buttonLayout.isShown) { + } else if (hasFocus && !nearbyButtonLayout.buttonLayout.isShown && + BottomSheetBehavior.from(root.parent.parent.parent as RelativeLayout).state != + BottomSheetBehavior.STATE_HIDDEN + ) { showOrHideAndScrollToIfLast() onItemClick?.invoke(item) } From d0bde4a3feb3079e2a09555ae3df305392c84084 Mon Sep 17 00:00:00 2001 From: Neel Doshi <60827173+neeldoshii@users.noreply.github.com> Date: Sun, 22 Dec 2024 11:14:57 +0530 Subject: [PATCH 2/2] Replaces Log to Timber (#6062) --- .../nrw/commons/bookmarks/BookmarkListRootFragment.java | 6 +++--- .../free/nrw/commons/contributions/SetWallpaperWorker.java | 4 ---- .../java/fr/free/nrw/commons/logging/FileLoggingTree.kt | 1 - 3 files changed, 3 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/fr/free/nrw/commons/bookmarks/BookmarkListRootFragment.java b/app/src/main/java/fr/free/nrw/commons/bookmarks/BookmarkListRootFragment.java index 8b66a104a..816ca9474 100644 --- a/app/src/main/java/fr/free/nrw/commons/bookmarks/BookmarkListRootFragment.java +++ b/app/src/main/java/fr/free/nrw/commons/bookmarks/BookmarkListRootFragment.java @@ -2,7 +2,6 @@ package fr.free.nrw.commons.bookmarks; import android.content.Context; import android.os.Bundle; -import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; @@ -26,6 +25,7 @@ import fr.free.nrw.commons.media.MediaDetailPagerFragment; import fr.free.nrw.commons.navtab.NavTab; import java.util.ArrayList; import java.util.Iterator; +import timber.log.Timber; public class BookmarkListRootFragment extends CommonsDaggerSupportFragment implements FragmentManager.OnBackStackChangedListener, @@ -136,7 +136,7 @@ public class BookmarkListRootFragment extends CommonsDaggerSupportFragment imple @Override public void onMediaClicked(int position) { - Log.d("deneme8", "on media clicked"); + Timber.tag("deneme8").d("on media clicked"); /*container.setVisibility(View.VISIBLE); ((BookmarkFragment)getParentFragment()).tabLayout.setVisibility(View.GONE); mediaDetails = new MediaDetailPagerFragment(false, true, position); @@ -244,7 +244,7 @@ public class BookmarkListRootFragment extends CommonsDaggerSupportFragment imple @Override public void onItemClick(AdapterView parent, View view, int position, long id) { - Log.d("deneme8", "on media clicked"); + Timber.tag("deneme8").d("on media clicked"); binding.exploreContainer.setVisibility(View.VISIBLE); ((BookmarkFragment) getParentFragment()).binding.tabLayout.setVisibility(View.GONE); mediaDetails = MediaDetailPagerFragment.newInstance(false, true); diff --git a/app/src/main/java/fr/free/nrw/commons/contributions/SetWallpaperWorker.java b/app/src/main/java/fr/free/nrw/commons/contributions/SetWallpaperWorker.java index c9b55a83c..0f18c300b 100644 --- a/app/src/main/java/fr/free/nrw/commons/contributions/SetWallpaperWorker.java +++ b/app/src/main/java/fr/free/nrw/commons/contributions/SetWallpaperWorker.java @@ -5,14 +5,11 @@ import android.app.NotificationManager; import android.app.WallpaperManager; import android.content.Context; import android.graphics.Bitmap; -import android.graphics.BitmapFactory; import android.net.Uri; import android.os.Build; -import android.util.Log; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.core.app.NotificationCompat; -import androidx.work.Data; import androidx.work.Worker; import androidx.work.WorkerParameters; import com.facebook.common.executors.CallerThreadExecutor; @@ -25,7 +22,6 @@ import com.facebook.imagepipeline.image.CloseableImage; import com.facebook.imagepipeline.request.ImageRequest; import com.facebook.imagepipeline.request.ImageRequestBuilder; import fr.free.nrw.commons.R; -import java.io.IOException; import timber.log.Timber; public class SetWallpaperWorker extends Worker { diff --git a/app/src/main/java/fr/free/nrw/commons/logging/FileLoggingTree.kt b/app/src/main/java/fr/free/nrw/commons/logging/FileLoggingTree.kt index 5c6c55f1a..3cfb92350 100644 --- a/app/src/main/java/fr/free/nrw/commons/logging/FileLoggingTree.kt +++ b/app/src/main/java/fr/free/nrw/commons/logging/FileLoggingTree.kt @@ -5,7 +5,6 @@ import android.util.Log import org.slf4j.Logger import org.slf4j.LoggerFactory -import java.util.Locale import java.util.concurrent.Executor import ch.qos.logback.classic.LoggerContext