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-03-23 23:13:43 +0300
committerNiedermann IT-Dienstleistungen <stefan-niedermann@users.noreply.github.com>2020-03-24 12:06:45 +0300
commit383f21136545be76e7fee34337209e2d7990fd24 (patch)
tree99d5e75859f8ab5ebc761ebdaaacb643e8a58bbc /app
parent7d2126c1c469fe2c30d236b60f96244eaa0d3aae (diff)
Restore offline editable and viewable cards
Signed-off-by: Stefan Niedermann <info@niedermann.it>
Diffstat (limited to 'app')
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/EditActivity.java82
-rw-r--r--app/src/main/res/layout/fragment_card_edit_tab_comments.xml1
2 files changed, 37 insertions, 46 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 8311bfb98..6cde6b36d 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
@@ -33,6 +33,7 @@ import it.niedermann.nextcloud.deck.DeckLog;
import it.niedermann.nextcloud.deck.R;
import it.niedermann.nextcloud.deck.api.IResponseCallback;
import it.niedermann.nextcloud.deck.databinding.ActivityEditBinding;
+import it.niedermann.nextcloud.deck.exceptions.OfflineException;
import it.niedermann.nextcloud.deck.model.Account;
import it.niedermann.nextcloud.deck.model.Attachment;
import it.niedermann.nextcloud.deck.model.Board;
@@ -224,53 +225,42 @@ public class EditActivity extends AppCompatActivity implements CardDetailsListen
// Comments API only available starting with version 1.0.0-alpha1
syncManager.readAccount(accountId).observe(this, (account) -> {
- syncManager.getServerVersion(new IResponseCallback<Capabilities>(account) {
- @Override
- public void onResponse(Capabilities response) {
- boolean hasCommentsAbility = (response.getDeckVersion().compareTo(new Version("1.0.0", 1, 0, 0)) >= 0);
- CardTabAdapter adapter = new CardTabAdapter(
- getSupportFragmentManager(),
- getLifecycle(),
- accountId,
- localId,
- boardId,
- canEdit,
- hasCommentsAbility);
- runOnUiThread(() -> {
- binding.pager.setOffscreenPageLimit(hasCommentsAbility ? 3 : 2);
- binding.pager.setAdapter(adapter);
- new TabLayoutMediator(binding.tabLayout, binding.pager, (tab, position) -> tab.setText(
- hasCommentsAbility
- ? tabTitlesWithComments[position]
- : tabTitles[position]
- )).attach();
- });
- }
+ try {
+ syncManager.getServerVersion(new IResponseCallback<Capabilities>(account) {
+ @Override
+ public void onResponse(Capabilities response) {
+ setupTabs((response.getDeckVersion().compareTo(new Version("1.0.0", 1, 0, 0)) >= 0));
+ }
- @Override
- public void onError(Throwable throwable) {
- DeckLog.logError(throwable);
- boolean hasCommentsAbility = false;
- CardTabAdapter adapter = new CardTabAdapter(
- getSupportFragmentManager(),
- getLifecycle(),
- accountId,
- localId,
- boardId,
- canEdit,
- hasCommentsAbility);
- runOnUiThread(() -> {
- binding.pager.setOffscreenPageLimit(hasCommentsAbility ? 3 : 2);
- binding.pager.setAdapter(adapter);
- new TabLayoutMediator(binding.tabLayout, binding.pager, (tab, position) -> tab.setText(
- hasCommentsAbility
- ? tabTitlesWithComments[position]
- : tabTitles[position]
- )).attach();
- });
- super.onError(throwable);
- }
- });
+ @Override
+ public void onError(Throwable throwable) {
+ super.onError(throwable);
+ setupTabs(false);
+ }
+ });
+ } catch (OfflineException e) {
+ setupTabs(false);
+ }
+ });
+ }
+
+ private void setupTabs(boolean hasCommentsAbility) {
+ CardTabAdapter adapter = new CardTabAdapter(
+ getSupportFragmentManager(),
+ getLifecycle(),
+ accountId,
+ localId,
+ boardId,
+ canEdit,
+ hasCommentsAbility);
+ runOnUiThread(() -> {
+ binding.pager.setOffscreenPageLimit(hasCommentsAbility ? 3 : 2);
+ binding.pager.setAdapter(adapter);
+ new TabLayoutMediator(binding.tabLayout, binding.pager, (tab, position) -> tab.setText(
+ hasCommentsAbility
+ ? tabTitlesWithComments[position]
+ : tabTitles[position]
+ )).attach();
});
}
diff --git a/app/src/main/res/layout/fragment_card_edit_tab_comments.xml b/app/src/main/res/layout/fragment_card_edit_tab_comments.xml
index 5efca94ad..ebf455d29 100644
--- a/app/src/main/res/layout/fragment_card_edit_tab_comments.xml
+++ b/app/src/main/res/layout/fragment_card_edit_tab_comments.xml
@@ -46,6 +46,7 @@
android:id="@+id/comments"
android:layout_width="match_parent"
android:layout_height="wrap_content"
+ android:layout_marginTop="@dimen/standard_margin"
app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager"
tools:listitem="@layout/item_comment" />
</LinearLayout> \ No newline at end of file