remove dbflow

This commit is contained in:
Phillip Thelen 2017-05-04 12:36:39 +02:00
parent 3c61635394
commit 68e3ca7b65
45 changed files with 37 additions and 235 deletions

View file

@ -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'

View file

@ -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();
}
}

View file

@ -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() {

View file

@ -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<Void> leaveChallenge(String challengeId, LeaveChallengeBody body);
Observable<Challenge> createChallenge(Challenge challenge);
Observable<Task> createChallengeTask(String challengeId, Task task);
Observable<List<Task>> createChallengeTasks(String challengeId, List<Task> tasks);
Observable<Challenge> updateChallenge(Challenge challenge);
Observable<Void> deleteChallenge(String challengeId);
Observable<Challenge> createChallenge(Challenge challenge);
Observable<Task> createChallengeTask(String challengeId, Task task);
Observable<List<Task>> createChallengeTasks(String challengeId, List<Task> tasks);
Observable<Challenge> updateChallenge(Challenge challenge);
Observable<Void> deleteChallenge(String challengeId);
//DEBUG: These calls only work on a local development server
Observable<Void> debugAddTenGems();

View file

@ -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<Throwable>, 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<Throwable>, 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())

View file

@ -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 {

View file

@ -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;

View file

@ -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;

View file

@ -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 {

View file

@ -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();

View file

@ -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 {

View file

@ -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 {

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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 {

View file

@ -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;

View file

@ -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 {

View file

@ -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 {

View file

@ -2,7 +2,6 @@ package com.habitrpg.android.habitica.models.user;
import android.support.annotation.Nullable;
import java.util.Date;
import java.util.List;

View file

@ -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;

View file

@ -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<ChallengesListViewAdapter.ChallengeViewHolder> {
private List<Challenge> challenges = new ArrayList<>();
private List<Challenge> challengesSource = new ArrayList<>();
@ -154,7 +152,7 @@ public class ChallengesListViewAdapter extends RecyclerView.Adapter<ChallengesLi
itemView.setOnClickListener(this);
if (!viewUserChallengesOnly) {
challengeName.setTextColor(ContextCompat.getColor(getContext(), R.color.brand_200));
challengeName.setTextColor(ContextCompat.getColor(itemView.getContext(), R.color.brand_200));
}
}
@ -186,7 +184,7 @@ public class ChallengesListViewAdapter extends RecyclerView.Adapter<ChallengesLi
} else {
challengeParticipatingTextView.setVisibility(userIdExists ? View.VISIBLE : View.GONE);
leaderName.setText(getContext().getString(R.string.byLeader, challenge.leaderName));
leaderName.setText(itemView.getContext().getString(R.string.byLeader, challenge.leaderName));
participantCount.setText(String.valueOf(challenge.memberCount));
leaderParticipantLayout.setVisibility(View.VISIBLE);
arrowImage.setVisibility(View.GONE);

View file

@ -19,7 +19,6 @@ import android.widget.TextView;
import com.facebook.drawee.view.SimpleDraweeView;
import com.habitrpg.android.habitica.R;
import com.habitrpg.android.habitica.databinding.ValueBarBinding;
import net.pherth.android.emoji_library.EmojiTextView;
@ -79,21 +78,6 @@ public class DataBindingUtils {
view.setTextColor(color);
}
@BindingAdapter("android:layout_weight")
public static void setLayoutWeight(View view, float weight) {
view.clearAnimation();
ValueBarBinding value_bar = DataBindingUtil.findBinding(view);
LinearLayout.LayoutParams layout = (LinearLayout.LayoutParams) view.getLayoutParams();
if (weight == 0.0f || weight == 1.0f || value_bar.getPartyMembers()) {
layout.weight = weight;
view.setLayoutParams(layout);
} else if (layout.weight != weight) {
LayoutWeightAnimation anim = new LayoutWeightAnimation(view, weight);
anim.setDuration(1250);
view.startAnimation(anim);
}
}
@BindingAdapter("app:rounded_background")
public static void setRoundedBackground(View view, int color) {
Drawable drawable = ResourcesCompat.getDrawable(view.getResources(), R.drawable.layout_rounded_bg, null);

View file

@ -1,17 +1,16 @@
package com.habitrpg.android.habitica.utils;
import android.text.TextUtils;
import com.google.gson.JsonDeserializationContext;
import com.google.gson.JsonDeserializer;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParseException;
import com.google.gson.JsonSerializationContext;
import com.google.gson.JsonSerializer;
import com.habitrpg.android.habitica.models.social.Challenge;
import android.text.TextUtils;
import java.lang.reflect.Type;
public class ChallengeDeserializer implements JsonDeserializer<Challenge>, JsonSerializer<Challenge> {

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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<HashMap<String, Mount>> {
@Override

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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.
*/

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -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<RemindersItem> reminders = new ArrayList<RemindersItem>();
RealmList<RemindersItem> 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<RemindersItem> reminders = new ArrayList<RemindersItem>();
RealmList<RemindersItem> 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<RemindersItem>();
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<RemindersItem> reminders = new ArrayList<RemindersItem>();
RealmList<RemindersItem> 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<RemindersItem> reminders = new ArrayList<RemindersItem>();
RealmList<RemindersItem> 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<RemindersItem> reminders = new ArrayList<RemindersItem>();
RealmList<RemindersItem> 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<RemindersItem> reminders = new ArrayList<RemindersItem>();
RealmList<RemindersItem> 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<RemindersItem> reminders = new ArrayList<>();
RealmList<RemindersItem> 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);

View file

@ -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'