diff options
author | Stefan Niedermann <info@niedermann.it> | 2020-07-04 23:21:05 +0300 |
---|---|---|
committer | Stefan Niedermann <info@niedermann.it> | 2020-07-04 23:21:05 +0300 |
commit | 034ae108ae4ab4c273ef4d74f1bfd39fbc4d8a84 (patch) | |
tree | 5bcb4620c9e451b7babe94245c76ef0e113d894d /app/src/main/java | |
parent | 8cc4ffac7d490bf05f5d3501ab13b8ce6d4b32bc (diff) | |
parent | 6cf7a252e57bfea325101ff5d2f9bfca36099171 (diff) |
Merge branch 'master' into fastlane
Diffstat (limited to 'app/src/main/java')
3 files changed, 26 insertions, 5 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java index 81e2afa71..b5713909b 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java @@ -110,6 +110,7 @@ import static it.niedermann.nextcloud.deck.persistence.sync.adapters.db.util.Liv import static it.niedermann.nextcloud.deck.ui.branding.BrandingUtil.applyBrandToFAB; import static it.niedermann.nextcloud.deck.ui.branding.BrandingUtil.applyBrandToPrimaryTabLayout; import static it.niedermann.nextcloud.deck.ui.branding.BrandingUtil.clearBrandColors; +import static it.niedermann.nextcloud.deck.ui.branding.BrandingUtil.getSecondaryForegroundColorDependingOnTheme; import static it.niedermann.nextcloud.deck.ui.branding.BrandingUtil.saveBrandColors; import static it.niedermann.nextcloud.deck.util.ColorUtil.contrastRatioIsSufficient; import static it.niedermann.nextcloud.deck.util.ColorUtil.contrastRatioIsSufficientBigAreas; @@ -372,11 +373,7 @@ public class MainActivity extends BrandedActivity implements DeleteStackListener } }); filterViewModel.getFilterInformation().observe(this, (info) -> - binding.filter.setImageDrawable(getResources().getDrawable( - filterViewModel.getFilterInformation().getValue() == null - ? R.drawable.ic_filter_list_white_24dp - : R.drawable.ic_filter_list_active_white_24dp) - )); + binding.filterIndicator.setVisibility(filterViewModel.getFilterInformation().getValue() == null ? View.GONE : View.VISIBLE)); binding.filter.setOnClickListener((v) -> FilterDialogFragment.newInstance().show(getSupportFragmentManager(), EditStackDialogFragment.class.getCanonicalName())); binding.archivedCards.setOnClickListener((v) -> startActivity(ArchivedCardsActvitiy.createIntent(this, mainViewModel.getCurrentAccount(), mainViewModel.getCurrentBoardLocalId(), mainViewModel.currentBoardHasEditPermission()))); @@ -430,6 +427,7 @@ public class MainActivity extends BrandedActivity implements DeleteStackListener @ColorInt final int headerTextColor = contrastRatioIsSufficientBigAreas(mainColor, Color.WHITE) ? Color.WHITE : Color.BLACK; DrawableCompat.setTint(headerBinding.logo.getDrawable(), headerTextColor); headerBinding.appName.setTextColor(headerTextColor); + DrawableCompat.setTint(binding.filterIndicator.getDrawable(), getSecondaryForegroundColorDependingOnTheme(this, mainColor)); } @Override diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/exception/tips/TipsAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/exception/tips/TipsAdapter.java index fa4113b1e..a059b2956 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/exception/tips/TipsAdapter.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/exception/tips/TipsAdapter.java @@ -133,6 +133,16 @@ public class TipsAdapter extends RecyclerView.Adapter<TipsViewHolder> { add(R.string.error_dialog_capabilities_not_parsable); } } + } else if (throwable instanceof RuntimeException) { + if (throwable.getMessage() != null && throwable.getMessage().contains("database")) { + Intent reportIntent = new Intent(Intent.ACTION_VIEW, Uri.parse(context.getString(R.string.url_report_bug))) + .putExtra(INTENT_EXTRA_BUTTON_TEXT, R.string.error_action_report_issue); + add(R.string.error_dialog_tip_database_upgrade_failed, reportIntent); + Intent clearIntent = new Intent(ACTION_APPLICATION_DETAILS_SETTINGS) + .setData(Uri.parse("package:" + BuildConfig.APPLICATION_ID)) + .putExtra(INTENT_EXTRA_BUTTON_TEXT, R.string.error_action_open_deck_info); + add(R.string.error_dialog_tip_clear_storage, clearIntent); + } } } diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/ColorChooser.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/ColorChooser.java index d444e075e..30dc0ada4 100644 --- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/ColorChooser.java +++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/view/ColorChooser.java @@ -5,21 +5,30 @@ import android.content.res.TypedArray; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; +import android.view.ViewGroup; import android.widget.ImageView; import android.widget.LinearLayout; import androidx.annotation.Nullable; +import com.google.android.flexbox.FlexboxLayout; import com.skydoves.colorpickerview.listeners.ColorEnvelopeListener; import it.niedermann.nextcloud.deck.R; import it.niedermann.nextcloud.deck.databinding.WidgetColorChooserBinding; import it.niedermann.nextcloud.deck.util.ViewUtil; +import static it.niedermann.nextcloud.deck.util.DimensionUtil.dpToPx; + public class ColorChooser extends LinearLayout { private WidgetColorChooserBinding binding; + private final FlexboxLayout.LayoutParams params = new FlexboxLayout.LayoutParams( + ViewGroup.LayoutParams.WRAP_CONTENT, + ViewGroup.LayoutParams.WRAP_CONTENT + ); + private Context context; private String[] colors; @@ -32,6 +41,9 @@ public class ColorChooser extends LinearLayout { super(context, attrs); this.context = context; + params.setMargins(0, dpToPx(context, R.dimen.spacer_1x), 0, 0); + params.setFlexBasisPercent(.15f); + TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.ColorChooser, 0, 0); colors = getResources().getStringArray(a.getResourceId(R.styleable.ColorChooser_colors, 0)); @@ -40,6 +52,7 @@ public class ColorChooser extends LinearLayout { binding = WidgetColorChooserBinding.inflate(LayoutInflater.from(context), this, true); for (final String color : colors) { ImageView image = new ImageView(getContext()); + image.setLayoutParams(params); image.setOnClickListener((imageView) -> { if (previouslySelectedImageView != null) { // null when first selection previouslySelectedImageView.setImageDrawable(ViewUtil.getTintedImageView(this.context, R.drawable.circle_grey600_36dp, previouslySelectedColor)); |