Merge branch 'marijn-appje' into 'master'
Paul wanted to merge See merge request !7
This commit was merged in pull request #7.
This commit is contained in:
@@ -30,6 +30,7 @@ dependencies {
|
||||
compile 'com.google.firebase:firebase-auth:10.0.1'
|
||||
compile 'com.android.support.constraint:constraint-layout:1.0.2'
|
||||
compile 'com.android.support:support-v4:25.3.1'
|
||||
compile 'com.google.firebase:firebase-storage:10.0.1'
|
||||
testCompile 'junit:junit:4.12'
|
||||
}
|
||||
|
||||
@@ -42,4 +43,5 @@ dependencies {
|
||||
|
||||
|
||||
|
||||
|
||||
apply plugin: 'com.google.gms.google-services'
|
||||
@@ -14,6 +14,14 @@
|
||||
}
|
||||
},
|
||||
"oauth_client": [
|
||||
{
|
||||
"client_id": "1078950034345-k3mcuf1bkf9ehg7vi09cp16lcdrrpf3a.apps.googleusercontent.com",
|
||||
"client_type": 1,
|
||||
"android_info": {
|
||||
"package_name": "nl.myhyvesbookplus.tagram",
|
||||
"certificate_hash": "02b894113a27cc0c4b6025a382c826477fc8543a"
|
||||
}
|
||||
},
|
||||
{
|
||||
"client_id": "1078950034345-dmsbu0066sfqgqthn2mldlauvdef98u9.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
@@ -29,8 +37,13 @@
|
||||
"status": 1
|
||||
},
|
||||
"appinvite_service": {
|
||||
"status": 1,
|
||||
"other_platform_oauth_client": []
|
||||
"status": 2,
|
||||
"other_platform_oauth_client": [
|
||||
{
|
||||
"client_id": "1078950034345-dmsbu0066sfqgqthn2mldlauvdef98u9.apps.googleusercontent.com",
|
||||
"client_type": 3
|
||||
}
|
||||
]
|
||||
},
|
||||
"ads_service": {
|
||||
"status": 2
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
package nl.myhyvesbookplus.tagram;
|
||||
|
||||
import android.app.ProgressDialog;
|
||||
import android.content.Intent;
|
||||
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;
|
||||
@@ -18,7 +19,7 @@ import com.google.firebase.auth.FirebaseAuth;
|
||||
import com.google.firebase.auth.FirebaseUser;
|
||||
import com.google.firebase.auth.UserProfileChangeRequest;
|
||||
|
||||
public class LoginActivity extends AppCompatActivity {
|
||||
public class LoginActivity extends AppCompatActivity implements View.OnClickListener {
|
||||
public static final String TAG = "Login";
|
||||
|
||||
/// Views ///
|
||||
@@ -29,6 +30,8 @@ public class LoginActivity extends AppCompatActivity {
|
||||
|
||||
protected FirebaseAuth mAuth;
|
||||
|
||||
private ProgressDialog progressDialog;
|
||||
|
||||
/// Setup ///
|
||||
|
||||
@Override
|
||||
@@ -38,11 +41,7 @@ public class LoginActivity extends AppCompatActivity {
|
||||
mAuth = FirebaseAuth.getInstance();
|
||||
|
||||
findViews();
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onStart() {
|
||||
super.onStart();
|
||||
bindOnClick();
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -63,44 +62,81 @@ public class LoginActivity extends AppCompatActivity {
|
||||
emailField = (EditText) findViewById(R.id.email);
|
||||
}
|
||||
|
||||
protected void bindOnClick() {
|
||||
registerButton.setOnClickListener(this);
|
||||
backToLoginButton.setOnClickListener(this);
|
||||
goToRegisterButton.setOnClickListener(this);
|
||||
logInButton.setOnClickListener(this);
|
||||
}
|
||||
|
||||
/// OnClick ///
|
||||
|
||||
/**
|
||||
* Performs the logon action.
|
||||
* Called when a view has been clicked.
|
||||
*
|
||||
* @param view
|
||||
* @param v The view that was clicked.
|
||||
*/
|
||||
public void logInOnClick(View view) {
|
||||
String emailSting = emailField.getText().toString();
|
||||
String passwordSting = passwordField.getText().toString();
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
switch (v.getId()) {
|
||||
case R.id.register_button:
|
||||
registerOnClick();
|
||||
break;
|
||||
case R.id.go_to_register_button:
|
||||
goToRegisterOnClick();
|
||||
break;
|
||||
case R.id.login_button:
|
||||
logInOnClick();
|
||||
break;
|
||||
case R.id.back_to_login_button:
|
||||
backToLoginOnClick();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
logIn(emailSting, passwordSting);
|
||||
/**
|
||||
* Performs the logon action.
|
||||
*/
|
||||
public void logInOnClick() {
|
||||
String emailString = emailField.getText().toString();
|
||||
String passwordString = passwordField.getText().toString();
|
||||
|
||||
if (!emailString.isEmpty() && !passwordString.isEmpty()) {
|
||||
logIn(emailString, passwordString);
|
||||
} else {
|
||||
Toast.makeText(LoginActivity.this, R.string.login_error, Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Performs the register action.
|
||||
* @param view
|
||||
*/
|
||||
public void registerOnClick(View view) {
|
||||
Log.d(TAG, "registerOnClick: ");
|
||||
public void 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.makeText(LoginActivity.this, R.string.password_match_error,
|
||||
Toast.LENGTH_SHORT).show();
|
||||
Log.d(TAG, "registerOnClick: Passwords do not match");
|
||||
}
|
||||
|
||||
} else {
|
||||
Toast.makeText(LoginActivity.this, R.string.register_error, Toast.LENGTH_SHORT).show();
|
||||
}
|
||||
}
|
||||
|
||||
/// UI-changes ///
|
||||
|
||||
/**
|
||||
* Changes the Activity for registering.
|
||||
* @param view
|
||||
*/
|
||||
public void goToRegisterOnClick(View view) {
|
||||
public void goToRegisterOnClick() {
|
||||
passwordConfirmField.setVisibility(View.VISIBLE);
|
||||
passwordConfirmLabel.setVisibility(View.VISIBLE);
|
||||
registerButton.setVisibility(View.VISIBLE);
|
||||
@@ -114,9 +150,8 @@ public class LoginActivity extends AppCompatActivity {
|
||||
|
||||
/**
|
||||
* Changes the Activity for logging in.
|
||||
* @param view
|
||||
*/
|
||||
public void backToLoginOnClick(View view) {
|
||||
public void backToLoginOnClick() {
|
||||
passwordConfirmField.setVisibility(View.GONE);
|
||||
passwordConfirmLabel.setVisibility(View.GONE);
|
||||
registerButton.setVisibility(View.GONE);
|
||||
@@ -134,6 +169,7 @@ public class LoginActivity extends AppCompatActivity {
|
||||
protected void goToMainScreen() {
|
||||
Intent intent = new Intent(this, MainActivity.class);
|
||||
startActivity(intent);
|
||||
progressDialog.dismiss();
|
||||
this.finish();
|
||||
}
|
||||
|
||||
@@ -141,11 +177,13 @@ public class LoginActivity extends AppCompatActivity {
|
||||
|
||||
/**
|
||||
* 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, getString(R.string.please_wait), "Logging in", true, false);
|
||||
|
||||
mAuth.signInWithEmailAndPassword(emailString, passwordString)
|
||||
.addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
|
||||
@Override
|
||||
public void onComplete(@NonNull Task<AuthResult> task) {
|
||||
@@ -159,6 +197,7 @@ public class LoginActivity extends AppCompatActivity {
|
||||
} 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();
|
||||
}
|
||||
@@ -172,6 +211,7 @@ public class LoginActivity extends AppCompatActivity {
|
||||
* @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
|
||||
@@ -186,6 +226,7 @@ public class LoginActivity extends AppCompatActivity {
|
||||
// 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();
|
||||
}
|
||||
|
||||
@@ -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 "";
|
||||
}
|
||||
}
|
||||
@@ -5,5 +5,5 @@
|
||||
android:viewportWidth="24.0">
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M3,13h8L11,3L3,3v10zM3,21h8v-6L3,15v6zM13,21h8L21,11h-8v10zM13,3v6h8L21,3h-8z" />
|
||||
android:pathData="M3,5v14c0,1.1 0.89,2 2,2h14c1.1,0 2,-0.9 2,-2L21,5c0,-1.1 -0.9,-2 -2,-2L5,3c-1.11,0 -2,0.9 -2,2zM15,9c0,1.66 -1.34,3 -3,3s-3,-1.34 -3,-3 1.34,-3 3,-3 3,1.34 3,3zM6,17c0,-2 4,-3.1 6,-3.1s6,1.1 6,3.1v1L6,18v-1z" />
|
||||
</vector>
|
||||
@@ -1,9 +0,0 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportHeight="24.0"
|
||||
android:viewportWidth="24.0">
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M12,22c1.1,0 2,-0.9 2,-2h-4c0,1.1 0.89,2 2,2zM18,16v-5c0,-3.07 -1.64,-5.64 -4.5,-6.32L13.5,4c0,-0.83 -0.67,-1.5 -1.5,-1.5s-1.5,0.67 -1.5,1.5v0.68C7.63,5.36 6,7.92 6,11v5l-2,2v1h16v-1l-2,-2z" />
|
||||
</vector>
|
||||
@@ -0,0 +1,12 @@
|
||||
<vector xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:width="24dp"
|
||||
android:height="24dp"
|
||||
android:viewportHeight="24.0"
|
||||
android:viewportWidth="24.0">
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M12,12m-3.2,0a3.2,3.2 0,1 1,6.4 0a3.2,3.2 0,1 1,-6.4 0" />
|
||||
<path
|
||||
android:fillColor="#FF000000"
|
||||
android:pathData="M9,2L7.17,4L4,4c-1.1,0 -2,0.9 -2,2v12c0,1.1 0.9,2 2,2h16c1.1,0 2,-0.9 2,-2L22,6c0,-1.1 -0.9,-2 -2,-2h-3.17L15,2L9,2zM12,17c-2.76,0 -5,-2.24 -5,-5s2.24,-5 5,-5 5,2.24 5,5 -2.24,5 -5,5z" />
|
||||
</vector>
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 39 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 48 KiB |
@@ -16,9 +16,11 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:adjustViewBounds="true"
|
||||
android:contentDescription="@string/logo_text"
|
||||
android:cropToPadding="false"
|
||||
android:padding="16dp"
|
||||
android:src="@drawable/logo" />
|
||||
android:paddingEnd="@dimen/activity_horizontal_margin"
|
||||
android:paddingStart="@dimen/activity_horizontal_margin"
|
||||
android:src="@drawable/logo_new" />
|
||||
<TextView
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
@@ -78,7 +80,6 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:layout_marginStart="16dp"
|
||||
android:onClick="logInOnClick"
|
||||
android:text="@string/login_button" />
|
||||
|
||||
<Button
|
||||
@@ -87,7 +88,6 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:layout_marginStart="16dp"
|
||||
android:onClick="goToRegisterOnClick"
|
||||
android:text="@string/register" />
|
||||
|
||||
<Button
|
||||
@@ -96,7 +96,6 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:layout_marginStart="16dp"
|
||||
android:onClick="registerOnClick"
|
||||
android:text="@string/register"
|
||||
android:visibility="gone" />
|
||||
|
||||
@@ -106,7 +105,6 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginEnd="16dp"
|
||||
android:layout_marginStart="16dp"
|
||||
android:onClick="backToLoginOnClick"
|
||||
android:text="@string/back_to_login"
|
||||
android:visibility="gone" />
|
||||
|
||||
|
||||
@@ -8,12 +8,12 @@
|
||||
|
||||
<item
|
||||
android:id="@+id/navigation_camera"
|
||||
android:icon="@drawable/ic_dashboard_black_24dp"
|
||||
android:icon="@drawable/ic_photo_camera_black_24dp"
|
||||
android:title="@string/title_dashboard" />
|
||||
|
||||
<item
|
||||
android:id="@+id/navigation_profile"
|
||||
android:icon="@drawable/ic_notifications_black_24dp"
|
||||
android:icon="@drawable/ic_account_box_black_24dp"
|
||||
android:title="@string/title_notifications" />
|
||||
|
||||
</menu>
|
||||
|
||||
@@ -12,4 +12,6 @@
|
||||
<string name="title_notifications">Profiel</string>
|
||||
<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>
|
||||
@@ -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,7 +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>
|
||||
|
||||
Reference in New Issue
Block a user