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
path: root/app
diff options
context:
space:
mode:
authorStefan Niedermann <info@niedermann.it>2020-07-04 23:12:29 +0300
committerStefan Niedermann <info@niedermann.it>2020-07-04 23:12:29 +0300
commit7eab67af706cfbf90b87bc54e04f09211df06419 (patch)
tree0615b1cd5b7499353f4442318ecfc694ae996fe2 /app
parent0a4d8fc074b2fc06a48aab3242ec257014aa9b24 (diff)
parent6cf7a252e57bfea325101ff5d2f9bfca36099171 (diff)
Merge branch 'master' into 455-clone-boards
Diffstat (limited to 'app')
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java8
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/exception/tips/TipsAdapter.java10
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/view/ColorChooser.java13
-rw-r--r--app/src/main/res/layout/activity_main.xml38
-rw-r--r--app/src/main/res/layout/widget_color_chooser.xml83
-rw-r--r--app/src/main/res/values/colors.xml21
-rw-r--r--app/src/main/res/values/strings.xml3
7 files changed, 113 insertions, 63 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 f8a07f908..5c7f9d4a0 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));
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 5413b6219..a5c926a5e 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -122,19 +122,35 @@
app:srcCompat="@drawable/ic_baseline_account_circle_24"
tools:targetApi="o" />
- <ImageView
- android:id="@+id/filter"
+ <FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical|end"
- android:background="?attr/selectableItemBackgroundBorderless"
- android:contentDescription="@string/simple_filter"
- android:padding="12dp"
- android:tint="?attr/colorAccent"
- android:tooltipText="@string/simple_filter"
- android:translationX="6dp"
- app:srcCompat="@drawable/ic_filter_list_white_24dp"
- tools:targetApi="o" />
+ android:translationX="6dp">
+
+ <ImageView
+ android:id="@+id/filter"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:background="?attr/selectableItemBackgroundBorderless"
+ android:contentDescription="@string/simple_filter"
+ android:padding="12dp"
+ android:tint="?attr/colorAccent"
+ android:tooltipText="@string/simple_filter"
+ app:srcCompat="@drawable/ic_filter_list_white_24dp"
+ tools:targetApi="o" />
+
+ <ImageView
+ android:id="@+id/filter_indicator"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_gravity="bottom|end"
+ android:layout_marginEnd="12dp"
+ android:layout_marginBottom="12dp"
+ android:contentDescription="@null"
+ android:src="@drawable/circle_grey600_8dp"
+ android:tint="@color/defaultBrand" />
+ </FrameLayout>
<ImageView
android:id="@+id/archivedCards"
@@ -201,9 +217,9 @@
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
+ android:background="?attr/colorPrimary"
android:fitsSystemWindows="false"
android:theme="@style/NavigationView"
- android:background="?attr/colorPrimary"
app:headerLayout="@layout/nav_header_main" />
</androidx.drawerlayout.widget.DrawerLayout>
diff --git a/app/src/main/res/layout/widget_color_chooser.xml b/app/src/main/res/layout/widget_color_chooser.xml
index 1d3970119..2a99c7a6c 100644
--- a/app/src/main/res/layout/widget_color_chooser.xml
+++ b/app/src/main/res/layout/widget_color_chooser.xml
@@ -1,49 +1,56 @@
<?xml version="1.0" encoding="utf-8"?>
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical">
+ android:layout_height="match_parent">
- <com.google.android.flexbox.FlexboxLayout
- android:id="@+id/colorPicker"
+ <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_marginTop="@dimen/spacer_2x"
- app:alignItems="stretch"
- app:flexWrap="wrap"
- app:justifyContent="space_between">
+ android:orientation="vertical">
- <androidx.appcompat.widget.AppCompatImageView
- android:id="@+id/customColorChooser"
- android:layout_width="wrap_content"
+ <com.google.android.flexbox.FlexboxLayout
+ android:id="@+id/colorPicker"
+ android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:contentDescription="@string/pick_custom_color"
- app:srcCompat="@drawable/circle_alpha_colorize_36dp"
- tools:tint="@color/grey600" />
- </com.google.android.flexbox.FlexboxLayout>
+ android:layout_marginTop="@dimen/spacer_2x"
+ app:alignItems="stretch"
+ app:flexWrap="wrap"
+ app:justifyContent="space_between">
- <com.skydoves.colorpickerview.ColorPickerView
- android:id="@+id/customColorPicker"
- android:layout_width="200dp"
- android:layout_height="200dp"
- android:layout_gravity="center"
- android:layout_marginTop="10dp"
- android:visibility="gone"
- app:palette="@drawable/palette"
- app:selector="@drawable/wheel"
- tools:visibility="visible" />
+ <androidx.appcompat.widget.AppCompatImageView
+ android:id="@+id/customColorChooser"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:layout_marginTop="@dimen/spacer_1x"
+ android:contentDescription="@string/pick_custom_color"
+ app:layout_flexBasisPercent="15%"
+ app:srcCompat="@drawable/circle_alpha_colorize_36dp"
+ tools:tint="@color/grey600" />
+ </com.google.android.flexbox.FlexboxLayout>
- <com.skydoves.colorpickerview.sliders.BrightnessSlideBar
- android:id="@+id/brightnessSlide"
- android:layout_width="200dp"
- android:layout_height="wrap_content"
- android:layout_gravity="center"
- android:layout_marginTop="10dp"
- android:visibility="gone"
- app:borderColor_BrightnessSlider="@android:color/darker_gray"
- app:borderSize_BrightnessSlider="5"
- app:selector_BrightnessSlider="@drawable/wheel"
- tools:visibility="visible" />
-</LinearLayout> \ No newline at end of file
+ <com.skydoves.colorpickerview.ColorPickerView
+ android:id="@+id/customColorPicker"
+ android:layout_width="200dp"
+ android:layout_height="200dp"
+ android:layout_gravity="center"
+ android:layout_marginTop="10dp"
+ android:visibility="gone"
+ app:palette="@drawable/palette"
+ app:selector="@drawable/wheel"
+ tools:visibility="visible" />
+
+ <com.skydoves.colorpickerview.sliders.BrightnessSlideBar
+ android:id="@+id/brightnessSlide"
+ android:layout_width="200dp"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center"
+ android:layout_marginTop="10dp"
+ android:visibility="gone"
+ app:borderColor_BrightnessSlider="@android:color/darker_gray"
+ app:borderSize_BrightnessSlider="5"
+ app:selector_BrightnessSlider="@drawable/wheel"
+ tools:visibility="visible" />
+ </LinearLayout>
+</ScrollView> \ No newline at end of file
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 120fcac27..6db0c7441 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -24,17 +24,20 @@
<color name="overdue_text_color">#FFFFFF</color>
<!-- board color picker colors -->
- <color name="board_default_color">#31CC7C</color>
+ <color name="board_default_color">#b6469d</color>
<color name="board_default_custom_color">#616161</color>
<string-array name="board_default_colors">
- <item>#31CC7C</item>
- <item>#317CCC</item>
- <item>#FF7A66</item>
- <item>#F1DB50</item>
- <item>#7C31CC</item>
- <item>#CC317C</item>
- <item>#3A3B3D</item>
- <!-- <item>#CACBCD</item> -->
+ <item>#b6469d</item>
+ <item>#bf678b</item>
+ <item>#c98879</item>
+ <item>#ddcb55</item>
+ <item>#a5b872</item>
+ <item>#6ea68f</item>
+ <item>#3794ac</item>
+ <item>#0082c9</item>
+ <item>#2d73be</item>
+ <item>#5b64b3</item>
+ <item>#8855a8</item>
</string-array>
<color name="widget_background">#ccf5f5f5</color>
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index c8936aa87..c7b1ecc0a 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -114,6 +114,7 @@
<string name="url_about_icon_author" translatable="false">https://github.com/nextcloud/deck/commit/8c04ea8dc99e9b392f4039e8e5e6964d5a6d3453#diff-f3716cc279904617b1a21078526b6bf1R1</string>
<string name="url_source" translatable="false">https://github.com/stefan-niedermann/nextcloud-deck</string>
<string name="url_issues" translatable="false">https://github.com/stefan-niedermann/nextcloud-deck/issues/new/choose</string>
+ <string name="url_report_bug" translatable="false">https://github.com/stefan-niedermann/nextcloud-deck/issues/new?labels=bug&amp;template=bug_report.md</string>
<string name="url_license" translatable="false">https://github.com/stefan-niedermann/nextcloud-deck/blob/master/LICENSE</string>
<string name="url_translations" translatable="false">https://www.transifex.com/nextcloud/nextcloud/</string>
<string name="url_about_icons_disclaimer_mdi" translatable="false">https://materialdesignicons.com/</string>
@@ -241,6 +242,7 @@
<string name="error_dialog_title">Oh no - What now? 🙁</string>
<string name="error_dialog_tip_token_mismatch_retry">Please try to force close the app and restart it again. There might have been an incorrect connection to the Nextcloud app.</string>
<string name="error_dialog_tip_token_mismatch_clear_storage">If the issue persists, try to clear the storage of both apps: Nextcloud and Nextcloud Deck to solve this issue.</string>
+ <string name="error_dialog_tip_database_upgrade_failed">The ugprade of the database failed. Please report the issue and clear the storage to use the app normally.</string>
<string name="error_dialog_tip_clear_storage">You can clear the storage by opening the app info and selecting Storage → Clear storage.</string>
<string name="error_dialog_tip_files_outdated">Your Nextcloud app seems to be outdated. Please visit the Play Store or F-Droid to get the latest version.</string>
<string name="error_dialog_tip_files_force_stop">Something seems to be wrong with your Nextcloud app. Please try to force stop both, the Nextcloud app and the Nextcloud Deck app.</string>
@@ -261,6 +263,7 @@
<string name="error_action_open_network">Network settings</string>
<string name="error_action_server_logs">Server logs</string>
<string name="error_action_install">Install</string>
+ <string name="error_action_report_issue">Report</string>
<string name="info_box_maintenance_mode">Server in maintenance mode</string>
<string name="info_box_version_not_supported">Server version %1$s not supported, please update to %2$s</string>
<string name="share_link">Share link</string>