diff --git a/Habitica/res/layout/animal_overview_item.xml b/Habitica/res/layout/animal_overview_item.xml
index 47a35b166..36105c611 100644
--- a/Habitica/res/layout/animal_overview_item.xml
+++ b/Habitica/res/layout/animal_overview_item.xml
@@ -12,8 +12,8 @@
style="@style/CardContent">
+
+
+
+
+
+
+
+
diff --git a/Habitica/res/layout/item_item.xml b/Habitica/res/layout/item_item.xml
index 1b93324e4..6aa9c29ce 100644
--- a/Habitica/res/layout/item_item.xml
+++ b/Habitica/res/layout/item_item.xml
@@ -6,6 +6,9 @@
+
+ style="@style/RowTitle"
+ android:alpha="@{disabled ? 0.3f : 1.0f}" />
+ style="@style/RowText"
+ android:alpha="@{disabled ? 0.3f : 1.0f}" />
\ No newline at end of file
diff --git a/Habitica/res/layout/pet_detail_item.xml b/Habitica/res/layout/pet_detail_item.xml
new file mode 100644
index 000000000..e7bcd000b
--- /dev/null
+++ b/Habitica/res/layout/pet_detail_item.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Habitica/res/layout/pet_imageview.xml b/Habitica/res/layout/pet_imageview.xml
new file mode 100644
index 000000000..43cbaed13
--- /dev/null
+++ b/Habitica/res/layout/pet_imageview.xml
@@ -0,0 +1,5 @@
+
+
+
\ No newline at end of file
diff --git a/Habitica/res/values/dimens.xml b/Habitica/res/values/dimens.xml
index 930df1dcc..f66fd45e4 100644
--- a/Habitica/res/values/dimens.xml
+++ b/Habitica/res/values/dimens.xml
@@ -68,4 +68,6 @@
4dp
120dp
18dp
+ 81dp
+ 99dp
\ No newline at end of file
diff --git a/Habitica/res/values/strings.xml b/Habitica/res/values/strings.xml
index 426796136..1a0f95b72 100644
--- a/Habitica/res/values/strings.xml
+++ b/Habitica/res/values/strings.xml
@@ -290,6 +290,15 @@ To start, which parts of your life do you want to improve?
Sell (%s Gold)
Hatch with potion
Feed to pet
- Hatch egg
+ Hatch with egg
Invite party
+ Feed %s with
+ Use
+ Feed
+ Hatch pet with %s
+ You hatched a %s %s!
+ Close
+ Share
+ You fed your %s!
+ %s was purchased
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/events/commands/EquipGearCommand.java b/Habitica/src/main/java/com/habitrpg/android/habitica/events/commands/EquipCommand.java
similarity index 58%
rename from Habitica/src/main/java/com/habitrpg/android/habitica/events/commands/EquipGearCommand.java
rename to Habitica/src/main/java/com/habitrpg/android/habitica/events/commands/EquipCommand.java
index be23ab6a9..c4357e95a 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/events/commands/EquipGearCommand.java
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/events/commands/EquipCommand.java
@@ -2,9 +2,9 @@ package com.habitrpg.android.habitica.events.commands;
import com.magicmicky.habitrpgwrapper.lib.models.tasks.ItemData;
-public class EquipGearCommand {
+public class EquipCommand {
- public ItemData gear;
- public Boolean asCostume;
+ public String key;
+ public String type;
}
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/events/commands/FeedCommand.java b/Habitica/src/main/java/com/habitrpg/android/habitica/events/commands/FeedCommand.java
new file mode 100644
index 000000000..586581a11
--- /dev/null
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/events/commands/FeedCommand.java
@@ -0,0 +1,11 @@
+package com.habitrpg.android.habitica.events.commands;
+
+import com.magicmicky.habitrpgwrapper.lib.models.inventory.Food;
+import com.magicmicky.habitrpgwrapper.lib.models.inventory.Pet;
+
+public class FeedCommand {
+
+ public Pet usingPet;
+ public Food usingFood;
+
+}
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/events/commands/HatchingCommand.java b/Habitica/src/main/java/com/habitrpg/android/habitica/events/commands/HatchingCommand.java
new file mode 100644
index 000000000..311d04489
--- /dev/null
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/events/commands/HatchingCommand.java
@@ -0,0 +1,11 @@
+package com.habitrpg.android.habitica.events.commands;
+
+import com.magicmicky.habitrpgwrapper.lib.models.inventory.Egg;
+import com.magicmicky.habitrpgwrapper.lib.models.inventory.HatchingPotion;
+
+public class HatchingCommand {
+
+ public Egg usingEgg;
+ public HatchingPotion usingHatchingPotion;
+
+}
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 d8a6f575b..6f7986c9e 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
@@ -15,6 +15,7 @@ import android.preference.PreferenceManager;
import android.support.design.widget.TabLayout;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.view.GravityCompat;
+import android.support.v7.app.AlertDialog;
import android.support.v7.widget.Toolbar;
import android.util.Log;
import android.view.Gravity;
@@ -42,8 +43,9 @@ import com.habitrpg.android.habitica.events.TaskRemovedEvent;
import com.habitrpg.android.habitica.events.ToggledInnStateEvent;
import com.habitrpg.android.habitica.events.commands.BuyRewardCommand;
import com.habitrpg.android.habitica.events.commands.DeleteTaskCommand;
-import com.habitrpg.android.habitica.events.commands.EquipGearCommand;
-import com.habitrpg.android.habitica.events.commands.InvitePartyToQuestCommand;
+import com.habitrpg.android.habitica.events.commands.EquipCommand;
+import com.habitrpg.android.habitica.events.commands.FeedCommand;
+import com.habitrpg.android.habitica.events.commands.HatchingCommand;
import com.habitrpg.android.habitica.events.commands.OpenGemPurchaseFragmentCommand;
import com.habitrpg.android.habitica.events.commands.OpenMenuItemCommand;
import com.habitrpg.android.habitica.events.commands.SellItemCommand;
@@ -55,6 +57,7 @@ import com.habitrpg.android.habitica.ui.TutorialView;
import com.habitrpg.android.habitica.ui.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;
import com.habitrpg.android.habitica.userpicture.UserPicture;
import com.habitrpg.android.habitica.userpicture.UserPictureRunnable;
import com.magicmicky.habitrpgwrapper.lib.models.HabitRPGUser;
@@ -62,7 +65,9 @@ import com.magicmicky.habitrpgwrapper.lib.models.SuppressedModals;
import com.magicmicky.habitrpgwrapper.lib.models.TaskDirection;
import com.magicmicky.habitrpgwrapper.lib.models.TaskDirectionData;
import com.magicmicky.habitrpgwrapper.lib.models.TutorialStep;
+import com.magicmicky.habitrpgwrapper.lib.models.inventory.Pet;
import com.magicmicky.habitrpgwrapper.lib.models.responses.BuyResponse;
+import com.magicmicky.habitrpgwrapper.lib.models.responses.FeedResponse;
import com.magicmicky.habitrpgwrapper.lib.models.tasks.ChecklistItem;
import com.magicmicky.habitrpgwrapper.lib.models.tasks.Days;
import com.magicmicky.habitrpgwrapper.lib.models.tasks.ItemData;
@@ -84,6 +89,7 @@ import com.raizlabs.android.dbflow.sql.language.Delete;
import com.raizlabs.android.dbflow.sql.language.From;
import com.raizlabs.android.dbflow.sql.language.Select;
import com.raizlabs.android.dbflow.sql.language.Where;
+import com.squareup.picasso.Picasso;
import org.greenrobot.eventbus.EventBus;
import org.greenrobot.eventbus.Subscribe;
@@ -92,6 +98,7 @@ import org.json.JSONObject;
import org.solovyev.android.checkout.ActivityCheckout;
import org.solovyev.android.checkout.Checkout;
+import java.io.IOException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
@@ -564,12 +571,8 @@ public class MainActivity extends BaseActivity implements HabitRPGUserCallback.O
}
@Subscribe
- public void onEvent(EquipGearCommand event) {
- if (event.asCostume) {
- this.mAPIHelper.apiService.equipCostume(event.gear.key, new ItemsCallback(this, this.user));
- } else {
- this.mAPIHelper.apiService.equipBattleGear(event.gear.key, new ItemsCallback(this, this.user));
- }
+ public void onEvent(EquipCommand event) {
+ this.mAPIHelper.apiService.equipItem(event.type, event.key, new ItemsCallback(this, this.user));
}
@Subscribe
@@ -697,6 +700,59 @@ public class MainActivity extends BaseActivity implements HabitRPGUserCallback.O
});
}
+ @Subscribe
+ public void onEvent(final HatchingCommand event) {
+ if (event.usingEgg == null || event.usingHatchingPotion == null) {
+ return;
+ }
+ this.mAPIHelper.apiService.hatchPet(event.usingEgg.getKey(), event.usingHatchingPotion.getKey(), new ItemsCallback(new HabitRPGUserCallback.OnUserReceived() {
+ @Override
+ public void onUserReceived(HabitRPGUser user) {
+ ImageView petImageView = (ImageView)getLayoutInflater().inflate(R.layout.pet_imageview, null);
+
+ DataBindingUtils.loadImage(petImageView, "Pet-" + event.usingEgg.getKey() + "-" + event.usingHatchingPotion.getKey());
+
+ AlertDialog dialog = new AlertDialog.Builder(MainActivity.this)
+ .setTitle(getString(R.string.hatched_pet_title, event.usingHatchingPotion.getText(), event.usingEgg.getText()))
+ .setView(petImageView)
+ .setPositiveButton(R.string.close, new DialogInterface.OnClickListener() {
+ @Override
+ public void onClick(DialogInterface dialog, int which) {
+ dialog.dismiss();
+ }
+ })
+ .create();
+ dialog.show();
+ }
+
+ @Override
+ public void onUserFail() {
+
+ }
+ }, this.user));
+ }
+
+ @Subscribe
+ public void onEvent(FeedCommand event) {
+ if (event.usingFood == null || event.usingPet == null) {
+ return;
+ }
+ final Pet pet = event.usingPet;
+ this.mAPIHelper.apiService.feedPet(event.usingPet.getKey(), event.usingFood.getKey(), new Callback() {
+ @Override
+ public void success(FeedResponse feedResponse, Response response) {
+ MainActivity.this.user.getItems().getPets().put(pet.getKey(), feedResponse.value);
+ MainActivity.this.setUserData(false);
+ showSnackbar(MainActivity.this, floatingMenuWrapper, getString(R.string.notification_pet_fed, pet.getKey()), SnackbarDisplayType.NORMAL);
+ }
+
+ @Override
+ public void failure(RetrofitError error) {
+
+ }
+ });
+ }
+
// endregion
@@ -704,7 +760,7 @@ public class MainActivity extends BaseActivity implements HabitRPGUserCallback.O
public void onTaskDataReceived(TaskDirectionData data, Task task) {
if (task.type.equals("reward")) {
- showSnackbar(this, floatingMenuWrapper, task.getText() + " successfully purchased!", SnackbarDisplayType.NORMAL);
+ showSnackbar(this, floatingMenuWrapper, getString(R.string.notification_purchase, task.getText()), SnackbarDisplayType.NORMAL);
} else {
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/EquipmentRecyclerViewAdapter.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/EquipmentRecyclerViewAdapter.java
index 4d2515c8b..fa266434c 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/EquipmentRecyclerViewAdapter.java
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/EquipmentRecyclerViewAdapter.java
@@ -9,7 +9,7 @@ import android.widget.ImageView;
import android.widget.TextView;
import com.habitrpg.android.habitica.R;
-import com.habitrpg.android.habitica.events.commands.EquipGearCommand;
+import com.habitrpg.android.habitica.events.commands.EquipCommand;
import com.magicmicky.habitrpgwrapper.lib.models.tasks.ItemData;
import com.squareup.picasso.Picasso;
@@ -108,9 +108,13 @@ class GearViewHolder extends RecyclerView.ViewHolder implements View.OnClickList
@Override
public void onClick(View v) {
- EquipGearCommand command = new EquipGearCommand();
- command.gear = this.gear;
- command.asCostume = isCostume;
+ EquipCommand command = new EquipCommand();
+ command.key = this.gear.key;
+ if (isCostume) {
+ command.type = "costume";
+ } else {
+ command.type = "gear";
+ }
EventBus.getDefault().post(command);
if (this.gear.key.equals(equippedGear)) {
equippedGear = type + "_base_0";
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/ItemRecyclerAdapter.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/ItemRecyclerAdapter.java
index d613f450f..504f8a56e 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/ItemRecyclerAdapter.java
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/inventory/ItemRecyclerAdapter.java
@@ -10,8 +10,11 @@ import android.view.ViewGroup;
import com.habitrpg.android.habitica.R;
import com.habitrpg.android.habitica.databinding.ItemItemBinding;
+import com.habitrpg.android.habitica.events.commands.FeedCommand;
+import com.habitrpg.android.habitica.events.commands.HatchingCommand;
import com.habitrpg.android.habitica.events.commands.InvitePartyToQuestCommand;
import com.habitrpg.android.habitica.events.commands.SellItemCommand;
+import com.habitrpg.android.habitica.ui.fragments.inventory.items.ItemRecyclerFragment;
import com.habitrpg.android.habitica.ui.menu.BottomSheetMenu;
import com.habitrpg.android.habitica.ui.menu.BottomSheetMenuItem;
import com.habitrpg.android.habitica.ui.menu.BottomSheetMenuSelectionRunnable;
@@ -19,10 +22,12 @@ import com.magicmicky.habitrpgwrapper.lib.models.inventory.Egg;
import com.magicmicky.habitrpgwrapper.lib.models.inventory.Food;
import com.magicmicky.habitrpgwrapper.lib.models.inventory.HatchingPotion;
import com.magicmicky.habitrpgwrapper.lib.models.inventory.Item;
+import com.magicmicky.habitrpgwrapper.lib.models.inventory.Pet;
import com.magicmicky.habitrpgwrapper.lib.models.inventory.QuestContent;
import org.greenrobot.eventbus.EventBus;
+import java.util.HashMap;
import java.util.List;
public class ItemRecyclerAdapter extends RecyclerView.Adapter {
@@ -30,6 +35,11 @@ public class ItemRecyclerAdapter extends RecyclerView.Adapter itemList;
public Boolean isHatching;
+ public Boolean isFeeding;
+ public Item hatchingItem;
+ public Pet feedingPet;
+ public ItemRecyclerFragment fragment;
+ public HashMap ownedPets;
public Context context;
@@ -73,9 +83,20 @@ public class ItemRecyclerAdapter extends RecyclerView.Adapter 0) {
- this.ownedTextView.setText(ownedMapping.get(item.getKey()).toString());
- DataBindingUtils.loadImage(this.imageView, "Pet-" + itemType + "-" + item.getColor());
- } else {
- ownedTextView.setVisibility(View.GONE);
- ownedTextView.setText(null);
- DataBindingUtils.loadImage(this.imageView, "PixelPaw");
- this.imageView.setAlpha(0.4f);
+ public Boolean isOwned() {
+ if (ownedMapping != null && animal != null) {
+ if (ownedMapping.containsKey(animal.getKey()) && ownedMapping.get(animal.getKey()) > 0) {
+ return true;
}
+ }
+ return false;
+ }
+
+ public void bind(Pet item) {
+ this.animal = item;
+ this.titleView.setText(item.getColor());
+ this.trainedProgressbar.setVisibility(View.VISIBLE);
+ this.imageView.setAlpha(1.0f);
+ if (this.isOwned()) {
+ this.trainedProgressbar.setProgress(ownedMapping.get(item.getKey()));
+ DataBindingUtils.loadImage(this.imageView, "Pet-" + itemType + "-" + item.getColor());
} else {
- ownedTextView.setVisibility(View.GONE);
+ this.trainedProgressbar.setVisibility(View.GONE);
DataBindingUtils.loadImage(this.imageView, "PixelPaw");
this.imageView.setAlpha(0.4f);
}
@@ -107,7 +118,27 @@ public class PetDetailRecyclerAdapter extends RecyclerView.Adapter ownedPets;
+
private static final String ITEM_TYPE_KEY = "CLASS_TYPE_KEY";
LinearLayoutManager layoutManager = null;
@@ -37,9 +57,9 @@ public class ItemRecyclerFragment extends BaseFragment {
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
if (view == null) {
- view = inflater.inflate(R.layout.fragment_recyclerview, container, false);
+ view = inflater.inflate(R.layout.fragment_items, container, false);
- recyclerView = (RecyclerView) view.findViewById(R.id.recyclerView);
+ ButterKnife.bind(this, view);
android.support.v4.app.FragmentActivity context = getActivity();
@@ -56,6 +76,15 @@ public class ItemRecyclerFragment extends BaseFragment {
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);
this.loadItems();
@@ -67,9 +96,33 @@ public class ItemRecyclerFragment extends BaseFragment {
this.itemType = savedInstanceState.getString(ITEM_TYPE_KEY, "");
}
+ if (this.isHatching) {
+ getDialog().requestWindowFeature(Window.FEATURE_NO_TITLE);
+ this.titleView.setText(getString(R.string.hatch_with, this.hatchingItem.getText()));
+ this.titleView.setVisibility(View.VISIBLE);
+ } else if (this.isFeeding) {
+ getDialog().requestWindowFeature(Window.FEATURE_NO_TITLE);
+ this.titleView.setText(getString(R.string.dialog_feeding, this.feedingPet.getKey()));
+ this.titleView.setVisibility(View.VISIBLE);
+ } else {
+ this.titleView.setVisibility(View.GONE);
+ }
+
return view;
}
+ @Override
+ public void onResume() {
+ if (this.isHatching) {
+ ViewGroup.LayoutParams params = getDialog().getWindow().getAttributes();
+ params.width = ViewGroup.LayoutParams.MATCH_PARENT;
+ params.height = ViewGroup.LayoutParams.MATCH_PARENT;
+ getDialog().getWindow().setAttributes((android.view.WindowManager.LayoutParams) params);
+ }
+
+ super.onResume();
+ }
+
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/items/ItemsFragment.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/items/ItemsFragment.java
index 30ec09c9c..ae55e8c8e 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/items/ItemsFragment.java
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/fragments/inventory/items/ItemsFragment.java
@@ -1,6 +1,7 @@
package com.habitrpg.android.habitica.ui.fragments.inventory.items;
import android.os.Bundle;
+import android.support.v4.app.DialogFragment;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.ViewPager;
@@ -10,10 +11,13 @@ import android.view.ViewGroup;
import com.habitrpg.android.habitica.ContentCache;
import com.habitrpg.android.habitica.R;
+import com.habitrpg.android.habitica.events.commands.FeedCommand;
+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.fragments.BaseMainFragment;
+import com.habitrpg.android.habitica.ui.fragments.inventory.PetDetailRecyclerFragment;
import com.magicmicky.habitrpgwrapper.lib.models.Group;
import com.magicmicky.habitrpgwrapper.lib.models.UserParty;
@@ -47,12 +51,6 @@ public class ItemsFragment extends BaseMainFragment {
public void setViewPagerAdapter() {
android.support.v4.app.FragmentManager fragmentManager = getChildFragmentManager();
- UserParty party = user.getParty();
-
- if (party == null) {
- return;
- }
-
viewPager.setAdapter(new FragmentPagerAdapter(fragmentManager) {
@Override
@@ -79,6 +77,7 @@ public class ItemsFragment extends BaseMainFragment {
}
}
fragment.isHatching = false;
+ fragment.isFeeding = false;
return fragment;
}
@@ -123,4 +122,22 @@ public class ItemsFragment extends BaseMainFragment {
}
});
}
+
+ @Subscribe
+ public void showHatchingDialog(HatchingCommand event) {
+ if (event.usingEgg == null || event.usingHatchingPotion == null) {
+ ItemRecyclerFragment fragment = new ItemRecyclerFragment();
+ if (event.usingEgg != null) {
+ fragment.itemType = "hatchingPotions";
+ fragment.hatchingItem= event.usingEgg;
+ } else {
+ fragment.itemType = "eggs";
+ fragment.hatchingItem = event.usingHatchingPotion;
+ }
+ fragment.isHatching = true;
+ fragment.isFeeding = false;
+ fragment.ownedPets = this.user.getItems().getPets();
+ fragment.show(getFragmentManager(), "hatchingDialog");
+ }
+ }
}
diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/api/ApiService.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/api/ApiService.java
index 03583cf3d..fcfd548c9 100644
--- a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/api/ApiService.java
+++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/api/ApiService.java
@@ -13,6 +13,7 @@ import com.magicmicky.habitrpgwrapper.lib.models.UserAuth;
import com.magicmicky.habitrpgwrapper.lib.models.UserAuthResponse;
import com.magicmicky.habitrpgwrapper.lib.models.UserAuthSocial;
import com.magicmicky.habitrpgwrapper.lib.models.responses.BuyResponse;
+import com.magicmicky.habitrpgwrapper.lib.models.responses.FeedResponse;
import com.magicmicky.habitrpgwrapper.lib.models.responses.UnlockResponse;
import com.magicmicky.habitrpgwrapper.lib.models.tasks.ItemData;
import com.magicmicky.habitrpgwrapper.lib.models.tasks.Task;
@@ -51,11 +52,8 @@ public interface ApiService {
@GET("/user/inventory/buy")
void getInventoryBuyableGear(Callback> buyableGearCallback);
- @POST("/user/inventory/equip/equipped/{key}")
- void equipBattleGear(@Path("key") String itemKey, Callback gearCallback);
-
- @POST("/user/inventory/equip/costume/{key}")
- void equipCostume(@Path("key") String itemKey, Callback gearCallback);
+ @POST("/user/inventory/equip/{type}/{key}")
+ void equipItem(@Path("type") String type, @Path("key") String itemKey, Callback gearCallback);
@POST("/user/inventory/buy/{key}")
void buyItem(@Path("key") String itemKey, Callback voidCallback);
@@ -63,6 +61,13 @@ public interface ApiService {
@POST("/user/inventory/sell/{type}/{key}")
void sellItem(@Path("type") String itemType, @Path("key") String itemKey, Callback voidCallback);
+ @POST("/user/inventory/feed/{pet}/{food}")
+ void feedPet(@Path("pet") String petKey, @Path("food") String foodKey, Callback feedingCallback);
+
+ @POST("/user/inventory/hatch/{egg}/{hatchingPotion}")
+ void hatchPet(@Path("egg") String eggKey, @Path("hatchingPotion") String hatchingPotionKey, Callback itemsCallback);
+
+
@POST("/user/unlock")
void unlockPath(@Query("path") String path, Callback unlockResponseCallback);
diff --git a/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/responses/FeedResponse.java b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/responses/FeedResponse.java
new file mode 100644
index 000000000..9aaf84e1a
--- /dev/null
+++ b/Habitica/src/main/java/com/magicmicky/habitrpgwrapper/lib/models/responses/FeedResponse.java
@@ -0,0 +1,7 @@
+package com.magicmicky.habitrpgwrapper.lib.models.responses;
+
+public class FeedResponse {
+
+ public Integer value;
+
+}