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:
Marijn Jansen
2017-06-22 11:37:40 +02:00
13 changed files with 171 additions and 52 deletions

View File

@@ -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'

View File

@@ -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

View File

@@ -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 (passwordField.getText().toString().equals(passwordConfirmField.getText().toString())) {
registerUser(emailField.getText().toString(), passwordField.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, R.string.password_match_error,
Toast.LENGTH_SHORT).show();
Log.d(TAG, "registerOnClick: Passwords do not match");
}
} 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, 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();
}

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

@@ -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>

View File

@@ -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>

View File

@@ -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

View File

@@ -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" />

View File

@@ -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>

View File

@@ -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>

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,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>