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/src
diff options
context:
space:
mode:
authorstefan-niedermann <info@niedermann.it>2019-10-20 02:32:11 +0300
committerstefan-niedermann <info@niedermann.it>2019-10-20 02:32:11 +0300
commit536a52a9a272800d359b94c38f72a3c9d16c0f6c (patch)
tree58cf3b479b21f0c61f75dbbe1b541c4b03991c3e /app/src
parent0cfcf65c53a32a5ceb9e49aa4a2b3a7221ae17d9 (diff)
Select boards
Diffstat (limited to 'app/src')
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/EditActivity.java27
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/board/SelectBoardDialogFragment.java15
2 files changed, 36 insertions, 6 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 2b6a87b59..eadfbb90f 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
@@ -1,6 +1,7 @@
package it.niedermann.nextcloud.deck.ui;
import android.app.Activity;
+import android.content.Intent;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
@@ -17,6 +18,9 @@ import androidx.viewpager.widget.ViewPager;
import com.google.android.material.tabs.TabLayout;
import com.google.android.material.textfield.TextInputLayout;
+import com.nextcloud.android.sso.exceptions.NextcloudFilesAppAccountNotFoundException;
+import com.nextcloud.android.sso.exceptions.NoCurrentAccountSelectedException;
+import com.nextcloud.android.sso.helper.SingleAccountHelper;
import java.util.ArrayList;
import java.util.Date;
@@ -27,11 +31,13 @@ import butterknife.ButterKnife;
import butterknife.Unbinder;
import it.niedermann.nextcloud.deck.Application;
import it.niedermann.nextcloud.deck.R;
+import it.niedermann.nextcloud.deck.model.Board;
import it.niedermann.nextcloud.deck.model.Card;
import it.niedermann.nextcloud.deck.model.Label;
import it.niedermann.nextcloud.deck.model.User;
import it.niedermann.nextcloud.deck.model.full.FullCard;
import it.niedermann.nextcloud.deck.persistence.sync.SyncManager;
+import it.niedermann.nextcloud.deck.ui.board.SelectBoardDialogFragment;
import it.niedermann.nextcloud.deck.ui.card.CardDetailsFragment;
import it.niedermann.nextcloud.deck.ui.card.CardTabAdapter;
import it.niedermann.nextcloud.deck.ui.exception.ExceptionHandler;
@@ -43,7 +49,9 @@ import static it.niedermann.nextcloud.deck.ui.card.CardAdapter.BUNDLE_KEY_LOCAL_
import static it.niedermann.nextcloud.deck.ui.card.CardAdapter.BUNDLE_KEY_STACK_ID;
import static it.niedermann.nextcloud.deck.ui.card.CardAdapter.NO_LOCAL_ID;
-public class EditActivity extends AppCompatActivity implements CardDetailsFragment.CardDetailsListener {
+public class EditActivity extends AppCompatActivity implements
+ CardDetailsFragment.CardDetailsListener,
+ SelectBoardDialogFragment.OnBoardSelectedListener {
SyncManager syncManager;
@@ -97,6 +105,13 @@ public class EditActivity extends AppCompatActivity implements CardDetailsFragme
createMode = NO_LOCAL_ID.equals(localId);
if(boardId == 0L) {
+ try {
+// syncManager.readAccount()
+ SingleAccountHelper.getCurrentSingleSignOnAccount(this);
+ SelectBoardDialogFragment.newInstance(accountId).show(getSupportFragmentManager(), getString(R.string.simple_select));
+ } catch (NextcloudFilesAppAccountNotFoundException | NoCurrentAccountSelectedException e) {
+ e.printStackTrace();
+ }
} else {
observeOnce(syncManager.getFullBoardById(accountId, boardId), EditActivity.this, (fullBoard -> {
canEdit = fullBoard.getBoard().isPermissionEdit();
@@ -255,4 +270,14 @@ public class EditActivity extends AppCompatActivity implements CardDetailsFragme
super.onBackPressed();
}
}
+
+ @Override
+ public void onBoardSelected(Board board) {
+ syncManager.getFullBoardById(accountId, board.getLocalId());
+ Intent intent = new Intent(this, EditActivity.class);
+ intent.putExtra(BUNDLE_KEY_ACCOUNT_ID, accountId);
+ intent.putExtra(BUNDLE_KEY_BOARD_ID, boardId);
+ intent.putExtra(BUNDLE_KEY_LOCAL_ID, localId);
+ startActivityForResult(intent, -1); // FIXME
+ }
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/SelectBoardDialogFragment.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/SelectBoardDialogFragment.java
index bffed1851..1c2c9093f 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/SelectBoardDialogFragment.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/board/SelectBoardDialogFragment.java
@@ -19,7 +19,6 @@ import butterknife.ButterKnife;
import it.niedermann.nextcloud.deck.Application;
import it.niedermann.nextcloud.deck.R;
import it.niedermann.nextcloud.deck.model.Board;
-import it.niedermann.nextcloud.deck.model.full.FullBoard;
import it.niedermann.nextcloud.deck.persistence.sync.SyncManager;
public class SelectBoardDialogFragment extends DialogFragment {
@@ -28,7 +27,7 @@ public class SelectBoardDialogFragment extends DialogFragment {
private OnBoardSelectedListener onBoardSelectedListener;
- private FullBoard fullBoard = null;
+ private Board board = null;
@BindView(R.id.boards)
RecyclerView boards;
@@ -55,13 +54,19 @@ public class SelectBoardDialogFragment extends DialogFragment {
super.onCreate(savedInstanceState);
Activity activity = Objects.requireNonNull(getActivity());
View view = activity.getLayoutInflater().inflate(R.layout.dialog_board_select, null);
+
+ long accountId = Objects.requireNonNull(getArguments()).getLong(KEY_ACCOUNT_ID);
+ if(accountId == 0L) {
+ throw new IllegalArgumentException("You must provide an accountId");
+ }
+
ButterKnife.bind(this, view);
AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(activity, Application.getAppTheme(getContext()) ? R.style.DialogDarkTheme : R.style.ThemeOverlay_AppCompat_Dialog_Alert);
dialogBuilder.setTitle(R.string.simple_select);
- dialogBuilder.setPositiveButton(R.string.simple_select, (dialog, which) -> onBoardSelectedListener.onBoardSelected(fullBoard));
+ dialogBuilder.setPositiveButton(R.string.simple_select, (dialog, which) -> onBoardSelectedListener.onBoardSelected(board));
SyncManager syncManager = new SyncManager(activity);
- syncManager.getBoards(getArguments().getLong(KEY_ACCOUNT_ID)).observe(this, (List<Board> boardsList) -> {
+ syncManager.getBoards(accountId).observe(this, (List<Board> boardsList) -> {
boards.setAdapter(new BoardAdapter(boardsList));
});
@@ -82,7 +87,7 @@ public class SelectBoardDialogFragment extends DialogFragment {
}
public interface OnBoardSelectedListener {
- void onBoardSelected(FullBoard fullBoard);
+ void onBoardSelected(Board board);
}
} \ No newline at end of file