diff --git a/app/src/main/java/at/smartshopper/smartshopper/activitys/LoginActivity.java b/app/src/main/java/at/smartshopper/smartshopper/activitys/LoginActivity.java index 981e9c2..3bb7cd9 100644 --- a/app/src/main/java/at/smartshopper/smartshopper/activitys/LoginActivity.java +++ b/app/src/main/java/at/smartshopper/smartshopper/activitys/LoginActivity.java @@ -74,32 +74,39 @@ public class LoginActivity extends AppCompatActivity { * Wechselt zu der Dash Activity */ private void goDash() { - if (!db.checkIfUserExists(FirebaseAuth.getInstance().getCurrentUser().getUid())) { - FirebaseInstanceId.getInstance().getInstanceId() - .addOnCompleteListener(new OnCompleteListener() { - @Override - public void onComplete(@NonNull Task task) { - if (!task.isSuccessful()) { - Log.w(TAG, "getInstanceId failed", task.getException()); - return; - } - FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser(); - String uid = user.getUid(); - String name = user.getDisplayName(); - String email = user.getEmail(); - String picture = user.getPhotoUrl().toString(); + FirebaseInstanceId.getInstance().getInstanceId() + .addOnCompleteListener(new OnCompleteListener() { + @Override + public void onComplete(@NonNull Task task) { + if (!task.isSuccessful()) { + Log.w(TAG, "getInstanceId failed", task.getException()); + return; + } - // Get new Instance ID token - String token = task.getResult().getToken(); - try { - db.createUser(uid, token, name, email, picture); - } catch (SQLException e) { - e.printStackTrace(); - } + FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser(); + String uid = user.getUid(); + String name = user.getDisplayName(); + String email = user.getEmail(); + String picture = user.getPhotoUrl().toString(); + + // Get new Instance ID token + String token = task.getResult().getToken(); + + try { + if (!db.checkIfUserExists(FirebaseAuth.getInstance().getCurrentUser().getUid())) { + + db.createUser(uid, token, name, picture, email); + + } else { + db.updateUser(uid, token, name, picture, email); } - }); - } + } catch (SQLException e) { + e.printStackTrace(); + } + + } + }); Intent intent = new Intent(this, Dash.class); diff --git a/app/src/main/java/at/smartshopper/smartshopper/db/Database.java b/app/src/main/java/at/smartshopper/smartshopper/db/Database.java index e75d362..c8f21c7 100644 --- a/app/src/main/java/at/smartshopper/smartshopper/db/Database.java +++ b/app/src/main/java/at/smartshopper/smartshopper/db/Database.java @@ -451,6 +451,17 @@ public class Database { sqlUpdate5Param(SQL, username, message_id, name, picture, email); } + /** + * Erstellt einen neuen User, wenn keiner existiert + * + * @param username Der Username des neuen Users + * @throws SQLException + */ + public void updateUser(String username, String message_id, String name, String picture, String email) throws SQLException { + String SQL = "Update \"User\" set message_id = ?, name = ?, picture = ?, email = ? WHERE username = ?"; + sqlUpdate5Param(SQL, message_id, name, picture, email, username); + } + /** * Prüft ob ein User bereits in der DB vorhanden ist. Wenn ja dann wird true returned *