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:
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/SyncManager.java10
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DataBaseAdapter.java5
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/BoardDao.java3
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/PickStackActivity.java2
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/card/EditActivity.java16
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/widget/upcoming/UpcomingWidgetFactory.java11
6 files changed, 36 insertions, 11 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/SyncManager.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/SyncManager.java
index d9ccc2b1e..5a45f2d7f 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/SyncManager.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/SyncManager.java
@@ -371,6 +371,11 @@ public class SyncManager {
return dataBaseAdapter.readAccount(id);
}
+ @WorkerThread
+ public Account readAccountDirectly(long id) {
+ return dataBaseAdapter.readAccountDirectly(id);
+ }
+
@AnyThread
public LiveData<Account> readAccount(@Nullable String name) {
return dataBaseAdapter.readAccount(name);
@@ -822,6 +827,11 @@ public class SyncManager {
return dataBaseAdapter.getStack(accountId, localStackId);
}
+ @WorkerThread
+ public Long getBoardLocalIdByLocalCardIdDirectly(long localCardId) {
+ return dataBaseAdapter.getBoardLocalIdByLocalCardIdDirectly(localCardId);
+ }
+
@AnyThread
public WrappedLiveData<AccessControl> createAccessControl(long accountId, AccessControl entity) {
WrappedLiveData<AccessControl> liveData = new WrappedLiveData<>();
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DataBaseAdapter.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DataBaseAdapter.java
index 7ee84817a..ee2623372 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DataBaseAdapter.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/DataBaseAdapter.java
@@ -863,6 +863,11 @@ public class DataBaseAdapter {
}
@WorkerThread
+ public Long getBoardLocalIdByLocalCardIdDirectly(long localCardId) {
+ return db.getBoardDao().getBoardLocalIdByLocalCardIdDirectly(localCardId);
+ }
+
+ @WorkerThread
public FullBoard getFullBoardByLocalCardIdDirectly(long localCardId) {
return db.getBoardDao().getFullBoardByLocalCardIdDirectly(localCardId);
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/BoardDao.java b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/BoardDao.java
index 02e5b5aa3..9c60d9d2f 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/BoardDao.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/persistence/sync/adapters/db/dao/BoardDao.java
@@ -55,6 +55,9 @@ public interface BoardDao extends GenericDao<Board> {
@Query("SELECT b.* FROM board b JOIN stack s ON s.boardId = b.localId JOIN card c ON c.localId = :localCardId")
Board getBoardByLocalCardIdDirectly(long localCardId);
+ @Query("SELECT b.localId FROM board b JOIN stack s ON s.boardId = b.localId JOIN card c ON c.localId = :localCardId")
+ Long getBoardLocalIdByLocalCardIdDirectly(long localCardId);
+
@Transaction
@Query("SELECT b.* FROM board b JOIN stack s ON s.boardId = b.localId JOIN card c ON c.localId = :localCardId and c.stackId = s.localId")
FullBoard getFullBoardByLocalCardIdDirectly(long localCardId);
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/PickStackActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/PickStackActivity.java
index 5103cf3c1..584676337 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/PickStackActivity.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/PickStackActivity.java
@@ -108,7 +108,7 @@ public abstract class PickStackActivity extends AppCompatActivity implements Bra
}
}
- abstract protected void onSubmit(Account account, long boardId, long stackId);
+ abstract protected void onSubmit(Account account, long boardLocalId, long stackId);
abstract protected boolean showBoardsWithoutEditPermission();
} \ No newline at end of file
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/EditActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/EditActivity.java
index 9f170af1e..c009c6bfa 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/EditActivity.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/card/EditActivity.java
@@ -303,27 +303,27 @@ public class EditActivity extends BrandedActivity {
}
@NonNull
- public static Intent createNewCardIntent(@NonNull Context context, @NonNull Account account, Long boardId, Long stackId, @NonNull String title) {
- return createNewCardIntent(context, account, boardId, stackId)
+ public static Intent createNewCardIntent(@NonNull Context context, @NonNull Account account, Long boardLocalId, Long stackId, @NonNull String title) {
+ return createNewCardIntent(context, account, boardLocalId, stackId)
.putExtra(BUNDLE_KEY_TITLE, title);
}
@NonNull
- public static Intent createNewCardIntent(@NonNull Context context, @NonNull Account account, Long boardId, Long stackId) {
- return createBasicIntent(context, account, boardId)
+ public static Intent createNewCardIntent(@NonNull Context context, @NonNull Account account, Long boardLocalId, Long stackId) {
+ return createBasicIntent(context, account, boardLocalId)
.putExtra(BUNDLE_KEY_STACK_ID, stackId);
}
@NonNull
- public static Intent createEditCardIntent(@NonNull Context context, @NonNull Account account, Long boardId, Long cardId) {
- return createBasicIntent(context, account, boardId)
+ public static Intent createEditCardIntent(@NonNull Context context, @NonNull Account account, Long boardLocalId, Long cardId) {
+ return createBasicIntent(context, account, boardLocalId)
.putExtra(BUNDLE_KEY_CARD_ID, cardId);
}
- private static Intent createBasicIntent(@NonNull Context context, @NonNull Account account, Long boardId) {
+ private static Intent createBasicIntent(@NonNull Context context, @NonNull Account account, Long boardLocalId) {
return new Intent(context, EditActivity.class)
.putExtra(BUNDLE_KEY_ACCOUNT, account)
- .putExtra(BUNDLE_KEY_BOARD_ID, boardId)
+ .putExtra(BUNDLE_KEY_BOARD_ID, boardLocalId)
.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
}
}
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/widget/upcoming/UpcomingWidgetFactory.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/widget/upcoming/UpcomingWidgetFactory.java
index b572ad4d3..0cdae2dc2 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/widget/upcoming/UpcomingWidgetFactory.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/widget/upcoming/UpcomingWidgetFactory.java
@@ -4,6 +4,7 @@ import android.appwidget.AppWidgetManager;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
+import android.net.Uri;
import android.widget.RemoteViews;
import android.widget.RemoteViewsService;
@@ -24,12 +25,14 @@ import it.niedermann.nextcloud.deck.model.enums.EDueType;
import it.niedermann.nextcloud.deck.model.full.FullCard;
import it.niedermann.nextcloud.deck.model.widget.filter.dto.FilterWidgetCard;
import it.niedermann.nextcloud.deck.persistence.sync.SyncManager;
+import it.niedermann.nextcloud.deck.ui.card.EditActivity;
import static java.time.temporal.ChronoUnit.DAYS;
public class UpcomingWidgetFactory implements RemoteViewsService.RemoteViewsFactory {
private final Context context;
private final int appWidgetId;
+ private final SyncManager syncManager;
@NonNull
private final List<Object> data = new ArrayList<>();
@@ -37,12 +40,11 @@ public class UpcomingWidgetFactory implements RemoteViewsService.RemoteViewsFact
UpcomingWidgetFactory(@NonNull Context context, Intent intent) {
this.context = context;
this.appWidgetId = intent.getIntExtra(AppWidgetManager.EXTRA_APPWIDGET_ID, AppWidgetManager.INVALID_APPWIDGET_ID);
+ this.syncManager = new SyncManager(context);
}
@Override
public void onCreate() {
- final SyncManager syncManager = new SyncManager(context);
-
syncManager.getCardsForFilterWidget(appWidgetId, new IResponseCallback<List<FilterWidgetCard>>(null) {
@Override
public void onResponse(List<FilterWidgetCard> response) {
@@ -103,6 +105,11 @@ public class UpcomingWidgetFactory implements RemoteViewsService.RemoteViewsFact
final FullCard card = ((FilterWidgetCard) data.get(i)).getCard();
widget_entry = new RemoteViews(context.getPackageName(), R.layout.widget_stack_entry);
widget_entry.setTextViewText(R.id.widget_entry_content_tv, card.getCard().getTitle());
+
+ final Long localCardId = card.getCard().getLocalId();
+ final Intent intent = EditActivity.createEditCardIntent(context, syncManager.readAccountDirectly(card.getAccountId()), syncManager.getBoardLocalIdByLocalCardIdDirectly(localCardId), localCardId);
+ intent.setData(Uri.parse(intent.toUri(Intent.URI_INTENT_SCHEME)));
+ widget_entry.setOnClickFillInIntent(R.id.widget_stack_entry, intent);
}
return widget_entry;
}