mirror of
https://github.com/oliexdev/openScale.git
synced 2025-08-23 08:43:15 +02:00
Cache the selected scale user
This commit is contained in:
@@ -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() {
|
||||||
|
Reference in New Issue
Block a user