diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/callbacks/HabitRPGUserCallback.java b/Habitica/src/main/java/com/habitrpg/android/habitica/callbacks/HabitRPGUserCallback.java index d64ec0869..d4c7ae340 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/callbacks/HabitRPGUserCallback.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/callbacks/HabitRPGUserCallback.java @@ -20,11 +20,11 @@ public class HabitRPGUserCallback implements Action1 { } @Override - public void call(HabitRPGUser habitRPGUser) { + public void call(HabitRPGUser user) { // Negue: once everything is refactored to DbFlowTaskLocalRepository, this will be removed - habitRPGUser.async().save(); + user.async().save(); if (callBack != null) { - callBack.onUserReceived(habitRPGUser); + callBack.onUserReceived(user); } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/callbacks/MergeUserCallback.java b/Habitica/src/main/java/com/habitrpg/android/habitica/callbacks/MergeUserCallback.java index 77b94372f..713ba5fb3 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/callbacks/MergeUserCallback.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/callbacks/MergeUserCallback.java @@ -16,20 +16,6 @@ public class MergeUserCallback extends HabitRPGUserCallback { @Override public void call(HabitRPGUser user) { - if (user.getItems() != null) { - this.user.setItems(user.getItems()); - } - if (user.getPreferences() != null) { - this.user.setPreferences(user.getPreferences()); - } - if (user.getFlags() != null) { - this.user.setFlags(user.getFlags()); - } - if (user.getStats() != null) { - this.user.getStats().merge(user.getStats()); - } - - this.user.async().save(); if (callBack != null) { callBack.onUserReceived(this.user); diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/SetupCustomizationRepository.java b/Habitica/src/main/java/com/habitrpg/android/habitica/data/SetupCustomizationRepository.java index d112c04e2..1b7a37104 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/SetupCustomizationRepository.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/SetupCustomizationRepository.java @@ -1,7 +1,6 @@ package com.habitrpg.android.habitica.data; -import com.magicmicky.habitrpgwrapper.lib.models.Customization; import com.magicmicky.habitrpgwrapper.lib.models.HabitRPGUser; import com.magicmicky.habitrpgwrapper.lib.models.SetupCustomization; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/TagRepository.java b/Habitica/src/main/java/com/habitrpg/android/habitica/data/TagRepository.java index 76a67129d..17928a88a 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/TagRepository.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/TagRepository.java @@ -9,10 +9,10 @@ import rx.Observable; public interface TagRepository extends BaseRepository { + Observable> getTags(); + Observable createTag(Tag tag); - Observable updateTag(Tag tag); - Observable deleteTag(String id); diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/TaskRepository.java b/Habitica/src/main/java/com/habitrpg/android/habitica/data/TaskRepository.java index 945d9d58f..4f2e85e92 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/TaskRepository.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/TaskRepository.java @@ -7,11 +7,12 @@ import com.magicmicky.habitrpgwrapper.lib.models.tasks.TaskList; import com.magicmicky.habitrpgwrapper.lib.models.tasks.TasksOrder; import java.util.ArrayList; +import java.util.List; import rx.Observable; public interface TaskRepository extends BaseRepository { - Observable> getTasks(String taskType); + Observable> getTasks(String taskType, String userID); Observable refreshTasks(TasksOrder tasksOrder); @@ -21,4 +22,6 @@ public interface TaskRepository extends BaseRepository { Observable createTask(Task task); Observable updateTask(Task task); + + Observable deleteTask(String taskID); } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/UserRepository.java b/Habitica/src/main/java/com/habitrpg/android/habitica/data/UserRepository.java new file mode 100644 index 000000000..584f2a430 --- /dev/null +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/UserRepository.java @@ -0,0 +1,17 @@ +package com.habitrpg.android.habitica.data; + +import com.magicmicky.habitrpgwrapper.lib.models.HabitRPGUser; + +import java.util.Map; + +import rx.Observable; + +public interface UserRepository extends BaseRepository { + + Observable getUser(String userID); + Observable updateUser(HabitRPGUser user, Map updateData); + + Observable retrieveUser(Boolean withTasks); + + Observable revive(HabitRPGUser user); +} 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 ca62821bb..34789c5ea 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 @@ -156,6 +156,7 @@ public class ApiClientImpl implements Action1, ApiClient { this.context = context; this.crashlyticsProxy = crashlyticsProxy; this.popupNotificationsManager = popupNotificationsManager; + this.popupNotificationsManager.setApiClient(this); HabiticaBaseApplication.getComponent().inject(this); crashlyticsProxy.setUserIdentifier(this.hostConfig.getUser()); diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/SetupCustomizationRepositoryImpl.java b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/SetupCustomizationRepositoryImpl.java index ed65f4ef2..9f752771f 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/SetupCustomizationRepositoryImpl.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/SetupCustomizationRepositoryImpl.java @@ -6,9 +6,7 @@ import com.magicmicky.habitrpgwrapper.lib.models.HabitRPGUser; import com.magicmicky.habitrpgwrapper.lib.models.SetupCustomization; import android.content.Context; -import android.graphics.drawable.Drawable; -import java.lang.reflect.Field; import java.util.ArrayList; import java.util.Arrays; import java.util.List; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/TagRepositoryImpl.java b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/TagRepositoryImpl.java index 1aec6da10..8fd0da8f6 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/TagRepositoryImpl.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/TagRepositoryImpl.java @@ -17,6 +17,11 @@ public class TagRepositoryImpl extends BaseRepositoryImpl im super(localRepository, apiClient); } + @Override + public Observable> getTags() { + return localRepository.getTags(); + } + @Override public Observable createTag(Tag tag) { return apiClient.createTag(tag); diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/TaskRepositoryImpl.java b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/TaskRepositoryImpl.java index ab0531a90..ce7552a0b 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/TaskRepositoryImpl.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/TaskRepositoryImpl.java @@ -9,8 +9,8 @@ import com.magicmicky.habitrpgwrapper.lib.models.tasks.Task; import com.magicmicky.habitrpgwrapper.lib.models.tasks.TaskList; import com.magicmicky.habitrpgwrapper.lib.models.tasks.TasksOrder; -import java.util.ArrayList; import java.util.Date; +import java.util.List; import rx.Observable; @@ -24,8 +24,8 @@ public class TaskRepositoryImpl extends BaseRepositoryImpl } @Override - public Observable> getTasks(String taskType) { - return this.localRepository.getTasks(taskType); + public Observable> getTasks(String taskType, String userID) { + return this.localRepository.getTasks(taskType, userID); } @Override @@ -73,4 +73,9 @@ public class TaskRepositoryImpl extends BaseRepositoryImpl } return apiClient.updateTask(task.getId(), task); } + + @Override + public Observable deleteTask(String taskID) { + return apiClient.deleteTask(taskID); + } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/UserRepositoryImpl.java b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/UserRepositoryImpl.java new file mode 100644 index 000000000..725146488 --- /dev/null +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/implementation/UserRepositoryImpl.java @@ -0,0 +1,58 @@ +package com.habitrpg.android.habitica.data.implementation; + +import com.habitrpg.android.habitica.data.ApiClient; +import com.habitrpg.android.habitica.data.UserRepository; +import com.habitrpg.android.habitica.data.local.UserLocalRepository; +import com.magicmicky.habitrpgwrapper.lib.models.HabitRPGUser; + +import java.util.Map; + +import rx.Observable; +import rx.android.schedulers.AndroidSchedulers; + + +public class UserRepositoryImpl extends BaseRepositoryImpl implements UserRepository { + + public UserRepositoryImpl(UserLocalRepository localRepository, ApiClient apiClient) { + super(localRepository, apiClient); + } + + @Override + public Observable getUser(String userID) { + return localRepository.getUser(userID); + } + + @Override + public Observable updateUser(HabitRPGUser user, Map updateData) { + return apiClient.updateUser(updateData) + .map(newUser -> mergeUser(user, newUser)); + } + + @Override + public Observable retrieveUser(Boolean withTasks) { + return apiClient.retrieveUser(withTasks); + } + + @Override + public Observable revive(HabitRPGUser user) { + return apiClient.revive().map(newUser -> mergeUser(user, newUser)); + } + + private HabitRPGUser mergeUser(HabitRPGUser oldUser, HabitRPGUser newUser) { + if (newUser.getItems() != null) { + oldUser.setItems(newUser.getItems()); + } + if (newUser.getPreferences() != null) { + oldUser.setPreferences(newUser.getPreferences()); + } + if (newUser.getFlags() != null) { + oldUser.setFlags(newUser.getFlags()); + } + if (newUser.getStats() != null) { + oldUser.getStats().merge(newUser.getStats()); + } + + oldUser.async().save(); + return oldUser; + } +} diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/TagLocalRepository.java b/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/TagLocalRepository.java index 376c10bf2..cf397f51d 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/TagLocalRepository.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/TagLocalRepository.java @@ -1,4 +1,11 @@ package com.habitrpg.android.habitica.data.local; +import com.magicmicky.habitrpgwrapper.lib.models.Tag; + +import java.util.List; + +import rx.Observable; + public interface TagLocalRepository extends BaseLocalRepository { + Observable> getTags(); } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/TaskLocalRepository.java b/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/TaskLocalRepository.java index 656c2176f..87d6e4a8f 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/TaskLocalRepository.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/TaskLocalRepository.java @@ -5,12 +5,13 @@ import com.magicmicky.habitrpgwrapper.lib.models.tasks.TaskList; import com.magicmicky.habitrpgwrapper.lib.models.tasks.TasksOrder; import java.util.ArrayList; +import java.util.List; import rx.Observable; public interface TaskLocalRepository extends BaseLocalRepository { - Observable> getTasks(String taskType); + Observable> getTasks(String taskType, String userID); void saveTasks(TasksOrder tasksOrder, TaskList tasks); diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/UserLocalRepository.java b/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/UserLocalRepository.java new file mode 100644 index 000000000..40a6efb33 --- /dev/null +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/UserLocalRepository.java @@ -0,0 +1,11 @@ +package com.habitrpg.android.habitica.data.local; + +import com.magicmicky.habitrpgwrapper.lib.models.HabitRPGUser; + +import rx.Observable; + +public interface UserLocalRepository extends BaseLocalRepository { + + Observable getUser(String userID); + +} diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/implementation/DbFlowTagLocalRepository.java b/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/implementation/DbFlowTagLocalRepository.java new file mode 100644 index 000000000..0007c1805 --- /dev/null +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/implementation/DbFlowTagLocalRepository.java @@ -0,0 +1,25 @@ +package com.habitrpg.android.habitica.data.local.implementation; + + +import com.habitrpg.android.habitica.data.local.TagLocalRepository; +import com.magicmicky.habitrpgwrapper.lib.models.Tag; +import com.raizlabs.android.dbflow.sql.language.OrderBy; +import com.raizlabs.android.dbflow.sql.language.Select; + +import java.util.List; + +import rx.Observable; + +public class DbFlowTagLocalRepository implements TagLocalRepository { + @Override + public void close() { + + } + + @Override + public Observable> getTags() { + return Observable.defer(() -> Observable.just(new Select().from(Tag.class) + .orderBy(OrderBy.columns("position", "dateCreated").descending()) + .queryList())); + } +} diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/implementation/DbFlowTaskLocalRepository.java b/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/implementation/DbFlowTaskLocalRepository.java index c5dfa086e..862a9befe 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/implementation/DbFlowTaskLocalRepository.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/implementation/DbFlowTaskLocalRepository.java @@ -4,6 +4,9 @@ import com.habitrpg.android.habitica.data.local.TaskLocalRepository; import com.magicmicky.habitrpgwrapper.lib.models.tasks.Task; import com.magicmicky.habitrpgwrapper.lib.models.tasks.TaskList; import com.magicmicky.habitrpgwrapper.lib.models.tasks.TasksOrder; +import com.raizlabs.android.dbflow.sql.builder.Condition; +import com.raizlabs.android.dbflow.sql.language.OrderBy; +import com.raizlabs.android.dbflow.sql.language.Select; import java.util.ArrayList; import java.util.HashMap; @@ -14,8 +17,16 @@ import rx.Observable; public class DbFlowTaskLocalRepository implements TaskLocalRepository { @Override - public Observable> getTasks(String taskType) { - return null; + public Observable> getTasks(String taskType, String userID) { + return Observable.defer(() -> Observable.just(new Select().from(Task.class) + .where(Condition.column("type").eq(taskType)) + .and(Condition.CombinedCondition + .begin(Condition.column("completed").eq(false)) + .or(Condition.column("type").eq("daily")) + ) + .and(Condition.column("user_id").eq(userID)) + .orderBy(OrderBy.columns("position", "dateCreated").descending()) + .queryList())); } @Override diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/implementation/DbFlowUserLocalRepository.java b/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/implementation/DbFlowUserLocalRepository.java new file mode 100644 index 000000000..4e23bd3c6 --- /dev/null +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/implementation/DbFlowUserLocalRepository.java @@ -0,0 +1,21 @@ +package com.habitrpg.android.habitica.data.local.implementation; + +import com.habitrpg.android.habitica.data.local.UserLocalRepository; +import com.magicmicky.habitrpgwrapper.lib.models.HabitRPGUser; +import com.raizlabs.android.dbflow.sql.builder.Condition; +import com.raizlabs.android.dbflow.sql.language.Select; + +import rx.Observable; + +public class DbFlowUserLocalRepository implements UserLocalRepository { + @Override + public void close() { + + } + + @Override + public Observable getUser(String userID) { + return Observable.defer(() -> Observable.just(new Select() + .from(HabitRPGUser.class).where(Condition.column("id").eq(userID)).querySingle())); + } +} diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/implementation/TagLocalRepositoryImpl.java b/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/implementation/TagLocalRepositoryImpl.java deleted file mode 100644 index 2d96269b0..000000000 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/data/local/implementation/TagLocalRepositoryImpl.java +++ /dev/null @@ -1,11 +0,0 @@ -package com.habitrpg.android.habitica.data.local.implementation; - - -import com.habitrpg.android.habitica.data.local.TagLocalRepository; - -public class TagLocalRepositoryImpl implements TagLocalRepository { - @Override - public void close() { - - } -} diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/QrCodeManager.java b/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/QrCodeManager.java index f38da6bed..2c308134b 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/QrCodeManager.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/QrCodeManager.java @@ -52,8 +52,8 @@ public class QrCodeManager { private TransactionListener userTransactionListener = new TransactionListener() { @Override - public void onResultReceived(HabitRPGUser habitRPGUser) { - QrCodeManager.this.avatarView.setUser(habitRPGUser); + public void onResultReceived(HabitRPGUser user) { + QrCodeManager.this.avatarView.setUser(user); } @Override @@ -62,7 +62,7 @@ public class QrCodeManager { } @Override - public boolean hasResult(BaseTransaction baseTransaction, HabitRPGUser habitRPGUser) { + public boolean hasResult(BaseTransaction baseTransaction, HabitRPGUser user) { return true; } }; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/modules/RepositoryModule.java b/Habitica/src/main/java/com/habitrpg/android/habitica/modules/RepositoryModule.java index d49f23105..0444ddf7a 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/modules/RepositoryModule.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/modules/RepositoryModule.java @@ -4,14 +4,18 @@ package com.habitrpg.android.habitica.modules; import com.habitrpg.android.habitica.data.SetupCustomizationRepository; import com.habitrpg.android.habitica.data.TagRepository; import com.habitrpg.android.habitica.data.TaskRepository; +import com.habitrpg.android.habitica.data.UserRepository; import com.habitrpg.android.habitica.data.implementation.SetupCustomizationRepositoryImpl; import com.habitrpg.android.habitica.data.implementation.TagRepositoryImpl; import com.habitrpg.android.habitica.data.implementation.TaskRepositoryImpl; +import com.habitrpg.android.habitica.data.implementation.UserRepositoryImpl; import com.habitrpg.android.habitica.data.local.TagLocalRepository; import com.habitrpg.android.habitica.data.local.TaskLocalRepository; +import com.habitrpg.android.habitica.data.local.UserLocalRepository; import com.habitrpg.android.habitica.data.local.implementation.DbFlowTaskLocalRepository; -import com.habitrpg.android.habitica.data.local.implementation.TagLocalRepositoryImpl; +import com.habitrpg.android.habitica.data.local.implementation.DbFlowTagLocalRepository; import com.habitrpg.android.habitica.data.ApiClient; +import com.habitrpg.android.habitica.data.local.implementation.DbFlowUserLocalRepository; import android.content.Context; @@ -42,11 +46,21 @@ public class RepositoryModule { @Provides TagLocalRepository providesTagLocalRepository() { - return new TagLocalRepositoryImpl(); + return new DbFlowTagLocalRepository(); } @Provides TagRepository providesTagRepository(TagLocalRepository localRepository, ApiClient apiClient) { return new TagRepositoryImpl(localRepository, apiClient); } + + @Provides + UserLocalRepository providesUserLocalRepository() { + return new DbFlowUserLocalRepository(); + } + + @Provides + UserRepository providesUserRepository(UserLocalRepository localRepository, ApiClient apiClient) { + return new UserRepositoryImpl(localRepository, apiClient); + } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.java index 0d7e30a91..b75ecdc03 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/MainActivity.java @@ -48,6 +48,7 @@ import com.habitrpg.android.habitica.callbacks.TaskUpdateCallback; import com.habitrpg.android.habitica.callbacks.UnlockCallback; import com.habitrpg.android.habitica.components.AppComponent; import com.habitrpg.android.habitica.data.TaskRepository; +import com.habitrpg.android.habitica.data.UserRepository; import com.habitrpg.android.habitica.databinding.ValueBarBinding; import com.habitrpg.android.habitica.events.ContentReloadedEvent; import com.habitrpg.android.habitica.events.DisplayFragmentEvent; @@ -232,6 +233,8 @@ public class MainActivity extends BaseActivity implements Action1, Ha @Inject TaskRepository taskRepository; + @Inject + UserRepository userRepository; // endregion @@ -244,23 +247,6 @@ public class MainActivity extends BaseActivity implements Action1, Ha private Date lastSync; private TutorialView activeTutorialView; private boolean isloadingContent; - private TransactionListener userTransactionListener = new TransactionListener() { - @Override - public void onResultReceived(HabitRPGUser habitRPGUser) { - MainActivity.this.user = habitRPGUser; - MainActivity.this.setUserData(true); - } - - @Override - public boolean onReady(BaseTransaction baseTransaction) { - return true; - } - - @Override - public boolean hasResult(BaseTransaction baseTransaction, HabitRPGUser habitRPGUser) { - return true; - } - }; @Override @@ -291,7 +277,11 @@ public class MainActivity extends BaseActivity implements Action1, Ha pushNotificationManager = PushNotificationManager.getInstance(this); - new Select().from(HabitRPGUser.class).where(Condition.column("id").eq(hostConfig.getUser())).async().querySingle(userTransactionListener); + userRepository.getUser(hostConfig.getUser()) + .subscribe(newUser -> { + MainActivity.this.user = newUser; + MainActivity.this.setUserData(true); + }, throwable -> {}); setupToolbar(toolbar); @@ -448,8 +438,8 @@ public class MainActivity extends BaseActivity implements Action1, Ha if (offset != user.getPreferences().getTimezoneOffset()) { Map updateData = new HashMap<>(); updateData.put("preferences.timezoneOffset", String.valueOf(offset)); - apiClient.updateUser(updateData) - .subscribe(new MergeUserCallback(this, user), throwable -> { + userRepository.updateUser(user, updateData) + .subscribe(this::onUserReceived, throwable -> { }); } runOnUiThread(() -> { @@ -947,17 +937,9 @@ public class MainActivity extends BaseActivity implements Action1, Ha @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { if (resultCode == SELECT_CLASS_RESULT) { - if (this.apiClient != null) { - this.apiClient.retrieveUser(true) - - .subscribe(new HabitRPGUserCallback(this), throwable -> { - }); - } + retrieveUser(); } else if (requestCode == GEM_PURCHASE_REQUEST) { - this.apiClient.retrieveUser(true) - - .subscribe(new HabitRPGUserCallback(this), throwable -> { - }); + retrieveUser(); } super.onActivityResult(requestCode, resultCode, data); } @@ -977,8 +959,8 @@ public class MainActivity extends BaseActivity implements Action1, Ha @Subscribe public void onEvent(UpdateUserCommand event) { - apiClient.updateUser(event.updateData) - .subscribe(new MergeUserCallback(this, user), throwable -> { + userRepository.updateUser(user, event.updateData) + .subscribe(this::onUserReceived, throwable -> { }); } @@ -994,7 +976,6 @@ public class MainActivity extends BaseActivity implements Action1, Ha this.user.setBalance(this.user.getBalance() - event.balanceDiff); this.setUserData(false); apiClient.unlockPath(event.path) - .subscribe(new UnlockCallback(this, this.user), throwable -> { }); } @@ -1022,8 +1003,7 @@ public class MainActivity extends BaseActivity implements Action1, Ha observable .doOnNext(aVoid -> showSnackbar(this, floatingMenuWrapper, getString(R.string.successful_purchase, event.item.text), SnackbarDisplayType.NORMAL)) - .subscribe(buyResponse -> apiClient.retrieveUser(false) - + .subscribe(buyResponse -> userRepository.retrieveUser(false) .subscribe(new HabitRPGUserCallback(this), throwable -> { }), throwable -> { HttpException error = (HttpException) throwable; @@ -1115,16 +1095,14 @@ public class MainActivity extends BaseActivity implements Action1, Ha @Subscribe public void onEvent(final DeleteTaskCommand cmd) { - apiClient.deleteTask(cmd.TaskIdToDelete) - .subscribe(aVoid -> { - EventBus.getDefault().post(new TaskRemovedEvent(cmd.TaskIdToDelete)); - }, throwable -> {}); + taskRepository.deleteTask(cmd.TaskIdToDelete) + .subscribe(aVoid -> EventBus.getDefault().post(new TaskRemovedEvent(cmd.TaskIdToDelete)), throwable -> {}); } @Subscribe public void openMysteryItem(OpenMysteryItemEvent event) { apiClient.openMysteryItem() - .subscribe(mysteryItem -> apiClient.retrieveUser(false) + .subscribe(mysteryItem -> userRepository.retrieveUser(false) .subscribe(new HabitRPGUserCallback(user1 -> { OpenedMysteryItemEvent openedEvent = new OpenedMysteryItemEvent(); openedEvent.numberLeft = user1.getPurchased().getPlan().mysteryItems.size(); @@ -1154,7 +1132,6 @@ public class MainActivity extends BaseActivity implements Action1, Ha @Subscribe public void onEvent(SellItemCommand event) { this.apiClient.sellItem(event.item.getType(), event.item.getKey()) - .subscribe(habitRPGUser -> { user.setItems(habitRPGUser.getItems()); user.save(); @@ -1170,7 +1147,6 @@ public class MainActivity extends BaseActivity implements Action1, Ha return; } this.apiClient.hatchPet(event.usingEgg.getKey(), event.usingHatchingPotion.getKey()) - .subscribe(new ItemsCallback(user1 -> { FrameLayout petWrapper = (FrameLayout) getLayoutInflater().inflate(R.layout.pet_imageview, null); SimpleDraweeView petImageView = (SimpleDraweeView) petWrapper.findViewById(R.id.pet_imageview); @@ -1206,7 +1182,6 @@ public class MainActivity extends BaseActivity implements Action1, Ha } final Pet pet = event.usingPet; this.apiClient.feedPet(event.usingPet.getKey(), event.usingFood.getKey()) - .subscribe(feedResponse -> { MainActivity.this.user.getItems().getPets().put(pet.getKey(), feedResponse.value); MainActivity.this.user.getItems().getFood().put(event.usingFood.getKey(), event.usingFood.getOwned() - 1); @@ -1312,9 +1287,8 @@ public class MainActivity extends BaseActivity implements Action1, Ha .setView(customView) .setPositiveButton(R.string.faint_button, (dialog, which) -> { faintDialog = null; - apiClient.revive() - - .subscribe(new MergeUserCallback(MainActivity.this, MainActivity.this.user), throwable -> { + userRepository.revive(user) + .subscribe(this::onUserReceived, throwable -> { }); }) .create(); @@ -1340,9 +1314,11 @@ public class MainActivity extends BaseActivity implements Action1, Ha } protected void retrieveUser() { - this.apiClient.retrieveUser(true) - .subscribe(new HabitRPGUserCallback(this), throwable -> { - }); + if (this.userRepository != null) { + this.userRepository.retrieveUser(true) + .subscribe(new HabitRPGUserCallback(this), throwable -> { + }); + } } @Subscribe @@ -1372,9 +1348,8 @@ public class MainActivity extends BaseActivity implements Action1, Ha String path = "flags.tutorial." + step.getTutorialGroup() + "." + step.getIdentifier(); Map updateData = new HashMap<>(); updateData.put(path, true); - apiClient.updateUser(updateData) - - .subscribe(new MergeUserCallback(this, user), throwable -> { + userRepository.updateUser(user, updateData) + .subscribe(this::onUserReceived, throwable -> { }); this.overlayLayout.removeView(this.activeTutorialView); this.removeActiveTutorialView(); diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/PartyInviteActivity.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/PartyInviteActivity.java index cc59bdc69..7ba75e008 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/PartyInviteActivity.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/PartyInviteActivity.java @@ -53,8 +53,8 @@ public class PartyInviteActivity extends BaseActivity { private String userIdToInvite; private TransactionListener userTransactionListener = new TransactionListener() { @Override - public void onResultReceived(HabitRPGUser habitRPGUser) { - handleUserRecieved(habitRPGUser); + public void onResultReceived(HabitRPGUser user) { + handleUserRecieved(user); } @Override @@ -63,7 +63,7 @@ public class PartyInviteActivity extends BaseActivity { } @Override - public boolean hasResult(BaseTransaction baseTransaction, HabitRPGUser habitRPGUser) { + public boolean hasResult(BaseTransaction baseTransaction, HabitRPGUser user) { return true; } }; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/setup/CustomizationSetupAdapter.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/setup/CustomizationSetupAdapter.java index 057ce0c28..9578d0662 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/setup/CustomizationSetupAdapter.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/setup/CustomizationSetupAdapter.java @@ -1,13 +1,8 @@ package com.habitrpg.android.habitica.ui.adapter.setup; -import com.facebook.drawee.view.SimpleDraweeView; -import com.facebook.imagepipeline.request.ImageRequest; -import com.facebook.imagepipeline.request.ImageRequestBuilder; import com.habitrpg.android.habitica.R; import com.habitrpg.android.habitica.events.commands.EquipCommand; import com.habitrpg.android.habitica.events.commands.UpdateUserCommand; -import com.habitrpg.android.habitica.ui.helpers.DataBindingUtils; -import com.magicmicky.habitrpgwrapper.lib.models.Customization; import com.magicmicky.habitrpgwrapper.lib.models.HabitRPGUser; import com.magicmicky.habitrpgwrapper.lib.models.Preferences; import com.magicmicky.habitrpgwrapper.lib.models.SetupCustomization; @@ -18,16 +13,13 @@ import android.content.Context; import android.graphics.PorterDuff; import android.graphics.drawable.Drawable; import android.support.v4.content.ContextCompat; -import android.support.v7.widget.CardView; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; -import android.widget.RelativeLayout; import android.widget.TextView; -import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/BaseTasksRecyclerViewAdapter.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/BaseTasksRecyclerViewAdapter.java index e7f239bfb..df8f7ef2c 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/BaseTasksRecyclerViewAdapter.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/tasks/BaseTasksRecyclerViewAdapter.java @@ -1,16 +1,5 @@ package com.habitrpg.android.habitica.ui.adapter.tasks; -import com.habitrpg.android.habitica.HabiticaBaseApplication; -import com.habitrpg.android.habitica.components.AppComponent; -import com.habitrpg.android.habitica.helpers.TaskFilterHelper; -import com.habitrpg.android.habitica.proxy.ifce.CrashlyticsProxy; -import com.habitrpg.android.habitica.ui.helpers.MarkdownParser; -import com.habitrpg.android.habitica.ui.viewHolders.tasks.BaseTaskViewHolder; -import com.magicmicky.habitrpgwrapper.lib.models.tasks.Task; -import com.raizlabs.android.dbflow.sql.builder.Condition; -import com.raizlabs.android.dbflow.sql.language.OrderBy; -import com.raizlabs.android.dbflow.sql.language.Select; - import android.content.Context; import android.databinding.ObservableArrayList; import android.support.annotation.Nullable; @@ -19,6 +8,14 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import com.habitrpg.android.habitica.HabiticaBaseApplication; +import com.habitrpg.android.habitica.components.AppComponent; +import com.habitrpg.android.habitica.data.TaskRepository; +import com.habitrpg.android.habitica.helpers.TaskFilterHelper; +import com.habitrpg.android.habitica.proxy.ifce.CrashlyticsProxy; +import com.habitrpg.android.habitica.ui.viewHolders.tasks.BaseTaskViewHolder; +import com.magicmicky.habitrpgwrapper.lib.models.tasks.Task; + import java.util.ArrayList; import java.util.List; @@ -34,6 +31,8 @@ public abstract class BaseTasksRecyclerViewAdapter content; protected List filteredContent; private int layoutResource; @@ -118,33 +117,16 @@ public abstract class BaseTasksRecyclerViewAdapter tasks = new ArrayList<>(); - Observable.defer(() -> Observable.just(new Select().from(Task.class) - .where(Condition.column("type").eq(this.taskType)) - .and(Condition.CombinedCondition - .begin(Condition.column("completed").eq(false)) - .or(Condition.column("type").eq("daily")) - ) - .and(Condition.column("user_id").eq(this.userID)) - .orderBy(OrderBy.columns("position", "dateCreated").descending()) - .queryList())) + taskRepository.getTasks(this.taskType, this.userID) .flatMap(Observable::from) .map(task -> { - try { - task.parsedText = MarkdownParser.parseMarkdown(task.getText()); - } catch (NullPointerException e) { - task.parsedText = task.getText(); - } - try { - task.parsedNotes = MarkdownParser.parseMarkdown(task.getNotes()); - } catch (NullPointerException e) { - task.parsedNotes = task.getNotes(); - } + task.parseMarkdown(); return task; }) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) - .subscribe(tasks::add, crashlyticsProxy::logException, () -> setTasks(tasks)); + .toList() + .subscribe(this::setTasks, crashlyticsProxy::logException); } } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/AboutFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/AboutFragment.java index f310ca61f..d91d325e3 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/AboutFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/AboutFragment.java @@ -107,7 +107,7 @@ public class AboutFragment extends Fragment { String bodyOfEmail = "Device: " + device + " \nAndroid Version: " + version + " \nAppVersion: " + getString(R.string.version_info, versionName, versionCode) + - " \nUser ID: " + userId + + " \nHabitRPGUser ID: " + userId + " \nDetails: "; Intent emailIntent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts( diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/AccountDetailsFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/AccountDetailsFragment.java index 670d1b6c9..ccf29bde2 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/AccountDetailsFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/AccountDetailsFragment.java @@ -31,8 +31,8 @@ public class AccountDetailsFragment extends BasePreferencesFragment { private HabitRPGUser user; private TransactionListener userTransactionListener = new TransactionListener() { @Override - public void onResultReceived(HabitRPGUser habitRPGUser) { - AccountDetailsFragment.this.setUser(habitRPGUser); + public void onResultReceived(HabitRPGUser user) { + AccountDetailsFragment.this.setUser(user); } @Override @@ -41,7 +41,7 @@ public class AccountDetailsFragment extends BasePreferencesFragment { } @Override - public boolean hasResult(BaseTransaction baseTransaction, HabitRPGUser habitRPGUser) { + public boolean hasResult(BaseTransaction baseTransaction, HabitRPGUser user) { return true; } }; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/PreferencesFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/PreferencesFragment.java index fbf0f3481..8b73486d4 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/PreferencesFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/preferences/PreferencesFragment.java @@ -54,8 +54,8 @@ public class PreferencesFragment extends BasePreferencesFragment implements private TransactionListener userTransactionListener = new TransactionListener() { @Override - public void onResultReceived(HabitRPGUser habitRPGUser) { - PreferencesFragment.this.setUser(habitRPGUser); + public void onResultReceived(HabitRPGUser user) { + PreferencesFragment.this.setUser(user); } @Override @@ -64,7 +64,7 @@ public class PreferencesFragment extends BasePreferencesFragment implements } @Override - public boolean hasResult(BaseTransaction baseTransaction, HabitRPGUser habitRPGUser) { + public boolean hasResult(BaseTransaction baseTransaction, HabitRPGUser user) { return true; } }; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/skills/SkillsFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/skills/SkillsFragment.java index 649b60ed4..1f4fcde67 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/skills/SkillsFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/skills/SkillsFragment.java @@ -14,7 +14,6 @@ import com.habitrpg.android.habitica.ui.helpers.UiUtils; import com.magicmicky.habitrpgwrapper.lib.models.HabitRPGUser; import com.magicmicky.habitrpgwrapper.lib.models.Skill; import com.magicmicky.habitrpgwrapper.lib.models.SpecialItems; -import com.magicmicky.habitrpgwrapper.lib.models.responses.HabitResponse; import com.magicmicky.habitrpgwrapper.lib.models.responses.SkillResponse; import com.raizlabs.android.dbflow.sql.builder.Condition; import com.raizlabs.android.dbflow.sql.language.Select; @@ -37,8 +36,6 @@ import java.util.List; import butterknife.BindView; import rx.Observable; -import static com.habitrpg.android.habitica.helpers.MathHelper.round; - public class SkillsFragment extends BaseMainFragment { private final int TASK_SELECTION_ACTIVITY = 10; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxMessageListFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxMessageListFragment.java index d72636b1f..4547175c2 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxMessageListFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/social/InboxMessageListFragment.java @@ -1,6 +1,5 @@ package com.habitrpg.android.habitica.ui.fragments.social; -import com.habitrpg.android.habitica.HabiticaApplication; import com.habitrpg.android.habitica.R; import com.habitrpg.android.habitica.callbacks.HabitRPGUserCallback; import com.habitrpg.android.habitica.components.AppComponent; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TaskRecyclerViewFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TaskRecyclerViewFragment.java index 12bf13d15..fe8b08972 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TaskRecyclerViewFragment.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/tasks/TaskRecyclerViewFragment.java @@ -17,6 +17,7 @@ import android.widget.TextView; import com.habitrpg.android.habitica.R; import com.habitrpg.android.habitica.callbacks.HabitRPGUserCallback; import com.habitrpg.android.habitica.components.AppComponent; +import com.habitrpg.android.habitica.data.UserRepository; import com.habitrpg.android.habitica.events.TaskCreatedEvent; import com.habitrpg.android.habitica.events.TaskRemovedEvent; import com.habitrpg.android.habitica.events.TaskUpdatedEvent; @@ -64,8 +65,10 @@ public class TaskRecyclerViewFragment extends BaseFragment implements View.OnCli ApiClient apiClient; @Inject TaskFilterHelper taskFilterHelper; - LinearLayoutManager layoutManager = null; + @Inject + UserRepository userRepository; + LinearLayoutManager layoutManager = null; @BindView(R.id.refresh_layout) SwipeRefreshLayout swipeRefreshLayout; @@ -323,7 +326,7 @@ public class TaskRecyclerViewFragment extends BaseFragment implements View.OnCli @Override public void onRefresh() { swipeRefreshLayout.setRefreshing(true); - apiClient.retrieveUser(true) + userRepository.retrieveUser(true) .doOnTerminate(() -> swipeRefreshLayout.setRefreshing(false)) .subscribe( new HabitRPGUserCallback((MainActivity)getActivity()), diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/widget/AvatarStatsWidgetProvider.java b/Habitica/src/main/java/com/habitrpg/android/habitica/widget/AvatarStatsWidgetProvider.java index 5230f3179..1a279ae33 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/widget/AvatarStatsWidgetProvider.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/widget/AvatarStatsWidgetProvider.java @@ -32,8 +32,8 @@ public class AvatarStatsWidgetProvider extends BaseWidgetProvider { private AppWidgetManager appWidgetManager; private TransactionListener userTransactionListener = new TransactionListener() { @Override - public void onResultReceived(HabitRPGUser habitRPGUser) { - updateData(habitRPGUser); + public void onResultReceived(HabitRPGUser user) { + updateData(user); } @Override @@ -42,7 +42,7 @@ public class AvatarStatsWidgetProvider extends BaseWidgetProvider { } @Override - public boolean hasResult(BaseTransaction baseTransaction, HabitRPGUser habitRPGUser) { + public boolean hasResult(BaseTransaction baseTransaction, HabitRPGUser user) { return true; } }; diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/widget/BaseWidgetProvider.java b/Habitica/src/main/java/com/habitrpg/android/habitica/widget/BaseWidgetProvider.java index fec2a1886..2b77fd920 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/widget/BaseWidgetProvider.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/widget/BaseWidgetProvider.java @@ -1,7 +1,6 @@ package com.habitrpg.android.habitica.widget; import com.magicmicky.habitrpgwrapper.lib.models.HabitRPGUser; -import com.magicmicky.habitrpgwrapper.lib.models.Stats; import com.magicmicky.habitrpgwrapper.lib.models.TaskDirectionData; import com.raizlabs.android.dbflow.sql.builder.Condition; import com.raizlabs.android.dbflow.sql.language.Select; @@ -18,14 +17,6 @@ import android.widget.Toast; import com.habitrpg.android.habitica.interactors.NotifyUserUseCase; import com.habitrpg.android.habitica.ui.helpers.UiUtils; -import com.magicmicky.habitrpgwrapper.lib.models.HabitRPGUser; -import com.magicmicky.habitrpgwrapper.lib.models.Stats; -import com.magicmicky.habitrpgwrapper.lib.models.TaskDirectionData; -import com.raizlabs.android.dbflow.sql.builder.Condition; -import com.raizlabs.android.dbflow.sql.language.Select; - -import static com.habitrpg.android.habitica.helpers.MathHelper.round; -import static com.habitrpg.android.habitica.interactors.NotifyUserUseCase.MIN_LEVEL_FOR_SKILLS; public abstract class BaseWidgetProvider extends AppWidgetProvider { diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/tasks/Task.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/tasks/Task.java index 1ec9ba3c9..9a1496526 100644 --- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/tasks/Task.java +++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/tasks/Task.java @@ -5,6 +5,7 @@ import com.google.gson.annotations.SerializedName; import com.habitrpg.android.habitica.HabitDatabase; import com.habitrpg.android.habitica.R; import com.habitrpg.android.habitica.events.TaskDeleteEvent; +import com.habitrpg.android.habitica.ui.helpers.MarkdownParser; import com.raizlabs.android.dbflow.annotation.Column; import com.raizlabs.android.dbflow.annotation.ForeignKey; import com.raizlabs.android.dbflow.annotation.ForeignKeyReference; @@ -668,4 +669,17 @@ public class Task extends BaseModel { } return false; } + + public void parseMarkdown() { + try { + this.parsedText = MarkdownParser.parseMarkdown(this.getText()); + } catch (NullPointerException e) { + this.parsedText = this.getText(); + } + try { + this.parsedNotes = MarkdownParser.parseMarkdown(this.getNotes()); + } catch (NullPointerException e) { + this.parsedNotes = this.getNotes(); + } + } } diff --git a/Habitica/src/test/java/com/habitrpg/android/habitica/api/UserAPITests.java b/Habitica/src/test/java/com/habitrpg/android/habitica/api/UserAPITests.java index 3d4d488ca..511de372c 100644 --- a/Habitica/src/test/java/com/habitrpg/android/habitica/api/UserAPITests.java +++ b/Habitica/src/test/java/com/habitrpg/android/habitica/api/UserAPITests.java @@ -4,7 +4,6 @@ package com.habitrpg.android.habitica.api; import com.habitrpg.android.habitica.BuildConfig; import com.magicmicky.habitrpgwrapper.lib.models.HabitRPGUser; import com.magicmicky.habitrpgwrapper.lib.models.UserAuthResponse; -import com.magicmicky.habitrpgwrapper.lib.models.responses.HabitResponse; import org.junit.Test; import org.junit.runner.RunWith; @@ -15,7 +14,6 @@ import android.os.Build; import java.util.UUID; -import rx.android.schedulers.AndroidSchedulers; import rx.observers.TestSubscriber; import static junit.framework.Assert.assertEquals; diff --git a/Habitica/src/test/java/com/magicmicky/habitrpgwrapper/lib/models/HabitRPGUserTest.java b/Habitica/src/test/java/com/magicmicky/habitrpgwrapper/lib/models/UserTest.java similarity index 98% rename from Habitica/src/test/java/com/magicmicky/habitrpgwrapper/lib/models/HabitRPGUserTest.java rename to Habitica/src/test/java/com/magicmicky/habitrpgwrapper/lib/models/UserTest.java index 3ca02b5fc..40fd85a5b 100644 --- a/Habitica/src/test/java/com/magicmicky/habitrpgwrapper/lib/models/HabitRPGUserTest.java +++ b/Habitica/src/test/java/com/magicmicky/habitrpgwrapper/lib/models/UserTest.java @@ -14,7 +14,7 @@ import static org.junit.Assert.assertEquals; @Config(constants = BuildConfig.class) @RunWith(RobolectricTestRunner.class) -public class HabitRPGUserTest { +public class UserTest { private HabitRPGUser user;