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