From a8eb24eb373e5d8fc1d759fb14656ca23b202936 Mon Sep 17 00:00:00 2001 From: OliE Date: Sat, 3 Feb 2018 20:35:24 +0100 Subject: [PATCH] move add measurement button to toolbar. remember last fragment id. --- .../health/openscale/gui/MainActivity.java | 43 +++++++++++------- .../gui/fragments/OverviewFragment.java | 14 ------ .../app/src/main/res/drawable-hdpi/ic_add.png | Bin 0 -> 774 bytes .../app/src/main/res/drawable-ldpi/ic_add.png | Bin 0 -> 383 bytes .../app/src/main/res/drawable-mdpi/ic_add.png | Bin 0 -> 499 bytes .../src/main/res/drawable-xhdpi/ic_add.png | Bin 0 -> 1085 bytes .../src/main/res/drawable-xxhdpi/ic_add.png | Bin 0 -> 1709 bytes .../src/main/res/drawable-xxxhdpi/ic_add.png | Bin 0 -> 2370 bytes .../res/layout-large/fragment_overview.xml | 10 ---- .../src/main/res/layout/fragment_overview.xml | 28 ------------ .../app/src/main/res/menu/action_menu.xml | 8 +++- 11 files changed, 33 insertions(+), 70 deletions(-) create mode 100644 android_app/app/src/main/res/drawable-hdpi/ic_add.png create mode 100644 android_app/app/src/main/res/drawable-ldpi/ic_add.png create mode 100644 android_app/app/src/main/res/drawable-mdpi/ic_add.png create mode 100644 android_app/app/src/main/res/drawable-xhdpi/ic_add.png create mode 100644 android_app/app/src/main/res/drawable-xxhdpi/ic_add.png create mode 100644 android_app/app/src/main/res/drawable-xxxhdpi/ic_add.png diff --git a/android_app/app/src/main/java/com/health/openscale/gui/MainActivity.java b/android_app/app/src/main/java/com/health/openscale/gui/MainActivity.java index 34050373..9fb91c4c 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/MainActivity.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/MainActivity.java @@ -49,6 +49,7 @@ import com.health.openscale.R; import com.health.openscale.core.OpenScale; import com.health.openscale.core.bluetooth.BluetoothCommunication; import com.health.openscale.core.datatypes.ScaleMeasurement; +import com.health.openscale.gui.activities.DataEntryActivity; import com.health.openscale.gui.activities.SettingsActivity; import com.health.openscale.gui.activities.UserSettingsActivity; import com.health.openscale.gui.fragments.GraphFragment; @@ -64,7 +65,6 @@ public class MainActivity extends AppCompatActivity { private static boolean valueOfCountModified = false; private static int bluetoothStatusIcon = R.drawable.ic_bluetooth_disabled; private static MenuItem bluetoothStatus; - private static CharSequence fragmentTitle; private DrawerLayout drawerLayout; private Toolbar toolbar; @@ -118,16 +118,10 @@ public class MainActivity extends AppCompatActivity { // Setup drawer view setupDrawerContent(navDrawer); - // Initial first fragment - if(savedInstanceState == null) { - getSupportFragmentManager().beginTransaction().replace(R.id.fragment_content,new OverviewFragment()).commit(); - fragmentTitle = getString(R.string.title_overview); - } - - setTitle(fragmentTitle); - SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); + selectDrawerItem(prefs.getInt("lastFragmentId", R.id.nav_overview)); + if (prefs.getBoolean("firstStart", true)) { Intent intent = new Intent(this, UserSettingsActivity.class); intent.putExtra(UserSettingsActivity.EXTRA_MODE, UserSettingsActivity.ADD_USER_REQUEST); @@ -224,7 +218,9 @@ public class MainActivity extends AppCompatActivity { new NavigationView.OnNavigationItemSelectedListener() { @Override public boolean onNavigationItemSelected(MenuItem menuItem) { - selectDrawerItem(menuItem); + selectDrawerItem(menuItem.getItemId()); + // Highlight the selected item has been done by NavigationView + menuItem.setChecked(true); return true; } @@ -232,23 +228,34 @@ public class MainActivity extends AppCompatActivity { }); } - public void selectDrawerItem(MenuItem menuItem) { + public void selectDrawerItem(int menuItemId) { // Create a new fragment and specify the fragment to show based on nav item clicked Fragment fragment = null; Class fragmentClass; + String fragmentTitle; - switch(menuItem.getItemId()) { + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); + + switch(menuItemId) { case R.id.nav_overview: fragmentClass = OverviewFragment.class; + fragmentTitle = getResources().getString(R.string.title_overview); + prefs.edit().putInt("lastFragmentId", menuItemId).commit(); break; case R.id.nav_graph: fragmentClass = GraphFragment.class; + fragmentTitle = getResources().getString(R.string.title_graph); + prefs.edit().putInt("lastFragmentId", menuItemId).commit(); break; case R.id.nav_table: fragmentClass = TableFragment.class; + fragmentTitle = getResources().getString(R.string.title_table); + prefs.edit().putInt("lastFragmentId", menuItemId).commit(); break; case R.id.nav_statistic: fragmentClass = StatisticsFragment.class; + fragmentTitle = getResources().getString(R.string.title_statistics); + prefs.edit().putInt("lastFragmentId", menuItemId).commit(); break; case R.id.nav_settings: Intent settingsIntent = new Intent(this, SettingsActivity.class); @@ -257,6 +264,8 @@ public class MainActivity extends AppCompatActivity { return; default: fragmentClass = OverviewFragment.class; + fragmentTitle = getResources().getString(R.string.title_overview); + prefs.edit().putInt("lastFragmentId", menuItemId).commit(); } try { @@ -270,12 +279,8 @@ public class MainActivity extends AppCompatActivity { FragmentManager fragmentManager = getSupportFragmentManager(); fragmentManager.beginTransaction().replace(R.id.fragment_content, fragment).commit(); - // Highlight the selected item has been done by NavigationView - menuItem.setChecked(true); - // Set action bar title - setTitle(menuItem.getTitle()); - fragmentTitle = menuItem.getTitle(); + setTitle(fragmentTitle); // Close the navigation drawer drawerLayout.closeDrawers(); @@ -292,6 +297,10 @@ public class MainActivity extends AppCompatActivity { case android.R.id.home: drawerLayout.openDrawer(GravityCompat.START); return true; + case R.id.action_add_measurement: + Intent intent = new Intent(getApplicationContext(), DataEntryActivity.class); + startActivityForResult(intent, 1); + return true; case R.id.action_bluetooth_status: invokeSearchBluetoothDevice(); return true; diff --git a/android_app/app/src/main/java/com/health/openscale/gui/fragments/OverviewFragment.java b/android_app/app/src/main/java/com/health/openscale/gui/fragments/OverviewFragment.java index 9b01235f..1b4693de 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/fragments/OverviewFragment.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/fragments/OverviewFragment.java @@ -16,7 +16,6 @@ package com.health.openscale.gui.fragments; import android.content.Context; -import android.content.Intent; import android.content.SharedPreferences; import android.content.res.Configuration; import android.graphics.Color; @@ -39,7 +38,6 @@ import com.health.openscale.core.datatypes.ScaleMeasurement; import com.health.openscale.core.datatypes.ScaleUser; import com.health.openscale.core.utils.Converters; import com.health.openscale.core.utils.DateTimeHelpers; -import com.health.openscale.gui.activities.DataEntryActivity; import com.health.openscale.gui.views.BMIMeasurementView; import com.health.openscale.gui.views.BMRMeasurementView; import com.health.openscale.gui.views.BoneMeasurementView; @@ -150,12 +148,6 @@ public class OverviewFragment extends Fragment implements FragmentUpdateListener pieChartLast.setOnValueTouchListener(new PieChartLastTouchListener()); pieChartLast.setChartRotationEnabled(false); - overviewView.findViewById(R.id.btnInsertData).setOnClickListener(new View.OnClickListener() { - public void onClick(View view) { - btnOnClickInsertData(); - } - }); - userSelectedData = null; spinUserAdapter = new ArrayAdapter<>(overviewView.getContext(), R.layout.support_simple_spinner_dropdown_item, new ArrayList()); @@ -421,12 +413,6 @@ public class OverviewFragment extends Fragment implements FragmentUpdateListener pieChartLast.setPieChartData(pieChartData); } - public void btnOnClickInsertData() - { - Intent intent = new Intent(overviewView.getContext(), DataEntryActivity.class); - startActivityForResult(intent, 1); - } - private class PieChartLastTouchListener implements PieChartOnValueSelectListener { @Override diff --git a/android_app/app/src/main/res/drawable-hdpi/ic_add.png b/android_app/app/src/main/res/drawable-hdpi/ic_add.png new file mode 100644 index 0000000000000000000000000000000000000000..d824ad6a1fc701e53492f6b5f0d9201288a4ad3f GIT binary patch literal 774 zcmV+h1Nr=kP)K~z|U&6vweRZ$d&fBUGJub?0(NkT|M3o0rIjfx5k=M5S}^P+)N zP=85*lo3rzn>LfI%nTwTl`=DovVttBS+Dywxa;EfbjDvAZ; z<){EIdv|K_$LGB>H-MnnFd?Wu%XM)vrz7U@9H?6^7%yKv@X~S~4o_ABFYHU$v)nLV z-VXa$jV*XRfMZ75`@dkk+}ADlQQtUXq^&7MyMc2lW4BuFp@N~s2=Ap4G>vKCLx%VV z2Gtx$D*Vp-(+Wy*cBCEs7T+02YB%Fx2EnZ3uASQhNo|slG*LPpjY;|?sV$JyBx%k$ z_q|j!&bc4TucMj*Nez-d#t8&Y1D}8|{vm0Dq_ttY`F6+T`YLHvrSgv}ZkhNk>05-o zLHU<*E@CbhQ`Oj)8q}Bhdy30I(mC8T%=|J;e zS4*jYl>gELNfUvjAu}E*8IH8y&O-v4?YEt^bj)OkFO-g^f?+sgaXkZ^O&MD#uJ?Uo z*)2cHYk_8y<+FtKoXTgBZ;s`)4YB}#qu2-37ZIj`BpbyLRN+od0(*-9v(LNG_*-dD zz;8C>fL_u!8?G_m#!2362nmMUF~h)lU>8sw;a?5x1}*>(DONislw`4nRStLuJhfvc zVm?vBD)CN%d`s_;qz*}2BsFVcOYgO$apjBlK+=}p9|ND)UNo;#4gdfE07*qoM6N<$ Ef)#FC*#H0l literal 0 HcmV?d00001 diff --git a/android_app/app/src/main/res/drawable-ldpi/ic_add.png b/android_app/app/src/main/res/drawable-ldpi/ic_add.png new file mode 100644 index 0000000000000000000000000000000000000000..de9dee2c0fabd468ed62ad1a91c64ddfb99aa9e8 GIT binary patch literal 383 zcmV-_0f7FAP)>uPYRWwD2Q5!FBW_ND|;oV zQSmv%La+=$!OqXZyRwAcRpY>gojGUboaO!mC82Hu2f!-OO637?51dEDWm#Wwz`S~= z_S8eQS-_g9cBS^!xvC-S>Z7_-tMV(~%U{OyoJUq`*o zlMVHvhCHjz*5Ez0odL%{w?_CVajK#V9B04^a8pB!w5p;HtTupVM7)mJodHgOTqsjB zK;SGQp1)Nh2I_R9LPcPhzTcChLCQbM_zmDqohrJDh!@~AxtjzgBI2}EQCq+;OaIuZ zaF)BX2Hyhu`S$lJr~JJA*J?XY9@M=W)v6);-v=@k7S*ReUXkV0voH$$|I!u+V?QIM dCw82N?Gvi86Bk&2`T+m{002ovPDHLkV1oaDtjYiY literal 0 HcmV?d00001 diff --git a/android_app/app/src/main/res/drawable-mdpi/ic_add.png b/android_app/app/src/main/res/drawable-mdpi/ic_add.png new file mode 100644 index 0000000000000000000000000000000000000000..7ec539bfe303a5cda3ae0a1a56aa4baec7aaf66e GIT binary patch literal 499 zcmVE)X?%vJrPIu-!^UmCJm^nA-VCo2P z377?r0b^-v3)lo+0!tCGU8NBf!sEar;5x7YECFwUuL(H_G*j~9z#{NCBDOje+!nv8 zepgr2(>3@r>Zm9`_I8TBR|Q;4z=dALGmVQ$+ubLM+rJk(8olQqIih5UlQ?s(CyOnik*VH=&a2|M7 zC#XkT2F?}0QCiJ3XxjiL8??IeOBs>w=V|>1coGq7CE=feLk(Kvq9_3X zc7TuB`bc6wWWL`Ou>nK__yim-B_h^=_3Vod0F8)vSRtC*2(VoM?|~CF0(!M6;9Ws$ zQg$9v`?Jfyi@edMyG5u?wONCkNt&Z=$AY@jf6==MUjNgO*|57Y0P(%UE^Q2NTxY=W p9-Isu=#x40N53>dmZX8 literal 0 HcmV?d00001 diff --git a/android_app/app/src/main/res/drawable-xhdpi/ic_add.png b/android_app/app/src/main/res/drawable-xhdpi/ic_add.png new file mode 100644 index 0000000000000000000000000000000000000000..8042a72f5b2b482e8ba6111fe333a574b346e293 GIT binary patch literal 1085 zcmV-D1j74?P)!IDiTaKNoe{IW#>zxBC|N zGV$B=?OUh5@4I!os{5SkpacMxNxE0k-I4|*t&((oA?y!H`y~A&=?h7pg%A#<&~F4_ z5%3i770s~=*a9qU>LWBTzC_Y9k~T|PP-xySX^*4>l8z~kx)lG7TO{>K8j`f4&~H-G zOOm#S5RTRL)UNS)z!>nS8^I~yV_+1xtp-;g@Fehwapaf)wgOkAHope=#tEGUUI11m z;O+-r1padTyMfgyybBlsPCD{;Qy4GN=?C6(I+MU7osy0L=Z)}pU?h>>D$Px19@8Fc zN;K+5<5yr^Vy{)&L%>0&|3qDa5jVMh1eRVRuT>tFnKr<=wl61OgPTx46PL}N09axk zFi*G7)?q&IgLOCs40XwCm8T81>H&NQTv-*o&0TkocF|`gfXAJ$=Vl68%Jg#ic9%WQ z3b({g0=Je0?681;fPo%(tOPI!oH38j7aJGbH4pG|k37x_;8pi8EbhwT}?OK}o;Z={=dGK|A@rH#_h>OS(%^tE9QleI5p`Es2?u^koR)R88sJ>*AKC6Z5(x zlJu#hJKKocQPH+XG10GslXhH?Nup+FkFy>0&2g?lpWHJo#gU(C_Fy=7D6bEYlxfdcp_6Q_epWY z<_dDJ`!Y#;?WE_~R}JJ|_hypD?PNKyyhn!G2C*iU7a4YDl6JcG2fJ^nHXgDglE$+T z!eL3D+n1XX3i;*vd_vxhb{zk&5bP3~DPT1Z& zUGzDVr}j&W)}f!c)dO&t8e2!H0jvU!o0kdN-B@8Rm)9M^+}+@CL>t}G^|wv(lr^5B zUPi2t=bC4L$2uh~Zt{HqtWD(E>#PSpayp%F@;UP2HtSj9U9saEo^ii!oH^2MvpS*6 za-;kI^Qu7+%+;4YX818>uiM-p={gIUP%IuKf8FL^Flr~iQO~5^00000NkvXXu0mjf DK#Kq~ literal 0 HcmV?d00001 diff --git a/android_app/app/src/main/res/drawable-xxhdpi/ic_add.png b/android_app/app/src/main/res/drawable-xxhdpi/ic_add.png new file mode 100644 index 0000000000000000000000000000000000000000..0df8cdd29b599048cf037d03039e33cbd3d5a728 GIT binary patch literal 1709 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 o{ZZLL`*8d^WQ<9M3o8Ww2NtK7N(i-Y8vp - -