1
0
mirror of https://github.com/oliexdev/openScale.git synced 2025-08-11 03:04:25 +02:00

persisting state of toggle action buttons

This commit is contained in:
OliE
2017-04-09 13:41:06 +02:00
parent df32f19319
commit a8d0bbf949
2 changed files with 42 additions and 27 deletions

View File

@@ -86,8 +86,6 @@ public class DataEntryActivity extends Activity {
private long id;
private Context context;
private boolean editMode;
private boolean isExpand;
@Override
protected void onCreate(Bundle savedInstanceState) {
@@ -96,8 +94,6 @@ public class DataEntryActivity extends Activity {
setContentView(R.layout.activity_dataentry);
context = this;
editMode = false;
isExpand = false;
tableLayoutDataEntry = (TableLayout) findViewById(R.id.tableLayoutDataEntry);
@@ -151,8 +147,8 @@ public class DataEntryActivity extends Activity {
imageViewDelete.setOnClickListener(new onClickListenerDelete());
btnLeft.setOnClickListener(new onClickListenerLeft());
btnRight.setOnClickListener(new onClickListenerRight());
switchEditMode.setOnClickListener(new onCheckedChangeEditMode());
expandButton.setOnClickListener(new onClickListenerExpand());
switchEditMode.setOnClickListener(new onClickListenerToggleButton());
expandButton.setOnClickListener(new onClickListenerToggleButton());
updateOnView();
}
@@ -172,7 +168,7 @@ public class DataEntryActivity extends Activity {
if (id > 0) {
// keep edit mode state if we are moving to left or right
if (editMode) {
if (prefs.getBoolean(String.valueOf(switchEditMode.getId()), false)) {
setViewMode(MeasurementView.MeasurementViewMode.EDIT);
switchEditMode.setBackgroundTintList(ColorStateList.valueOf(ChartUtils.COLOR_GREEN));
} else {
@@ -180,7 +176,7 @@ public class DataEntryActivity extends Activity {
switchEditMode.setBackgroundTintList(ColorStateList.valueOf(Color.parseColor("#D3D3D3")));
}
if (isExpand) {
if (prefs.getBoolean(String.valueOf(expandButton.getId()), false)) {
expandButton.setBackgroundTintList(ColorStateList.valueOf(ChartUtils.COLOR_ORANGE));
} else {
expandButton.setBackgroundTintList(ColorStateList.valueOf(Color.parseColor("#D3D3D3")));
@@ -209,7 +205,7 @@ public class DataEntryActivity extends Activity {
// show selected scale data
for (MeasurementView measuremt : dataEntryMeasurements) {
measuremt.setExpand(isExpand);
measuremt.setExpand(prefs.getBoolean(String.valueOf(expandButton.getId()), false));
measuremt.updateValue(selectedScaleData);
measuremt.updateDiff(selectedScaleData, lastData);
}
@@ -442,19 +438,18 @@ public class DataEntryActivity extends Activity {
}
}
private class onCheckedChangeEditMode implements View.OnClickListener {
private class onClickListenerToggleButton implements View.OnClickListener {
@Override
public void onClick(View v) {
editMode = !editMode;
FloatingActionButton actionButton = (FloatingActionButton) v;
updateOnView();
}
}
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(v.getContext());
private class onClickListenerExpand implements View.OnClickListener {
@Override
public void onClick(View v) {
isExpand = !isExpand;
if (prefs.getBoolean(String.valueOf(actionButton.getId()), false)) {
prefs.edit().putBoolean(String.valueOf(actionButton.getId()), false).commit();
} else {
prefs.edit().putBoolean(String.valueOf(actionButton.getId()), true).commit();
}
updateOnView();
}

View File

@@ -247,28 +247,46 @@ public class GraphFragment extends Fragment implements FragmentUpdateListener {
setFormatter(new SimpleLineChartValueFormatter(1));
if(prefs.getBoolean("weightEnable", true) && diagramWeight.getBackgroundTintList().getDefaultColor() != Color.parseColor("#d3d3d3")) {
if(prefs.getBoolean("weightEnable", true) && prefs.getBoolean(String.valueOf(diagramWeight.getId()), true)) {
lines.add(lineWeight);
diagramWeight.setBackgroundTintList(ColorStateList.valueOf(ChartUtils.COLOR_VIOLET));
} else {
diagramWeight.setBackgroundTintList(ColorStateList.valueOf(Color.parseColor("#d3d3d3")));
}
if(prefs.getBoolean("fatEnable", true) && diagramFat.getBackgroundTintList().getDefaultColor() != Color.parseColor("#d3d3d3")) {
if(prefs.getBoolean("fatEnable", true) && prefs.getBoolean(String.valueOf(diagramFat.getId()), true)) {
lines.add(lineFat);
diagramFat.setBackgroundTintList(ColorStateList.valueOf(ChartUtils.COLOR_ORANGE));
} else {
diagramFat.setBackgroundTintList(ColorStateList.valueOf(Color.parseColor("#d3d3d3")));
}
if(prefs.getBoolean("waterEnable", true) && diagramWater.getBackgroundTintList().getDefaultColor() != Color.parseColor("#d3d3d3")) {
if(prefs.getBoolean("waterEnable", true) && prefs.getBoolean(String.valueOf(diagramWater.getId()), true)) {
lines.add(lineWater);
diagramWater.setBackgroundTintList(ColorStateList.valueOf(ChartUtils.COLOR_BLUE));
} else {
diagramWater.setBackgroundTintList(ColorStateList.valueOf(Color.parseColor("#d3d3d3")));
}
if(prefs.getBoolean("muscleEnable", true) && diagramMuscle.getBackgroundTintList().getDefaultColor() != Color.parseColor("#d3d3d3")) {
if(prefs.getBoolean("muscleEnable", true) && prefs.getBoolean(String.valueOf(diagramMuscle.getId()), true)) {
lines.add(lineMuscle);
diagramMuscle.setBackgroundTintList(ColorStateList.valueOf(ChartUtils.COLOR_GREEN));
} else {
diagramMuscle.setBackgroundTintList(ColorStateList.valueOf(Color.parseColor("#d3d3d3")));
}
if(prefs.getBoolean("waistEnable", false) && diagramWaist.getBackgroundTintList().getDefaultColor() != Color.parseColor("#d3d3d3")) {
if(prefs.getBoolean("waistEnable", false) && prefs.getBoolean(String.valueOf(diagramWaist.getId()), false)) {
lines.add(lineWaist);
diagramWaist.setBackgroundTintList(ColorStateList.valueOf(Color.MAGENTA));
} else {
diagramWaist.setBackgroundTintList(ColorStateList.valueOf(Color.parseColor("#d3d3d3")));
}
if(prefs.getBoolean("hipEnable", false) && diagramHip.getBackgroundTintList().getDefaultColor() != Color.parseColor("#d3d3d3")) {
if(prefs.getBoolean("hipEnable", false) && prefs.getBoolean(String.valueOf(diagramHip.getId()), false)) {
lines.add(lineHip);
diagramHip.setBackgroundTintList(ColorStateList.valueOf(Color.YELLOW));
} else {
diagramHip.setBackgroundTintList(ColorStateList.valueOf(Color.parseColor("#d3d3d3")));
}
LineChartData lineData = new LineChartData(lines);
@@ -393,10 +411,12 @@ public class GraphFragment extends Fragment implements FragmentUpdateListener {
public void onClick(View v) {
FloatingActionButton actionButton = (FloatingActionButton) v;
if (actionButton.getBackgroundTintList().getDefaultColor() != Color.parseColor("#d3d3d3")) {
actionButton.setBackgroundTintList(ColorStateList.valueOf(Color.parseColor("#d3d3d3")));
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getContext());
if (prefs.getBoolean(String.valueOf(actionButton.getId()), true)) {
prefs.edit().putBoolean(String.valueOf(actionButton.getId()), false).commit();
} else {
actionButton.setBackgroundTintList(ColorStateList.valueOf(actionButton.getRippleColor()));
prefs.edit().putBoolean(String.valueOf(actionButton.getId()), true).commit();
}
generateColumnData();