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-03-04 23:31:18 +0300
committerstefan-niedermann <info@niedermann.it>2020-03-04 23:31:18 +0300
commit284461133c6f49c128d4d898348469ac2cda13c9 (patch)
tree88df946d17e970d2979a6667440706ceec3e2991
parent2f1970e2f1f611f9af447b6f5c801a714914d50d (diff)
Handle exceptions when no account has been imported yet
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/DeckLog.java30
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/DrawerActivity.java2
-rw-r--r--app/src/main/java/it/niedermann/nextcloud/deck/ui/MainActivity.java22
-rw-r--r--app/src/main/res/values/strings.xml1
-rw-r--r--fastlane/metadata/android/en-US/changelogs/22.txt3
5 files changed, 46 insertions, 12 deletions
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/DeckLog.java b/app/src/main/java/it/niedermann/nextcloud/deck/DeckLog.java
index e8427b275..f266c65f1 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/DeckLog.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/DeckLog.java
@@ -7,11 +7,31 @@ import java.io.StringWriter;
public class DeckLog {
+ public enum Severity {
+ VERBOSE, DEBUG, LOG, INFO, WARN, ERROR
+ }
+
public static void log(String message) {
+ log(message, Severity.DEBUG);
+ }
+
+ public static void log(String message, Severity severity) {
StackTraceElement caller = Thread.currentThread().getStackTrace()[3];
- String source = caller.getMethodName() + "() (" + caller.getFileName() + ":" + caller.getLineNumber() + ") -> ";
- Log.d(DeckConsts.DEBUG_TAG, source + message);
+ String source = caller.getMethodName() + "() (" + caller.getFileName() + ":" + caller.getLineNumber() + ") → " + message;
+ switch(severity) {
+ case VERBOSE: Log.v(DeckConsts.DEBUG_TAG, source);
+ break;
+ case DEBUG: Log.d(DeckConsts.DEBUG_TAG, source);
+ break;
+ case INFO: Log.i(DeckConsts.DEBUG_TAG, source);
+ break;
+ case WARN: Log.w(DeckConsts.DEBUG_TAG, source);
+ break;
+ case ERROR: Log.e(DeckConsts.DEBUG_TAG, source);
+ break;
+ }
}
+
public static void logError(Throwable e) {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
@@ -22,15 +42,15 @@ public class DeckLog {
Log.d(DeckConsts.DEBUG_TAG, source + stacktrace);
}
- public static void printCurrentStacktrace(){
+ public static void printCurrentStacktrace() {
log(getCurrentStacktrace(4));
}
- public static String getCurrentStacktrace(){
+ public static String getCurrentStacktrace() {
return getCurrentStacktrace(4);
}
- private static String getCurrentStacktrace(int offset){
+ private static String getCurrentStacktrace(@SuppressWarnings("SameParameterValue") int offset) {
StackTraceElement[] elements = Thread.currentThread().getStackTrace();
StringBuffer buff = new StringBuffer();
for (int i = offset; i < elements.length; i++) {
diff --git a/app/src/main/java/it/niedermann/nextcloud/deck/ui/DrawerActivity.java b/app/src/main/java/it/niedermann/nextcloud/deck/ui/DrawerActivity.java
index e2cb858fb..85e5286b7 100644
--- a/app/src/main/java/it/niedermann/nextcloud/deck/ui/DrawerActivity.java
+++ b/app/src/main/java/it/niedermann/nextcloud/deck/ui/DrawerActivity.java
@@ -254,7 +254,7 @@ public abstract class DrawerActivity extends AppCompatActivity implements Naviga
});
}
- private void showAccountPicker() {
+ protected void showAccountPicker() {
if (deckVersionTooLowSnackbar != null) {
deckVersionTooLowSnackbar.dismiss();
}
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 4a7b0052f..50d4f9790 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
@@ -45,6 +45,7 @@ import it.niedermann.nextcloud.deck.ui.stack.StackFragment;
import it.niedermann.nextcloud.deck.util.DeleteDialogBuilder;
import it.niedermann.nextcloud.deck.util.ViewUtil;
+import static it.niedermann.nextcloud.deck.DeckLog.Severity.INFO;
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;
import static it.niedermann.nextcloud.deck.ui.card.CardAdapter.BUNDLE_KEY_BOARD_ID;
@@ -107,14 +108,17 @@ public class MainActivity extends DrawerActivity implements
CrossTabDragAndDrop dragAndDrop = new CrossTabDragAndDrop(this);
dragAndDrop.register(binding.viewPager, binding.stackLayout);
dragAndDrop.addCardMovedByDragListener((movedCard, stackId, position) -> {
- //FIXME: implement me por favour!
syncManager.reorder(account.getId(), movedCard, stackId, position);
DeckLog.log("Card \"" + movedCard.getCard().getTitle() + "\" was moved to Stack " + stackId + " on position " + position);
});
binding.fab.setOnClickListener((View view) -> {
if (this.boardsList == null) {
- Snackbar.make(binding.coordinatorLayout, "Please add an account first", Snackbar.LENGTH_LONG);
+ DeckLog.log("FAB has been clicked, but boardsList is null... Asking to add an account", INFO);
+ Snackbar
+ .make(binding.coordinatorLayout, R.string.please_add_an_account_first, Snackbar.LENGTH_LONG)
+ .setAction(R.string.simple_add, (v) -> showAccountPicker())
+ .show();
} else if (this.boardsList.size() > 0) {
Intent intent = new Intent(this, EditActivity.class);
intent.putExtra(BUNDLE_KEY_ACCOUNT_ID, account.getId());
@@ -134,10 +138,18 @@ public class MainActivity extends DrawerActivity implements
});
binding.addStackButton.setOnClickListener((v) -> {
- if (this.boardsList.size() == 0) {
- EditBoardDialogFragment.newInstance().show(getSupportFragmentManager(), addBoard);
+ if (this.boardsList == null) {
+ DeckLog.log("Add stack has been added but boardsList is null, displaying account picker", INFO);
+ Snackbar
+ .make(binding.coordinatorLayout, R.string.please_add_an_account_first, Snackbar.LENGTH_LONG)
+ .setAction(R.string.simple_add, (view) -> showAccountPicker())
+ .show();
} else {
- EditStackDialogFragment.newInstance(NO_STACK_ID).show(getSupportFragmentManager(), addColumn);
+ if (this.boardsList.size() == 0) {
+ EditBoardDialogFragment.newInstance().show(getSupportFragmentManager(), addBoard);
+ } else {
+ EditStackDialogFragment.newInstance(NO_STACK_ID).show(getSupportFragmentManager(), addColumn);
+ }
}
});
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 77587a2a6..d1d8f8576 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -156,4 +156,5 @@
<string name="action_card_move_title">Move %1$s</string>
<string name="simple_disabled">disabled</string>
<string name="simple_copied">Copied</string>
+ <string name="please_add_an_account_first">Please add an account first</string>
</resources>
diff --git a/fastlane/metadata/android/en-US/changelogs/22.txt b/fastlane/metadata/android/en-US/changelogs/22.txt
index d6f73afe6..9fb768ba0 100644
--- a/fastlane/metadata/android/en-US/changelogs/22.txt
+++ b/fastlane/metadata/android/en-US/changelogs/22.txt
@@ -1,4 +1,5 @@
- Wrap card title to new line(s) if length exceeds width of screen (#261)
- Migrate from ButterKnife to ViewBinding (#285)
- Card context menu is cut off (#290)
-- Fix label margins and paddings \ No newline at end of file
+- Fix label margins and paddings
+- Handle exceptions when no account has been imported yet \ No newline at end of file