Added dialogs and checks to login en register, also started working on Uploads

This commit is contained in:
Marijn Jansen
2017-06-20 21:59:53 +02:00
parent 23db910b92
commit 442c5bd642
4 changed files with 99 additions and 17 deletions

View File

@@ -1,10 +1,10 @@
package nl.myhyvesbookplus.tagram;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.PersistableBundle;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
@@ -30,6 +30,8 @@ public class LoginActivity extends AppCompatActivity implements View.OnClickList
protected FirebaseAuth mAuth;
private ProgressDialog progressDialog;
/// Setup ///
@Override
@@ -101,26 +103,40 @@ public class LoginActivity extends AppCompatActivity implements View.OnClickList
* Performs the logon action.
*/
public void logInOnClick() {
String emailSting = emailField.getText().toString();
String passwordSting = passwordField.getText().toString();
String emailString = emailField.getText().toString();
String passwordString = passwordField.getText().toString();
logIn(emailSting, passwordSting);
if (!emailString.isEmpty() && !passwordString.isEmpty()) {
logIn(emailString, passwordString);
} else {
Toast.makeText(LoginActivity.this, "Please fill in email and password", Toast.LENGTH_SHORT).show();
}
}
/**
* Performs the register action.
*/
public void registerOnClick() {
Log.d(TAG, "registerOnClick: ");
String emailString = emailField.getText().toString();
String usernameString = usernameField.getText().toString();
String passwordString = passwordField.getText().toString();
String passwordConfirmString = passwordConfirmField.getText().toString();
if (!emailString.isEmpty() && !usernameString.isEmpty()
&& passwordString.isEmpty() && passwordConfirmString.isEmpty()) {
if (passwordField.getText().toString().equals(passwordConfirmField.getText().toString())) {
registerUser(emailField.getText().toString(), passwordField.getText().toString());
} else {
Toast.makeText(LoginActivity.this, "Passwords do not match",
Toast.LENGTH_SHORT).show();
Log.d(TAG, "registerOnClick: Passwords do not match");
}
if (passwordField.getText().toString().equals(passwordConfirmField.getText().toString())) {
registerUser(emailField.getText().toString(), passwordField.getText().toString());
} else {
Toast.makeText(LoginActivity.this, "Passwords do not match",
Toast.LENGTH_SHORT).show();
Log.d(TAG, "registerOnClick: Passwords do not match");
Toast.makeText(LoginActivity.this, "Please fill in all the fields.", Toast.LENGTH_SHORT).show();
}
}
/// UI-changes ///
@@ -161,6 +177,7 @@ public class LoginActivity extends AppCompatActivity implements View.OnClickList
protected void goToMainScreen() {
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
progressDialog.dismiss();
this.finish();
}
@@ -168,11 +185,13 @@ public class LoginActivity extends AppCompatActivity implements View.OnClickList
/**
* Performs the actual login action.
* @param emailSting email address
* @param passwordSting the entered password
* @param emailString email address
* @param passwordString the entered password
*/
protected void logIn(String emailSting, String passwordSting) {
mAuth.signInWithEmailAndPassword(emailSting, passwordSting)
protected void logIn(String emailString, String passwordString) {
progressDialog = ProgressDialog.show(LoginActivity.this, "Please Wait", "Logging in", true, false);
mAuth.signInWithEmailAndPassword(emailString, passwordString)
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
public void onComplete(@NonNull Task<AuthResult> task) {
@@ -186,6 +205,7 @@ public class LoginActivity extends AppCompatActivity implements View.OnClickList
} else {
// If sign in fails, display a message to the user.
Log.w(TAG, "signInWithEmail:failure", task.getException());
progressDialog.dismiss();
Toast.makeText(LoginActivity.this, task.getException().getLocalizedMessage(),
Toast.LENGTH_SHORT).show();
}
@@ -199,6 +219,7 @@ public class LoginActivity extends AppCompatActivity implements View.OnClickList
* @param password the entered password
*/
protected void registerUser(String email, String password) {
this.progressDialog = ProgressDialog.show(LoginActivity.this, getString(R.string.please_wait), "Registering", true, false);
mAuth.createUserWithEmailAndPassword(email, password)
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
@Override
@@ -213,6 +234,7 @@ public class LoginActivity extends AppCompatActivity implements View.OnClickList
// If sign in fails, display a message to the user.
Log.w(TAG, "createUserWithEmail:failure", task.getException());
if (task.getException() != null) {
progressDialog.dismiss();
Toast.makeText(LoginActivity.this, task.getException().getLocalizedMessage(),
Toast.LENGTH_SHORT).show();
}

View File

@@ -0,0 +1,60 @@
package nl.myhyvesbookplus.tagram;
import android.graphics.Bitmap;
import android.net.Uri;
import android.support.annotation.NonNull;
import com.google.android.gms.tasks.OnFailureListener;
import com.google.android.gms.tasks.OnSuccessListener;
import com.google.firebase.auth.FirebaseAuth;
import com.google.firebase.auth.FirebaseUser;
import com.google.firebase.storage.FirebaseStorage;
import com.google.firebase.storage.StorageReference;
import com.google.firebase.storage.UploadTask;
import java.io.ByteArrayOutputStream;
/**
* Created by marijnjansen on 20/06/2017.
*/
public class UploadClass {
private StorageReference mStorageRef;
public UploadClass() {
mStorageRef = FirebaseStorage.getInstance().getReference().child("images");
}
private byte[] bitmapToBytes(Bitmap bitmap) {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);
return baos.toByteArray();
}
public void uploadPicture(Bitmap bitmap) {
UploadTask uploadTask = mStorageRef.putBytes(bitmapToBytes(bitmap));
uploadTask.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
}
})
.addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
// Handle successful uploads on complete
Uri downloadUrl = taskSnapshot.getMetadata().getDownloadUrl();
}
});
}
private String getUserUid() {
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
if (user != null) {
return user.getUid();
}
return "";
}
}

View File

@@ -13,4 +13,5 @@
<string name="username">Gebruikersnaam</string>
<string name="confirm_password_hint">bevestig wachtwoord</string>
<string name="logo_text">MyHyvesBookPlusTagram logo</string>
<string name="please_wait">Wacht a.u.b.</string>
</resources>

View File

@@ -4,7 +4,6 @@
<string name="title_dashboard">Camera</string>
<string name="title_notifications">Profile</string>
<!-- TODO: Remove or change this placeholder text -->
<string name="username">Username</string>
<string name="password">Password</string>
<string name="confirm_password">Confirm Password</string>
@@ -14,8 +13,8 @@
<string name="back_to_login">back to Login</string>
<string name="email">Email</string>
<!-- TODO: Remove or change this placeholder text -->
<string name="hello_blank_fragment">Hello blank fragment</string>
<string name="hello_camera">Hello Camera</string>
<string name="logo_text">MyHyvesBookPlusTagram logo</string>
<string name="please_wait">Please Wait</string>
</resources>