mirror of
https://github.com/sudoxnym/habitica-android.git
synced 2026-05-21 21:29:00 +00:00
add in legacy quest progress view for party quests
This will be unified later once we finalized the designs
This commit is contained in:
parent
fa26918a90
commit
cd234b9980
4 changed files with 116 additions and 2 deletions
|
|
@ -132,7 +132,7 @@
|
|||
android:layout_height="@dimen/quest_image_height"
|
||||
android:scaleType="fitCenter"/>
|
||||
</LinearLayout>
|
||||
<com.habitrpg.android.habitica.ui.views.social.QuestProgressView
|
||||
<com.habitrpg.android.habitica.ui.views.social.OldQuestProgressView
|
||||
android:id="@+id/quest_progress_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content" />
|
||||
|
|
|
|||
26
Habitica/res/layout/quest_progress_old.xml
Normal file
26
Habitica/res/layout/quest_progress_old.xml
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:orientation="vertical"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent">
|
||||
<TextView
|
||||
android:id="@+id/boss_name_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
tools:text="Quest Boss"
|
||||
android:textStyle="bold"
|
||||
android:layout_marginBottom="@dimen/spacing_small"/>
|
||||
<com.habitrpg.android.habitica.ui.views.ValueBar
|
||||
android:id="@+id/boss_health_view"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
app:barForegroundColor="@color/red_100"
|
||||
app:lightBackground="true" />
|
||||
<LinearLayout
|
||||
android:id="@+id/collection_container"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:orientation="vertical"/>
|
||||
</LinearLayout>
|
||||
|
|
@ -30,6 +30,7 @@ import com.habitrpg.android.habitica.ui.fragments.inventory.items.ItemRecyclerFr
|
|||
import com.habitrpg.android.habitica.ui.fragments.social.QuestDetailFragment;
|
||||
import com.habitrpg.android.habitica.ui.helpers.DataBindingUtils;
|
||||
import com.habitrpg.android.habitica.ui.helpers.MarkdownParser;
|
||||
import com.habitrpg.android.habitica.ui.views.social.OldQuestProgressView;
|
||||
import com.habitrpg.android.habitica.ui.views.social.QuestProgressView;
|
||||
|
||||
import javax.inject.Inject;
|
||||
|
|
@ -83,7 +84,7 @@ public class PartyDetailFragment extends BaseFragment {
|
|||
@BindView(R.id.quest_reject_button)
|
||||
Button questRejectButton;
|
||||
@BindView(R.id.quest_progress_view)
|
||||
QuestProgressView questProgressView;
|
||||
OldQuestProgressView questProgressView;
|
||||
@BindView(R.id.quest_participant_list)
|
||||
LinearLayout questParticipantList;
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,87 @@
|
|||
package com.habitrpg.android.habitica.ui.views.social;
|
||||
|
||||
import android.content.Context;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.util.AttributeSet;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.LinearLayout;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.facebook.drawee.view.SimpleDraweeView;
|
||||
import com.habitrpg.android.habitica.R;
|
||||
import com.habitrpg.android.habitica.models.inventory.QuestCollect;
|
||||
import com.habitrpg.android.habitica.models.inventory.QuestContent;
|
||||
import com.habitrpg.android.habitica.models.inventory.QuestProgress;
|
||||
import com.habitrpg.android.habitica.models.inventory.QuestProgressCollect;
|
||||
import com.habitrpg.android.habitica.ui.helpers.DataBindingUtils;
|
||||
import com.habitrpg.android.habitica.ui.views.ValueBar;
|
||||
|
||||
import butterknife.BindView;
|
||||
import butterknife.ButterKnife;
|
||||
|
||||
public class OldQuestProgressView extends LinearLayout {
|
||||
|
||||
@BindView(R.id.boss_name_view)
|
||||
TextView bossNameView;
|
||||
@BindView(R.id.boss_health_view)
|
||||
ValueBar bossHealthView;
|
||||
@BindView(R.id.collection_container)
|
||||
ViewGroup collectionContainer;
|
||||
|
||||
public OldQuestProgressView(@NonNull Context context) {
|
||||
super(context);
|
||||
setupView(context);
|
||||
}
|
||||
|
||||
public OldQuestProgressView(Context context, @Nullable AttributeSet attrs) {
|
||||
super(context, attrs);
|
||||
setupView(context);
|
||||
}
|
||||
|
||||
private void setupView(Context context) {
|
||||
LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
|
||||
inflater.inflate(R.layout.quest_progress_old, this);
|
||||
|
||||
ButterKnife.bind(this, this);
|
||||
}
|
||||
|
||||
public void setData(QuestContent quest, QuestProgress progress) {
|
||||
collectionContainer.removeAllViews();
|
||||
if (quest.isBossQuest()) {
|
||||
bossNameView.setText(quest.getBoss().getName());
|
||||
if (progress != null) {
|
||||
bossHealthView.set(progress.getHp(), quest.getBoss().getHp());
|
||||
}
|
||||
bossNameView.setVisibility(View.VISIBLE);
|
||||
bossHealthView.setVisibility(View.VISIBLE);
|
||||
} else {
|
||||
bossNameView.setVisibility(View.GONE);
|
||||
bossHealthView.setVisibility(View.GONE);
|
||||
|
||||
if (progress != null) {
|
||||
LayoutInflater inflater = LayoutInflater.from(getContext());
|
||||
if (progress.getCollect() != null) {
|
||||
for (QuestProgressCollect collect : progress.getCollect()) {
|
||||
QuestCollect contentCollect = quest.getCollectWithKey(collect.key);
|
||||
if (contentCollect == null) {
|
||||
continue;
|
||||
}
|
||||
View view = inflater.inflate(R.layout.quest_collect, collectionContainer, false);
|
||||
SimpleDraweeView iconView = (SimpleDraweeView) view.findViewById(R.id.icon_view);
|
||||
TextView nameView = (TextView) view.findViewById(R.id.name_view);
|
||||
ValueBar valueView = (ValueBar) view.findViewById(R.id.value_view);
|
||||
DataBindingUtils.INSTANCE.loadImage(iconView, "quest_" + quest.getKey() + "_" + collect.key);
|
||||
nameView.setText(contentCollect.text);
|
||||
valueView.set(collect.count, contentCollect.count);
|
||||
|
||||
collectionContainer.addView(view);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Reference in a new issue