diff --git a/.idea/caches/gradle_models.ser b/.idea/caches/gradle_models.ser
index 2686443..ff9e3f3 100644
Binary files a/.idea/caches/gradle_models.ser and b/.idea/caches/gradle_models.ser differ
diff --git a/app/build.gradle b/app/build.gradle
index e4a6812..a7e1e48 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -7,8 +7,8 @@ android {
applicationId "at.smartshopper.smartshopperapp"
minSdkVersion 23
targetSdkVersion 28
- versionCode 11
- versionName "4.1"
+ versionCode 12
+ versionName "4.2"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
diff --git a/app/release/app.aab b/app/release/app.aab
index 40c9d9b..6b18307 100644
Binary files a/app/release/app.aab and b/app/release/app.aab differ
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 9ec3b8d..fad271b 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -13,30 +13,35 @@
android:theme="@style/AppTheme"
android:usesCleartextTraffic="true">
-
+ android:name=".activitys.Register"
+ android:label="@string/title_activity_register">
+
+
-
-
+
+
-
-
-
+
+
+
+
+
+ android:scheme="https" />
-
\ No newline at end of file
diff --git a/app/src/main/java/at/smartshopper/smartshopperapp/activitys/LoginActivity.java b/app/src/main/java/at/smartshopper/smartshopperapp/activitys/LoginActivity.java
index d8a9e27..1bc400e 100644
--- a/app/src/main/java/at/smartshopper/smartshopperapp/activitys/LoginActivity.java
+++ b/app/src/main/java/at/smartshopper/smartshopperapp/activitys/LoginActivity.java
@@ -7,6 +7,8 @@ import android.os.Handler;
import android.support.annotation.NonNull;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
+import android.text.Editable;
+import android.text.TextWatcher;
import android.util.Log;
import android.view.View;
import android.widget.Button;
@@ -241,13 +243,63 @@ public class LoginActivity extends AppCompatActivity {
mAuth = FirebaseAuth.getInstance();
db = new Database();
+ Button register = (Button)findViewById(R.id.registrierenBtn);
+ register.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent intent = new Intent(LoginActivity.this, Register.class);
+ finish();
+ startActivity(intent);
+ }
+ });
- Button loginEmailBtn = (Button) findViewById(R.id.loginEmailBtn);
+ final Button loginEmailBtn = (Button) findViewById(R.id.loginEmailBtn);
+ loginEmailBtn.setEnabled(false);
final TextView email = (TextView) findViewById(R.id.email);
final TextView passwort = (TextView) findViewById(R.id.password);
button = (SignInButton) findViewById(R.id.loginGoogleBtn);
+ email.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ if(!email.getText().toString().isEmpty() && !passwort.getText().toString().isEmpty()){
+ loginEmailBtn.setEnabled(true);
+ }else{
+ loginEmailBtn.setEnabled(false);
+ }
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ });
+ passwort.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+ if(!email.getText().toString().isEmpty() && !passwort.getText().toString().isEmpty()){
+ loginEmailBtn.setEnabled(true);
+ }else{
+ loginEmailBtn.setEnabled(false);
+ }
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+
+ }
+ });
loginEmailBtn.setOnClickListener(new View.OnClickListener() {
@Override
diff --git a/app/src/main/java/at/smartshopper/smartshopperapp/activitys/Register.java b/app/src/main/java/at/smartshopper/smartshopperapp/activitys/Register.java
new file mode 100644
index 0000000..ccd3d0b
--- /dev/null
+++ b/app/src/main/java/at/smartshopper/smartshopperapp/activitys/Register.java
@@ -0,0 +1,161 @@
+package at.smartshopper.smartshopperapp.activitys;
+
+import android.app.Activity;
+import android.content.Intent;
+import android.net.Uri;
+import android.os.Bundle;
+import android.support.annotation.NonNull;
+import android.text.Editable;
+import android.text.TextWatcher;
+import android.util.Log;
+import android.view.View;
+import android.widget.Button;
+import android.widget.TextView;
+import android.widget.Toast;
+
+import com.google.android.gms.tasks.OnCompleteListener;
+import com.google.android.gms.tasks.Task;
+import com.google.firebase.auth.AuthResult;
+import com.google.firebase.auth.FirebaseAuth;
+import com.google.firebase.auth.FirebaseUser;
+import com.google.firebase.auth.UserProfileChangeRequest;
+
+import at.smartshopper.smartshopperapp.R;
+
+public class Register extends Activity {
+
+ private FirebaseAuth mAuth;
+
+
+ private void register(String email, String password, final String name) {
+ mAuth.createUserWithEmailAndPassword(email, password).addOnCompleteListener(this, new OnCompleteListener() {
+ @Override
+ public void onComplete(@NonNull Task task) {
+ if (task.isSuccessful()) {
+ // Sign in success, update UI with the signed-in user's information
+ Log.d("Register", "Erfolgreich registriert");
+ FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
+
+ UserProfileChangeRequest profileUpdates = new UserProfileChangeRequest.Builder()
+ .setDisplayName(name)
+ .setPhotoUri(Uri.parse("http://techfrage.de/upfiles/13547334191038217.png"))
+ .build();
+
+ user.updateProfile(profileUpdates)
+ .addOnCompleteListener(new OnCompleteListener() {
+ @Override
+ public void onComplete(@NonNull Task task) {
+ if (task.isSuccessful()) {
+ Log.d("Register", "Name und bild gesetzt");
+ Intent intent = new Intent(Register.this, LoginActivity.class);
+ finish();
+ startActivity(intent);
+ }
+ }
+ });
+
+ } else {
+ // If sign in fails, display a message to the user.
+ Log.w("Register", "Ein fehler ist aufgetreten", task.getException());
+ Toast.makeText(Register.this, "Ein Fehler ist aufgetreten",
+ Toast.LENGTH_SHORT).show();
+ }
+ }
+ });
+ }
+
+ @Override
+ protected void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ setContentView(R.layout.activity_register);
+
+ // ...
+// Initialize Firebase Auth
+ mAuth = FirebaseAuth.getInstance();
+
+ final TextView email = findViewById(R.id.emailregister);
+ final TextView passwort = findViewById(R.id.passwordregister);
+ final TextView name = findViewById(R.id.nameregister);
+ Button back = findViewById(R.id.backLogin);
+ final Button register = findViewById(R.id.register);
+ register.setEnabled(false);
+
+ register.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ register(email.getText().toString(), passwort.getText().toString(), name.getText().toString());
+ }
+ });
+
+ name.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+ if (!name.getText().toString().isEmpty() && !email.getText().toString().isEmpty() && !passwort.getText().toString().isEmpty()) {
+ register.setEnabled(true);
+ } else {
+ register.setEnabled(false);
+ }
+ }
+ });
+ email.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+ if (!name.getText().toString().isEmpty() && !email.getText().toString().isEmpty() && !passwort.getText().toString().isEmpty()) {
+ register.setEnabled(true);
+ } else {
+ register.setEnabled(false);
+ }
+ }
+ });
+ passwort.addTextChangedListener(new TextWatcher() {
+ @Override
+ public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+
+ }
+
+ @Override
+ public void onTextChanged(CharSequence s, int start, int before, int count) {
+
+ }
+
+ @Override
+ public void afterTextChanged(Editable s) {
+ if (!name.getText().toString().isEmpty() && !email.getText().toString().isEmpty() && !passwort.getText().toString().isEmpty()) {
+ register.setEnabled(true);
+ } else {
+ register.setEnabled(false);
+ }
+ }
+ });
+
+ back.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Intent intent = new Intent(Register.this, LoginActivity.class);
+ finish();
+ startActivity(intent);
+ }
+ });
+ }
+
+}
diff --git a/app/src/main/res/layout/activity_register.xml b/app/src/main/res/layout/activity_register.xml
new file mode 100644
index 0000000..052a634
--- /dev/null
+++ b/app/src/main/res/layout/activity_register.xml
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 98ceb22..5052999 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -8,6 +8,7 @@
221332577314
SmartShopper
EditUser
+ Register