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 00000000..d824ad6a Binary files /dev/null and b/android_app/app/src/main/res/drawable-hdpi/ic_add.png differ 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 00000000..de9dee2c Binary files /dev/null and b/android_app/app/src/main/res/drawable-ldpi/ic_add.png differ 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 00000000..7ec539bf Binary files /dev/null and b/android_app/app/src/main/res/drawable-mdpi/ic_add.png differ 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 00000000..8042a72f Binary files /dev/null and b/android_app/app/src/main/res/drawable-xhdpi/ic_add.png differ 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 00000000..0df8cdd2 Binary files /dev/null and b/android_app/app/src/main/res/drawable-xxhdpi/ic_add.png differ diff --git a/android_app/app/src/main/res/drawable-xxxhdpi/ic_add.png b/android_app/app/src/main/res/drawable-xxxhdpi/ic_add.png new file mode 100644 index 00000000..17a51fca Binary files /dev/null and b/android_app/app/src/main/res/drawable-xxxhdpi/ic_add.png differ diff --git a/android_app/app/src/main/res/layout-large/fragment_overview.xml b/android_app/app/src/main/res/layout-large/fragment_overview.xml index 501ff4dd..3ac90126 100644 --- a/android_app/app/src/main/res/layout-large/fragment_overview.xml +++ b/android_app/app/src/main/res/layout-large/fragment_overview.xml @@ -93,14 +93,4 @@ - -