From 442c5bd642646dbb4c0bf0f4ebdf827f9151ddd6 Mon Sep 17 00:00:00 2001 From: Marijn Jansen Date: Tue, 20 Jun 2017 21:59:53 +0200 Subject: [PATCH] Added dialogs and checks to login en register, also started working on Uploads --- .../myhyvesbookplus/tagram/LoginActivity.java | 52 +++++++++++----- .../myhyvesbookplus/tagram/UploadClass.java | 60 +++++++++++++++++++ .../app/src/main/res/values-nl/strings.xml | 1 + .../app/src/main/res/values/strings.xml | 3 +- 4 files changed, 99 insertions(+), 17 deletions(-) create mode 100644 app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/UploadClass.java diff --git a/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/LoginActivity.java b/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/LoginActivity.java index c1f417d..2d71b90 100644 --- a/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/LoginActivity.java +++ b/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/LoginActivity.java @@ -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() { @Override public void onComplete(@NonNull Task 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() { @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(); } diff --git a/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/UploadClass.java b/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/UploadClass.java new file mode 100644 index 0000000..c3acf21 --- /dev/null +++ b/app/MyHyvesBookPlusStagram/app/src/main/java/nl/myhyvesbookplus/tagram/UploadClass.java @@ -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() { + @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 ""; + } +} diff --git a/app/MyHyvesBookPlusStagram/app/src/main/res/values-nl/strings.xml b/app/MyHyvesBookPlusStagram/app/src/main/res/values-nl/strings.xml index 27c7f75..16f6804 100644 --- a/app/MyHyvesBookPlusStagram/app/src/main/res/values-nl/strings.xml +++ b/app/MyHyvesBookPlusStagram/app/src/main/res/values-nl/strings.xml @@ -13,4 +13,5 @@ Gebruikersnaam bevestig wachtwoord MyHyvesBookPlusTagram logo + Wacht a.u.b. \ No newline at end of file diff --git a/app/MyHyvesBookPlusStagram/app/src/main/res/values/strings.xml b/app/MyHyvesBookPlusStagram/app/src/main/res/values/strings.xml index 0fa0555..88da69e 100644 --- a/app/MyHyvesBookPlusStagram/app/src/main/res/values/strings.xml +++ b/app/MyHyvesBookPlusStagram/app/src/main/res/values/strings.xml @@ -4,7 +4,6 @@ Camera Profile - Username Password Confirm Password @@ -14,8 +13,8 @@ back to Login Email - Hello blank fragment Hello Camera MyHyvesBookPlusTagram logo + Please Wait