diff options
author | Stefan Niedermann <info@niedermann.it> | 2020-10-07 23:58:32 +0300 |
---|---|---|
committer | Stefan Niedermann <info@niedermann.it> | 2020-10-07 23:58:32 +0300 |
commit | d94979864bfad45a6ba24b931e88ae1e3370e81e (patch) | |
tree | 6a968db79139c8d0f6bcee28334d061a50d8b8f4 /app/src/main/java/it/niedermann/owncloud/notes/shared | |
parent | f356ec6ea1c353dd789d5f843734812f15ca974f (diff) |
#831 Migrate from SQLiteOpenHelper to Room
Migration
Diffstat (limited to 'app/src/main/java/it/niedermann/owncloud/notes/shared')
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) { |