diff --git a/Habitica/res/layout/avatar_with_bars.xml b/Habitica/res/layout/avatar_with_bars.xml index 6c473be16..e78e22006 100644 --- a/Habitica/res/layout/avatar_with_bars.xml +++ b/Habitica/res/layout/avatar_with_bars.xml @@ -24,8 +24,8 @@ android:layout_width="@dimen/avatar_header_width" android:layout_height="@dimen/avatar_header_height" android:layout_gravity="center_vertical" - android:layout_marginEnd="32dp" - android:layout_marginRight="32dp" + android:layout_marginEnd="16dp" + android:layout_marginRight="16dp" app:showBackground="true" app:showMount="true" app:showPet="true" /> diff --git a/Habitica/res/layout/value_bar.xml b/Habitica/res/layout/value_bar.xml index 86c256700..54748ecff 100644 --- a/Habitica/res/layout/value_bar.xml +++ b/Habitica/res/layout/value_bar.xml @@ -3,6 +3,7 @@ xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="wrap_content" + xmlns:tools="http://schemas.android.com/tools" android:layout_marginBottom="@dimen/bar_padding" android:orientation="horizontal" android:id="@+id/value_bar_layout"> @@ -48,13 +49,15 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" + tools:text="50/50" /> + android:layout_weight="1" + tools:text="Health"/> diff --git a/Habitica/res/values/strings.constants.xml b/Habitica/res/values/strings.constants.xml index 6d95f808f..47c2a5904 100644 --- a/Habitica/res/values/strings.constants.xml +++ b/Habitica/res/values/strings.constants.xml @@ -6,7 +6,7 @@ APIToken Username E-mail - https://habitrpg-beta.herokuapp.com + https://habitica.com ACCEPT_PARTY_INVITE diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/events/ShowSnackbarEvent.java b/Habitica/src/main/java/com/habitrpg/android/habitica/events/ShowSnackbarEvent.java new file mode 100644 index 000000000..05f1616a9 --- /dev/null +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/events/ShowSnackbarEvent.java @@ -0,0 +1,13 @@ +package com.habitrpg.android.habitica.events; + +import com.habitrpg.android.habitica.ui.helpers.UiUtils; + +/** + * Created by phillip on 26.06.17. + */ + +public class ShowSnackbarEvent { + + public String text; + public UiUtils.SnackbarDisplayType type; +} diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/PopupNotificationsManager.java b/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/PopupNotificationsManager.java index 3ed0b9b94..afa8e5460 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/PopupNotificationsManager.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/helpers/PopupNotificationsManager.java @@ -17,10 +17,14 @@ import com.google.repacked.kotlin.Unit; import com.habitrpg.android.habitica.HabiticaApplication; import com.habitrpg.android.habitica.R; import com.habitrpg.android.habitica.data.ApiClient; +import com.habitrpg.android.habitica.events.ShowSnackbarEvent; import com.habitrpg.android.habitica.models.Notification; import com.habitrpg.android.habitica.models.notifications.Reward; import com.habitrpg.android.habitica.ui.helpers.DataBindingUtils; import com.habitrpg.android.habitica.ui.helpers.UiUtils; +import com.mikepenz.aboutlibraries.util.UIUtils; + +import org.greenrobot.eventbus.EventBus; import java.util.HashMap; import java.util.List; @@ -105,7 +109,10 @@ public class PopupNotificationsManager { final AlertDialog dialog = builder.create(); dialog.show(); } else { - UiUtils.showSnackbar(context, null, context.getString(R.string.nextPrizeUnlocks, notification.data.nextRewardAt), UiUtils.SnackbarDisplayType.BLUE); + ShowSnackbarEvent event = new ShowSnackbarEvent(); + event.text = context.getString(R.string.nextPrizeUnlocks, notification.data.nextRewardAt); + event.type = UiUtils.SnackbarDisplayType.BLUE; + EventBus.getDefault().post(event); } return true; } 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 811889821..1f2b2c6d9 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 @@ -52,6 +52,7 @@ import com.habitrpg.android.habitica.events.OpenMysteryItemEvent; import com.habitrpg.android.habitica.events.OpenedMysteryItemEvent; import com.habitrpg.android.habitica.events.SelectClassEvent; import com.habitrpg.android.habitica.events.ShareEvent; +import com.habitrpg.android.habitica.events.ShowSnackbarEvent; import com.habitrpg.android.habitica.events.commands.BuyGemItemCommand; import com.habitrpg.android.habitica.events.commands.BuyRewardCommand; import com.habitrpg.android.habitica.events.commands.ChecklistCheckedCommand; @@ -982,6 +983,11 @@ public class MainActivity extends BaseActivity implements TutorialView.OnTutoria startActivity(intent); } + @Subscribe + public void showSnackBarEvent(ShowSnackbarEvent event) { + showSnackbar(this, floatingMenuWrapper, event.text, event.type); + } + public boolean isAppBarExpanded() { return (appBar.getHeight() - appBar.getBottom()) == 0; } diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/UserDeserializer.java b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/UserDeserializer.java index 807e3ee0b..89fe22303 100644 --- a/Habitica/src/main/java/com/habitrpg/android/habitica/utils/UserDeserializer.java +++ b/Habitica/src/main/java/com/habitrpg/android/habitica/utils/UserDeserializer.java @@ -35,6 +35,9 @@ public class UserDeserializer implements JsonDeserializer { public User deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { User user = new User(); JsonObject obj = json.getAsJsonObject(); + + boolean isMember = !obj.has("tasksOrder"); + if (obj.has("_id")) { user.setId(obj.get("_id").getAsString()); } @@ -67,7 +70,9 @@ public class UserDeserializer implements JsonDeserializer { } } } - if (obj.has("items")) { + + //Only load items for authenticated user, since it otherwise messes up item ownership + if (obj.has("items") && !isMember) { user.setItems(context.deserialize(obj.get("items"), Items.class)); } if (obj.has("auth")) {