From 31f8ce349c4c2f5544dc1fdcaab66cf87c667fb1 Mon Sep 17 00:00:00 2001
From: Christian Dresen <c.dresen@fh-muenster.de>
Date: Wed, 12 Apr 2017 01:18:47 +0200
Subject: [PATCH] Fixed Charge Dialog

---
 .../ms/warpzone/warppay/MainActivity.java     |  2 +-
 .../warpzone/warppay/data/SQLiteService.java  | 31 +++++++++++--------
 .../warpzone/warppay/manager/MainManager.java |  2 ++
 3 files changed, 21 insertions(+), 14 deletions(-)

diff --git a/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/MainActivity.java b/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/MainActivity.java
index cbdc750..8e1a517 100644
--- a/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/MainActivity.java
+++ b/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/MainActivity.java
@@ -94,7 +94,7 @@ public class MainActivity extends AppCompatActivity implements View.OnClickListe
         if(this.manager.getCurrentUser() == null) {
             User u = User.getByCardId(card_id);
             if(u != null)
-                MainManager.getInstance().setCurrentUser(u);
+                MainManager.getInstance().setCurrentUser(u,true);
         }
     }
     @Override
diff --git a/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/data/SQLiteService.java b/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/data/SQLiteService.java
index 9a3604f..0aa8744 100644
--- a/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/data/SQLiteService.java
+++ b/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/data/SQLiteService.java
@@ -45,10 +45,12 @@ public class SQLiteService {
     public List<User> refreshUserData(List<RestUser> u) {
         User.deleteAll();
         List<User> ret_val = new ArrayList<>();
-        for (RestUser anU : u) {
-            User usr = anU.toLocalUser();
-            usr.save();
-            ret_val.add(usr);
+        if(u != null) {
+            for (RestUser anU : u) {
+                User usr = anU.toLocalUser();
+                usr.save();
+                ret_val.add(usr);
+            }
         }
         return ret_val;
     }
@@ -56,10 +58,12 @@ public class SQLiteService {
     public List<Category> refreshCategoryData(List<RestCategory> c) {
         Category.deleteAll();
         List<Category> ret_val = new ArrayList<>();
-        for (RestCategory category : c) {
-            Category cat = category.toLocalCategory();
-            cat.save();
-            ret_val.add(cat);
+        if(c!=null) {
+            for (RestCategory category : c) {
+                Category cat = category.toLocalCategory();
+                cat.save();
+                ret_val.add(cat);
+            }
         }
         return ret_val;
     }
@@ -67,12 +71,13 @@ public class SQLiteService {
     public List<Product> refreshProductData(List<RestProduct> body) {
         Product.deleteAll();
         List<Product> ret_val = new ArrayList<>();
-        for (RestProduct anU : body) {
-            Product prod = anU.toLocalProduct();
-            prod.save();
-            ret_val.add(prod);
+        if (body != null) {
+            for (RestProduct anU : body) {
+                Product prod = anU.toLocalProduct();
+                prod.save();
+                ret_val.add(prod);
+            }
         }
-
         return ret_val;
     }
 
diff --git a/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/manager/MainManager.java b/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/manager/MainManager.java
index 9724795..ac302c2 100644
--- a/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/manager/MainManager.java
+++ b/WarpDrinkApp/app/src/main/java/ms/warpzone/warppay/manager/MainManager.java
@@ -277,6 +277,7 @@ public class MainManager {
 
     }
     public void chargeAmount(double amount) {
+
         User currentUser = this.dataManager.getCurrentUser();
         RestTransaction t = new RestTransaction();
         t.setAmount(amount);
@@ -297,6 +298,7 @@ public class MainManager {
             public void onResponse(Response<RestUser> response, Retrofit retrofit) {
                 DataManager.getInstance().getCurrentUser().setCredit(response.body().getCredit());
                 MainManager.getInstance().uiManager.refreshCreditTextView(DataManager.getInstance().getCurrentUser().getCredit());
+                DataManager.getInstance().getCurrentUser().save();
             }
 
             @Override
-- 
GitLab