Skip to content
Snippets Groups Projects
Commit ca78b94a authored by Christian Dresen's avatar Christian Dresen
Browse files

Auto-Refresh alle 60 Sekunden wenn nicht eingeloggt.

parent 12b6a8f4
No related branches found
No related tags found
No related merge requests found
......@@ -65,6 +65,7 @@ public class MainManager {
public AlertDialog alertAmount;
private ProgressDialog pdRefresh = null;
private NotificationDialog ndRefreshError = null;
private Timer tmrRefresh;
public static MainManager getInstance() {
return instance;
......@@ -134,11 +135,16 @@ public class MainManager {
}
public void refreshData() {
this.refreshData(false);
}
public void refreshData(boolean disableDialog) {
if(this.ndRefreshError != null)
this.ndRefreshError.dismiss();
this.ndRefreshError = null;
this.pdRefresh = ProgressDialog.show(this.mainActivity, "Refreshing...", "Loading...");
if(!disableDialog)
this.pdRefresh = ProgressDialog.show(this.mainActivity, "Refreshing...", "Loading...");
this.restService.getAllUser().enqueue(new Callback<List<RestUser>>() {
......@@ -148,7 +154,6 @@ public class MainManager {
if (userList != null) {
MainManager.getInstance().uiManager.refreshUserData(userList);
}
Toast.makeText(MainManager.getInstance().mainActivity, "Refresh successful", Toast.LENGTH_LONG).show();
}
@Override
......@@ -182,6 +187,7 @@ public class MainManager {
MainManager.getInstance().uiManager.refreshProductData(productList);
}
MainManager.this.pdRefresh.dismiss();
MainManager.this.startRefreshTimer();
}
@Override
......@@ -194,8 +200,8 @@ public class MainManager {
}
private void showRefreshError() {
if(ndRefreshError == null) {
this.stopRefreshTimer();
if(pdRefresh != null)
pdRefresh.dismiss();
ndRefreshError = new NotificationDialog(this.mainActivity,"WARNING","Refresh failed. Please retry!");
......@@ -249,6 +255,7 @@ public class MainManager {
this.dataManager.setCurrentUser(user);
this.uiManager.setCurrentUser(user);
this.startTimer();
this.stopRefreshTimer();
}
}
......@@ -279,6 +286,31 @@ public class MainManager {
this.timer.schedule(t, 60000);
}
public void startRefreshTimer() {
this.tmrRefresh = new Timer();
TimerTask t = new TimerTask() {
@Override
public void run() {
Handler mainHandler = new Handler(MainManager.getInstance().getMainActivity().getApplicationContext().getMainLooper());
Runnable myRunnable = new Runnable() {
@Override
public void run() {
if(MainManager.getInstance().getCurrentUser() == null)
MainManager.getInstance().refreshData(true);
}
};
mainHandler.post(myRunnable);
}
};
this.tmrRefresh.schedule(t, 60000,60000);
}
public void stopRefreshTimer() {
if (this.tmrRefresh != null) {
this.tmrRefresh.cancel();
this.tmrRefresh.purge();
}
}
public void resetScreenSaverTimer() {
this.stopScreenSaverTimer();
this.screenSaverTimer = new Timer();
......@@ -314,6 +346,8 @@ public class MainManager {
this.dataManager.clearCurrentUser();
this.uiManager.clearCurrentUser();
this.stopTimer();
MainManager.getInstance().refreshData();
this.startRefreshTimer();
}
public void addOrder(Order order) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment