diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index e1e5dd3..c7f6b04 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -12,6 +12,12 @@ android:supportsRtl="true" android:theme="@style/Theme.CalendarApp" tools:targetApi="31"> + + diff --git a/app/src/main/java/com/george/android/calendar/FragmentAddEditEventActivity.java b/app/src/main/java/com/george/android/calendar/FragmentAddEditEventActivity.java new file mode 100644 index 0000000..8bb97a3 --- /dev/null +++ b/app/src/main/java/com/george/android/calendar/FragmentAddEditEventActivity.java @@ -0,0 +1,14 @@ +package com.george.android.calendar; + +import androidx.appcompat.app.AppCompatActivity; + +import android.os.Bundle; + +public class FragmentAddEditEventActivity extends AppCompatActivity { + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.fragment_add_edit_event); + } +} \ No newline at end of file diff --git a/app/src/main/java/com/george/android/calendar/LoginActivity.java b/app/src/main/java/com/george/android/calendar/LoginActivity.java new file mode 100644 index 0000000..4d1ce8d --- /dev/null +++ b/app/src/main/java/com/george/android/calendar/LoginActivity.java @@ -0,0 +1,51 @@ +package com.george.android.calendar; + +import androidx.appcompat.app.AppCompatActivity; +import androidx.appcompat.app.AppCompatDelegate; + +import android.content.Intent; +import android.os.Bundle; +import android.widget.Button; + +import com.george.android.calendar.ui.MainActivity; +import com.george.android.calendar.ui.RegisterActivity; +import com.george.android.calendar.utils.TextValidator; +import com.google.android.material.textfield.TextInputLayout; + +import java.util.Objects; + +public class LoginActivity extends AppCompatActivity { + + TextInputLayout textEmail; + TextInputLayout textPassword; + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_login); + + Button btnLogin = findViewById(R.id.loginButton); + Button btnRegister = findViewById(R.id.toRegisterActivityButton); + textEmail = findViewById(R.id.emailTextInputEditText); + textPassword = findViewById(R.id.passwordTextInputEditText); + + btnLogin.setOnClickListener(v -> { + + String email = Objects.requireNonNull(textEmail.getEditText()).getText().toString(); + String password = Objects.requireNonNull(textEmail.getEditText()).getText().toString(); + + if (!validateFields(email, password)){ + return; + } + + Intent nameIntent = new Intent(this, MainActivity.class); + startActivity(nameIntent); + }); + + btnRegister.setOnClickListener(v -> startActivity(new Intent(this, RegisterActivity.class))); + } + + private boolean validateFields(String email, String password) { + return TextValidator.validateText(email, textEmail) & TextValidator.validateText(password, textPassword); + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/george/android/calendar/utils/TextValidator.java b/app/src/main/java/com/george/android/calendar/utils/TextValidator.java new file mode 100644 index 0000000..2c6c26b --- /dev/null +++ b/app/src/main/java/com/george/android/calendar/utils/TextValidator.java @@ -0,0 +1,41 @@ +package com.george.android.calendar.utils; + +import android.text.Editable; +import android.text.TextWatcher; + +import com.google.android.material.textfield.TextInputLayout; + +import java.util.Objects; + +public class TextValidator { + + public static boolean validateText(String text, TextInputLayout textInputLayout){ + + Objects.requireNonNull(textInputLayout.getEditText()).addTextChangedListener(new TextWatcher() { + @Override + public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) { + textInputLayout.setError(null); + } + + @Override + public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { + + } + + @Override + public void afterTextChanged(Editable editable) { + + } + }); + + if (text.isEmpty()) { + textInputLayout.setError("Это поле не может быть пустым"); + return false; + } else { + textInputLayout.setError(null); + return true; + } + + } + +} diff --git a/app/src/main/res/drawable/ic_login.png b/app/src/main/res/drawable/ic_login.png new file mode 100644 index 0000000..c57aefa Binary files /dev/null and b/app/src/main/res/drawable/ic_login.png differ diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml new file mode 100644 index 0000000..4ceede9 --- /dev/null +++ b/app/src/main/res/layout/activity_login.xml @@ -0,0 +1,86 @@ + + + + + + + + + + + + + + + + + + + +