mirror of
https://github.com/sudoxnym/habitica-android.git
synced 2026-05-17 03:09:00 +00:00
add fragment lifecycle tests
This commit is contained in:
parent
845b7e3062
commit
a4e7fc2682
63 changed files with 486 additions and 83 deletions
|
|
@ -2,7 +2,7 @@
|
|||
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
package="com.habitrpg.android.habitica"
|
||||
android:versionCode="65"
|
||||
android:versionCode="71"
|
||||
android:versionName="0.0.30"
|
||||
android:screenOrientation="portrait"
|
||||
android:installLocation="auto" >
|
||||
|
|
|
|||
|
|
@ -121,6 +121,8 @@ dependencies {
|
|||
testCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.3.1'
|
||||
testCompile 'org.robolectric:robolectric:3.0'
|
||||
testCompile 'org.robolectric:shadows-multidex:3.0'
|
||||
testCompile "org.robolectric:shadows-support-v4:3.0"
|
||||
testCompile "org.mockito:mockito-core:1.+"
|
||||
|
||||
//Leak Detection
|
||||
debugCompile 'com.squareup.leakcanary:leakcanary-android:1.3.1'
|
||||
|
|
|
|||
|
|
@ -6,5 +6,5 @@
|
|||
<string name="SP_APIToken" translatable="false">APIToken</string>
|
||||
<string name="SP_username" translatable="false">Username</string>
|
||||
<string name="SP_email" translatable="false">E-mail</string>
|
||||
<string name="base_url" translatable="false">https://habitica.com</string>
|
||||
<string name="base_url" translatable="false">https://v3.habitica.com</string>
|
||||
</resources>
|
||||
|
|
@ -3,7 +3,7 @@ package com.habitrpg.android.habitica.ui.activities;
|
|||
import com.github.data5tream.emojilib.EmojiEditText;
|
||||
import com.github.data5tream.emojilib.EmojiPopup;
|
||||
import com.habitrpg.android.habitica.R;
|
||||
import com.habitrpg.android.habitica.ui.UiUtils;
|
||||
import com.habitrpg.android.habitica.ui.helpers.UiUtils;
|
||||
import com.habitrpg.android.habitica.ui.helpers.MarkdownParser;
|
||||
|
||||
import android.app.Activity;
|
||||
|
|
|
|||
|
|
@ -31,9 +31,9 @@ import com.habitrpg.android.habitica.events.commands.SellItemCommand;
|
|||
import com.habitrpg.android.habitica.events.commands.UnlockPathCommand;
|
||||
import com.habitrpg.android.habitica.events.commands.UpdateUserCommand;
|
||||
import com.habitrpg.android.habitica.ui.AvatarWithBarsViewModel;
|
||||
import com.habitrpg.android.habitica.ui.MainDrawerBuilder;
|
||||
import com.habitrpg.android.habitica.ui.menu.MainDrawerBuilder;
|
||||
import com.habitrpg.android.habitica.ui.TutorialView;
|
||||
import com.habitrpg.android.habitica.ui.UiUtils;
|
||||
import com.habitrpg.android.habitica.ui.helpers.UiUtils;
|
||||
import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment;
|
||||
import com.habitrpg.android.habitica.ui.fragments.GemsPurchaseFragment;
|
||||
import com.habitrpg.android.habitica.ui.helpers.DataBindingUtils;
|
||||
|
|
@ -128,8 +128,8 @@ import java.util.concurrent.TimeUnit;
|
|||
import butterknife.BindView;
|
||||
import rx.functions.Action1;
|
||||
|
||||
import static com.habitrpg.android.habitica.ui.UiUtils.SnackbarDisplayType;
|
||||
import static com.habitrpg.android.habitica.ui.UiUtils.showSnackbar;
|
||||
import static com.habitrpg.android.habitica.ui.helpers.UiUtils.SnackbarDisplayType;
|
||||
import static com.habitrpg.android.habitica.ui.helpers.UiUtils.showSnackbar;
|
||||
|
||||
public class MainActivity extends BaseActivity implements Action1<Throwable>, HabitRPGUserCallback.OnUserReceived,
|
||||
TaskScoringCallback.OnTaskScored,
|
||||
|
|
|
|||
|
|
@ -3,8 +3,8 @@ package com.habitrpg.android.habitica.ui.activities;
|
|||
import com.habitrpg.android.habitica.BuildConfig;
|
||||
import com.habitrpg.android.habitica.HostConfig;
|
||||
import com.habitrpg.android.habitica.R;
|
||||
import com.habitrpg.android.habitica.ui.fragments.AccountDetailsFragment;
|
||||
import com.habitrpg.android.habitica.ui.fragments.PreferencesFragment;
|
||||
import com.habitrpg.android.habitica.ui.fragments.preferences.AccountDetailsFragment;
|
||||
import com.habitrpg.android.habitica.ui.fragments.preferences.PreferencesFragment;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.SharedPreferences;
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ package com.habitrpg.android.habitica.ui.activities;
|
|||
|
||||
import com.habitrpg.android.habitica.R;
|
||||
import com.habitrpg.android.habitica.ui.adapter.SkillTasksRecyclerViewAdapter;
|
||||
import com.habitrpg.android.habitica.ui.fragments.SkillTasksRecyclerViewFragment;
|
||||
import com.habitrpg.android.habitica.ui.fragments.skills.SkillTasksRecyclerViewFragment;
|
||||
import com.magicmicky.habitrpgwrapper.lib.models.HabitRPGUser;
|
||||
import com.magicmicky.habitrpgwrapper.lib.models.tasks.Task;
|
||||
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import com.habitrpg.android.habitica.R;
|
|||
import com.habitrpg.android.habitica.events.commands.OpenMenuItemCommand;
|
||||
import com.habitrpg.android.habitica.events.commands.UnlockPathCommand;
|
||||
import com.habitrpg.android.habitica.events.commands.UpdateUserCommand;
|
||||
import com.habitrpg.android.habitica.ui.MainDrawerBuilder;
|
||||
import com.habitrpg.android.habitica.ui.menu.MainDrawerBuilder;
|
||||
import com.habitrpg.android.habitica.ui.helpers.DataBindingUtils;
|
||||
import com.magicmicky.habitrpgwrapper.lib.models.Customization;
|
||||
import com.magicmicky.habitrpgwrapper.lib.models.CustomizationSet;
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@ package com.habitrpg.android.habitica.ui.adapter.inventory;
|
|||
|
||||
import com.habitrpg.android.habitica.R;
|
||||
import com.habitrpg.android.habitica.ui.activities.MainActivity;
|
||||
import com.habitrpg.android.habitica.ui.fragments.inventory.MountDetailRecyclerFragment;
|
||||
import com.habitrpg.android.habitica.ui.fragments.inventory.PetDetailRecyclerFragment;
|
||||
import com.habitrpg.android.habitica.ui.fragments.inventory.stable.MountDetailRecyclerFragment;
|
||||
import com.habitrpg.android.habitica.ui.fragments.inventory.stable.PetDetailRecyclerFragment;
|
||||
import com.habitrpg.android.habitica.ui.helpers.DataBindingUtils;
|
||||
import com.magicmicky.habitrpgwrapper.lib.models.inventory.Animal;
|
||||
|
||||
|
|
|
|||
|
|
@ -91,6 +91,7 @@ public class BaseFragment extends DialogFragment {
|
|||
}
|
||||
if (unbinder != null) {
|
||||
unbinder.unbind();
|
||||
unbinder = null;
|
||||
}
|
||||
|
||||
super.onDestroyView();
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@ import org.solovyev.android.checkout.Sku;
|
|||
import android.content.Context;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.v4.content.ContextCompat;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
|
|
@ -53,10 +54,15 @@ public class GemsPurchaseFragment extends BaseMainFragment {
|
|||
|
||||
super.onCreateView(inflater, container, savedInstanceState);
|
||||
|
||||
View v = inflater.inflate(R.layout.fragment_gem_purchase, container, false);
|
||||
return inflater.inflate(R.layout.fragment_gem_purchase, container, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
|
||||
super.onViewCreated(view, savedInstanceState);
|
||||
|
||||
btnPurchaseGems.setEnabled(false);
|
||||
ViewHelper.SetBackgroundTint(btnPurchaseGems, ContextCompat.getColor(container.getContext(), R.color.brand));
|
||||
ViewHelper.SetBackgroundTint(btnPurchaseGems, ContextCompat.getColor(getContext(), R.color.brand));
|
||||
|
||||
final ActivityCheckout checkout = listener.getActivityCheckout();
|
||||
|
||||
|
|
@ -116,8 +122,6 @@ public class GemsPurchaseFragment extends BaseMainFragment {
|
|||
|
||||
}
|
||||
});
|
||||
|
||||
return v;
|
||||
}
|
||||
|
||||
private void updateBuyButtonText(String price){
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
package com.habitrpg.android.habitica.ui.fragments.faq;
|
||||
|
||||
import com.habitrpg.android.habitica.R;
|
||||
import com.habitrpg.android.habitica.ui.DividerItemDecoration;
|
||||
import com.habitrpg.android.habitica.ui.menu.DividerItemDecoration;
|
||||
import com.habitrpg.android.habitica.ui.adapter.FAQOverviewRecyclerAdapter;
|
||||
import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment;
|
||||
import com.magicmicky.habitrpgwrapper.lib.models.FAQArticle;
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
package com.habitrpg.android.habitica.ui.fragments.inventory.equipment;
|
||||
|
||||
import com.habitrpg.android.habitica.R;
|
||||
import com.habitrpg.android.habitica.ui.DividerItemDecoration;
|
||||
import com.habitrpg.android.habitica.ui.menu.DividerItemDecoration;
|
||||
import com.habitrpg.android.habitica.ui.adapter.inventory.EquipmentRecyclerViewAdapter;
|
||||
import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment;
|
||||
import com.magicmicky.habitrpgwrapper.lib.models.tasks.ItemData;
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ package com.habitrpg.android.habitica.ui.fragments.inventory.items;
|
|||
|
||||
import com.habitrpg.android.habitica.R;
|
||||
import com.habitrpg.android.habitica.events.ContentReloadedEvent;
|
||||
import com.habitrpg.android.habitica.ui.DividerItemDecoration;
|
||||
import com.habitrpg.android.habitica.ui.menu.DividerItemDecoration;
|
||||
import com.habitrpg.android.habitica.ui.adapter.inventory.ItemRecyclerAdapter;
|
||||
import com.habitrpg.android.habitica.ui.fragments.BaseFragment;
|
||||
import com.habitrpg.android.habitica.ui.helpers.RecyclerViewEmptySupport;
|
||||
|
|
@ -61,40 +61,39 @@ public class ItemRecyclerFragment extends BaseFragment {
|
|||
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
|
||||
if (view == null) {
|
||||
view = inflater.inflate(R.layout.fragment_items, container, false);
|
||||
|
||||
unbinder = ButterKnife.bind(this, view);
|
||||
|
||||
recyclerView.setEmptyView(emptyView);
|
||||
emptyView.setText(getString(R.string.empty_items, itemTypeText));
|
||||
|
||||
android.support.v4.app.FragmentActivity context = getActivity();
|
||||
|
||||
layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager();
|
||||
|
||||
if (layoutManager == null) {
|
||||
layoutManager = new LinearLayoutManager(context);
|
||||
|
||||
recyclerView.setLayoutManager(layoutManager);
|
||||
}
|
||||
|
||||
adapter = (ItemRecyclerAdapter)recyclerView.getAdapter();
|
||||
if (adapter == null) {
|
||||
adapter = new ItemRecyclerAdapter();
|
||||
adapter.context = this.getActivity();
|
||||
adapter.isHatching = this.isHatching;
|
||||
adapter.isFeeding = this.isFeeding;
|
||||
adapter.fragment = this;
|
||||
adapter.ownedPets = this.ownedPets;
|
||||
if (this.hatchingItem != null) {
|
||||
adapter.hatchingItem = this.hatchingItem;
|
||||
}
|
||||
if (this.feedingPet != null) {
|
||||
adapter.feedingPet = this.feedingPet;
|
||||
}
|
||||
recyclerView.setAdapter(adapter);
|
||||
}
|
||||
recyclerView.addItemDecoration(new DividerItemDecoration(getActivity(), DividerItemDecoration.VERTICAL_LIST));
|
||||
}
|
||||
unbinder = ButterKnife.bind(this, view);
|
||||
|
||||
recyclerView.setEmptyView(emptyView);
|
||||
emptyView.setText(getString(R.string.empty_items, itemTypeText));
|
||||
|
||||
android.support.v4.app.FragmentActivity context = getActivity();
|
||||
|
||||
layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager();
|
||||
|
||||
if (layoutManager == null) {
|
||||
layoutManager = new LinearLayoutManager(context);
|
||||
|
||||
recyclerView.setLayoutManager(layoutManager);
|
||||
}
|
||||
|
||||
adapter = (ItemRecyclerAdapter)recyclerView.getAdapter();
|
||||
if (adapter == null) {
|
||||
adapter = new ItemRecyclerAdapter();
|
||||
adapter.context = this.getActivity();
|
||||
adapter.isHatching = this.isHatching;
|
||||
adapter.isFeeding = this.isFeeding;
|
||||
adapter.fragment = this;
|
||||
adapter.ownedPets = this.ownedPets;
|
||||
if (this.hatchingItem != null) {
|
||||
adapter.hatchingItem = this.hatchingItem;
|
||||
}
|
||||
if (this.feedingPet != null) {
|
||||
adapter.feedingPet = this.feedingPet;
|
||||
}
|
||||
recyclerView.setAdapter(adapter);
|
||||
}
|
||||
recyclerView.addItemDecoration(new DividerItemDecoration(getActivity(), DividerItemDecoration.VERTICAL_LIST));
|
||||
|
||||
if (savedInstanceState != null){
|
||||
this.itemType = savedInstanceState.getString(ITEM_TYPE_KEY, "");
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import com.habitrpg.android.habitica.R;
|
|||
import com.habitrpg.android.habitica.events.commands.HatchingCommand;
|
||||
import com.habitrpg.android.habitica.events.commands.InvitePartyToQuestCommand;
|
||||
import com.habitrpg.android.habitica.events.commands.OpenMenuItemCommand;
|
||||
import com.habitrpg.android.habitica.ui.MainDrawerBuilder;
|
||||
import com.habitrpg.android.habitica.ui.menu.MainDrawerBuilder;
|
||||
import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
package com.habitrpg.android.habitica.ui.fragments.inventory;
|
||||
package com.habitrpg.android.habitica.ui.fragments.inventory.stable;
|
||||
|
||||
import com.habitrpg.android.habitica.R;
|
||||
import com.habitrpg.android.habitica.ui.adapter.inventory.MountDetailRecyclerAdapter;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.habitrpg.android.habitica.ui.fragments.inventory;
|
||||
package com.habitrpg.android.habitica.ui.fragments.inventory.stable;
|
||||
|
||||
import com.habitrpg.android.habitica.R;
|
||||
import com.habitrpg.android.habitica.events.commands.FeedCommand;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.habitrpg.android.habitica.ui.fragments.inventory;
|
||||
package com.habitrpg.android.habitica.ui.fragments.inventory.stable;
|
||||
|
||||
import com.habitrpg.android.habitica.R;
|
||||
import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.habitrpg.android.habitica.ui.fragments.inventory;
|
||||
package com.habitrpg.android.habitica.ui.fragments.inventory.stable;
|
||||
|
||||
import com.habitrpg.android.habitica.R;
|
||||
import com.habitrpg.android.habitica.events.ContentReloadedEvent;
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
package com.habitrpg.android.habitica.ui.fragments;
|
||||
package com.habitrpg.android.habitica.ui.fragments.preferences;
|
||||
|
||||
import com.habitrpg.android.habitica.R;
|
||||
import com.habitrpg.android.habitica.ui.fragments.preferences.BasePreferencesFragment;
|
||||
|
||||
import android.content.ClipData;
|
||||
import android.content.ClipboardManager;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.habitrpg.android.habitica.ui.fragments;
|
||||
package com.habitrpg.android.habitica.ui.fragments.preferences;
|
||||
|
||||
import com.habitrpg.android.habitica.R;
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.habitrpg.android.habitica.ui.fragments;
|
||||
package com.habitrpg.android.habitica.ui.fragments.preferences;
|
||||
|
||||
import com.habitrpg.android.habitica.APIHelper;
|
||||
import com.habitrpg.android.habitica.HabiticaApplication;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.habitrpg.android.habitica.ui.fragments;
|
||||
package com.habitrpg.android.habitica.ui.fragments.preferences;
|
||||
|
||||
import com.habitrpg.android.habitica.prefs.TimePreference;
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.habitrpg.android.habitica.ui.fragments;
|
||||
package com.habitrpg.android.habitica.ui.fragments.skills;
|
||||
|
||||
import com.habitrpg.android.habitica.R;
|
||||
import com.habitrpg.android.habitica.events.commands.AddNewTaskCommand;
|
||||
|
|
@ -1,13 +1,14 @@
|
|||
package com.habitrpg.android.habitica.ui.fragments;
|
||||
package com.habitrpg.android.habitica.ui.fragments.skills;
|
||||
|
||||
import com.habitrpg.android.habitica.R;
|
||||
import com.habitrpg.android.habitica.callbacks.MergeUserCallback;
|
||||
import com.habitrpg.android.habitica.callbacks.SkillCallback;
|
||||
import com.habitrpg.android.habitica.events.SkillUsedEvent;
|
||||
import com.habitrpg.android.habitica.events.commands.UseSkillCommand;
|
||||
import com.habitrpg.android.habitica.ui.UiUtils;
|
||||
import com.habitrpg.android.habitica.ui.helpers.UiUtils;
|
||||
import com.habitrpg.android.habitica.ui.activities.SkillTasksActivity;
|
||||
import com.habitrpg.android.habitica.ui.adapter.SkillsRecyclerViewAdapter;
|
||||
import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment;
|
||||
import com.magicmicky.habitrpgwrapper.lib.models.HabitRPGUser;
|
||||
import com.magicmicky.habitrpgwrapper.lib.models.Skill;
|
||||
import com.raizlabs.android.dbflow.sql.builder.Condition;
|
||||
|
|
@ -9,7 +9,7 @@ import com.habitrpg.android.habitica.events.commands.FlagChatMessageCommand;
|
|||
import com.habitrpg.android.habitica.events.commands.SendNewGroupMessageCommand;
|
||||
import com.habitrpg.android.habitica.events.commands.ToggleInnCommand;
|
||||
import com.habitrpg.android.habitica.events.commands.ToggleLikeMessageCommand;
|
||||
import com.habitrpg.android.habitica.ui.UiUtils;
|
||||
import com.habitrpg.android.habitica.ui.helpers.UiUtils;
|
||||
import com.habitrpg.android.habitica.ui.activities.MainActivity;
|
||||
import com.habitrpg.android.habitica.ui.activities.PrefsActivity;
|
||||
import com.habitrpg.android.habitica.ui.adapter.social.ChatRecyclerViewAdapter;
|
||||
|
|
@ -51,7 +51,7 @@ public class ChatListFragment extends BaseFragment implements SwipeRefreshLayout
|
|||
private APIHelper apiHelper;
|
||||
private HabitRPGUser user;
|
||||
private String userId;
|
||||
private boolean isTavern;
|
||||
public boolean isTavern;
|
||||
private MainActivity activity;
|
||||
|
||||
public void configure(Context ctx, String groupId, APIHelper apiHelper, HabitRPGUser user, MainActivity activity, boolean isTavern) {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
package com.habitrpg.android.habitica.ui.fragments.social;
|
||||
|
||||
import com.habitrpg.android.habitica.R;
|
||||
import com.habitrpg.android.habitica.ui.DividerItemDecoration;
|
||||
import com.habitrpg.android.habitica.ui.menu.DividerItemDecoration;
|
||||
import com.habitrpg.android.habitica.ui.adapter.social.PublicGuildsRecyclerViewAdapter;
|
||||
import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment;
|
||||
import com.magicmicky.habitrpgwrapper.lib.models.Group;
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ package com.habitrpg.android.habitica.ui.fragments.tasks;
|
|||
|
||||
import com.habitrpg.android.habitica.R;
|
||||
import com.habitrpg.android.habitica.events.commands.AddNewTaskCommand;
|
||||
import com.habitrpg.android.habitica.ui.DividerItemDecoration;
|
||||
import com.habitrpg.android.habitica.ui.menu.DividerItemDecoration;
|
||||
import com.habitrpg.android.habitica.ui.adapter.tasks.BaseTasksRecyclerViewAdapter;
|
||||
import com.habitrpg.android.habitica.ui.fragments.BaseFragment;
|
||||
import com.magicmicky.habitrpgwrapper.lib.models.tasks.Task;
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@ package com.habitrpg.android.habitica.ui.fragments.tasks;
|
|||
|
||||
import com.github.clans.fab.FloatingActionButton;
|
||||
import com.github.clans.fab.FloatingActionMenu;
|
||||
import com.habitrpg.android.habitica.ContentCache;
|
||||
import com.habitrpg.android.habitica.HabiticaApplication;
|
||||
import com.habitrpg.android.habitica.R;
|
||||
import com.habitrpg.android.habitica.callbacks.HabitRPGUserCallback;
|
||||
|
|
@ -19,8 +18,8 @@ import com.habitrpg.android.habitica.events.commands.CreateTagCommand;
|
|||
import com.habitrpg.android.habitica.events.commands.FilterTasksByTagsCommand;
|
||||
import com.habitrpg.android.habitica.events.commands.TaskCheckedCommand;
|
||||
import com.habitrpg.android.habitica.helpers.TagsHelper;
|
||||
import com.habitrpg.android.habitica.ui.EditTextDrawer;
|
||||
import com.habitrpg.android.habitica.ui.UiUtils;
|
||||
import com.habitrpg.android.habitica.ui.menu.EditTextDrawer;
|
||||
import com.habitrpg.android.habitica.ui.helpers.UiUtils;
|
||||
import com.habitrpg.android.habitica.ui.activities.MainActivity;
|
||||
import com.habitrpg.android.habitica.ui.activities.TaskFormActivity;
|
||||
import com.habitrpg.android.habitica.ui.adapter.tasks.BaseTasksRecyclerViewAdapter;
|
||||
|
|
@ -33,15 +32,12 @@ import com.habitrpg.android.habitica.ui.helpers.Debounce;
|
|||
import com.magicmicky.habitrpgwrapper.lib.models.HabitRPGUser;
|
||||
import com.magicmicky.habitrpgwrapper.lib.models.Tag;
|
||||
import com.magicmicky.habitrpgwrapper.lib.models.TaskDirection;
|
||||
import com.magicmicky.habitrpgwrapper.lib.models.tasks.ItemData;
|
||||
import com.magicmicky.habitrpgwrapper.lib.models.tasks.Task;
|
||||
import com.magicmicky.habitrpgwrapper.lib.models.tasks.TaskTag;
|
||||
import com.mikepenz.materialdrawer.interfaces.OnCheckedChangeListener;
|
||||
import com.mikepenz.materialdrawer.model.SectionDrawerItem;
|
||||
import com.mikepenz.materialdrawer.model.SwitchDrawerItem;
|
||||
import com.mikepenz.materialdrawer.model.interfaces.IDrawerItem;
|
||||
import com.raizlabs.android.dbflow.sql.builder.Condition;
|
||||
import com.raizlabs.android.dbflow.sql.language.Select;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
import org.greenrobot.eventbus.Subscribe;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
package com.habitrpg.android.habitica.ui;
|
||||
package com.habitrpg.android.habitica.ui.helpers;
|
||||
|
||||
import com.habitrpg.android.habitica.R;
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.habitrpg.android.habitica.ui;
|
||||
package com.habitrpg.android.habitica.ui.menu;
|
||||
|
||||
import android.content.Context;
|
||||
import android.content.res.TypedArray;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.habitrpg.android.habitica.ui;
|
||||
package com.habitrpg.android.habitica.ui.menu;
|
||||
|
||||
import com.habitrpg.android.habitica.R;
|
||||
import com.habitrpg.android.habitica.events.commands.CreateTagCommand;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.habitrpg.android.habitica.ui;
|
||||
package com.habitrpg.android.habitica.ui.menu;
|
||||
|
||||
import com.habitrpg.android.habitica.R;
|
||||
import com.habitrpg.android.habitica.ui.activities.AboutActivity;
|
||||
|
|
@ -7,9 +7,9 @@ import com.habitrpg.android.habitica.ui.activities.PrefsActivity;
|
|||
import com.habitrpg.android.habitica.ui.fragments.BaseMainFragment;
|
||||
import com.habitrpg.android.habitica.ui.fragments.GemsPurchaseFragment;
|
||||
import com.habitrpg.android.habitica.ui.fragments.NewsFragment;
|
||||
import com.habitrpg.android.habitica.ui.fragments.SkillsFragment;
|
||||
import com.habitrpg.android.habitica.ui.fragments.inventory.stable.StableFragment;
|
||||
import com.habitrpg.android.habitica.ui.fragments.skills.SkillsFragment;
|
||||
import com.habitrpg.android.habitica.ui.fragments.faq.FAQOverviewFragment;
|
||||
import com.habitrpg.android.habitica.ui.fragments.inventory.StableFragment;
|
||||
import com.habitrpg.android.habitica.ui.fragments.inventory.customization.AvatarOverviewFragment;
|
||||
import com.habitrpg.android.habitica.ui.fragments.inventory.equipment.EquipmentOverviewFragment;
|
||||
import com.habitrpg.android.habitica.ui.fragments.inventory.items.ItemsFragment;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package com.habitrpg.android.habitica.ui;
|
||||
package com.habitrpg.android.habitica.ui.menu;
|
||||
|
||||
import com.habitrpg.android.habitica.R;
|
||||
import com.mikepenz.fastadapter.utils.ViewHolderFactory;
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
package com.habitrpg.android.habitica.ui.fragments;
|
||||
|
||||
public class AboutFragmentTest extends BaseFragmentTests<AboutFragment> {
|
||||
|
||||
@Override
|
||||
public void setUp() {
|
||||
super.setUp();
|
||||
this.fragment = new AboutFragment();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
package com.habitrpg.android.habitica.ui.fragments;
|
||||
|
||||
|
||||
import com.habitrpg.android.habitica.BuildConfig;
|
||||
import com.habitrpg.android.habitica.R;
|
||||
import com.habitrpg.android.habitica.ui.activities.MainActivity;
|
||||
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.robolectric.Robolectric;
|
||||
import org.robolectric.RobolectricGradleTestRunner;
|
||||
import org.robolectric.RuntimeEnvironment;
|
||||
import org.robolectric.annotation.Config;
|
||||
import org.robolectric.util.ActivityController;
|
||||
|
||||
import android.content.Intent;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.app.Fragment;
|
||||
import android.support.v4.app.FragmentActivity;
|
||||
import android.widget.LinearLayout;
|
||||
|
||||
import static org.junit.Assert.assertNotNull;
|
||||
import static org.junit.Assert.assertNull;
|
||||
|
||||
|
||||
@Config(constants = BuildConfig.class, sdk = Build.VERSION_CODES.LOLLIPOP)
|
||||
@RunWith(RobolectricGradleTestRunner.class)
|
||||
abstract public class BaseFragmentTests<F extends Fragment> {
|
||||
|
||||
public F fragment;
|
||||
private ActivityController<FragmentControllerActivity> activityController;
|
||||
private FragmentControllerActivity activity;
|
||||
|
||||
@Before
|
||||
public void setUp() {
|
||||
activityController = Robolectric.buildActivity(FragmentControllerActivity.class);
|
||||
Intent intent = new Intent(RuntimeEnvironment.application, FragmentControllerActivity.class);
|
||||
activity = activityController
|
||||
.withIntent(intent)
|
||||
.create()
|
||||
.get();
|
||||
}
|
||||
|
||||
@Test
|
||||
public void fragmentLifecycleTest() throws Exception {
|
||||
assertNull(this.fragment.getView());
|
||||
this.activity.getSupportFragmentManager().beginTransaction()
|
||||
.add(R.id.frame_container, this.fragment).commit();
|
||||
|
||||
this.activityController.start().resume().visible();
|
||||
|
||||
assertNotNull(this.fragment.getView());
|
||||
}
|
||||
|
||||
@After
|
||||
public void tearDown() {
|
||||
this.activityController.pause().stop().destroy();
|
||||
}
|
||||
|
||||
private static class FragmentControllerActivity extends MainActivity {
|
||||
@Override
|
||||
public void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
LinearLayout view = new LinearLayout(this);
|
||||
view.setId(R.id.frame_container);
|
||||
|
||||
setContentView(view);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setActiveFragment(BaseMainFragment fragment) {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
package com.habitrpg.android.habitica.ui.fragments;
|
||||
|
||||
public class GemsPurchaseFragmentTest extends BaseFragmentTests<GemsPurchaseFragment> {
|
||||
|
||||
@Override
|
||||
public void setUp() {
|
||||
super.setUp();
|
||||
this.fragment = new GemsPurchaseFragment();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
package com.habitrpg.android.habitica.ui.fragments;
|
||||
|
||||
public class NewsFragmentTest extends BaseFragmentTests<NewsFragment> {
|
||||
|
||||
@Override
|
||||
public void setUp() {
|
||||
super.setUp();
|
||||
this.fragment = new NewsFragment();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.habitrpg.android.habitica.ui.fragments.faq;
|
||||
|
||||
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
|
||||
|
||||
public class FAQDetailFragmentTest extends BaseFragmentTests<FAQDetailFragment> {
|
||||
|
||||
@Override
|
||||
public void setUp() {
|
||||
super.setUp();
|
||||
this.fragment = new FAQDetailFragment();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.habitrpg.android.habitica.ui.fragments.faq;
|
||||
|
||||
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
|
||||
|
||||
public class FAQOverviewFragmentTest extends BaseFragmentTests<FAQOverviewFragment> {
|
||||
|
||||
@Override
|
||||
public void setUp() {
|
||||
super.setUp();
|
||||
this.fragment = new FAQOverviewFragment();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.habitrpg.android.habitica.ui.fragments.inventory.customization;
|
||||
|
||||
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
|
||||
|
||||
public class AvatarCustomizationFragmentTest extends BaseFragmentTests<AvatarCustomizationFragment> {
|
||||
|
||||
@Override
|
||||
public void setUp() {
|
||||
super.setUp();
|
||||
this.fragment = new AvatarCustomizationFragment();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.habitrpg.android.habitica.ui.fragments.inventory.customization;
|
||||
|
||||
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
|
||||
|
||||
public class AvatarOverviewFragmentTest extends BaseFragmentTests<AvatarOverviewFragment> {
|
||||
|
||||
@Override
|
||||
public void setUp() {
|
||||
super.setUp();
|
||||
this.fragment = new AvatarOverviewFragment();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.habitrpg.android.habitica.ui.fragments.inventory.equipment;
|
||||
|
||||
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
|
||||
|
||||
public class EquipmentDetailFragmentTest extends BaseFragmentTests<EquipmentDetailFragment> {
|
||||
|
||||
@Override
|
||||
public void setUp() {
|
||||
super.setUp();
|
||||
this.fragment = new EquipmentDetailFragment();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.habitrpg.android.habitica.ui.fragments.inventory.equipment;
|
||||
|
||||
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
|
||||
|
||||
public class EquipmentOverviewFragmentTest extends BaseFragmentTests<EquipmentOverviewFragment> {
|
||||
|
||||
@Override
|
||||
public void setUp() {
|
||||
super.setUp();
|
||||
this.fragment = new EquipmentOverviewFragment();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
package com.habitrpg.android.habitica.ui.fragments.inventory.items;
|
||||
|
||||
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
|
||||
|
||||
public class ItemRecyclerFragmentTest extends BaseFragmentTests<ItemRecyclerFragment> {
|
||||
|
||||
public void setUp() {
|
||||
super.setUp();
|
||||
this.fragment = new ItemRecyclerFragment();
|
||||
this.fragment.itemType = "eggs";
|
||||
this.fragment.isHatching = false;
|
||||
this.fragment.isFeeding = false;
|
||||
this.fragment.itemTypeText = "";
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.habitrpg.android.habitica.ui.fragments.inventory.items;
|
||||
|
||||
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
|
||||
|
||||
public class ItemsFragmentTest extends BaseFragmentTests<ItemsFragment> {
|
||||
|
||||
@Override
|
||||
public void setUp() {
|
||||
super.setUp();
|
||||
this.fragment = new ItemsFragment();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.habitrpg.android.habitica.ui.fragments.inventory.stable;
|
||||
|
||||
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
|
||||
|
||||
public class MountDetailRecyclerFragmentTest extends BaseFragmentTests<MountDetailRecyclerFragment> {
|
||||
|
||||
@Override
|
||||
public void setUp() {
|
||||
super.setUp();
|
||||
this.fragment = new MountDetailRecyclerFragment();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.habitrpg.android.habitica.ui.fragments.inventory.stable;
|
||||
|
||||
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
|
||||
|
||||
public class PetDetailRecyclerFragmentTest extends BaseFragmentTests<PetDetailRecyclerFragment> {
|
||||
|
||||
@Override
|
||||
public void setUp() {
|
||||
super.setUp();
|
||||
this.fragment = new PetDetailRecyclerFragment();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.habitrpg.android.habitica.ui.fragments.inventory.stable;
|
||||
|
||||
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
|
||||
|
||||
public class StableFragmentTest extends BaseFragmentTests<StableFragment> {
|
||||
|
||||
@Override
|
||||
public void setUp() {
|
||||
super.setUp();
|
||||
this.fragment = new StableFragment();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.habitrpg.android.habitica.ui.fragments.inventory.stable;
|
||||
|
||||
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
|
||||
|
||||
public class StableRecyclerFragmentTest extends BaseFragmentTests<StableRecyclerFragment> {
|
||||
|
||||
@Override
|
||||
public void setUp() {
|
||||
super.setUp();
|
||||
this.fragment = new StableRecyclerFragment();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.habitrpg.android.habitica.ui.fragments.skills;
|
||||
|
||||
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
|
||||
|
||||
public class SkillsFragmentTest extends BaseFragmentTests<SkillsFragment> {
|
||||
|
||||
@Override
|
||||
public void setUp() {
|
||||
super.setUp();
|
||||
this.fragment = new SkillsFragment();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.habitrpg.android.habitica.ui.fragments.skills;
|
||||
|
||||
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
|
||||
|
||||
public class SkillsTaskRecyclerViewFragmentTest extends BaseFragmentTests<SkillTasksRecyclerViewFragment> {
|
||||
|
||||
@Override
|
||||
public void setUp() {
|
||||
super.setUp();
|
||||
this.fragment = new SkillTasksRecyclerViewFragment();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
package com.habitrpg.android.habitica.ui.fragments.social;
|
||||
|
||||
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
|
||||
import com.habitrpg.android.habitica.ui.fragments.social.ChatListFragment;
|
||||
|
||||
public class ChatListFragmentTest extends BaseFragmentTests<ChatListFragment> {
|
||||
|
||||
public void setUp() {
|
||||
super.setUp();
|
||||
this.fragment = new ChatListFragment();
|
||||
this.fragment.isTavern = false;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.habitrpg.android.habitica.ui.fragments.social;
|
||||
|
||||
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
|
||||
|
||||
public class GroupInformationFragmentTest extends BaseFragmentTests<GroupInformationFragment> {
|
||||
|
||||
@Override
|
||||
public void setUp() {
|
||||
super.setUp();
|
||||
this.fragment = new GroupInformationFragment();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.habitrpg.android.habitica.ui.fragments.social;
|
||||
|
||||
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
|
||||
|
||||
public class GuildFragmentTest extends BaseFragmentTests<GuildFragment> {
|
||||
|
||||
@Override
|
||||
public void setUp() {
|
||||
super.setUp();
|
||||
this.fragment = new GuildFragment();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.habitrpg.android.habitica.ui.fragments.social;
|
||||
|
||||
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
|
||||
|
||||
public class GuildsOverviewFragmentTest extends BaseFragmentTests<GuildsOverviewFragment> {
|
||||
|
||||
@Override
|
||||
public void setUp() {
|
||||
super.setUp();
|
||||
this.fragment = new GuildsOverviewFragment();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.habitrpg.android.habitica.ui.fragments.social;
|
||||
|
||||
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
|
||||
|
||||
public class PublicGuildsFragmentTest extends BaseFragmentTests<PublicGuildsFragment> {
|
||||
|
||||
@Override
|
||||
public void setUp() {
|
||||
super.setUp();
|
||||
this.fragment = new PublicGuildsFragment();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.habitrpg.android.habitica.ui.fragments.social;
|
||||
|
||||
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
|
||||
|
||||
public class TavernFragmentTest extends BaseFragmentTests<TavernFragment> {
|
||||
|
||||
@Override
|
||||
public void setUp() {
|
||||
super.setUp();
|
||||
this.fragment = new TavernFragment();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.habitrpg.android.habitica.ui.fragments.social.party;
|
||||
|
||||
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
|
||||
|
||||
public class PartyFragmentTest extends BaseFragmentTests<PartyFragment> {
|
||||
|
||||
@Override
|
||||
public void setUp() {
|
||||
super.setUp();
|
||||
this.fragment = new PartyFragment();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.habitrpg.android.habitica.ui.fragments.social.party;
|
||||
|
||||
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
|
||||
|
||||
public class PartyInviteFragmentTest extends BaseFragmentTests<PartyInviteFragment> {
|
||||
|
||||
@Override
|
||||
public void setUp() {
|
||||
super.setUp();
|
||||
this.fragment = new PartyInviteFragment();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.habitrpg.android.habitica.ui.fragments.social.party;
|
||||
|
||||
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
|
||||
|
||||
public class PartyMemberListFragmentTest extends BaseFragmentTests<PartyMemberListFragment> {
|
||||
|
||||
@Override
|
||||
public void setUp() {
|
||||
super.setUp();
|
||||
this.fragment = new PartyMemberListFragment();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
package com.habitrpg.android.habitica.ui.fragments.tasks;
|
||||
|
||||
import com.habitrpg.android.habitica.ui.fragments.BaseFragmentTests;
|
||||
|
||||
public class TasksFragmentTest extends BaseFragmentTests<TasksFragment> {
|
||||
|
||||
@Override
|
||||
public void setUp() {
|
||||
super.setUp();
|
||||
this.fragment = new TasksFragment();
|
||||
}
|
||||
}
|
||||
|
|
@ -51,7 +51,7 @@ public class DateDeserializerTest {
|
|||
}
|
||||
};
|
||||
|
||||
this.referenceTimestamp = new Long("1443445200000");
|
||||
this.referenceTimestamp = Long.valueOf("1443445200000");
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
|||
Loading…
Reference in a new issue