1
0
mirror of https://github.com/oliexdev/openScale.git synced 2025-08-23 16:53:04 +02:00

Cache the selected scale user

This commit is contained in:
Erik Johansson
2018-01-24 22:49:52 +01:00
parent 447f996cd4
commit c463efe521

View File

@@ -65,6 +65,8 @@ public class OpenScale {
private AppDatabase appDB; private AppDatabase appDB;
private ScaleMeasurementDAO measurementDAO; private ScaleMeasurementDAO measurementDAO;
private ScaleUserDAO userDAO; private ScaleUserDAO userDAO;
private ScaleUser selectedScaleUser;
private List<ScaleMeasurement> scaleMeasurementList; private List<ScaleMeasurement> scaleMeasurementList;
private BluetoothCommunication btCom; private BluetoothCommunication btCom;
@@ -145,50 +147,55 @@ public class OpenScale {
public void selectScaleUser(int userId) { public void selectScaleUser(int userId) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
prefs.edit().putInt("selectedUserId", userId).commit(); prefs.edit().putInt("selectedUserId", userId).commit();
selectedScaleUser = null;
} }
public int getSelectedScaleUserId() { public int getSelectedScaleUserId() {
if (selectedScaleUser != null) {
return selectedScaleUser.getId();
}
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context); SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
return prefs.getInt("selectedUserId", -1); return prefs.getInt("selectedUserId", -1);
} }
public List<ScaleUser> getScaleUserList() public List<ScaleUser> getScaleUserList() {
{
return userDAO.getAll(); return userDAO.getAll();
} }
public ScaleUser getScaleUser(int userId) public ScaleUser getScaleUser(int userId) {
{ if (selectedScaleUser != null && selectedScaleUser.getId() == userId) {
return selectedScaleUser;
}
return userDAO.get(userId); return userDAO.get(userId);
} }
public ScaleUser getSelectedScaleUser() public ScaleUser getSelectedScaleUser() {
{ if (selectedScaleUser != null) {
ScaleUser scaleUser = new ScaleUser(); return selectedScaleUser;
try {
int selectedUserId = getSelectedScaleUserId();
if (selectedUserId == -1) {
return scaleUser;
} }
scaleUser = userDAO.get(selectedUserId); try {
final int selectedUserId = getSelectedScaleUserId();
if (selectedUserId != -1) {
selectedScaleUser = userDAO.get(selectedUserId);
return selectedScaleUser;
}
} catch (Exception e) { } catch (Exception e) {
Toast.makeText(context, "Error: " + e.getMessage(), Toast.LENGTH_SHORT).show(); Toast.makeText(context, "Error: " + e.getMessage(), Toast.LENGTH_SHORT).show();
} }
return scaleUser; return new ScaleUser();
} }
public void deleteScaleUser(int id) public void deleteScaleUser(int id) {
{
userDAO.delete(userDAO.get(id)); userDAO.delete(userDAO.get(id));
selectedScaleUser = null;
} }
public void updateScaleUser(ScaleUser user) public void updateScaleUser(ScaleUser user) {
{
userDAO.update(user); userDAO.update(user);
selectedScaleUser = null;
} }
public List<ScaleMeasurement> getScaleMeasurementList() { public List<ScaleMeasurement> getScaleMeasurementList() {