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>2019-10-20 15:37:59 +0300
committerstefan-niedermann <info@niedermann.it>2019-10-20 15:37:59 +0300
commit46e6399bd5eb66e9c8ea5ec71e4b1903cf31d2b8 (patch)
tree2879c3149933ee593d45b450d1f87257f7598d62 /app/src/main
parent58bc2caf7e11b3faab7b73da49b7be1898b84e17 (diff)
Polish UI for picking a board on EditActivity
Diffstat (limited to 'app/src/main')
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/EditActivity.java69
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/board/BoardAdapter.java11
-rw-r--r--app/src/main/res/layout/activity_edit.xml27
-rw-r--r--app/src/main/res/layout/item_board.xml5
-rw-r--r--app/src/main/res/values/styles.xml3
5 files changed, 75 insertions, 40 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/EditActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/EditActivity.java
index 0c8a4c6b1..5ae8e73d7 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/EditActivity.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/EditActivity.java
@@ -122,8 +122,8 @@ public class EditActivity extends AppCompatActivity implements
accountId = account.getId();
boardSelector.setVisibility(View.VISIBLE);
syncManager.getBoards(account.getId()).observe(this, (List<Board> boardsList) -> {
- for(Board board: boardsList) {
- if(!board.isPermissionEdit()) {
+ for (Board board : boardsList) {
+ if (!board.isPermissionEdit()) {
boardsList.remove(board);
}
}
@@ -141,32 +141,28 @@ public class EditActivity extends AppCompatActivity implements
if (accountId == 0L) {
throw new IllegalArgumentException("No accountId given");
}
- whenBoardIdIsAvailable();
- }
- }
-
- private void whenBoardIdIsAvailable() {
- observeOnce(syncManager.getFullBoardById(accountId, boardId), EditActivity.this, (fullBoard -> {
- canEdit = fullBoard.getBoard().isPermissionEdit();
- invalidateOptionsMenu();
- if (createMode) {
- fullCard = new FullCard();
- fullCard.setLabels(new ArrayList<>());
- fullCard.setAssignedUsers(new ArrayList<>());
- Card card = new Card();
- card.setStackId(stackId);
- fullCard.setCard(card);
- setupViewPager();
- setupTitle(createMode);
- } else {
- observeOnce(syncManager.getCardByLocalId(accountId, localId), EditActivity.this, (next) -> {
- fullCard = next;
- originalCard = new FullCard(fullCard);
+ observeOnce(syncManager.getFullBoardById(accountId, boardId), EditActivity.this, (fullBoard -> {
+ canEdit = fullBoard.getBoard().isPermissionEdit();
+ invalidateOptionsMenu();
+ if (createMode) {
+ fullCard = new FullCard();
+ fullCard.setLabels(new ArrayList<>());
+ fullCard.setAssignedUsers(new ArrayList<>());
+ Card card = new Card();
+ card.setStackId(stackId);
+ fullCard.setCard(card);
setupViewPager();
setupTitle(createMode);
- });
- }
- }));
+ } else {
+ observeOnce(syncManager.getCardByLocalId(accountId, localId), EditActivity.this, (next) -> {
+ fullCard = next;
+ originalCard = new FullCard(fullCard);
+ setupViewPager();
+ setupTitle(createMode);
+ });
+ }
+ }));
+ }
}
@Override
@@ -303,8 +299,25 @@ public class EditActivity extends AppCompatActivity implements
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
boardId = ((Board) boardSelector.getItemAtPosition(position)).getLocalId();
- stackId = 1; // FIXME
- whenBoardIdIsAvailable();
+ observeOnce(syncManager.getFullBoardById(accountId, boardId), EditActivity.this, (fullBoard -> {
+ canEdit = fullBoard.getBoard().isPermissionEdit();
+ observeOnce(syncManager.getStacksForBoard(accountId, boardId), EditActivity.this, (stacks -> {
+ if(stacks != null && stacks.size() > 0) {
+ stackId = stacks.get(0).getLocalId();
+ }
+ }));
+ if (fullCard == null) {
+ invalidateOptionsMenu();
+ fullCard = new FullCard();
+ fullCard.setLabels(new ArrayList<>());
+ fullCard.setAssignedUsers(new ArrayList<>());
+ Card card = new Card();
+ card.setStackId(stackId);
+ fullCard.setCard(card);
+ setupViewPager();
+ setupTitle(createMode);
+ }
+ }));
}
@Override
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/BoardAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/BoardAdapter.java
index 457889f26..986ce9237 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/BoardAdapter.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/BoardAdapter.java
@@ -13,6 +13,7 @@ import androidx.recyclerview.widget.RecyclerView;
import butterknife.BindView;
import butterknife.ButterKnife;
+import it.niedermann.nextcloud.deck.DeckLog;
import it.niedermann.nextcloud.deck.R;
import it.niedermann.nextcloud.deck.model.Board;
import it.niedermann.nextcloud.deck.util.ViewUtil;
@@ -35,13 +36,15 @@ public class BoardAdapter extends ArrayAdapter<Board> {
// Check if an existing view is being reused, otherwise inflate the view
if (convertView == null) {
-
convertView = LayoutInflater.from(getContext()).inflate(R.layout.item_board, parent, false);
-
}
TextView boardName = convertView.findViewById(R.id.boardName);
- boardName.setText(board.getTitle());
- boardName.setCompoundDrawables(ViewUtil.getTintedImageView(context, R.drawable.circle_grey600_36dp, "#" + board.getColor()), null, null, null);
+ if(board != null) {
+ boardName.setText(board.getTitle());
+ boardName.setCompoundDrawables(ViewUtil.getTintedImageView(context, R.drawable.circle_grey600_36dp, "#" + board.getColor()), null, null, null);
+ } else {
+ DeckLog.logError(new IllegalArgumentException("board at position " + position + "is null"));
+ }
return convertView;
}
diff --git a/app/src/main/res/layout/activity_edit.xml b/app/src/main/res/layout/activity_edit.xml
index 90c155433..f139ed88e 100644
--- a/app/src/main/res/layout/activity_edit.xml
+++ b/app/src/main/res/layout/activity_edit.xml
@@ -41,13 +41,28 @@
</androidx.appcompat.widget.Toolbar>
- <androidx.appcompat.widget.AppCompatSpinner
- android:id="@+id/boardSelector"
- android:visibility="gone"
- tools:visibility="visible"
+ <LinearLayout
android:layout_width="match_parent"
- android:layout_height="?android:attr/actionBarSize"
- android:theme="@style/ThemeOverlay.AppCompat.Dark"/>
+ android:layout_height="wrap_content"
+ android:orientation="horizontal">
+
+ <TextView
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:labelFor="@id/boardSelector"
+ android:padding="@dimen/standard_padding"
+ android:text="@string/simple_select"
+ android:textColor="@android:color/white" />
+
+ <androidx.appcompat.widget.AppCompatSpinner
+ android:id="@+id/boardSelector"
+ android:layout_width="match_parent"
+ android:layout_height="?android:attr/actionBarSize"
+ android:theme="@style/Spinner"
+ android:visibility="gone"
+ tools:listitem="@layout/item_board"
+ tools:visibility="visible" />
+ </LinearLayout>
<com.google.android.material.tabs.TabLayout
android:id="@+id/tab_layout"
diff --git a/app/src/main/res/layout/item_board.xml b/app/src/main/res/layout/item_board.xml
index ac60360b5..495b98bad 100644
--- a/app/src/main/res/layout/item_board.xml
+++ b/app/src/main/res/layout/item_board.xml
@@ -5,5 +5,6 @@
android:padding="@dimen/standard_padding"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:textColor="@color/fg_secondary"
- tools:text="4 days ago" /> \ No newline at end of file
+ android:textColor="@android:color/white"
+ android:background="@android:color/transparent"
+ tools:text="Awesome board name" /> \ No newline at end of file
diff --git a/app/src/main/res/values/styles.xml b/app/src/main/res/values/styles.xml
index d529f6ab5..300a9e22a 100644
--- a/app/src/main/res/values/styles.xml
+++ b/app/src/main/res/values/styles.xml
@@ -62,4 +62,7 @@
<item name="android:textColor">@color/danger</item>
</style>
+ <style name="Spinner" parent="ThemeOverlay.AppCompat.Dark">
+ <item name="android:textColor">@android:color/white</item>
+ </style>
</resources>