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 26bd3253..2679cd5c 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 @@ -66,13 +66,13 @@ import java.lang.reflect.Field; import cat.ereza.customactivityoncrash.config.CaocConfig; - public class MainActivity extends AppCompatActivity { private static boolean firstAppStart = true; private static boolean valueOfCountModified = false; private static int bluetoothStatusIcon = R.drawable.ic_bluetooth_disabled; private static MenuItem bluetoothStatus; + private Fragment currentFragment; private DrawerLayout drawerLayout; private Toolbar toolbar; private NavigationView navDrawer; @@ -95,6 +95,8 @@ public class MainActivity extends AppCompatActivity { setContentView(R.layout.activity_main); + currentFragment = null; + // Set a Toolbar to replace the ActionBar. toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); @@ -250,7 +252,6 @@ public class MainActivity extends AppCompatActivity { 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; @@ -282,22 +283,37 @@ public class MainActivity extends AppCompatActivity { settingsIntent.putExtra(SettingsActivity.EXTRA_TINT_COLOR, navDrawer.getItemTextColor().getDefaultColor()); startActivityForResult(settingsIntent, 1); return; + case R.id.nav_help: + startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://github.com/oliexdev/openScale/wiki"))); + return; default: fragmentClass = OverviewFragment.class; fragmentTitle = getResources().getString(R.string.title_overview); prefs.edit().putInt("lastFragmentId", menuItemId).commit(); } - try { - fragment = (Fragment) fragmentClass.newInstance(); + FragmentManager fragmentManager = getSupportFragmentManager(); - } catch (Exception e) { - e.printStackTrace(); + // hide previous fragment if it available + if (currentFragment != null) { + fragmentManager.beginTransaction().hide(currentFragment).commit(); } - // Insert the fragment by replacing any existing fragment - FragmentManager fragmentManager = getSupportFragmentManager(); - fragmentManager.beginTransaction().replace(R.id.fragment_content, fragment).commit(); + // try to find selected fragment + currentFragment = fragmentManager.findFragmentByTag(""+menuItemId); + + // if fragment not found then add the fragment + if (currentFragment == null) { + try { + currentFragment = (Fragment) fragmentClass.newInstance(); + } catch (Exception e) { + e.printStackTrace(); + } + + fragmentManager.beginTransaction().add(R.id.fragment_content, currentFragment, "" + menuItemId).commit(); + } else { // otherwise show fragment + fragmentManager.beginTransaction().show(currentFragment).commit(); + } // Set action bar title setTitle(fragmentTitle); @@ -468,10 +484,10 @@ public class MainActivity extends AppCompatActivity { BottomNavigationItemView item = (BottomNavigationItemView) menuView.getChildAt(i); //noinspection RestrictedApi item.setShiftingMode(false); - item.setPadding(0, 15, 0, 0); + //item.setPadding(0, 15, 0, 0); // set once again checked value, so view will be updated //noinspection RestrictedApi - item.setChecked(item.getItemData().isChecked()); + //item.setChecked(item.getItemData().isChecked()); } } catch (NoSuchFieldException e) { Log.e("BNVHelper", "Unable to get shift mode field", e); diff --git a/android_app/app/src/main/res/drawable-hdpi/ic_preferences_help.png b/android_app/app/src/main/res/drawable-hdpi/ic_preferences_help.png new file mode 100644 index 00000000..98b05242 Binary files /dev/null and b/android_app/app/src/main/res/drawable-hdpi/ic_preferences_help.png differ diff --git a/android_app/app/src/main/res/drawable-hdpi/ic_preferences_nav_graph.png b/android_app/app/src/main/res/drawable-hdpi/ic_preferences_nav_graph.png new file mode 100644 index 00000000..2051f376 Binary files /dev/null and b/android_app/app/src/main/res/drawable-hdpi/ic_preferences_nav_graph.png differ diff --git a/android_app/app/src/main/res/drawable-ldpi/ic_preferences_help.png b/android_app/app/src/main/res/drawable-ldpi/ic_preferences_help.png new file mode 100644 index 00000000..fe2ea70f Binary files /dev/null and b/android_app/app/src/main/res/drawable-ldpi/ic_preferences_help.png differ diff --git a/android_app/app/src/main/res/drawable-ldpi/ic_preferences_nav_graph.png b/android_app/app/src/main/res/drawable-ldpi/ic_preferences_nav_graph.png new file mode 100644 index 00000000..65d8f7c1 Binary files /dev/null and b/android_app/app/src/main/res/drawable-ldpi/ic_preferences_nav_graph.png differ diff --git a/android_app/app/src/main/res/drawable-mdpi/ic_preferences_help.png b/android_app/app/src/main/res/drawable-mdpi/ic_preferences_help.png new file mode 100644 index 00000000..dfefc0a0 Binary files /dev/null and b/android_app/app/src/main/res/drawable-mdpi/ic_preferences_help.png differ diff --git a/android_app/app/src/main/res/drawable-mdpi/ic_preferences_nav_graph.png b/android_app/app/src/main/res/drawable-mdpi/ic_preferences_nav_graph.png new file mode 100644 index 00000000..963e6046 Binary files /dev/null and b/android_app/app/src/main/res/drawable-mdpi/ic_preferences_nav_graph.png differ diff --git a/android_app/app/src/main/res/drawable-xhdpi/ic_preferences_help.png b/android_app/app/src/main/res/drawable-xhdpi/ic_preferences_help.png new file mode 100644 index 00000000..3f7488ce Binary files /dev/null and b/android_app/app/src/main/res/drawable-xhdpi/ic_preferences_help.png differ diff --git a/android_app/app/src/main/res/drawable-xhdpi/ic_preferences_nav_graph.png b/android_app/app/src/main/res/drawable-xhdpi/ic_preferences_nav_graph.png new file mode 100644 index 00000000..0965cae3 Binary files /dev/null and b/android_app/app/src/main/res/drawable-xhdpi/ic_preferences_nav_graph.png differ diff --git a/android_app/app/src/main/res/drawable-xxhdpi/ic_preferences_help.png b/android_app/app/src/main/res/drawable-xxhdpi/ic_preferences_help.png new file mode 100644 index 00000000..7e957ea7 Binary files /dev/null and b/android_app/app/src/main/res/drawable-xxhdpi/ic_preferences_help.png differ diff --git a/android_app/app/src/main/res/drawable-xxhdpi/ic_preferences_nav_graph.png b/android_app/app/src/main/res/drawable-xxhdpi/ic_preferences_nav_graph.png new file mode 100644 index 00000000..5769f183 Binary files /dev/null and b/android_app/app/src/main/res/drawable-xxhdpi/ic_preferences_nav_graph.png differ diff --git a/android_app/app/src/main/res/drawable-xxxhdpi/ic_preferences_help.png b/android_app/app/src/main/res/drawable-xxxhdpi/ic_preferences_help.png new file mode 100644 index 00000000..867dbef1 Binary files /dev/null and b/android_app/app/src/main/res/drawable-xxxhdpi/ic_preferences_help.png differ diff --git a/android_app/app/src/main/res/drawable-xxxhdpi/ic_preferences_nav_graph.png b/android_app/app/src/main/res/drawable-xxxhdpi/ic_preferences_nav_graph.png new file mode 100644 index 00000000..d2ac30c3 Binary files /dev/null and b/android_app/app/src/main/res/drawable-xxxhdpi/ic_preferences_nav_graph.png differ diff --git a/android_app/app/src/main/res/menu/drawer_bottom_view.xml b/android_app/app/src/main/res/menu/drawer_bottom_view.xml index 3437642e..b73292cb 100644 --- a/android_app/app/src/main/res/menu/drawer_bottom_view.xml +++ b/android_app/app/src/main/res/menu/drawer_bottom_view.xml @@ -1,8 +1,6 @@ - - + + + \ No newline at end of file diff --git a/android_app/app/src/main/res/values-de/strings.xml b/android_app/app/src/main/res/values-de/strings.xml index d38cd090..252bcf7b 100644 --- a/android_app/app/src/main/res/values-de/strings.xml +++ b/android_app/app/src/main/res/values-de/strings.xml @@ -184,4 +184,5 @@ Um die Änderungen zu übernehmen, ist ein App Neustart erforderlich Teilen Suche beendet nach Bluetooth Waagen + Hilfe \ No newline at end of file diff --git a/android_app/app/src/main/res/values/strings.xml b/android_app/app/src/main/res/values/strings.xml index 87916a95..3fa94ee5 100644 --- a/android_app/app/src/main/res/values/strings.xml +++ b/android_app/app/src/main/res/values/strings.xml @@ -189,6 +189,7 @@ Regression weight line Regression polynom degree Goal line + Help Enjoying openScale? How about a rating on GooglePlay or on GitHub, then?