From 30dda364c567bd22f078dd4cc9d80b3740f62e9f Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Thu, 21 Apr 2016 17:20:03 +0200 Subject: [PATCH] Add sharing to raised pets --- Habitica/res/values/strings.xml | 1 + .../habitica/ui/activities/MainActivity.java | 30 +++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/Habitica/res/values/strings.xml b/Habitica/res/values/strings.xml index 8fa05c4d1..dd639b060 100644 --- a/Habitica/res/values/strings.xml +++ b/Habitica/res/values/strings.xml @@ -342,4 +342,5 @@ To start, which parts of your life do you want to improve? Share using I got to level %s in Habitica by improving my real-life habits! I just hatched a %1$s %2$s pet in Habitica by completing my real-life tasks! + I just gained a %1$s %2$s mount in Habitica by completing my real-life tasks! 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 ba9ed271f..334df608b 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 @@ -868,8 +868,38 @@ public class MainActivity extends BaseActivity implements HabitRPGUserCallback.O @Override public void success(FeedResponse feedResponse, Response response) { MainActivity.this.user.getItems().getPets().put(pet.getKey(), feedResponse.value); + MainActivity.this.user.getItems().getFood().put(event.usingFood.getKey(), event.usingFood.getOwned()-1); MainActivity.this.setUserData(false); showSnackbar(MainActivity.this, floatingMenuWrapper, getString(R.string.notification_pet_fed, pet.getColorText(), pet.getAnimalText()), SnackbarDisplayType.NORMAL); + if (feedResponse.value == -1) { + FrameLayout mountWrapper = (FrameLayout) getLayoutInflater().inflate(R.layout.pet_imageview, null); + ImageView mountImageView = (ImageView) mountWrapper.findViewById(R.id.pet_imageview); + + DataBindingUtils.loadImage(mountImageView, "Mount_Icon_" + event.usingPet.getKey()); + String colorName = event.usingPet.getColorText(); + String animalName = event.usingPet.getAnimalText(); + AlertDialog dialog = new AlertDialog.Builder(MainActivity.this) + .setTitle(getString(R.string.hatched_pet_title, colorName, animalName)) + .setView(mountWrapper) + .setPositiveButton(R.string.close, (hatchingDialog, which) -> { + hatchingDialog.dismiss(); + }) + .setNeutralButton(R.string.share, (hatchingDialog, which) -> { + ShareEvent event = new ShareEvent(); + event.sharedMessage = getString(R.string.share_raised, colorName, animalName) + " https://habitica.com/social/raise-pet"; + Bitmap animalBitmap = ((BitmapDrawable)mountImageView.getDrawable()).getBitmap(); + Bitmap sharedImage = Bitmap.createBitmap(99, 99, Bitmap.Config.ARGB_8888); + Canvas canvas = new Canvas(sharedImage); + canvas.drawColor(getResources().getColor(R.color.brand_300)); + canvas.drawBitmap(animalBitmap, new Rect(0, 0, animalBitmap.getWidth(), animalBitmap.getHeight()), + new Rect(9, 0, animalBitmap.getWidth() + 9, animalBitmap.getHeight()), new Paint()); + event.shareImage = sharedImage; + EventBus.getDefault().post(event); + hatchingDialog.dismiss(); + }) + .create(); + dialog.show(); + } } @Override