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-02-01 19:56:06 +0300
committerstefan-niedermann <info@niedermann.it>2020-02-01 19:56:06 +0300
commit16182e52f9ad7b4d24186d8dc3359ce04e0da54b (patch)
treee124e2c6e760b69903a860fe17b2133fe4af941d
parent088af8667583885fc88edab7d1bb15c38150b258 (diff)
Fix #241 Adjust empty content views depending on edit permissions
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java13
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardActivityFragment.java9
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardAttachmentsFragment.java9
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/helper/emptycontentview/EmptyContentView.java4
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackFragment.java14
-rw-r--r--fastlane/metadata/android/en-US/changelogs/18.txt3
6 files changed, 33 insertions, 19 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 a97e5e0e9..d24e75986 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
@@ -8,7 +8,6 @@ import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.SubMenu;
import android.view.View;
-import android.widget.RelativeLayout;
import androidx.appcompat.app.AppCompatDelegate;
import androidx.appcompat.widget.AppCompatImageButton;
@@ -44,6 +43,7 @@ import it.niedermann.nextcloud.deck.ui.board.AccessControlDialogFragment;
import it.niedermann.nextcloud.deck.ui.board.EditBoardDialogFragment;
import it.niedermann.nextcloud.deck.ui.exception.ExceptionHandler;
import it.niedermann.nextcloud.deck.ui.helper.dnd.CrossTabDragAndDrop;
+import it.niedermann.nextcloud.deck.ui.helper.emptycontentview.EmptyContentView;
import it.niedermann.nextcloud.deck.ui.stack.EditStackDialogFragment;
import it.niedermann.nextcloud.deck.ui.stack.StackAdapter;
import it.niedermann.nextcloud.deck.ui.stack.StackFragment;
@@ -75,7 +75,7 @@ public class MainActivity extends DrawerActivity implements
@BindView(R.id.viewPager)
ViewPager viewPager;
@BindView(R.id.no_stacks)
- RelativeLayout noStacks;
+ EmptyContentView emptyContentView;
@BindView(R.id.add_stack)
AppCompatImageButton addStackButton;
@@ -397,23 +397,24 @@ public class MainActivity extends DrawerActivity implements
} else {
fab.hide();
addStackButton.setVisibility(View.GONE);
+ emptyContentView.hideDescription();
}
syncManager.getStacksForBoard(account.getId(), board.getLocalId()).observe(MainActivity.this, (List<FullStack> fullStacks) -> {
if (fullStacks == null) {
- noStacks.setVisibility(View.VISIBLE);
+ emptyContentView.setVisibility(View.VISIBLE);
currentBoardHasStacks = false;
} else {
- noStacks.setVisibility(View.GONE);
+ emptyContentView.setVisibility(View.GONE);
currentBoardHasStacks = true;
long savedStackId = sharedPreferences.getLong(sharedPreferencesLastStackForAccountAndBoard_ + account.getId() + "_" + this.currentBoardId, NO_STACKS);
DeckLog.log("--- Read: shared_preference_last_stack_for_account_and_board" + account.getId() + "_" + this.currentBoardId + " | " + savedStackId);
if (fullStacks.size() == 0) {
- noStacks.setVisibility(View.VISIBLE);
+ emptyContentView.setVisibility(View.VISIBLE);
currentBoardHasStacks = false;
} else {
- noStacks.setVisibility(View.GONE);
+ emptyContentView.setVisibility(View.GONE);
currentBoardHasStacks = true;
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardActivityFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardActivityFragment.java
index 8d7daf628..cadaa33f1 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardActivityFragment.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardActivityFragment.java
@@ -5,7 +5,6 @@ import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-import android.widget.RelativeLayout;
import androidx.annotation.NonNull;
import androidx.coordinatorlayout.widget.CoordinatorLayout;
@@ -23,6 +22,7 @@ import butterknife.ButterKnife;
import butterknife.Unbinder;
import it.niedermann.nextcloud.deck.R;
import it.niedermann.nextcloud.deck.persistence.sync.SyncManager;
+import it.niedermann.nextcloud.deck.ui.helper.emptycontentview.EmptyContentView;
import static it.niedermann.nextcloud.deck.ui.card.CardAdapter.BUNDLE_KEY_ACCOUNT_ID;
import static it.niedermann.nextcloud.deck.ui.card.CardAdapter.BUNDLE_KEY_BOARD_ID;
@@ -41,7 +41,7 @@ public class CardActivityFragment extends Fragment {
@BindView(R.id.activity_list)
RecyclerView activitiesList;
@BindView(R.id.no_activities)
- RelativeLayout noActivities;
+ EmptyContentView emptyContentView;
public CardActivityFragment() {
}
@@ -85,10 +85,10 @@ public class CardActivityFragment extends Fragment {
syncManager.getCardByLocalId(accountId, localId).observe(CardActivityFragment.this, (fullCard) -> {
syncManager.syncActivitiesForCard(fullCard.getCard()).observe(CardActivityFragment.this, (activities -> {
if (activities == null || activities.size() == 0) {
- noActivities.setVisibility(View.VISIBLE);
+ emptyContentView.setVisibility(View.VISIBLE);
activitiesList.setVisibility(View.GONE);
} else {
- noActivities.setVisibility(View.GONE);
+ emptyContentView.setVisibility(View.GONE);
activitiesList.setVisibility(View.VISIBLE);
RecyclerView.Adapter adapter = new ActivityAdapter(activities);
activitiesList.setAdapter(adapter);
@@ -110,6 +110,7 @@ public class CardActivityFragment extends Fragment {
}
});
} else {
+ emptyContentView.hideDescription();
fab.hide();
}
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardAttachmentsFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardAttachmentsFragment.java
index 53d8323d4..20e378062 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardAttachmentsFragment.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/CardAttachmentsFragment.java
@@ -8,7 +8,6 @@ import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-import android.widget.RelativeLayout;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -28,6 +27,7 @@ import it.niedermann.nextcloud.deck.R;
import it.niedermann.nextcloud.deck.model.Account;
import it.niedermann.nextcloud.deck.model.Attachment;
import it.niedermann.nextcloud.deck.persistence.sync.SyncManager;
+import it.niedermann.nextcloud.deck.ui.helper.emptycontentview.EmptyContentView;
import static it.niedermann.nextcloud.deck.persistence.sync.adapters.db.util.LiveDataHelper.observeOnce;
import static it.niedermann.nextcloud.deck.ui.card.CardAdapter.BUNDLE_KEY_ACCOUNT_ID;
@@ -53,7 +53,7 @@ public class CardAttachmentsFragment extends Fragment implements AttachmentAdapt
@BindView(R.id.attachments_list)
RecyclerView attachmentsList;
@BindView(R.id.no_attachments)
- RelativeLayout noAttachments;
+ EmptyContentView emptyContentView;
@Override
public View onCreateView(@NonNull LayoutInflater inflater,
@@ -72,10 +72,10 @@ public class CardAttachmentsFragment extends Fragment implements AttachmentAdapt
syncManager = new SyncManager(Objects.requireNonNull(getActivity()));
observeOnce(syncManager.getCardByLocalId(accountId, cardId), CardAttachmentsFragment.this, (fullCard) -> {
if (fullCard.getAttachments().size() == 0) {
- this.noAttachments.setVisibility(View.VISIBLE);
+ this.emptyContentView.setVisibility(View.VISIBLE);
this.attachmentsList.setVisibility(View.GONE);
} else {
- this.noAttachments.setVisibility(View.GONE);
+ this.emptyContentView.setVisibility(View.GONE);
this.attachmentsList.setVisibility(View.VISIBLE);
syncManager.readAccount(accountId).observe(CardAttachmentsFragment.this, (Account account) -> {
RecyclerView.Adapter adapter = new AttachmentAdapter(this, account, fullCard.getCard().getId(), fullCard.getAttachments());
@@ -104,6 +104,7 @@ public class CardAttachmentsFragment extends Fragment implements AttachmentAdapt
});
} else {
fab.hide();
+ emptyContentView.hideDescription();
}
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/helper/emptycontentview/EmptyContentView.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/helper/emptycontentview/EmptyContentView.java
index 280382cce..cfe9524fd 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/helper/emptycontentview/EmptyContentView.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/helper/emptycontentview/EmptyContentView.java
@@ -50,4 +50,8 @@ public class EmptyContentView extends RelativeLayout {
image.setImageResource(a.getResourceId(R.styleable.EmptyContentView_image, R.drawable.ic_app_logo));
a.recycle();
}
+
+ public void hideDescription() {
+ description.setVisibility(View.GONE);
+ }
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackFragment.java
index 1678398b2..ba44e5b8d 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackFragment.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/stack/StackFragment.java
@@ -6,7 +6,6 @@ import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
-import android.widget.RelativeLayout;
import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
@@ -23,6 +22,7 @@ import it.niedermann.nextcloud.deck.model.full.FullCard;
import it.niedermann.nextcloud.deck.model.full.FullStack;
import it.niedermann.nextcloud.deck.persistence.sync.SyncManager;
import it.niedermann.nextcloud.deck.ui.card.CardAdapter;
+import it.niedermann.nextcloud.deck.ui.helper.emptycontentview.EmptyContentView;
public class StackFragment extends Fragment {
@@ -38,11 +38,12 @@ public class StackFragment extends Fragment {
private long stackId;
private long boardId;
private Account account;
+ private boolean canEdit;
@BindView(R.id.recycler_view)
RecyclerView recyclerView;
@BindView(R.id.no_cards)
- RelativeLayout noCards;
+ EmptyContentView emptyContentView;
/**
* @param boardId of the current stack
@@ -82,6 +83,7 @@ public class StackFragment extends Fragment {
boardId = getArguments().getLong(KEY_BOARD_ID);
stackId = getArguments().getLong(KEY_STACK_ID);
account = (Account) getArguments().getSerializable(KEY_ACCOUNT);
+ canEdit = getArguments().getBoolean(KEY_HAS_EDIT_PERMISSION);
activity = Objects.requireNonNull(getActivity());
@@ -101,6 +103,10 @@ public class StackFragment extends Fragment {
});
}
+ if(!canEdit) {
+ emptyContentView.hideDescription();
+ }
+
refreshView();
return view;
}
@@ -110,9 +116,9 @@ public class StackFragment extends Fragment {
if (stack != null) {
syncManager.getFullCardsForStack(account.getId(), stack.getLocalId()).observe(StackFragment.this, (List<FullCard> cards) -> {
if (cards == null || cards.size() == 0) {
- this.noCards.setVisibility(View.VISIBLE);
+ this.emptyContentView.setVisibility(View.VISIBLE);
} else {
- this.noCards.setVisibility(View.GONE);
+ this.emptyContentView.setVisibility(View.GONE);
adapter.setCardList(cards);
}
});
diff --git a/fastlane/metadata/android/en-US/changelogs/18.txt b/fastlane/metadata/android/en-US/changelogs/18.txt
index dfa9a29fd..4ba8bdd9b 100644
--- a/fastlane/metadata/android/en-US/changelogs/18.txt
+++ b/fastlane/metadata/android/en-US/changelogs/18.txt
@@ -1,3 +1,4 @@
- EmptyContentView is not inflateable on API level 14 (#254)
- Keyboard doesn't auto pop up when creating new card (#249)
-- Due date needs padding right when user has no edit permission (#242) \ No newline at end of file
+- Due date needs padding right when user has no edit permission (#242)
+- Adjust empty content views depending on edit permissions (#241) \ No newline at end of file