diff --git a/Habitica/res/drawable-hdpi/diamond_button.9.png b/Habitica/res/drawable-hdpi/diamond_button.9.png
new file mode 100644
index 000000000..c6e7621e2
Binary files /dev/null and b/Habitica/res/drawable-hdpi/diamond_button.9.png differ
diff --git a/Habitica/res/drawable-hdpi/diamond_button_white.9.png b/Habitica/res/drawable-hdpi/diamond_button_white.9.png
new file mode 100644
index 000000000..f2890c15c
Binary files /dev/null and b/Habitica/res/drawable-hdpi/diamond_button_white.9.png differ
diff --git a/Habitica/res/drawable-mdpi/diamond_button.9.png b/Habitica/res/drawable-mdpi/diamond_button.9.png
new file mode 100644
index 000000000..257a3ccd0
Binary files /dev/null and b/Habitica/res/drawable-mdpi/diamond_button.9.png differ
diff --git a/Habitica/res/drawable-mdpi/diamond_button_white.9.png b/Habitica/res/drawable-mdpi/diamond_button_white.9.png
new file mode 100644
index 000000000..699149917
Binary files /dev/null and b/Habitica/res/drawable-mdpi/diamond_button_white.9.png differ
diff --git a/Habitica/res/drawable-xhdpi/diamond_button.9.png b/Habitica/res/drawable-xhdpi/diamond_button.9.png
new file mode 100644
index 000000000..9018972c2
Binary files /dev/null and b/Habitica/res/drawable-xhdpi/diamond_button.9.png differ
diff --git a/Habitica/res/drawable-xhdpi/diamond_button_white.9.png b/Habitica/res/drawable-xhdpi/diamond_button_white.9.png
new file mode 100644
index 000000000..6f2e33dfe
Binary files /dev/null and b/Habitica/res/drawable-xhdpi/diamond_button_white.9.png differ
diff --git a/Habitica/res/drawable-xxhdpi/diamond_button.9.png b/Habitica/res/drawable-xxhdpi/diamond_button.9.png
new file mode 100644
index 000000000..81e28fd3d
Binary files /dev/null and b/Habitica/res/drawable-xxhdpi/diamond_button.9.png differ
diff --git a/Habitica/res/drawable-xxhdpi/diamond_button_white.9.png b/Habitica/res/drawable-xxhdpi/diamond_button_white.9.png
new file mode 100644
index 000000000..714d0c475
Binary files /dev/null and b/Habitica/res/drawable-xxhdpi/diamond_button_white.9.png differ
diff --git a/Habitica/res/layout/activity_setup.xml b/Habitica/res/layout/activity_setup.xml
index 56913b267..69b1a48b4 100644
--- a/Habitica/res/layout/activity_setup.xml
+++ b/Habitica/res/layout/activity_setup.xml
@@ -50,8 +50,6 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
- android:layout_toLeftOf="@id/nextButton"
- android:layout_toRightOf="@id/previousButton"
/>
diff --git a/Habitica/res/layout/fragment_setup_tasks.xml b/Habitica/res/layout/fragment_setup_tasks.xml
index 0324b4775..6f72f2f3d 100644
--- a/Habitica/res/layout/fragment_setup_tasks.xml
+++ b/Habitica/res/layout/fragment_setup_tasks.xml
@@ -1,27 +1,55 @@
-
+
-
+
-
-
+ android:layout_below="@id/heart_icon"
+ android:src="@drawable/creator_purple_bg"
+ android:layout_centerHorizontal="true" />
+
+
-
\ No newline at end of file
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_alignParentBottom="true"
+ android:background="@drawable/avatar_customization_category_bg"
+ android:id="@+id/recyclerView"
+ android:padding="17dp"/>
+
+
+
+
\ No newline at end of file
diff --git a/Habitica/res/layout/task_setup_item.xml b/Habitica/res/layout/task_setup_item.xml
index 4730ce78d..9953cf875 100644
--- a/Habitica/res/layout/task_setup_item.xml
+++ b/Habitica/res/layout/task_setup_item.xml
@@ -1,42 +1,8 @@
-
-
-
-
-
-
-
-
-
-
-
+ style="@style/DiamondButton"
+ android:background="@drawable/diamond_button_white"
+ android:layout_margin="6dp" />
diff --git a/Habitica/res/layout/tavern_chat_item.xml b/Habitica/res/layout/tavern_chat_item.xml
index cc287c3b8..a879839cd 100644
--- a/Habitica/res/layout/tavern_chat_item.xml
+++ b/Habitica/res/layout/tavern_chat_item.xml
@@ -1,6 +1,4 @@
-
-
- 36dp
- - @drawable/login_button
+ - @drawable/diamond_button
- 36dp
- 36dp
- @color/white
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/HabiticaBaseApplication.java b/Habitica/src/main/java/com/habitrpg/android/habitica/HabiticaBaseApplication.java
index 27fe75434..c320ffb01 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/HabiticaBaseApplication.java
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/HabiticaBaseApplication.java
@@ -110,7 +110,6 @@ public abstract class HabiticaBaseApplication extends MultiDexApplication {
}
public static boolean checkUserAuthentication(Context context, HostConfig hostConfig) {
- startActivity(SetupActivity.class, context);
if (hostConfig == null || hostConfig.getApi() == null || hostConfig.getApi().equals("") || hostConfig.getUser() == null || hostConfig.getUser().equals("")) {
startActivity(IntroActivity.class, context);
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/SetupActivity.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/SetupActivity.java
index bb1d419f9..059bfc861 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/SetupActivity.java
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/activities/SetupActivity.java
@@ -4,8 +4,10 @@ import com.habitrpg.android.habitica.APIHelper;
import com.habitrpg.android.habitica.HostConfig;
import com.habitrpg.android.habitica.R;
import com.habitrpg.android.habitica.callbacks.HabitRPGUserCallback;
+import com.habitrpg.android.habitica.callbacks.ItemsCallback;
import com.habitrpg.android.habitica.callbacks.MergeUserCallback;
import com.habitrpg.android.habitica.components.AppComponent;
+import com.habitrpg.android.habitica.events.commands.EquipCommand;
import com.habitrpg.android.habitica.events.commands.UpdateUserCommand;
import com.habitrpg.android.habitica.helpers.AmplitudeManager;
import com.habitrpg.android.habitica.ui.fragments.setup.AvatarSetupFragment;
@@ -30,6 +32,7 @@ import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
+import android.support.v4.content.ContextCompat;
import android.support.v4.view.ViewPager;
import android.support.v7.content.res.AppCompatResources;
import android.support.v7.preference.PreferenceManager;
@@ -95,7 +98,7 @@ public class SetupActivity extends BaseActivity implements ViewPager.OnPageChang
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Window window = getWindow();
- window.setStatusBarColor(getResources().getColor(R.color.light_gray_bg));
+ window.setStatusBarColor(ContextCompat.getColor(this, R.color.days_gray));
}
}
@@ -144,6 +147,14 @@ public class SetupActivity extends BaseActivity implements ViewPager.OnPageChang
});
}
+ @Subscribe
+ public void onEvent(EquipCommand event) {
+ this.apiHelper.apiService.equipItem(event.type, event.key)
+ .compose(apiHelper.configureApiCallObserver())
+ .subscribe(new ItemsCallback(this, this.user), throwable -> {
+ });
+ }
+
@OnClick(R.id.nextButton)
public void nextClicked(View v) {
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
@@ -197,6 +208,7 @@ public class SetupActivity extends BaseActivity implements ViewPager.OnPageChang
this.nextButton.setText(this.getString(R.string.intro_finish_button));
} else {
this.setPreviousButtonEnabled(true);
+ this.nextButton.setText(this.getString(R.string.next_button));
}
}
@@ -257,6 +269,7 @@ public class SetupActivity extends BaseActivity implements ViewPager.OnPageChang
}
case 2: {
taskSetupFragment = new TaskSetupFragment();
+ taskSetupFragment.setUser(user);
fragment = taskSetupFragment;
break;
}
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/setup/CustomizationSetupAdapter.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/setup/CustomizationSetupAdapter.java
index 7c73988d7..00280f097 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/setup/CustomizationSetupAdapter.java
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/setup/CustomizationSetupAdapter.java
@@ -4,6 +4,7 @@ import com.facebook.drawee.view.SimpleDraweeView;
import com.facebook.imagepipeline.request.ImageRequest;
import com.facebook.imagepipeline.request.ImageRequestBuilder;
import com.habitrpg.android.habitica.R;
+import com.habitrpg.android.habitica.events.commands.EquipCommand;
import com.habitrpg.android.habitica.events.commands.UpdateUserCommand;
import com.habitrpg.android.habitica.ui.helpers.DataBindingUtils;
import com.magicmicky.habitrpgwrapper.lib.models.Customization;
@@ -165,18 +166,21 @@ public class CustomizationSetupAdapter extends RecyclerView.Adapter updateData = new HashMap<>();
if (customization.path.equals("glasses")) {
- String updatePath = "items.gear.equipped.eyewear";
- updateData.put(updatePath, customization.key);
+ EquipCommand command = new EquipCommand();
+ command.key = customization.key;
+ command.type = "equipped";
+ EventBus.getDefault().post(command);
} else {
+ UpdateUserCommand command = new UpdateUserCommand();
+ Map updateData = new HashMap<>();
String updatePath = "preferences." + customization.getPath();
updateData.put(updatePath, customization.key);
- }
- command.updateData = updateData;
- EventBus.getDefault().post(command);
+ command.updateData = updateData;
+
+ EventBus.getDefault().post(command);
+ }
}
}
}
diff --git a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/setup/TaskSetupAdapter.java b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/setup/TaskSetupAdapter.java
index 8ae6d05b8..c0380b3a3 100644
--- a/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/setup/TaskSetupAdapter.java
+++ b/Habitica/src/main/java/com/habitrpg/android/habitica/ui/adapter/setup/TaskSetupAdapter.java
@@ -2,7 +2,11 @@ package com.habitrpg.android.habitica.ui.adapter.setup;
import com.habitrpg.android.habitica.R;
+import android.content.Context;
import android.content.res.Resources;
+import android.graphics.PorterDuff;
+import android.graphics.drawable.Drawable;
+import android.support.v4.content.ContextCompat;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
@@ -51,28 +55,26 @@ public class TaskSetupAdapter extends RecyclerView.Adapter