Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/stefan-niedermann/nextcloud-notes.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Niedermann <info@niedermann.it>2020-10-07 23:58:32 +0300
committerStefan Niedermann <info@niedermann.it>2020-10-07 23:58:32 +0300
commitd94979864bfad45a6ba24b931e88ae1e3370e81e (patch)
tree6a968db79139c8d0f6bcee28334d061a50d8b8f4 /app/src/main/java/it/niedermann/owncloud/notes/shared
parentf356ec6ea1c353dd789d5f843734812f15ca974f (diff)
#831 Migrate from SQLiteOpenHelper to Room
Migration
Diffstat (limited to 'app/src/main/java/it/niedermann/owncloud/notes/shared')
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/shared/account/AccountChooserAdapter.java8
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/shared/account/AccountChooserViewHolder.java4
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/shared/model/Capabilities.java37
-rw-r--r--app/src/main/java/it/niedermann/owncloud/notes/shared/util/DatabaseIndexUtil.java4
4 files changed, 34 insertions, 19 deletions
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/shared/account/AccountChooserAdapter.java b/app/src/main/java/it/niedermann/owncloud/notes/shared/account/AccountChooserAdapter.java
index 99861413..6804ee62 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/shared/account/AccountChooserAdapter.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/shared/account/AccountChooserAdapter.java
@@ -10,16 +10,16 @@ import androidx.recyclerview.widget.RecyclerView;
import java.util.List;
import it.niedermann.owncloud.notes.databinding.ItemAccountChooseBinding;
-import it.niedermann.owncloud.notes.persistence.entity.LocalAccount;
+import it.niedermann.owncloud.notes.persistence.entity.Account;
public class AccountChooserAdapter extends RecyclerView.Adapter<AccountChooserViewHolder> {
@NonNull
- private final List<LocalAccount> localAccounts;
+ private final List<Account> localAccounts;
@NonNull
- private final Consumer<LocalAccount> targetAccountConsumer;
+ private final Consumer<Account> targetAccountConsumer;
- public AccountChooserAdapter(@NonNull List<LocalAccount> localAccounts, @NonNull Consumer<LocalAccount> targetAccountConsumer) {
+ public AccountChooserAdapter(@NonNull List<Account> localAccounts, @NonNull Consumer<Account> targetAccountConsumer) {
super();
this.localAccounts = localAccounts;
this.targetAccountConsumer = targetAccountConsumer;
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/shared/account/AccountChooserViewHolder.java b/app/src/main/java/it/niedermann/owncloud/notes/shared/account/AccountChooserViewHolder.java
index 3b5db902..348f32dc 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/shared/account/AccountChooserViewHolder.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/shared/account/AccountChooserViewHolder.java
@@ -11,7 +11,7 @@ import com.bumptech.glide.request.RequestOptions;
import it.niedermann.android.glidesso.SingleSignOnUrl;
import it.niedermann.owncloud.notes.R;
import it.niedermann.owncloud.notes.databinding.ItemAccountChooseBinding;
-import it.niedermann.owncloud.notes.persistence.entity.LocalAccount;
+import it.niedermann.owncloud.notes.persistence.entity.Account;
public class AccountChooserViewHolder extends RecyclerView.ViewHolder {
private final ItemAccountChooseBinding binding;
@@ -21,7 +21,7 @@ public class AccountChooserViewHolder extends RecyclerView.ViewHolder {
this.binding = binding;
}
- public void bind(LocalAccount localAccount, Consumer<LocalAccount> targetAccountConsumer) {
+ public void bind(Account localAccount, Consumer<Account> targetAccountConsumer) {
Glide
.with(binding.accountItemAvatar.getContext())
.load(new SingleSignOnUrl(localAccount.getAccountName(), localAccount.getUrl() + "/index.php/avatar/" + Uri.encode(localAccount.getUserName()) + "/64"))
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/shared/model/Capabilities.java b/app/src/main/java/it/niedermann/owncloud/notes/shared/model/Capabilities.java
index b182ca63..d062bfe7 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/shared/model/Capabilities.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/shared/model/Capabilities.java
@@ -1,7 +1,9 @@
package it.niedermann.owncloud.notes.shared.model;
+import android.graphics.Color;
import android.util.Log;
+import androidx.annotation.ColorInt;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
@@ -11,6 +13,8 @@ import com.nextcloud.android.sso.exceptions.NextcloudHttpRequestFailedException;
import org.json.JSONException;
import org.json.JSONObject;
+import it.niedermann.owncloud.notes.shared.util.ColorUtil;
+
import static java.net.HttpURLConnection.HTTP_UNAVAILABLE;
/**
@@ -32,8 +36,11 @@ public class Capabilities {
private static final String JSON_OCS_DATA_CAPABILITIES_THEMING_COLOR_TEXT = "color-text";
private String apiVersion = null;
- private String color = null;
- private String textColor = null;
+
+ @ColorInt
+ private Integer color = -16743735;
+ @ColorInt
+ private Integer textColor = -16777216;
@Nullable
private String eTag;
@@ -64,10 +71,18 @@ public class Capabilities {
if (capabilities.has(JSON_OCS_DATA_CAPABILITIES_THEMING)) {
final JSONObject theming = capabilities.getJSONObject(JSON_OCS_DATA_CAPABILITIES_THEMING);
if (theming.has(JSON_OCS_DATA_CAPABILITIES_THEMING_COLOR)) {
- this.color = theming.getString(JSON_OCS_DATA_CAPABILITIES_THEMING_COLOR);
+ try {
+ this.color = Color.parseColor(ColorUtil.formatColorToParsableHexString(theming.getString(JSON_OCS_DATA_CAPABILITIES_THEMING_COLOR)));
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
}
if (theming.has(JSON_OCS_DATA_CAPABILITIES_THEMING_COLOR_TEXT)) {
- this.textColor = theming.getString(JSON_OCS_DATA_CAPABILITIES_THEMING_COLOR_TEXT);
+ try {
+ this.textColor = Color.parseColor(ColorUtil.formatColorToParsableHexString(theming.getString(JSON_OCS_DATA_CAPABILITIES_THEMING_COLOR_TEXT)));
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
}
}
}
@@ -81,17 +96,17 @@ public class Capabilities {
return apiVersion;
}
- public String getColor() {
- return color;
+ @Nullable
+ public String getETag() {
+ return eTag;
}
- public String getTextColor() {
- return textColor;
+ public Integer getColor() {
+ return color;
}
- @Nullable
- public String getETag() {
- return eTag;
+ public Integer getTextColor() {
+ return textColor;
}
@NonNull
diff --git a/app/src/main/java/it/niedermann/owncloud/notes/shared/util/DatabaseIndexUtil.java b/app/src/main/java/it/niedermann/owncloud/notes/shared/util/DatabaseIndexUtil.java
index 665d540f..8506c713 100644
--- a/app/src/main/java/it/niedermann/owncloud/notes/shared/util/DatabaseIndexUtil.java
+++ b/app/src/main/java/it/niedermann/owncloud/notes/shared/util/DatabaseIndexUtil.java
@@ -27,8 +27,8 @@ public class DatabaseIndexUtil {
db.execSQL("CREATE INDEX " + indexName + " ON " + table + "(" + column + ")");
}
- public static void dropIndexes(@NonNull SupportSQLiteDatabase db, String table) {
- try (Cursor c = db.query("SELECT name, sql FROM sqlite_master WHERE type = 'index' AND name LIKE ?", new String[] {table + "_%"})) {
+ public static void dropIndexes(@NonNull SupportSQLiteDatabase db) {
+ try (Cursor c = db.query("SELECT name, sql FROM sqlite_master WHERE type = 'index'")) {
while (c.moveToNext()) {
// Skip automatic indexes which we can't drop manually
if (c.getString(1) != null) {