Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/stefan-niedermann/nextcloud-deck.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Niedermann <info@niedermann.it>2020-11-08 18:28:30 +0300
committerStefan Niedermann <info@niedermann.it>2020-11-08 18:28:30 +0300
commite765ebecfd27a9b9905dd3005e7d89bbd00d8476 (patch)
tree468bb80359594f8c9e9c3760bb91f255ba24681d /app/src/main/java/it
parent72c82de35f37fac86a58b0384b61d3dc88cbada9 (diff)
Code optimizations
Signed-off-by: Stefan Niedermann <info@niedermann.it>
Diffstat (limited to 'app/src/main/java/it')
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/CardAttachmentsFragment.java48
1 files changed, 12 insertions, 36 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/CardAttachmentsFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/CardAttachmentsFragment.java
index 390b8f4f5..df02a07ee 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/CardAttachmentsFragment.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/attachments/CardAttachmentsFragment.java
@@ -1,7 +1,5 @@
package it.niedermann.nextcloud.deck.ui.card.attachments;
-import android.animation.Animator;
-import android.animation.AnimatorListenerAdapter;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
@@ -77,8 +75,8 @@ import static android.view.View.GONE;
import static android.view.View.VISIBLE;
import static androidx.core.content.PermissionChecker.PERMISSION_GRANTED;
import static androidx.core.content.PermissionChecker.checkSelfPermission;
+import static com.google.android.material.bottomsheet.BottomSheetBehavior.STATE_COLLAPSED;
import static com.google.android.material.bottomsheet.BottomSheetBehavior.STATE_EXPANDED;
-import static com.google.android.material.bottomsheet.BottomSheetBehavior.STATE_HALF_EXPANDED;
import static com.google.android.material.bottomsheet.BottomSheetBehavior.STATE_HIDDEN;
import static it.niedermann.nextcloud.deck.persistence.sync.adapters.db.util.LiveDataHelper.observeOnce;
import static it.niedermann.nextcloud.deck.ui.branding.BrandingUtil.applyBrandToFAB;
@@ -120,7 +118,6 @@ public class CardAttachmentsFragment extends BrandedFragment implements Attachme
private CardAttachmentAdapter adapter;
private AbstractPickerAdapter<?> pickerAdapter;
- private boolean pickerAnimationInProgress = false;
private final OnBackPressedCallback backPressedCallback = new OnBackPressedCallback(true) {
@Override
@@ -193,7 +190,6 @@ public class CardAttachmentsFragment extends BrandedFragment implements Attachme
if (newState == STATE_HIDDEN) {
backPressedCallback.setEnabled(false);
binding.pickerBackdrop.setVisibility(GONE);
- setBottomNavigationVisibility(false);
} else {
if (newState == STATE_EXPANDED) {
binding.pickerBackdrop.setBackgroundColor(backdropColorExpanded);
@@ -206,19 +202,22 @@ public class CardAttachmentsFragment extends BrandedFragment implements Attachme
@Override
public void onSlide(@NonNull View bottomSheet, float slideOffset) {
- if (!pickerAnimationInProgress) {
- if (slideOffset < 0 && slideOffset < lastOffset && binding.bottomNavigation.getTranslationY() == 0) {
- setBottomNavigationVisibility(false);
- } else if (slideOffset > lastOffset && binding.bottomNavigation.getTranslationY() != 0) {
- setBottomNavigationVisibility(true);
- }
- }
if (slideOffset <= 0) {
@ColorInt
int newBackdropColor = ArgbEvaluatorCompat.getInstance().evaluate(slideOffset * -1, backdropColorExpanded, backdropColorCollapsed);
if (((ColorDrawable) binding.pickerBackdrop.getBackground()).getColor() != newBackdropColor) {
binding.pickerBackdrop.setBackgroundColor(newBackdropColor);
}
+ binding.bottomNavigation.setTranslationY((slideOffset * -1) * bottomNavigationHeight);
+ if (slideOffset <= lastOffset && slideOffset != 0) {
+ if (binding.fab.getVisibility() == GONE) {
+ binding.fab.show();
+ }
+ } else {
+ if (binding.fab.getVisibility() == VISIBLE) {
+ binding.fab.hide();
+ }
+ }
}
lastOffset = slideOffset;
}
@@ -264,8 +263,7 @@ public class CardAttachmentsFragment extends BrandedFragment implements Attachme
} else {
binding.bottomNavigation.setSelectedItemId(R.id.gallery);
showGalleryPicker();
- setBottomNavigationVisibility(true);
- mBottomSheetBehaviour.setState(STATE_HALF_EXPANDED);
+ mBottomSheetBehaviour.setState(STATE_COLLAPSED);
backPressedCallback.setEnabled(true);
requireActivity().getOnBackPressedDispatcher().addCallback(getViewLifecycleOwner(), backPressedCallback);
}
@@ -303,26 +301,6 @@ public class CardAttachmentsFragment extends BrandedFragment implements Attachme
backPressedCallback.setEnabled(binding.bottomNavigation.getTranslationY() == 0);
}
- private void setBottomNavigationVisibility(boolean visible) {
- pickerAnimationInProgress = true;
- binding.bottomNavigation
- .animate()
- .translationY(visible ? 0 : bottomNavigationHeight)
- .setDuration(250)
- .setListener(new AnimatorListenerAdapter() {
- @Override
- public void onAnimationEnd(Animator animation) {
- pickerAnimationInProgress = false;
- }
- })
- .start();
- if (visible) {
- binding.fab.hide();
- } else {
- binding.fab.show();
- }
- }
-
private void showGalleryPicker() {
if (!(pickerAdapter instanceof GalleryAdapter)) {
if (isPermissionRequestNeeded(READ_EXTERNAL_STORAGE) || isPermissionRequestNeeded(CAMERA)) {
@@ -543,7 +521,6 @@ public class CardAttachmentsFragment extends BrandedFragment implements Attachme
showFilePicker();
} else {
Toast.makeText(requireContext(), R.string.cannot_upload_files_without_permission, Toast.LENGTH_LONG).show();
- setBottomNavigationVisibility(false);
}
break;
}
@@ -552,7 +529,6 @@ public class CardAttachmentsFragment extends BrandedFragment implements Attachme
showGalleryPicker();
} else {
Toast.makeText(requireContext(), R.string.cannot_upload_files_without_permission, Toast.LENGTH_LONG).show();
- setBottomNavigationVisibility(false);
}
break;
}