Update user on startup
This commit is contained in:
		@@ -74,32 +74,39 @@ public class LoginActivity extends AppCompatActivity {
 | 
				
			|||||||
     * Wechselt zu der Dash Activity
 | 
					     * Wechselt zu der Dash Activity
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    private void goDash() {
 | 
					    private void goDash() {
 | 
				
			||||||
            if (!db.checkIfUserExists(FirebaseAuth.getInstance().getCurrentUser().getUid())) {
 | 
					 | 
				
			||||||
                FirebaseInstanceId.getInstance().getInstanceId()
 | 
					 | 
				
			||||||
                        .addOnCompleteListener(new OnCompleteListener<InstanceIdResult>() {
 | 
					 | 
				
			||||||
                            @Override
 | 
					 | 
				
			||||||
                            public void onComplete(@NonNull Task<InstanceIdResult> task) {
 | 
					 | 
				
			||||||
                                if (!task.isSuccessful()) {
 | 
					 | 
				
			||||||
                                    Log.w(TAG, "getInstanceId failed", task.getException());
 | 
					 | 
				
			||||||
                                    return;
 | 
					 | 
				
			||||||
                                }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
                                FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
 | 
					        FirebaseInstanceId.getInstance().getInstanceId()
 | 
				
			||||||
                                String uid = user.getUid();
 | 
					                .addOnCompleteListener(new OnCompleteListener<InstanceIdResult>() {
 | 
				
			||||||
                                String name = user.getDisplayName();
 | 
					                    @Override
 | 
				
			||||||
                                String email = user.getEmail();
 | 
					                    public void onComplete(@NonNull Task<InstanceIdResult> task) {
 | 
				
			||||||
                                String picture = user.getPhotoUrl().toString();
 | 
					                        if (!task.isSuccessful()) {
 | 
				
			||||||
 | 
					                            Log.w(TAG, "getInstanceId failed", task.getException());
 | 
				
			||||||
 | 
					                            return;
 | 
				
			||||||
 | 
					                        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                                // Get new Instance ID token
 | 
					                        FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
 | 
				
			||||||
                                String token = task.getResult().getToken();
 | 
					                        String uid = user.getUid();
 | 
				
			||||||
                                try {
 | 
					                        String name = user.getDisplayName();
 | 
				
			||||||
                                    db.createUser(uid, token, name, email, picture);
 | 
					                        String email = user.getEmail();
 | 
				
			||||||
                                } catch (SQLException e) {
 | 
					                        String picture = user.getPhotoUrl().toString();
 | 
				
			||||||
                                    e.printStackTrace();
 | 
					
 | 
				
			||||||
                                }
 | 
					                        // 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);
 | 
					        Intent intent = new Intent(this, Dash.class);
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -451,6 +451,17 @@ public class Database {
 | 
				
			|||||||
        sqlUpdate5Param(SQL, username, message_id, name, picture, email);
 | 
					        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
 | 
					     * Prüft ob ein User bereits in der DB vorhanden ist. Wenn ja dann wird true returned
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user