diff --git a/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/DownloadFragment.java b/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/DownloadFragment.java index b84fafb0..c0f7349c 100644 --- a/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/DownloadFragment.java +++ b/app/src/main/java/com/cappielloantonio/tempo/ui/fragment/DownloadFragment.java @@ -7,6 +7,7 @@ import android.view.View; import android.view.ViewGroup; import android.widget.PopupMenu; +import androidx.activity.OnBackPressedCallback; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; @@ -37,6 +38,8 @@ import java.util.Objects; @UnstableApi public class DownloadFragment extends Fragment implements ClickCallback { + private static final String TAG = "DownloadFragment"; + private FragmentDownloadBinding bind; private MainActivity activity; private DownloadViewModel downloadViewModel; @@ -160,6 +163,23 @@ public class DownloadFragment extends Fragment implements ClickCallback { } bind.downloadedGoBackImageView.setVisibility(stack.size() > 1 ? View.VISIBLE : View.GONE); + + setupBackPressing(stack.size()); + }); + } + + private void setupBackPressing(int stackSize) { + requireActivity().getOnBackPressedDispatcher().addCallback(getViewLifecycleOwner(), new OnBackPressedCallback(true) { + @Override + public void handleOnBackPressed() { + if (stackSize > 1) { + downloadViewModel.popViewStack(); + } else { + activity.navController.navigateUp(); + } + + remove(); + } }); } diff --git a/app/src/main/java/com/cappielloantonio/tempo/viewmodel/DownloadViewModel.java b/app/src/main/java/com/cappielloantonio/tempo/viewmodel/DownloadViewModel.java index 468ede57..3059eb09 100644 --- a/app/src/main/java/com/cappielloantonio/tempo/viewmodel/DownloadViewModel.java +++ b/app/src/main/java/com/cappielloantonio/tempo/viewmodel/DownloadViewModel.java @@ -1,6 +1,7 @@ package com.cappielloantonio.tempo.viewmodel; import android.app.Application; +import android.util.Log; import androidx.annotation.NonNull; import androidx.lifecycle.AndroidViewModel; @@ -11,7 +12,6 @@ import androidx.lifecycle.MutableLiveData; import com.cappielloantonio.tempo.model.DownloadStack; import com.cappielloantonio.tempo.repository.DownloadRepository; import com.cappielloantonio.tempo.subsonic.models.Child; -import com.cappielloantonio.tempo.util.Constants; import com.cappielloantonio.tempo.util.Preferences; import java.util.ArrayList;