From b1bc1a06a1fb1c8df089078bd444d62551da9478 Mon Sep 17 00:00:00 2001 From: Phillip Thelen Date: Fri, 31 Mar 2017 16:44:57 +0200 Subject: [PATCH] New task setup view --- .../res/drawable-hdpi/diamond_button.9.png | Bin 0 -> 645 bytes .../drawable-hdpi/diamond_button_white.9.png | Bin 0 -> 535 bytes .../res/drawable-mdpi/diamond_button.9.png | Bin 0 -> 436 bytes .../drawable-mdpi/diamond_button_white.9.png | Bin 0 -> 368 bytes .../res/drawable-xhdpi/diamond_button.9.png | Bin 0 -> 777 bytes .../drawable-xhdpi/diamond_button_white.9.png | Bin 0 -> 666 bytes .../res/drawable-xxhdpi/diamond_button.9.png | Bin 0 -> 1174 bytes .../diamond_button_white.9.png | Bin 0 -> 1027 bytes Habitica/res/layout/activity_setup.xml | 2 - Habitica/res/layout/fragment_setup_tasks.xml | 70 ++++++++++++------ Habitica/res/layout/task_setup_item.xml | 46 ++---------- Habitica/res/layout/tavern_chat_item.xml | 2 - Habitica/res/values/styles.xml | 2 +- .../habitica/HabiticaBaseApplication.java | 1 - .../habitica/ui/activities/SetupActivity.java | 15 +++- .../setup/CustomizationSetupAdapter.java | 18 +++-- .../ui/adapter/setup/TaskSetupAdapter.java | 31 +++++--- .../ui/fragments/setup/TaskSetupFragment.java | 24 +++++- 18 files changed, 124 insertions(+), 87 deletions(-) create mode 100644 Habitica/res/drawable-hdpi/diamond_button.9.png create mode 100644 Habitica/res/drawable-hdpi/diamond_button_white.9.png create mode 100644 Habitica/res/drawable-mdpi/diamond_button.9.png create mode 100644 Habitica/res/drawable-mdpi/diamond_button_white.9.png create mode 100644 Habitica/res/drawable-xhdpi/diamond_button.9.png create mode 100644 Habitica/res/drawable-xhdpi/diamond_button_white.9.png create mode 100644 Habitica/res/drawable-xxhdpi/diamond_button.9.png create mode 100644 Habitica/res/drawable-xxhdpi/diamond_button_white.9.png 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 0000000000000000000000000000000000000000..c6e7621e2f3278773864a54c77da5d6b1a598b37 GIT binary patch literal 645 zcmV;00($+4P)#tEQ)s-AMTBe+B0}R0*TU!0AY=#)ScG&48A1aVVLAjk+qkL#hSKf> zMTC!RP_Xk0LZ#3oh_DAi(&?p%5LI-$5<~2l!&&l0%jo4~+QugHJe!ze zT^ny3onn7R#SV`3-3R!YD!cB7D4H_<*rDwK&KZ@h)zxz@YZ*+ws91@z8LP1Nh z(9A5^j0jCm@hoQ%$}gS`z4iHugeDIHT7OmrM~d2<`vk z5&R06QD{0}#xn~opSB1N5$e+x!6m}va-=q`LLrdQ^lIAT6k5LRb7>+pqJ1t+gn~k& fLO_k&T1vkGhKetkrp0u700000NkvXXu0mjfsag$f literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..f2890c15ceab9d98569b047edb59a17f543d697a GIT binary patch literal 535 zcmV+y0_gpTP)4gb%10);~u3h5#q9$Ro}=*ZP52U?1ll>KUt-z(sE0JV84H zwGz0vWt-YabCcUD{%>2#2U^$_;D;P zk%K?4IJ+Ve4MB6oCxmViMbO@WmT@o%!=Sk`V3)86nkz0Lw3ZkGKeiz>mv9W4D>flC zlkg0hE0<&vL_y;Wp^-!ma+rj$T>{^r2l700gs@oxU%1B*G>#C~OE3qGI)sZ7MbIXo zkERgTN(@0S-yz&=l_-KX1KrGr@K-`8XcQqV*Do40SJHWj9O9!4;g7_1q!K$-iB+7t zs6S2-{$potU$KW#f5lcr&J+tgcgC)eSc?9!L-7OPY3z^Uqrdy3s3Ia6!ZK(i8wFA! zOk>}&$v8I8LWYoj^QZ#Ez`Sb=9xn#~_pjDi936O7BuKLFw9 z5#Z&MUJthkCD4glZ!zJEkT7u#*vItW8e%bKBnLpx^>vV%kipnxP!Afh1smcxB%0s-xyy;X?iWHXd^cWeewjK&eJ zvjRb9yMauawE<8fgX_@{@{ZPq0M`*&qadPy#TbAa2#bv%e#mxI5|U}iJdm#ygkDId z@l<4Gh(95vb^(g_Bdriw8KS9>5Fm*b0t6Egc6JIO^FN5}24Ny3#Av7@%OQ|L5=fEd z5Lh80MV3Rz&u8@t2TlwW+_#U~2=)X9oE9tB!!Od-UFOKn5` z_n5%EnaaH>YP>1$yeV|ODEUoljf$GV>Te)56q5BH;?$sy{AWu8T9N66WFMkRWHmyv ezFcK};p`V~{};_;l5%kX0000bl%21U8JZ?yxWF`q&BtHVUz>K#Lj|+JKN?7HI^54GOT6f&_sB6OE9lQGJqK z5Gz8WW=>?k5WSEZ;7OwqnHE9-Z^R-*FQkqcqML~93qceTHA9iT=Qk1(7>euzA>o|J zAw+!=L_NJ7?ZE);=yo{q#~eJO*+GwJwkE5J8KT-^OrKfX{(ro{oOzWyv#4=qdFRYR z*NG)Rajnr=-~13nR&j5Ln+-zZ+Ymc(G_WGFB_Y{|m=RfVVziiid7!cyM= O0000j$MIkFy*K-hq8>e=yBo}EN(+sMpKx%0ayboV5}3Z$>C81N}A;6aYK7f zCeT9vuOa+)@a0g#g7y=nM$(;-r0Qfe1 zThstv?#9=wJ1^wJZ+;33{uw9%WDlR0EW}JT{8pRs&q4=)9la4i_;pVhp#qQ++J_2X z4T`jn0)R+%lzV|0NrDB?Ty|6&xFo>=kd+;c@c>ei-~gz|j{0~2CP^>=)MZEcrvN2M z`T%rg$FU^o0RWU8SCXU$08(}wNs>AM6SCt#lGFfjA&DdU z0Jdbuq9n-yU|%rsHT)KYfe`@qWygvnH3Q&Eb}UGe7=Q<|V^WgD0DO=ggOYR{KoaFC z*6Y9!syT21P?aP=*>Mj* zw(_i|q6;qoIY|oe5gLsp$&Bpy13)B6hGa(wz{TRtgOvUNzcm$Zqgt1m00000NkvXX Hu0mjf^M+F# literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..6f2e33dfe986182937b2a13f0b0781bb10274f86 GIT binary patch literal 666 zcmV;L0%iS)P)M0AL|Y9N!)Q>^V!-0I+~5j!*E9J$I@S0N(f*$2)|_USq5gfC0J~RRHjY zS3sYY3IHu+$2Tz~i57r^?D&RSlIQ?<$c}F)C5aS34ScDS0uUfOzM+z&Z~z3dBPmH? z00?DAN|J&B7?6(<0T4-cxFyLCz(saW2?02HN|HMO2HD}1BsTzzvcn}w&HyS%KUEX} z0K6vJ0T>A_+Kh17!=q24IR4jQ7$P*wQ@i z{a(4>Jtq@RTj1X|H@`GVdp%jBtg(puhuDunoNW)HtgKwj?Id+)AAk5Zi;^h+QzyQ? zoxQ!r_b}4;C(ljLi(0Sxbh`c=cb|$J6+A*7Ki!KQ+-#eT2WW zoZ83L_|@C9Amsuu`*#Et9|%&? z07erZ3{tWHh94gqQi1@68y^Ewf&hjW9~V+00EQEv0#X71h7+F(Qp^DcADdHpfrmEY*-MPe7KoioYG5yjDoL1I%`86kj2Q z0TIK;Y7orEEC)N-h`We$Y1D$3qRr7&TBU{(|-P0H#Oll zHErL`$cl;`jRg_E*r^n5S(cA<_k#c33$|;m9c$k{X3xxwe5T>NY}uUIp1Mm}!Y<{- z1RNKMMszru&Gd8o7%|EYG-Ru-n*-<1a1~%qkkUg(#2z}L0CR$rzrzIw{p^QE-msWH zV8?1Iz#2o!?;+wA40>e4>JbVLK+6Bg5el%{kODd_NC8#{Qh+DK1rD$pkb;XJIKb*a zN>76ByS z-%h|$e%O)K&0!B_z{T$fz+53k6JI*OL|@KVGQd1SiZ;GTfcb+IeSAp(^9(8a_;LW& z!LRKQ0WcUy@rlnFU_g-K6`v=-z#zph{_NCKE&!VZ_4RyQ0EPf5p7E&xh6E|T@uw4T zJ|cS6k9xF&K0XD&5Fy1oK0d(o3+QP8h7Tzj@i72K04X`~XA|%kXgxpf@f!T%16})v z>U+**#rF*`Vo1r0KVAK}U+-z<5DQ oe*7i?V+N_p_>x9hV-Yj{0h}}U8E|x-mH+?%07*qoM6N<$f`gYAM*si- literal 0 HcmV?d00001 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 0000000000000000000000000000000000000000..714d0c475fa25017120e30846812ba21370e97c5 GIT binary patch literal 1027 zcmV+e1pNDnP)9d8{KLHVhh@Yw&AE<2x1q)(1tdVv=GvO*_w@cb0=qFkRaTz_iOI^oHIM& z=${4rkQtoQH3&G={Xz17Nq}1j+pVVVpdkFYKYj+r?|$yw;+F}3?2qpdx9;bUEq-43 zeSbVd+Pd5ATm1C+50JM9i=P($(jUJv<9D~ewD@u1PyO)&%B;JeQ;Q!K{?H#^q3pW* zJGA(_<1YYb3yZ%!{0-pl#^UEgDs_?oCL?|isU^^CDFk5r@iQR>iUB4f{uFpNtvY@o zNNEKaUwr?Ej|xI62VkSB;v+#y8^GA&FF@87Rm3NNloo)|#wUW57J$*kCx(;;fYHQf zf|PWCk;R{au1yCKpBYk;0frmDhtvz`+zT?m@Zt-Dlth4`#&2O5YgNVfzwk8-Yu75` z3x|{>fR&A}1X5A}RxZ9WNJ#)#(fCuSV^dM_l|qUeVEOTtLy8k%dGQAVDK3Cz$8VwT zwJh-m2q|iSrN!?d^=jS!>@^W!@$m-^DN2CF#jgZXQ~-;Pe{YSq?j9w6Wssr(SXlf@ zA%zXF-SI1j6ehre;U=H%O5K>~D926a&EC;~S*t0rnpM(Rz^XaW(#d zKfYKKl69RA)}L@s>pZvbU7!7yp*>$^&p^{jzqI`)|aVHB8#9#Q$&&VCj&ukB%@vYE=3|QwFej zNEQ9K;Mn?Z-5B$;ng*~qNEQExcn7ehwf?Z>Cy+upIl=%I1}U`Df(&50A%%KET(fBn0EEZCBv7>^Jl6kSCfdecR zQY;s^8`|kajfxB0tvmqpfrOtsoT0`a0>E-1#S?!30MmOpU*!NR1u5S6N&z-@_#=z2 z31B55#UEc0z)C|(MtlVT!+?~W_`(6!INGs&NtrZ&%^m$%zn)JDz`Ea~p0DQ<1Tbt! z$&4=mU=)y&8^3=5CQR`sj&~yBa{!DAQnKSS0E`k+^5YW%j2cop;u8U^adIXre*XYq zT>+(avL-S<#Kb!V?mGwc`K)002ovPDHLkV1ii6 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