From 9ab14e451e08dea1eeed5419c02e8f548e467bb9 Mon Sep 17 00:00:00 2001 From: Alinson Xavier Date: Mon, 15 Feb 2016 18:10:14 -0500 Subject: [PATCH] Show edit button on ShowHabitFragment --- .../org/isoron/uhabits/ShowHabitActivity.java | 16 +++--- .../uhabits/dialogs/ShowHabitFragment.java | 47 ++++++++++++++++-- .../main/res/drawable-hdpi/ic_action_edit.png | Bin 0 -> 715 bytes .../main/res/drawable-mdpi/ic_action_edit.png | Bin 0 -> 471 bytes .../res/drawable-xhdpi/ic_action_edit.png | Bin 0 -> 916 bytes .../res/drawable-xxhdpi/ic_action_edit.png | Bin 0 -> 1490 bytes ..._menu.xml => show_habit_activity_menu.xml} | 0 .../res/menu/show_habit_fragment_menu.xml | 10 ++++ 8 files changed, 62 insertions(+), 11 deletions(-) create mode 100644 app/src/main/res/drawable-hdpi/ic_action_edit.png create mode 100644 app/src/main/res/drawable-mdpi/ic_action_edit.png create mode 100644 app/src/main/res/drawable-xhdpi/ic_action_edit.png create mode 100644 app/src/main/res/drawable-xxhdpi/ic_action_edit.png rename app/src/main/res/menu/{show_habit_menu.xml => show_habit_activity_menu.xml} (100%) create mode 100644 app/src/main/res/menu/show_habit_fragment_menu.xml diff --git a/app/src/main/java/org/isoron/uhabits/ShowHabitActivity.java b/app/src/main/java/org/isoron/uhabits/ShowHabitActivity.java index ff5286044..e8cdb2b04 100644 --- a/app/src/main/java/org/isoron/uhabits/ShowHabitActivity.java +++ b/app/src/main/java/org/isoron/uhabits/ShowHabitActivity.java @@ -1,5 +1,6 @@ package org.isoron.uhabits; +import org.isoron.helpers.ReplayableActivity; import org.isoron.uhabits.models.Habit; import android.app.Activity; @@ -10,7 +11,7 @@ import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; -public class ShowHabitActivity extends Activity +public class ShowHabitActivity extends ReplayableActivity { public Habit habit; @@ -33,18 +34,19 @@ public class ShowHabitActivity extends Activity @Override public boolean onCreateOptionsMenu(Menu menu) { - getMenuInflater().inflate(R.menu.show_habit_menu, menu); + getMenuInflater().inflate(R.menu.show_habit_activity_menu, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { - int id = item.getItemId(); - if(id == R.id.action_settings) - { - return true; - } + switch(item.getItemId()) + { + case R.id.action_settings: + return true; + } + return super.onOptionsItemSelected(item); } } diff --git a/app/src/main/java/org/isoron/uhabits/dialogs/ShowHabitFragment.java b/app/src/main/java/org/isoron/uhabits/dialogs/ShowHabitFragment.java index 782515e1b..b0eeef791 100644 --- a/app/src/main/java/org/isoron/uhabits/dialogs/ShowHabitFragment.java +++ b/app/src/main/java/org/isoron/uhabits/dialogs/ShowHabitFragment.java @@ -5,13 +5,19 @@ import android.graphics.Color; import android.os.Bundle; import android.util.Log; import android.view.LayoutInflater; +import android.view.Menu; +import android.view.MenuInflater; +import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import android.widget.LinearLayout; import android.widget.TextView; import org.isoron.helpers.ColorHelper; +import org.isoron.helpers.Command; +import org.isoron.helpers.DialogHelper; import org.isoron.uhabits.R; +import org.isoron.uhabits.ReminderHelper; import org.isoron.uhabits.ShowHabitActivity; import org.isoron.uhabits.models.Habit; import org.isoron.uhabits.views.HabitHistoryView; @@ -19,9 +25,10 @@ import org.isoron.uhabits.views.HabitScoreView; import org.isoron.uhabits.views.HabitStreakView; import org.isoron.uhabits.views.RingView; -public class ShowHabitFragment extends Fragment +public class ShowHabitFragment extends Fragment implements DialogHelper.OnSavedListener { protected ShowHabitActivity activity; + private Habit habit; @Override public void onStart() @@ -37,7 +44,7 @@ public class ShowHabitFragment extends Fragment View view = inflater.inflate(R.layout.show_habit, container, false); activity = (ShowHabitActivity) getActivity(); - Habit habit = activity.habit; + habit = activity.habit; if (android.os.Build.VERSION.SDK_INT >= 21) { @@ -55,8 +62,8 @@ public class ShowHabitFragment extends Fragment tvStreaks.setTextColor(habit.color); LinearLayout llOverview = (LinearLayout) view.findViewById(R.id.llOverview); - llOverview.addView(new RingView(activity, - (int) activity.getResources().getDimension(R.dimen.small_square_size) * 4, habit.color, + llOverview.addView(new RingView(activity, (int) activity.getResources().getDimension( + R.dimen.small_square_size) * 4, habit.color, ((float) habit.getScore() / Habit.MAX_SCORE), "Habit strength")); LinearLayout llStrength = (LinearLayout) view.findViewById(R.id.llStrength); @@ -73,6 +80,38 @@ public class ShowHabitFragment extends Fragment (int) activity.getResources().getDimension(R.dimen.small_square_size)); llStreaks.addView(hsv); + setHasOptionsMenu(true); return view; } + + @Override + public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) + { + inflater.inflate(R.menu.show_habit_fragment_menu, menu); + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) + { + switch (item.getItemId()) + { + case R.id.action_edit_habit: + { + EditHabitFragment frag = EditHabitFragment.editSingleHabitFragment(habit.getId()); + frag.setOnSavedListener(this); + frag.show(getFragmentManager(), "dialog"); + return true; + } + } + + return false; + } + + @Override + public void onSaved(Command command) + { + activity.executeCommand(command); + ReminderHelper.createReminderAlarms(activity); + activity.recreate(); + } } diff --git a/app/src/main/res/drawable-hdpi/ic_action_edit.png b/app/src/main/res/drawable-hdpi/ic_action_edit.png new file mode 100644 index 0000000000000000000000000000000000000000..4112c90478aca08d14fac269d68f897c099c3330 GIT binary patch literal 715 zcmV;+0yO=JP)z6ZVohvn+M+bzxr_rQmBXZFJ9jCW?vOe&Q`5=kTxH_GMm4p0Oo z@DhxG{hLL8H+T!yD)_}jw)rgI3Kjz7HLpO{NBIUY3BH6RAUp?YU&L!bqkO9OzZ)!t zByrIf`7sL3gMN@<-!AZCg9N60S#7$&J0r=ly zYbAaL>`~vd;I10kr%WKDHnaCkEJyjGmHdzz!AIbL>dSMqrT+{%XvT7e0bR7V=&HKz_+ezPX}G+&uCsi8?uefD0ifs30WyBUa)a;5s-D z_Ob0S%K-1?Oal1ZIJx3JET}9@GwA3R-%IX zjZ~7)e3WnCj=A3JG3^d3Qc+f%V{PRr)gNJkzE<EGipUL=i0Xq>vT$a$s;DnF2$EzVF!LZyW_)fE5$002ovPDHLkV1gOVQAz*+ literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-mdpi/ic_action_edit.png b/app/src/main/res/drawable-mdpi/ic_action_edit.png new file mode 100644 index 0000000000000000000000000000000000000000..a5ab91338b66d3a4a13c44086e800f710cb62872 GIT binary patch literal 471 zcmV;|0Vw{7P)mB95{;A3UP4c>V$)6xl&FJC{b(@A^H73t@qUT zscGA1*VfE)V4r%`*4BQ$GxMEiW_`Z=^H-l_GFgi#VhDL1-ibSWi!ZF9*o*KG5?Z)! z2L(36BWOVpCUBpoh#_0y%{Y;eIO-6@MM?pSHp08r$WVfDJmOZCLlyC0Z3bkz*YS!g z^r8tj(hD`1l<-ZXJ;0Am$-1i|8gPgYnFUqE6Sh!_W0aW;U(%-a3~g$gVOxsmk&%C* z3Y8|q7t(b13&K*w5zghaYRqbr;qxwg+$o|JjWP>rOIDZ+k7WpVoT3mb2$&3y{vzBl zY3<1XO? zHV&A5EkqqA?dm`?AYgKg&`a7~ktD&6mi~a3fal zc4}lUjkbXfFD{jOr(a@59j9Jhr&aU4V^5A&zt{J9b+HWQ|5p90=LfxjxulM_KzaZG N002ovPDHLkV1lq#+uZ;F literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable-xhdpi/ic_action_edit.png b/app/src/main/res/drawable-xhdpi/ic_action_edit.png new file mode 100644 index 0000000000000000000000000000000000000000..cb23953078476cbeb6e917c4b1f3162b46411edf GIT binary patch literal 916 zcmV;F18e+=P)mV34e~YM z3`p}OUQQC|N?2;sm9QH0g70M{p~KWlKL|45GT5s1H-S4o6Y$i;1Pm1r83nCkn+Q1X zBLROXp{6CE0UQV8n#?Td(zflgE&5hW{^=NI=#U**JI!9)Q#I+!uZ8 z!9z{#wn_pgYSh>wh?9(hx7vySkO>==lZ`A_*g+Z<>C6aT}?&)}YH@Hi8*$r+a?|x3`%nFS$oW zQEXqYCE>Z6?(&tR+V`4J=z4t)U&m#A;Hj`Ijwz9xX>JSrWq-EJnH=5!&0_zZ;5YYu zreewMH^9w6&-yBmmyfb&k;hycw`~c!d{2e)3Yzsr_*ivfSlna6J>UJG@`_{Pm;*d1 zN`^(An4*Hm$4!C*L6<*SMR`THDPwvX%*-u90y1HiCtd_y{=_26(^PqFkmZjqvV60X z52$=HwDKYe32+76=ULlS7366i5DU6^q)2;v73AYVmyhyVT|Yni+Qs4}tHr3K2YPkGvRlPU6hN{Ec9g$l8jpDOTX$4q&ay0*ZtIi_ZA z+6u1~^7UdRwiL8}cTnutQec~pM#+oGPC12bP^{z6iuO-nvu9fH%gb^SkQMvhHC=vp z1<&<4HKN1cea6bOz(|FIn?7-jMpNbe7QaHIJ=3Ft;ztGVI@saa5VRas#uPTCzv(qy zewUArkm%*beq%pIS|9<#MZ~}GtE!l1Yw%|)dhw$V6AsHUzs(6y#czhMgl%4!fLd6_t3r5$K*5M9idqQ)6N=H$L@A)gfRC0y z5Tioi2T`JlpgaRuZMXfO>X~qEm>y=AM~3cjmUD0tSP@ zU@#aA27|$1Fj&AgF)>j|Y9+lv>LcwZ^^lg4YC)*D@E4FykaDDPgRYQvlV*dKfA}wu z{;`0Ux=q?jng()yQqCsQNKE*;PLdu4#lqoF<2*lB0Q^XQk)8m}0n(Ripuiqh>pocy+tT;lGv#)*@*OGhd-Tk$}!{lnl#^VU56zlsowsiVTyX(0srSi2s8+s?fOT@JkU_X)xD$E}e(wq&mBvm7HRv+PUPo?M zJ@*sRLze5?xLPT%yGWX;`BjsCG(38&(tLKx0Xh`;ah~6*)Y4&TXP%`b@vQ*7#PFbg zsUD=z(@s9AyWu?@s@7HuPch{+TZCV~>+_I${@W>P^G8g1n$wXS6K?5qd46=M56JI_ z2)`%gwvi~k)EnCGG_>6(e7@5baqXc6zz6(D-^e?G1AM?xf|#NCtY`QgA@=-n&pIf_ z1p4=bJQdabUe!L&23216n09R1VffD1h0n(!mk+ufyOVurMDAka`jK9;7z`QySP|hz zQtN;Q@!eas&-bF|7hn6t_c!wQf9Bdd1o(baQL`9(-U)8cKmFj%B}zLc?XL*gc#b_< zCiu}aA0)L8r_wTIP4fm5wNrU|$nYz<2j&B%#)l1- zHq>7Jy#>59<5bY_8Q#1E3obSNe9h68+LQT30{Am9ufKcTKS{40miAU6?Zk&) zooDcMNgbwp%+O{#(oXyUyqt3OqPB^DsGm4d?`?4S|Ae$NIRM8!&EdCeZB|(pX=mcB zvO|L3;<2VPAlg1;IEfDUDF@$tFS^KRZLbjUXM*@-_%(cb&}SWIg-Ao+BkiPH`6ktu z;yaoEzxac%e1%vO=;nvtRHR3ZXY}*9Fna)Yd4#SG#(j#HU?&@VFM9xgk>BxyKZuYp z0IO3#&+(DbRrmu4g$H1$z*qY2Hr0J#$>3)btbA4N{|DZbTMv4E0`Ni1LA9UX$507s z{@_Ypyx$*xs-wgK sXv4cPVK5jB27|$1Fc=I5gQc_o0a@j(k$^hI_W%F@07*qoM6N<$f?R~>cK`qY literal 0 HcmV?d00001 diff --git a/app/src/main/res/menu/show_habit_menu.xml b/app/src/main/res/menu/show_habit_activity_menu.xml similarity index 100% rename from app/src/main/res/menu/show_habit_menu.xml rename to app/src/main/res/menu/show_habit_activity_menu.xml diff --git a/app/src/main/res/menu/show_habit_fragment_menu.xml b/app/src/main/res/menu/show_habit_fragment_menu.xml new file mode 100644 index 000000000..d77372b2c --- /dev/null +++ b/app/src/main/res/menu/show_habit_fragment_menu.xml @@ -0,0 +1,10 @@ + + + + + + \ No newline at end of file