Show wheelchair for other users. Fixes #933

This commit is contained in:
Phillip Thelen 2018-02-15 17:05:19 +01:00
parent 739fc15a0e
commit c4f435c296
4 changed files with 118 additions and 104 deletions

View file

@ -1,104 +0,0 @@
package com.habitrpg.android.habitica.models.members;
import com.habitrpg.android.habitica.models.AvatarPreferences;
import com.habitrpg.android.habitica.models.user.Hair;
import io.realm.RealmObject;
import io.realm.annotations.PrimaryKey;
public class MemberPreferences extends RealmObject implements AvatarPreferences {
@PrimaryKey
private String userId;
public Hair hair;
private boolean costume, disableClasses, sleep;
private String shirt, skin, size, background, chair;
public MemberPreferences() {
}
public void setUserId(String userId) {
this.userId = userId;
if (hair != null && !hair.isManaged()) {
hair.setUserId(userId);
}
}
public String getUserId() {
return userId;
}
public Hair getHair() {
return hair;
}
public void setHair(Hair hair) {
this.hair = hair;
}
public boolean getCostume() {
return costume;
}
public void setCostume(boolean costume) {
this.costume = costume;
}
public boolean getDisableClasses() {
return disableClasses;
}
public void setDisableClasses(boolean disableClasses) {
this.disableClasses = disableClasses;
}
public boolean getSleep() {
return sleep;
}
public void setSleep(boolean sleep) {
this.sleep = sleep;
}
public String getShirt() {
return shirt;
}
public void setShirt(String shirt) {
this.shirt = shirt;
}
public String getSkin() {
return skin;
}
public void setSkin(String skin) {
this.skin = skin;
}
public String getSize() {
return size;
}
public void setSize(String size) {
this.size = size;
}
public String getBackground() {
return background;
}
public void setBackground(String background) {
this.background = background;
}
public String getChair() {
return chair;
}
public void setChair(String chair) {
this.chair = chair;
}
}

View file

@ -0,0 +1,113 @@
package com.habitrpg.android.habitica.models.members
import com.habitrpg.android.habitica.models.AvatarPreferences
import com.habitrpg.android.habitica.models.user.Hair
import io.realm.RealmObject
import io.realm.annotations.PrimaryKey
open class MemberPreferences : RealmObject(), AvatarPreferences {
@PrimaryKey
private var userId: String? = null
private var hair: Hair? = null
private var costume: Boolean = false
private var disableClasses: Boolean = false
private var sleep: Boolean = false
private var shirt: String? = null
private var skin: String? = null
private var size: String? = null
private var background: String? = null
private var chair: String? = null
fun setUserId(userId: String) {
this.userId = userId
if (hair != null && !hair!!.isManaged) {
hair!!.userId = userId
}
}
override fun getUserId(): String? {
return userId
}
override fun getHair(): Hair? {
return hair
}
fun setHair(hair: Hair) {
this.hair = hair
}
override fun getCostume(): Boolean {
return costume
}
fun setCostume(costume: Boolean) {
this.costume = costume
}
override fun getDisableClasses(): Boolean {
return disableClasses
}
fun setDisableClasses(disableClasses: Boolean) {
this.disableClasses = disableClasses
}
override fun getSleep(): Boolean {
return sleep
}
fun setSleep(sleep: Boolean) {
this.sleep = sleep
}
override fun getShirt(): String? {
return shirt
}
fun setShirt(shirt: String) {
this.shirt = shirt
}
override fun getSkin(): String? {
return skin
}
fun setSkin(skin: String) {
this.skin = skin
}
override fun getSize(): String? {
return size
}
fun setSize(size: String) {
this.size = size
}
override fun getBackground(): String? {
return background
}
fun setBackground(background: String) {
this.background = background
}
override fun getChair(): String? {
return if (chair != null && chair != "none") {
if (chair!!.length > 5 && chair!!.substring(0, 6) != "chair_") {
chair
} else {
"chair_" + chair!!
}
} else null
}
fun setChair(chair: String) {
this.chair = chair
}
}

View file

@ -12,6 +12,7 @@ import android.widget.TextView;
import com.habitrpg.android.habitica.R;
import com.habitrpg.android.habitica.models.members.Member;
import com.habitrpg.android.habitica.models.members.MemberPreferences;
import com.habitrpg.android.habitica.models.user.Stats;
import com.habitrpg.android.habitica.ui.AvatarView;
import com.habitrpg.android.habitica.ui.AvatarWithBarsViewModel;
@ -101,6 +102,8 @@ public class PartyMemberRecyclerViewAdapter extends RealmRecyclerViewAdapter<Mem
classLabel.setText(user.getStats().getTranslatedClassName(context));
MemberPreferences preferences = user.getPreferences();
int colorResourceID;
switch (user.getStats().habitClass) {
case Stats.HEALER: {

View file

@ -81,6 +81,8 @@ public class MemberSerialization implements JsonDeserializer<Member> {
member.setContributor(context.deserialize(obj.get("contributor"), ContributorInfo.class));
}
member.setId(member.getId());
realm.close();
return member;
}