From 68e3ca7b65b9596a37ed7bbc9cecb4244d28d5b2 Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Thu, 4 May 2017 12:36:39 +0200 Subject: [PATCH] remove dbflow --- Habitica/build.gradle | 5 -- .../android/habitica/HabitDatabase.java | 15 ---- .../habitica/HabiticaBaseApplication.java | 74 ++----------------- .../android/habitica/data/ApiClient.java | 17 +++-- .../data/implementation/ApiClientImpl.java | 15 +--- .../android/habitica/models/ContentGear.java | 2 - .../habitica/models/ContentResult.java | 1 - .../habitrpg/android/habitica/models/Tag.java | 1 - .../android/habitica/models/TutorialStep.java | 6 +- .../habitica/models/inventory/Animal.java | 4 - .../habitica/models/inventory/Item.java | 4 - .../models/inventory/QuestContent.java | 4 - .../models/inventory/QuestProgress.java | 6 -- .../models/invitations/GuildInvite.java | 3 - .../models/invitations/PartyInvite.java | 3 - .../habitica/models/social/Challenge.java | 1 - .../android/habitica/models/tasks/Task.java | 3 - .../android/habitica/models/user/Buffs.java | 1 - .../habitica/models/user/ContributorInfo.java | 3 +- .../android/habitica/models/user/Gear.java | 3 - .../android/habitica/models/user/Inbox.java | 3 - .../android/habitica/models/user/Items.java | 2 - .../habitica/models/user/Purchases.java | 1 - .../models/user/SubscriptionPlan.java | 1 - .../android/habitica/models/user/User.java | 5 -- .../social/ChallengesListViewAdapter.java | 6 +- .../habitica/ui/helpers/DataBindingUtils.java | 16 ---- .../habitica/utils/ChallengeDeserializer.java | 5 +- .../habitica/utils/ContentDeserializer.java | 2 +- .../utils/CustomizationDeserializer.java | 1 - .../habitica/utils/EggListDeserializer.java | 3 - .../utils/EquipmentListDeserializer.java | 1 - .../utils/FAQArticleListDeserilializer.java | 1 - .../habitica/utils/FoodListDeserializer.java | 3 - .../utils/HatchingPotionListDeserializer.java | 1 - .../habitica/utils/MountMapDeserializer.java | 2 - .../habitica/utils/PetListDeserializer.java | 2 - .../habitica/utils/PetMapDeserializer.java | 1 - .../habitica/utils/QuestListDeserializer.java | 6 -- .../habitica/utils/SkillDeserializer.java | 2 - .../habitica/utils/TaskSerializer.java | 1 - .../habitica/utils/TaskTagDeserializer.java | 2 - .../utils/TutorialStepListDeserializer.java | 1 - .../helpers/TaskAlarmManagerTest.java | 31 +++----- build.gradle | 2 +- 45 files changed, 37 insertions(+), 235 deletions(-) delete mode 100644 Habitica/src/main/java/com/habitrpg/android/habitica/HabitDatabase.java diff --git a/Habitica/build.gradle b/Habitica/build.gradle index 8f3ace8fa..a6f920627 100644 --- a/Habitica/build.gradle +++ b/Habitica/build.gradle @@ -92,11 +92,6 @@ dependencies { // a better fab alternative compile 'com.github.clans:fab:1.6.4' - // ORM - apt 'com.raizlabs.android:DBFlow-Compiler:2.2.1' - compile "com.raizlabs.android:DBFlow-Core:2.2.1" - compile "com.raizlabs.android:DBFlow:2.2.1" - //Eventbus compile 'org.greenrobot:eventbus:3.0.0' diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/HabitDatabase.java b/Habitica/src/main/java/com/habitrpg/android/habitica/HabitDatabase.java deleted file mode 100644 index 06cdb525f..000000000 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/HabitDatabase.java +++ /dev/null @@ -1,15 +0,0 @@ -package com.habitrpg.android.habitica; - -import com.raizlabs.android.dbflow.annotation.Database; - -@Database(name = HabitDatabase.NAME, version = HabitDatabase.VERSION, foreignKeysSupported = true) -public class HabitDatabase { - - public static final String NAME = "Habitica"; - - public static final int VERSION = 36; - - public HabitDatabase() { - super(); - } -} diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/HabiticaBaseApplication.java b/Habitica/src/main/java/com/habitrpg/android/habitica/HabiticaBaseApplication.java index bba6249aa..d2b6a7220 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/HabiticaBaseApplication.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/HabiticaBaseApplication.java @@ -27,7 +27,6 @@ import com.habitrpg.android.habitica.helpers.ReactiveErrorHandler; import com.habitrpg.android.habitica.proxy.ifce.CrashlyticsProxy; import com.habitrpg.android.habitica.ui.activities.IntroActivity; import com.habitrpg.android.habitica.ui.activities.LoginActivity; -import com.raizlabs.android.dbflow.config.FlowManager; import com.squareup.leakcanary.LeakCanary; import com.squareup.leakcanary.RefWatcher; @@ -36,7 +35,6 @@ import org.solovyev.android.checkout.Cache; import org.solovyev.android.checkout.Checkout; import org.solovyev.android.checkout.PurchaseVerifier; -import java.io.File; import java.lang.reflect.Field; import javax.inject.Inject; @@ -72,23 +70,15 @@ public abstract class HabiticaBaseApplication extends MultiDexApplication { return (HabiticaBaseApplication) context.getApplicationContext(); } - public static boolean exists(@NonNull Context context) { - try { - File dbFile = context.getDatabasePath(String.format("%s.db", HabitDatabase.NAME)); - return dbFile.exists(); - } catch (Exception exception) { - Log.e("DbExists", "Database %s doesn't exist.", exception); - return false; - } - } - private static void setFinalStatic(Field field, @Nullable Object newValue) throws NoSuchFieldException, IllegalAccessException { field.setAccessible(true); field.set(null, newValue); } public static void logout(Context context) { - getInstance(context).deleteDatabase(HabitDatabase.NAME); + Realm realm = Realm.getDefaultInstance(); + getInstance(context).deleteDatabase(realm.getPath()); + realm.close(); SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context); boolean use_reminder = preferences.getBoolean("use_reminder", false); String reminder_time = preferences.getString("reminder_time", "19:00"); @@ -135,7 +125,6 @@ public abstract class HabiticaBaseApplication extends MultiDexApplication { setupDagger(); crashlyticsProxy.init(this); setupLeakCanary(); - setupFlowManager(); setupFacebookSdk(); createBillingAndCheckout(); registerActivityLifecycleCallbacks(); @@ -197,10 +186,6 @@ public abstract class HabiticaBaseApplication extends MultiDexApplication { refWatcher = LeakCanary.install(this); } - private void setupFlowManager() { - FlowManager.init(this); - } - private void setupFacebookSdk() { String fbApiKey = null; try { @@ -276,55 +261,10 @@ public abstract class HabiticaBaseApplication extends MultiDexApplication { @Override public boolean deleteDatabase(String name) { - if (!name.endsWith(".db")) { - name += ".db"; - } - - FlowManager.destroy(); - reflectionHack(getApplicationContext()); - - boolean deleted = super.deleteDatabase(getDatabasePath(name).getAbsolutePath()); - - if (deleted) { - Log.i("hack", "Database deleted"); - } else { - Log.e("hack", "Database not deleted"); - } - - if (exists(getApplicationContext())) { - Log.i("hack", "Database exists before FlowManager.init"); - } else { - Log.i("hack", "Database does not exist before FlowManager.init"); - } - - return deleted; - } - - // Hack for DBFlow - Not deleting Database - // https://github.com/kaeawc/dbflow-sample-app/blob/master/app/src/main/java/io/kaeawc/flow/app/ui/MainActivityFragment.java#L201 - private void reflectionHack(@NonNull Context context) { - - try { - Field field = FlowManager.class.getDeclaredField("mDatabaseHolder"); - setFinalStatic(field, null); - } catch (NoSuchFieldException noSuchField) { - Log.e("nosuchfield", "No such field exists in FlowManager", noSuchField); - } catch (IllegalAccessException illegalAccess) { - Log.e("illegalaccess", "Illegal access of FlowManager", illegalAccess); - } - - FlowManager.init(context); - - if (exists(context)) { - Log.i("Database", "Database exists after FlowManager.init with reflection hack"); - } else { - Log.i("Database", "Database does not exist after FlowManager.init with reflection hack"); - } - } - - @Override - public File getDatabasePath(String name) { - return new File(getExternalFilesDir(null), "HabiticaDatabase/" + name); + Realm realm = Realm.getDefaultInstance(); + realm.deleteAll(); + realm.close(); + return true; } private void createBillingAndCheckout() { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/ApiClient.java b/Habitica/src/main/java/com/habitrpg/android/habitica/data/ApiClient.java index 687c246b9..5fe7d8722 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/ApiClient.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/ApiClient.java @@ -36,6 +36,7 @@ import java.util.Map; import retrofit2.HttpException; import rx.Observable; + public interface ApiClient { void setLanguageCode(String languageCode); @@ -199,14 +200,14 @@ public interface ApiClient { Observable leaveChallenge(String challengeId, LeaveChallengeBody body); - - Observable createChallenge(Challenge challenge); - - Observable createChallengeTask(String challengeId, Task task); - Observable> createChallengeTasks(String challengeId, List tasks); - Observable updateChallenge(Challenge challenge); - Observable deleteChallenge(String challengeId); - + + Observable createChallenge(Challenge challenge); + + Observable createChallengeTask(String challengeId, Task task); + Observable> createChallengeTasks(String challengeId, List tasks); + Observable updateChallenge(Challenge challenge); + Observable deleteChallenge(String challengeId); + //DEBUG: These calls only work on a local development server Observable debugAddTenGems(); diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/ApiClientImpl.java b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/ApiClientImpl.java index 7667d7ec9..ff883d593 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/ApiClientImpl.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/ApiClientImpl.java @@ -65,6 +65,7 @@ import com.habitrpg.android.habitica.models.tasks.RemindersItem; import com.habitrpg.android.habitica.models.tasks.Task; import com.habitrpg.android.habitica.models.tasks.TaskList; import com.habitrpg.android.habitica.utils.BooleanAsIntAdapter; +import com.habitrpg.android.habitica.utils.ChallengeDeserializer; import com.habitrpg.android.habitica.utils.ChatMessageDeserializer; import com.habitrpg.android.habitica.utils.ChatMessageListDeserializer; import com.habitrpg.android.habitica.utils.ChecklistItemSerializer; @@ -92,7 +93,6 @@ import com.habitrpg.android.habitica.utils.TaskSerializer; import com.habitrpg.android.habitica.utils.TaskTagDeserializer; import com.habitrpg.android.habitica.utils.TutorialStepListDeserializer; import com.habitrpg.android.habitica.utils.UserDeserializer; -import com.raizlabs.android.dbflow.structure.ModelAdapter; import java.io.IOException; import java.lang.annotation.Annotation; @@ -244,17 +244,6 @@ public class ApiClientImpl implements Action1, ApiClient { //Exclusion strategy needed for DBFlow https://github.com/Raizlabs/DBFlow/issues/121 Gson gson = new GsonBuilder() .setExclusionStrategies(new CheckListItemExcludeStrategy()) - .setExclusionStrategies(new ExclusionStrategy() { - @Override - public boolean shouldSkipField(FieldAttributes field) { - return field.getDeclaredClass().equals(ModelAdapter.class); - } - - @Override - public boolean shouldSkipClass(Class clazz) { - return false; - } - }) .registerTypeAdapter(taskTagClassListType, new TaskTagDeserializer()) .registerTypeAdapter(Boolean.class, new BooleanAsIntAdapter()) .registerTypeAdapter(boolean.class, new BooleanAsIntAdapter()) @@ -281,7 +270,7 @@ public class ApiClientImpl implements Action1, ApiClient { .registerTypeAdapter(Task.class, new TaskSerializer()) .registerTypeAdapter(ContentResult.class, new ContentDeserializer()) .registerTypeAdapter(FeedResponse.class, new FeedResponseDeserializer()) - .registerTypeAdapter(Challenge.class, new Challenge()) + .registerTypeAdapter(Challenge.class, new ChallengeDeserializer()) .registerTypeAdapter(User.class, new UserDeserializer()) .registerTypeAdapter(questCollectListType, new QuestCollectDeserializer()) .registerTypeAdapter(chatMessageListType, new ChatMessageListDeserializer()) diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/models/ContentGear.java b/Habitica/src/main/java/com/habitrpg/android/habitica/models/ContentGear.java index 99d4ad8f0..ffab0fb45 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/models/ContentGear.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/models/ContentGear.java @@ -2,8 +2,6 @@ package com.habitrpg.android.habitica.models; import com.habitrpg.android.habitica.models.inventory.Equipment; -import java.util.List; - import io.realm.RealmList; public class ContentGear { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/models/ContentResult.java b/Habitica/src/main/java/com/habitrpg/android/habitica/models/ContentResult.java index 665c828e2..1a05e4117 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/models/ContentResult.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/models/ContentResult.java @@ -9,7 +9,6 @@ import com.habitrpg.android.habitica.models.inventory.Mount; import com.habitrpg.android.habitica.models.inventory.Pet; import com.habitrpg.android.habitica.models.inventory.QuestContent; -import java.util.HashMap; import java.util.List; import io.realm.RealmList; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/models/Tag.java b/Habitica/src/main/java/com/habitrpg/android/habitica/models/Tag.java index 154f8a3f3..618094a77 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/models/Tag.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/models/Tag.java @@ -1,7 +1,6 @@ package com.habitrpg.android.habitica.models; import com.habitrpg.android.habitica.models.tasks.Task; -import com.habitrpg.android.habitica.models.tasks.TaskTag; import com.habitrpg.android.habitica.models.user.User; import java.util.List; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/models/TutorialStep.java b/Habitica/src/main/java/com/habitrpg/android/habitica/models/TutorialStep.java index d128d0c96..7dc5e8dfe 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/models/TutorialStep.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/models/TutorialStep.java @@ -1,15 +1,11 @@ package com.habitrpg.android.habitica.models; -import com.habitrpg.android.habitica.HabitDatabase; import com.habitrpg.android.habitica.models.user.Flags; -import com.raizlabs.android.dbflow.annotation.Column; -import com.raizlabs.android.dbflow.annotation.PrimaryKey; -import com.raizlabs.android.dbflow.annotation.Table; -import com.raizlabs.android.dbflow.structure.BaseModel; import java.util.Date; import io.realm.RealmObject; +import io.realm.annotations.PrimaryKey; public class TutorialStep extends RealmObject { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/models/inventory/Animal.java b/Habitica/src/main/java/com/habitrpg/android/habitica/models/inventory/Animal.java index 0a1e4c055..7519951d8 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/models/inventory/Animal.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/models/inventory/Animal.java @@ -1,9 +1,5 @@ package com.habitrpg.android.habitica.models.inventory; -import com.raizlabs.android.dbflow.annotation.Column; -import com.raizlabs.android.dbflow.annotation.PrimaryKey; -import com.raizlabs.android.dbflow.structure.BaseModel; - public interface Animal { public String getKey(); diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/models/inventory/Item.java b/Habitica/src/main/java/com/habitrpg/android/habitica/models/inventory/Item.java index b45419172..321c919d5 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/models/inventory/Item.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/models/inventory/Item.java @@ -1,9 +1,5 @@ package com.habitrpg.android.habitica.models.inventory; -import com.raizlabs.android.dbflow.annotation.Column; -import com.raizlabs.android.dbflow.annotation.PrimaryKey; -import com.raizlabs.android.dbflow.structure.BaseModel; - import io.realm.RealmModel; public interface Item extends RealmModel { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/models/inventory/QuestContent.java b/Habitica/src/main/java/com/habitrpg/android/habitica/models/inventory/QuestContent.java index 2f5f33a5c..c004346f2 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/models/inventory/QuestContent.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/models/inventory/QuestContent.java @@ -2,12 +2,8 @@ package com.habitrpg.android.habitica.models.inventory; import android.support.annotation.Nullable; -import java.util.Collection; -import java.util.HashMap; - import io.realm.RealmList; import io.realm.RealmObject; -import io.realm.annotations.Ignore; import io.realm.annotations.PrimaryKey; public class QuestContent extends RealmObject implements Item { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/models/inventory/QuestProgress.java b/Habitica/src/main/java/com/habitrpg/android/habitica/models/inventory/QuestProgress.java index a23b2cffe..456d1a727 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/models/inventory/QuestProgress.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/models/inventory/QuestProgress.java @@ -1,11 +1,5 @@ package com.habitrpg.android.habitica.models.inventory; -import com.habitrpg.android.habitica.HabitDatabase; -import com.raizlabs.android.dbflow.annotation.Column; -import com.raizlabs.android.dbflow.annotation.PrimaryKey; -import com.raizlabs.android.dbflow.annotation.Table; -import com.raizlabs.android.dbflow.structure.BaseModel; - import java.util.HashMap; import io.realm.RealmObject; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/models/invitations/GuildInvite.java b/Habitica/src/main/java/com/habitrpg/android/habitica/models/invitations/GuildInvite.java index e91388260..b1695db84 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/models/invitations/GuildInvite.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/models/invitations/GuildInvite.java @@ -1,8 +1,5 @@ package com.habitrpg.android.habitica.models.invitations; -import com.google.gson.annotations.Expose; -import com.google.gson.annotations.SerializedName; - import io.realm.RealmObject; import io.realm.annotations.PrimaryKey; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/models/invitations/PartyInvite.java b/Habitica/src/main/java/com/habitrpg/android/habitica/models/invitations/PartyInvite.java index 56bac0f7f..afdc00ba2 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/models/invitations/PartyInvite.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/models/invitations/PartyInvite.java @@ -1,8 +1,5 @@ package com.habitrpg.android.habitica.models.invitations; -import com.google.gson.annotations.Expose; -import com.google.gson.annotations.SerializedName; - import io.realm.RealmObject; import io.realm.annotations.PrimaryKey; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/models/social/Challenge.java b/Habitica/src/main/java/com/habitrpg/android/habitica/models/social/Challenge.java index e88c1d4c8..b56e08f8a 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/models/social/Challenge.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/models/social/Challenge.java @@ -1,7 +1,6 @@ package com.habitrpg.android.habitica.models.social; import com.google.gson.annotations.SerializedName; - import com.habitrpg.android.habitica.models.tasks.TasksOrder; import com.habitrpg.android.habitica.models.user.User; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/models/tasks/Task.java b/Habitica/src/main/java/com/habitrpg/android/habitica/models/tasks/Task.java index ec22a5523..10ef885de 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/models/tasks/Task.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/models/tasks/Task.java @@ -6,12 +6,9 @@ import android.support.annotation.Nullable; import com.google.gson.annotations.SerializedName; import com.habitrpg.android.habitica.R; -import com.habitrpg.android.habitica.events.TaskDeleteEvent; import com.habitrpg.android.habitica.models.Tag; import com.habitrpg.android.habitica.ui.helpers.MarkdownParser; -import org.greenrobot.eventbus.EventBus; - import java.util.ArrayList; import java.util.Calendar; import java.util.Date; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/Buffs.java b/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/Buffs.java index fa54a785d..21898ac0b 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/Buffs.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/Buffs.java @@ -1,7 +1,6 @@ package com.habitrpg.android.habitica.models.user; import com.google.gson.annotations.SerializedName; -import com.habitrpg.android.habitica.HabitDatabase; import io.realm.RealmObject; import io.realm.annotations.PrimaryKey; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/ContributorInfo.java b/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/ContributorInfo.java index d69695935..f9fba755b 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/ContributorInfo.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/ContributorInfo.java @@ -1,8 +1,7 @@ package com.habitrpg.android.habitica.models.user; -import com.google.gson.annotations.Expose; -import com.google.gson.annotations.SerializedName; import com.habitrpg.android.habitica.R; + import java.util.HashMap; import io.realm.RealmObject; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/Gear.java b/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/Gear.java index e0069fea8..d31265967 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/Gear.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/Gear.java @@ -2,11 +2,8 @@ package com.habitrpg.android.habitica.models.user; import com.habitrpg.android.habitica.models.inventory.Equipment; -import java.util.HashMap; - import io.realm.RealmList; import io.realm.RealmObject; -import io.realm.annotations.Ignore; import io.realm.annotations.PrimaryKey; public class Gear extends RealmObject { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/Inbox.java b/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/Inbox.java index 54a67b4d8..95d76fe67 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/Inbox.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/Inbox.java @@ -1,12 +1,9 @@ package com.habitrpg.android.habitica.models.user; -import com.google.gson.annotations.Expose; -import com.google.gson.annotations.SerializedName; import com.habitrpg.android.habitica.models.social.ChatMessage; import java.util.ArrayList; import java.util.List; -import java.util.Map; import io.realm.RealmList; import io.realm.RealmObject; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/Items.java b/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/Items.java index 4ea5ee38e..d5feabe87 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/Items.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/Items.java @@ -8,11 +8,9 @@ import com.habitrpg.android.habitica.models.inventory.Pet; import com.habitrpg.android.habitica.models.inventory.QuestContent; import java.util.Date; -import java.util.HashMap; import io.realm.RealmList; import io.realm.RealmObject; -import io.realm.annotations.Ignore; import io.realm.annotations.PrimaryKey; public class Items extends RealmObject { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/Purchases.java b/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/Purchases.java index 2244a1e34..f1df16051 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/Purchases.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/Purchases.java @@ -6,7 +6,6 @@ import java.util.List; import io.realm.RealmList; import io.realm.RealmObject; -import io.realm.annotations.Ignore; import io.realm.annotations.PrimaryKey; public class Purchases extends RealmObject { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/SubscriptionPlan.java b/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/SubscriptionPlan.java index 0ba87e3e5..8763ea8cd 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/SubscriptionPlan.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/SubscriptionPlan.java @@ -2,7 +2,6 @@ package com.habitrpg.android.habitica.models.user; import android.support.annotation.Nullable; - import java.util.Date; import java.util.List; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/User.java b/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/User.java index f6190ff62..999587cc5 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/User.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/models/user/User.java @@ -1,17 +1,13 @@ package com.habitrpg.android.habitica.models.user; -import android.database.sqlite.SQLiteException; import android.text.TextUtils; import com.google.gson.annotations.SerializedName; -import com.habitrpg.android.habitica.HabitDatabase; import com.habitrpg.android.habitica.models.PushDevice; import com.habitrpg.android.habitica.models.Tag; -import com.habitrpg.android.habitica.models.inventory.Pet; import com.habitrpg.android.habitica.models.invitations.Invitations; import com.habitrpg.android.habitica.models.social.Challenge; import com.habitrpg.android.habitica.models.social.UserParty; -import com.habitrpg.android.habitica.models.tasks.Task; import com.habitrpg.android.habitica.models.tasks.TaskList; import com.habitrpg.android.habitica.models.tasks.TasksOrder; import com.habitrpg.android.habitica.ui.AvatarView; @@ -19,7 +15,6 @@ import com.habitrpg.android.habitica.ui.AvatarView; import java.util.ArrayList; import java.util.EnumMap; import java.util.List; -import java.util.Map; import io.realm.RealmList; import io.realm.RealmObject; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/ChallengesListViewAdapter.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/ChallengesListViewAdapter.java index fcd9de5b1..c6e1b193b 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/ChallengesListViewAdapter.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/social/ChallengesListViewAdapter.java @@ -29,8 +29,6 @@ import java.util.List; import butterknife.BindView; import butterknife.ButterKnife; -import static com.raizlabs.android.dbflow.config.FlowManager.getContext; - public class ChallengesListViewAdapter extends RecyclerView.Adapter { private List challenges = new ArrayList<>(); private List challengesSource = new ArrayList<>(); @@ -154,7 +152,7 @@ public class ChallengesListViewAdapter extends RecyclerView.Adapter, JsonSerializer { diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/ContentDeserializer.java b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/ContentDeserializer.java index 902f53633..4d1b607ab 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/ContentDeserializer.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/ContentDeserializer.java @@ -13,9 +13,9 @@ import com.habitrpg.android.habitica.models.FAQArticle; import com.habitrpg.android.habitica.models.Skill; import com.habitrpg.android.habitica.models.inventory.Customization; import com.habitrpg.android.habitica.models.inventory.Egg; +import com.habitrpg.android.habitica.models.inventory.Equipment; import com.habitrpg.android.habitica.models.inventory.Food; import com.habitrpg.android.habitica.models.inventory.HatchingPotion; -import com.habitrpg.android.habitica.models.inventory.Equipment; import com.habitrpg.android.habitica.models.inventory.Mount; import com.habitrpg.android.habitica.models.inventory.Pet; import com.habitrpg.android.habitica.models.inventory.QuestContent; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/CustomizationDeserializer.java b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/CustomizationDeserializer.java index 74de8f90e..0f95aa27b 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/CustomizationDeserializer.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/CustomizationDeserializer.java @@ -12,7 +12,6 @@ import com.habitrpg.android.habitica.models.inventory.Customization; import java.lang.reflect.Type; import java.text.SimpleDateFormat; -import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/EggListDeserializer.java b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/EggListDeserializer.java index 79e2136c0..dbc5c751d 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/EggListDeserializer.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/EggListDeserializer.java @@ -5,12 +5,9 @@ import com.google.gson.JsonDeserializer; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParseException; -import com.habitrpg.android.habitica.models.inventory.Customization; import com.habitrpg.android.habitica.models.inventory.Egg; -import com.raizlabs.android.dbflow.sql.language.Select; import java.lang.reflect.Type; -import java.util.ArrayList; import java.util.List; import java.util.Map; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/EquipmentListDeserializer.java b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/EquipmentListDeserializer.java index e57a3107c..b6e65d4df 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/EquipmentListDeserializer.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/EquipmentListDeserializer.java @@ -8,7 +8,6 @@ import com.google.gson.JsonParseException; import com.habitrpg.android.habitica.models.inventory.Equipment; import java.lang.reflect.Type; -import java.util.ArrayList; import java.util.List; import java.util.Map; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/FAQArticleListDeserilializer.java b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/FAQArticleListDeserilializer.java index 9eb19925f..501acd0e2 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/FAQArticleListDeserilializer.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/FAQArticleListDeserilializer.java @@ -8,7 +8,6 @@ import com.google.gson.JsonParseException; import com.habitrpg.android.habitica.models.FAQArticle; import java.lang.reflect.Type; -import java.util.ArrayList; import java.util.List; import io.realm.RealmList; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/FoodListDeserializer.java b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/FoodListDeserializer.java index 7b92fcfd1..673cec035 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/FoodListDeserializer.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/FoodListDeserializer.java @@ -5,12 +5,9 @@ import com.google.gson.JsonDeserializer; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParseException; -import com.habitrpg.android.habitica.models.inventory.Customization; import com.habitrpg.android.habitica.models.inventory.Food; -import com.raizlabs.android.dbflow.sql.language.Select; import java.lang.reflect.Type; -import java.util.ArrayList; import java.util.List; import java.util.Map; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/HatchingPotionListDeserializer.java b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/HatchingPotionListDeserializer.java index d6a15f8b1..64c755d11 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/HatchingPotionListDeserializer.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/HatchingPotionListDeserializer.java @@ -8,7 +8,6 @@ import com.google.gson.JsonParseException; import com.habitrpg.android.habitica.models.inventory.HatchingPotion; import java.lang.reflect.Type; -import java.util.ArrayList; import java.util.List; import java.util.Map; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/MountMapDeserializer.java b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/MountMapDeserializer.java index 5083a7842..964178761 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/MountMapDeserializer.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/MountMapDeserializer.java @@ -6,7 +6,6 @@ import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParseException; import com.habitrpg.android.habitica.models.inventory.Mount; -import com.habitrpg.android.habitica.models.inventory.Pet; import java.lang.reflect.Type; import java.util.HashMap; @@ -14,7 +13,6 @@ import java.util.List; import java.util.Map; import io.realm.Realm; -import io.realm.RealmList; public class MountMapDeserializer implements JsonDeserializer> { @Override diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/PetListDeserializer.java b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/PetListDeserializer.java index c788da0d0..625ef53e9 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/PetListDeserializer.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/PetListDeserializer.java @@ -6,11 +6,9 @@ import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParseException; import com.habitrpg.android.habitica.models.inventory.Food; -import com.habitrpg.android.habitica.models.inventory.Mount; import com.habitrpg.android.habitica.models.inventory.Pet; import java.lang.reflect.Type; -import java.util.HashMap; import java.util.List; import java.util.Map; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/PetMapDeserializer.java b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/PetMapDeserializer.java index 5429b13ad..10e3453c1 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/PetMapDeserializer.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/PetMapDeserializer.java @@ -5,7 +5,6 @@ import com.google.gson.JsonDeserializer; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParseException; -import com.habitrpg.android.habitica.models.inventory.Mount; import com.habitrpg.android.habitica.models.inventory.Pet; import java.lang.reflect.Type; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/QuestListDeserializer.java b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/QuestListDeserializer.java index 4004403cd..1281fd74e 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/QuestListDeserializer.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/QuestListDeserializer.java @@ -5,15 +5,9 @@ import com.google.gson.JsonDeserializer; import com.google.gson.JsonElement; import com.google.gson.JsonObject; import com.google.gson.JsonParseException; -import com.habitrpg.android.habitica.models.inventory.Customization; import com.habitrpg.android.habitica.models.inventory.QuestContent; -import com.raizlabs.android.dbflow.runtime.TransactionManager; -import com.raizlabs.android.dbflow.runtime.transaction.process.ProcessModelInfo; -import com.raizlabs.android.dbflow.runtime.transaction.process.SaveModelTransaction; -import com.raizlabs.android.dbflow.sql.language.Select; import java.lang.reflect.Type; -import java.util.ArrayList; import java.util.List; import java.util.Map; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/SkillDeserializer.java b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/SkillDeserializer.java index 78e5a48f5..f977565fb 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/SkillDeserializer.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/SkillDeserializer.java @@ -12,8 +12,6 @@ import java.util.ArrayList; import java.util.List; import java.util.Map; -import io.realm.RealmList; - /** * Created by viirus on 25/11/15. */ diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/TaskSerializer.java b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/TaskSerializer.java index 069a91d7f..2a4b49372 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/TaskSerializer.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/TaskSerializer.java @@ -7,7 +7,6 @@ import com.google.gson.JsonSerializationContext; import com.google.gson.JsonSerializer; import com.habitrpg.android.habitica.models.Tag; import com.habitrpg.android.habitica.models.tasks.Task; -import com.habitrpg.android.habitica.models.tasks.TaskTag; import java.lang.reflect.Type; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/TaskTagDeserializer.java b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/TaskTagDeserializer.java index 8b87fe350..fb643dcaa 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/TaskTagDeserializer.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/TaskTagDeserializer.java @@ -5,8 +5,6 @@ import com.google.gson.JsonDeserializer; import com.google.gson.JsonElement; import com.google.gson.JsonParseException; import com.habitrpg.android.habitica.models.Tag; -import com.habitrpg.android.habitica.models.tasks.TaskTag; -import com.raizlabs.android.dbflow.sql.language.Select; import java.lang.reflect.Type; import java.util.ArrayList; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/TutorialStepListDeserializer.java b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/TutorialStepListDeserializer.java index dc30d3c7f..b33404767 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/TutorialStepListDeserializer.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/TutorialStepListDeserializer.java @@ -7,7 +7,6 @@ import com.google.gson.JsonParseException; import com.habitrpg.android.habitica.models.TutorialStep; import java.lang.reflect.Type; -import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Map; diff --git a/Habitica/src/test/java/com/habitrpg/android/habitica/helpers/TaskAlarmManagerTest.java b/Habitica/src/test/java/com/habitrpg/android/habitica/helpers/TaskAlarmManagerTest.java index 4599087ec..4f5be9bc4 100644 --- a/Habitica/src/test/java/com/habitrpg/android/habitica/helpers/TaskAlarmManagerTest.java +++ b/Habitica/src/test/java/com/habitrpg/android/habitica/helpers/TaskAlarmManagerTest.java @@ -1,11 +1,9 @@ package com.habitrpg.android.habitica.helpers; -import com.habitrpg.android.habitica.HabitDatabase; import com.habitrpg.android.habitica.receivers.TaskReceiver; import com.habitrpg.android.habitica.models.tasks.Days; import com.habitrpg.android.habitica.models.tasks.RemindersItem; import com.habitrpg.android.habitica.models.tasks.Task; -import com.raizlabs.android.dbflow.config.FlowManager; import org.junit.After; import org.junit.Assert; @@ -24,6 +22,9 @@ import java.util.ArrayList; import java.util.Calendar; import java.util.List; import java.util.UUID; + +import io.realm.RealmList; + /** * Created by keithholliday on 7/16/16. */ @@ -43,7 +44,6 @@ public class TaskAlarmManagerTest { @After public void tearDown() { - FlowManager.getDatabase(HabitDatabase.NAME).reset(context); } @Test @@ -51,7 +51,7 @@ public class TaskAlarmManagerTest { Task task = new Task(); task.setType(Task.TYPE_TODO); - List reminders = new ArrayList(); + RealmList reminders = new RealmList<>(); RemindersItem remindersItem1 = new RemindersItem(); UUID randomUUID = UUID.randomUUID(); remindersItem1.setId(randomUUID.toString()); @@ -63,7 +63,6 @@ public class TaskAlarmManagerTest { reminders.add(remindersItem1); task.setReminders(reminders); - task.save(); taskAlarmManager.setAlarmsForTask(task); @@ -82,7 +81,7 @@ public class TaskAlarmManagerTest { Task task = new Task(); task.setType(Task.TYPE_TODO); - List reminders = new ArrayList(); + RealmList reminders = new RealmList<>(); RemindersItem remindersItem1 = new RemindersItem(); UUID randomUUID = UUID.randomUUID(); remindersItem1.setId(randomUUID.toString()); @@ -94,7 +93,6 @@ public class TaskAlarmManagerTest { reminders.add(remindersItem1); task.setReminders(reminders); - task.save(); taskAlarmManager.setAlarmsForTask(task); @@ -108,13 +106,11 @@ public class TaskAlarmManagerTest { Assert.assertEquals(true, alarmUp); - reminders = new ArrayList(); + reminders = new RealmList<>(); cal.set(Calendar.MINUTE, cal.get(Calendar.MINUTE) + 1); remindersItem1.setTime(cal.getTime()); - remindersItem1.save(); reminders.add(remindersItem1); task.setReminders(reminders); - task.save(); taskAlarmManager.setAlarmsForTask(task); int newAlarmId = reminders.get(0).getId().hashCode() & 0xfffffff; @@ -132,14 +128,13 @@ public class TaskAlarmManagerTest { Task task = new Task(); task.setType(Task.TYPE_TODO); - List reminders = new ArrayList(); + RealmList reminders = new RealmList<>(); RemindersItem remindersItem1 = new RemindersItem(); Calendar cal = Calendar.getInstance(); cal.set(Calendar.MINUTE, cal.get(Calendar.MINUTE) + 1); remindersItem1.setTime(cal.getTime()); reminders.add(remindersItem1); task.setReminders(reminders); - task.save(); // taskAlarmManager.setAlarmsForTask(task); // @@ -180,7 +175,7 @@ public class TaskAlarmManagerTest { taskRepeatDays.setSu(false); task.setRepeat(taskRepeatDays); - List reminders = new ArrayList(); + RealmList reminders = new RealmList<>(); RemindersItem remindersItem1 = new RemindersItem(); UUID randomUUID = UUID.randomUUID(); remindersItem1.setId(randomUUID.toString()); @@ -194,7 +189,6 @@ public class TaskAlarmManagerTest { reminders.add(remindersItem1); task.setReminders(reminders); - task.save(); taskAlarmManager.setAlarmsForTask(task); @@ -230,7 +224,7 @@ public class TaskAlarmManagerTest { taskRepeatDays.setSu(false); task.setRepeat(taskRepeatDays); - List reminders = new ArrayList(); + RealmList reminders = new RealmList<>(); RemindersItem remindersItem1 = new RemindersItem(); UUID randomUUID = UUID.randomUUID(); remindersItem1.setId(randomUUID.toString()); @@ -242,7 +236,6 @@ public class TaskAlarmManagerTest { reminders.add(remindersItem1); task.setReminders(reminders); - task.save(); taskAlarmManager.setAlarmsForTask(task); @@ -270,7 +263,7 @@ public class TaskAlarmManagerTest { int everyXDay = 2; task.setEveryX(everyXDay); - List reminders = new ArrayList(); + RealmList reminders = new RealmList<>(); RemindersItem remindersItem1 = new RemindersItem(); UUID randomUUID = UUID.randomUUID(); remindersItem1.setId(randomUUID.toString()); @@ -289,7 +282,6 @@ public class TaskAlarmManagerTest { reminders.add(remindersItem1); task.setReminders(reminders); - task.save(); taskAlarmManager.setAlarmsForTask(task); @@ -322,7 +314,7 @@ public class TaskAlarmManagerTest { int everyXDay = 2; task.setEveryX(everyXDay); - List reminders = new ArrayList<>(); + RealmList reminders = new RealmList<>(); RemindersItem remindersItem1 = new RemindersItem(); UUID randomUUID = UUID.randomUUID(); remindersItem1.setId(randomUUID.toString()); @@ -335,7 +327,6 @@ public class TaskAlarmManagerTest { reminders.add(remindersItem1); task.setReminders(reminders); - task.save(); taskAlarmManager.setAlarmsForTask(task); diff --git a/build.gradle b/build.gradle index d6dc07752..9703a2dc9 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ buildscript { jcenter() } dependencies { - classpath 'com.android.tools.build:gradle:2.3.1' + classpath 'com.android.tools.build:gradle:2.3.2' classpath 'com.android.databinding:dataBinder:1.0-rc4' classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' classpath 'com.google.gms:google-services:3.0.0'