diff --git a/android_app/app/src/main/java/com/health/openscale/gui/EditDataActivity.java b/android_app/app/src/main/java/com/health/openscale/gui/EditDataActivity.java index a4262eac..7e078630 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/EditDataActivity.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/EditDataActivity.java @@ -17,10 +17,13 @@ package com.health.openscale.gui; import android.app.Activity; import android.content.Context; +import android.content.SharedPreferences; import android.os.Bundle; +import android.preference.PreferenceManager; import android.view.View; import android.widget.Button; import android.widget.EditText; +import android.widget.TableRow; import com.health.openscale.R; import com.health.openscale.core.OpenScale; @@ -76,6 +79,23 @@ public class EditDataActivity extends Activity { setTitle(getResources().getString(R.string.title_edit_data_entry) + ": " + DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.SHORT).format(editScaleData.date_time)); + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); + + if(!prefs.getBoolean("fatEnable", true)) { + TableRow row = (TableRow)findViewById(R.id.tableRowFat); + row.setVisibility(View.GONE); + } + + if(!prefs.getBoolean("muscleEnable", true)) { + TableRow row = (TableRow)findViewById(R.id.tableRowMuscle); + row.setVisibility(View.GONE); + } + + if(!prefs.getBoolean("waterEnable", true)) { + TableRow row = (TableRow)findViewById(R.id.tableRowWater); + row.setVisibility(View.GONE); + } + } private boolean validateInput() diff --git a/android_app/app/src/main/java/com/health/openscale/gui/NewEntryActivity.java b/android_app/app/src/main/java/com/health/openscale/gui/NewEntryActivity.java index bb427ddd..72ed5bdc 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/NewEntryActivity.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/NewEntryActivity.java @@ -27,6 +27,7 @@ import android.view.View; import android.widget.Button; import android.widget.DatePicker; import android.widget.EditText; +import android.widget.TableRow; import android.widget.TimePicker; import com.health.openscale.R; @@ -105,10 +106,31 @@ public class NewEntryActivity extends Activity { txtFat.setText(Float.toString(lastScaleData.fat)); txtWater.setText(Float.toString(lastScaleData.water)); txtMuscle.setText(Float.toString(lastScaleData.muscle)); + } else { + txtFat.setText(Float.toString(0.0f)); + txtWater.setText(Float.toString(0.0f)); + txtMuscle.setText(Float.toString(0.0f)); } txtDate.setText(dateFormat.format(new Date())); txtTime.setText(timeFormat.format(new Date())); + + SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); + + if(!prefs.getBoolean("fatEnable", true)) { + TableRow row = (TableRow)findViewById(R.id.tableRowFat); + row.setVisibility(View.GONE); + } + + if(!prefs.getBoolean("muscleEnable", true)) { + TableRow row = (TableRow)findViewById(R.id.tableRowMuscle); + row.setVisibility(View.GONE); + } + + if(!prefs.getBoolean("waterEnable", true)) { + TableRow row = (TableRow)findViewById(R.id.tableRowWater); + row.setVisibility(View.GONE); + } } private boolean validateInput() diff --git a/android_app/app/src/main/java/com/health/openscale/gui/OverviewFragment.java b/android_app/app/src/main/java/com/health/openscale/gui/OverviewFragment.java index 40e6c05e..8ad9223b 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/OverviewFragment.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/OverviewFragment.java @@ -28,6 +28,7 @@ import android.text.Html; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; +import android.widget.TableRow; import android.widget.TextView; import android.widget.Toast; @@ -157,7 +158,22 @@ public class OverviewFragment extends Fragment implements FragmentUpdateListener updateOnView(OpenScale.getInstance(overviewView.getContext()).getScaleDataList()); - return overviewView; + if(!prefs.getBoolean("fatEnable", true)) { + TableRow row = (TableRow)overviewView.findViewById(R.id.tableRowFat); + row.setVisibility(View.GONE); + } + + if(!prefs.getBoolean("muscleEnable", true)) { + TableRow row = (TableRow)overviewView.findViewById(R.id.tableRowMuscle); + row.setVisibility(View.GONE); + } + + if(!prefs.getBoolean("waterEnable", true)) { + TableRow row = (TableRow)overviewView.findViewById(R.id.tableRowWater); + row.setVisibility(View.GONE); + } + + return overviewView; } @Override @@ -423,9 +439,26 @@ public class OverviewFragment extends Fragment implements FragmentUpdateListener List arcValuesLast = new ArrayList(); - arcValuesLast.add(new SliceValue(lastScaleData.fat, ChartUtils.COLOR_ORANGE)); - arcValuesLast.add(new SliceValue(lastScaleData.water, ChartUtils.COLOR_BLUE)); - arcValuesLast.add(new SliceValue(lastScaleData.muscle, ChartUtils.COLOR_GREEN)); + if (lastScaleData.fat == 0) { + arcValuesLast.add(new SliceValue(1, ChartUtils.COLOR_ORANGE)); + } + else { + arcValuesLast.add(new SliceValue(lastScaleData.fat, ChartUtils.COLOR_ORANGE)); + } + + if (lastScaleData.water == 0) { + arcValuesLast.add(new SliceValue(1, ChartUtils.COLOR_BLUE)); + } + else { + arcValuesLast.add(new SliceValue(lastScaleData.water, ChartUtils.COLOR_BLUE)); + } + + if (lastScaleData.muscle == 0) { + arcValuesLast.add(new SliceValue(1, ChartUtils.COLOR_GREEN)); + } + else { + arcValuesLast.add(new SliceValue(lastScaleData.muscle, ChartUtils.COLOR_GREEN)); + } PieChartData pieChartData = new PieChartData(arcValuesLast); pieChartData.setHasLabels(false); diff --git a/android_app/app/src/main/java/com/health/openscale/gui/TableFragment.java b/android_app/app/src/main/java/com/health/openscale/gui/TableFragment.java index 8a20509c..bb77ef1f 100644 --- a/android_app/app/src/main/java/com/health/openscale/gui/TableFragment.java +++ b/android_app/app/src/main/java/com/health/openscale/gui/TableFragment.java @@ -52,7 +52,8 @@ import java.util.ArrayList; public class TableFragment extends Fragment implements FragmentUpdateListener { private View tableView; private TableLayout tableDataView; - + private SharedPreferences prefs; + public TableFragment() { } @@ -91,16 +92,47 @@ public class TableFragment extends Fragment implements FragmentUpdateListener { btnDeleteAll.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 11); } + prefs = PreferenceManager.getDefaultSharedPreferences(tableView.getContext()); + + if(!prefs.getBoolean("fatEnable", true)) { + TextView txtFatTableHeader = (TextView)tableView.findViewById(R.id.txtFatTableHeader); + txtFatTableHeader.setVisibility(View.GONE); + } + + if(!prefs.getBoolean("muscleEnable", true)) { + TextView txtMuscleTableHeader = (TextView)tableView.findViewById(R.id.txtMuscleTableHeader); + txtMuscleTableHeader.setVisibility(View.GONE); + } + + if(!prefs.getBoolean("waterEnable", true)) { + TextView txtWaterTableHeader = (TextView)tableView.findViewById(R.id.txtWaterTableHeader); + txtWaterTableHeader.setVisibility(View.GONE); + } + return tableView; } @Override public void updateOnView(ArrayList scaleDataList) { + tableDataView.setColumnStretchable(1, true); + tableDataView.setColumnStretchable(2, true); + tableDataView.setColumnStretchable(3, true); + if(prefs.getBoolean("fatEnable", true)) { + tableDataView.setColumnStretchable(4, true); + } + if(prefs.getBoolean("waterEnable", true)) { + tableDataView.setColumnStretchable(5, true); + } + if(prefs.getBoolean("muscleEnable", true)) { + tableDataView.setColumnStretchable(6, true); + } + tableDataView.setColumnStretchable(7, true); + TableRow headerRow = (TableRow) tableView.findViewById(R.id.tableHeader); tableDataView.removeAllViews(); tableDataView.addView(headerRow); - + for(ScaleData scaleData: scaleDataList) { TableRow dataRow = new TableRow(tableView.getContext()); @@ -134,17 +166,26 @@ public class TableFragment extends Fragment implements FragmentUpdateListener { TextView fatView = new TextView(tableView.getContext()); fatView.setText(Float.toString(scaleData.fat)); fatView.setPadding(0, 5, 5, 5); + if(!prefs.getBoolean("fatEnable", true)) { + fatView.setVisibility(View.GONE); + } dataRow.addView(fatView); TextView waterView = new TextView(tableView.getContext()); waterView.setText(Float.toString(scaleData.water)); waterView.setPadding(0, 5, 5, 5); - dataRow.addView(waterView); + if(!prefs.getBoolean("waterEnable", true)) { + waterView.setVisibility(View.GONE); + } + dataRow.addView(waterView); TextView muscleView = new TextView(tableView.getContext()); muscleView.setText(Float.toString(scaleData.muscle)); muscleView.setPadding(0, 5, 5, 5); - dataRow.addView(muscleView); + if(!prefs.getBoolean("muscleEnable", true)) { + muscleView.setVisibility(View.GONE); + } + dataRow.addView(muscleView); TextView commentView = new TextView(tableView.getContext()); diff --git a/android_app/app/src/main/res/layout/activity_editdata.xml b/android_app/app/src/main/res/layout/activity_editdata.xml index 89e92b4b..5aa04b31 100644 --- a/android_app/app/src/main/res/layout/activity_editdata.xml +++ b/android_app/app/src/main/res/layout/activity_editdata.xml @@ -23,7 +23,7 @@ android:stretchColumns="2" > @@ -58,7 +58,7 @@ @@ -89,7 +89,7 @@ @@ -122,7 +122,7 @@ @@ -153,7 +153,7 @@ diff --git a/android_app/app/src/main/res/layout/activity_newentry.xml b/android_app/app/src/main/res/layout/activity_newentry.xml index 55c0d8b7..88a3bcff 100644 --- a/android_app/app/src/main/res/layout/activity_newentry.xml +++ b/android_app/app/src/main/res/layout/activity_newentry.xml @@ -23,7 +23,7 @@ android:stretchColumns="2" > @@ -58,7 +58,7 @@ @@ -90,7 +90,7 @@ @@ -122,7 +122,7 @@ @@ -154,7 +154,7 @@ @@ -185,7 +185,7 @@ @@ -226,7 +226,7 @@ diff --git a/android_app/app/src/main/res/layout/fragment_overview.xml b/android_app/app/src/main/res/layout/fragment_overview.xml index 25a87320..9357c9c8 100644 --- a/android_app/app/src/main/res/layout/fragment_overview.xml +++ b/android_app/app/src/main/res/layout/fragment_overview.xml @@ -81,7 +81,8 @@ android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal" - android:layout_marginBottom="10dp" > + android:layout_marginBottom="10dp" + android:id="@+id/tableRowWeight"> + android:layout_marginBottom="10dp" + android:id="@+id/tableRowBMI"> Der Wert muss zwischen 0 und 300 liegen! Wassergehalt ist erforderlich! Gewicht ist erforderlich! - ist ausgeschaltet - ist eingeschaltet Bluetooth Verbindung konnte nicht hergestellt werden Alle Datenbank Einträge wurden gelöscht! Datenbank wurde gelöscht! @@ -50,11 +48,11 @@ Löschen Alles löschen Gerätename - Körperfettanteillinie + Körperfettanteil Notiz auf den Datenpunkten - Muskelanteillinie - Wassergehaltslinie - Gewichtslinie + Muskelanteil + Wassergehalt + Gewicht Exportieren Körperfettanteil Geschlecht @@ -93,4 +91,7 @@ Benutzer Benutzer hinzufügen Fehler Zielgewicht ist erforderlich! + Daten + ist ausgeschaltet + ist eingeschaltet \ No newline at end of file diff --git a/android_app/app/src/main/res/values-ja/strings.xml b/android_app/app/src/main/res/values-ja/strings.xml index c60585dd..a068df15 100644 --- a/android_app/app/src/main/res/values-ja/strings.xml +++ b/android_app/app/src/main/res/values-ja/strings.xml @@ -43,18 +43,16 @@ 計測 最終の計測 目標期日は - 筋肉率線 - 体内の水分線 - 体重線 - 体脂肪線 + 筋肉率 + 体内の水分 + 体重 + 体脂肪 全てデリート Bluetoothの体重計を探索する エディット 過去30日 過去7日 デバイス名 - 有効にします - 無効にします エクスポートに失敗しました インポートに失敗しました 身長が必要です @@ -93,4 +91,7 @@ あなたは本当にすべてのレコードを削除しますか あなたが本当にユーザーを削除しますか 目標体重が必要です + データ + 無効にします + 有効にします \ 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 98013d1f..5f9ce65c 100644 --- a/android_app/app/src/main/res/values/strings.xml +++ b/android_app/app/src/main/res/values/strings.xml @@ -8,6 +8,7 @@ Users Data entry Edit + Data Settings @@ -81,8 +82,8 @@ Enter your goal weight in your scale unit is visible is not visible - is enabled - is disabled + is enabled + is disabled Clear all Bluetooth data Bluetooth data was successful cleared Bluetooth connection not established @@ -98,10 +99,10 @@ Device Name Label on data point - Weight line - Body fat percentage line - Water percentage line - Muscle percentage line + Weight + Body fat percentage + Water percentage + Muscle percentage Your weight was Your body fat was diff --git a/android_app/app/src/main/res/xml/preferences.xml b/android_app/app/src/main/res/xml/preferences.xml index c9dd523b..ba8f3d2f 100644 --- a/android_app/app/src/main/res/xml/preferences.xml +++ b/android_app/app/src/main/res/xml/preferences.xml @@ -5,17 +5,20 @@ - + - - - - + + + + + + +