diff --git a/app/build.gradle b/app/build.gradle
index c921f8b..09ae771 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -4,6 +4,7 @@ plugins {
id 'kotlin-kapt'
id 'dagger.hilt.android.plugin'
id("com.google.devtools.ksp") version("1.8.0-1.0.9")
+ id 'org.jetbrains.kotlin.android'
}
android {
@@ -67,6 +68,7 @@ dependencies {
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.databinding:databinding-runtime:7.4.0'
implementation 'com.android.car.ui:car-ui-lib:2.3.0'
+ implementation 'androidx.core:core-ktx:+'
androidTestImplementation "androidx.arch.core:core-testing:$arch_version"
implementation 'androidx.lifecycle:lifecycle-viewmodel-savedstate:2.5.1'
implementation 'androidx.fragment:fragment-ktx:1.5.5'
@@ -75,7 +77,6 @@ dependencies {
implementation "androidx.room:room-ktx:$room_version"
implementation("androidx.room:room-runtime:$room_version")
annotationProcessor("androidx.room:room-compiler:$room_version")
- kapt("androidx.room:room-compiler:$room_version")
implementation "androidx.room:room-rxjava2:$room_version"
testImplementation "androidx.room:room-testing:$room_version"
ksp("androidx.room:room-compiler:$room_version")
@@ -122,8 +123,11 @@ dependencies {
//naver maps
implementation "com.naver.maps:map-sdk:$naver_map_version"
+
//location request
implementation "com.google.android.gms:play-services-location:$fused_location_provider_client_version"
+
+
implementation 'androidx.core:core-ktx:1.9.0'
implementation 'androidx.appcompat:appcompat:1.6.0'
@@ -132,6 +136,7 @@ dependencies {
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
+
}
kapt {
diff --git a/app/src/debug/ic_cazait-playstore.png b/app/src/debug/ic_cazait-playstore.png
new file mode 100644
index 0000000..48ba205
Binary files /dev/null and b/app/src/debug/ic_cazait-playstore.png differ
diff --git a/app/src/debug/res/mipmap-anydpi-v26/ic_kazait.xml b/app/src/debug/res/mipmap-anydpi-v26/ic_cazait.xml
similarity index 75%
rename from app/src/debug/res/mipmap-anydpi-v26/ic_kazait.xml
rename to app/src/debug/res/mipmap-anydpi-v26/ic_cazait.xml
index 2e46a73..ab9eabc 100644
--- a/app/src/debug/res/mipmap-anydpi-v26/ic_kazait.xml
+++ b/app/src/debug/res/mipmap-anydpi-v26/ic_cazait.xml
@@ -1,5 +1,5 @@
-
+
\ No newline at end of file
diff --git a/app/src/debug/res/mipmap-anydpi-v26/ic_kazait_round.xml b/app/src/debug/res/mipmap-anydpi-v26/ic_cazait_round.xml
similarity index 75%
rename from app/src/debug/res/mipmap-anydpi-v26/ic_kazait_round.xml
rename to app/src/debug/res/mipmap-anydpi-v26/ic_cazait_round.xml
index 2e46a73..ab9eabc 100644
--- a/app/src/debug/res/mipmap-anydpi-v26/ic_kazait_round.xml
+++ b/app/src/debug/res/mipmap-anydpi-v26/ic_cazait_round.xml
@@ -1,5 +1,5 @@
-
+
\ No newline at end of file
diff --git a/app/src/debug/res/mipmap-hdpi/ic_cazait.png b/app/src/debug/res/mipmap-hdpi/ic_cazait.png
new file mode 100644
index 0000000..12f78b8
Binary files /dev/null and b/app/src/debug/res/mipmap-hdpi/ic_cazait.png differ
diff --git a/app/src/debug/res/mipmap-hdpi/ic_cazait_foreground.png b/app/src/debug/res/mipmap-hdpi/ic_cazait_foreground.png
new file mode 100644
index 0000000..bd2cf74
Binary files /dev/null and b/app/src/debug/res/mipmap-hdpi/ic_cazait_foreground.png differ
diff --git a/app/src/debug/res/mipmap-hdpi/ic_cazait_round.png b/app/src/debug/res/mipmap-hdpi/ic_cazait_round.png
new file mode 100644
index 0000000..7f03f54
Binary files /dev/null and b/app/src/debug/res/mipmap-hdpi/ic_cazait_round.png differ
diff --git a/app/src/debug/res/mipmap-hdpi/ic_kazait.png b/app/src/debug/res/mipmap-hdpi/ic_kazait.png
deleted file mode 100644
index d9f63d9..0000000
Binary files a/app/src/debug/res/mipmap-hdpi/ic_kazait.png and /dev/null differ
diff --git a/app/src/debug/res/mipmap-hdpi/ic_kazait_foreground.png b/app/src/debug/res/mipmap-hdpi/ic_kazait_foreground.png
deleted file mode 100644
index b4533af..0000000
Binary files a/app/src/debug/res/mipmap-hdpi/ic_kazait_foreground.png and /dev/null differ
diff --git a/app/src/debug/res/mipmap-hdpi/ic_kazait_round.png b/app/src/debug/res/mipmap-hdpi/ic_kazait_round.png
deleted file mode 100644
index 8ea620a..0000000
Binary files a/app/src/debug/res/mipmap-hdpi/ic_kazait_round.png and /dev/null differ
diff --git a/app/src/debug/res/mipmap-mdpi/ic_cazait.png b/app/src/debug/res/mipmap-mdpi/ic_cazait.png
new file mode 100644
index 0000000..4a44063
Binary files /dev/null and b/app/src/debug/res/mipmap-mdpi/ic_cazait.png differ
diff --git a/app/src/debug/res/mipmap-mdpi/ic_cazait_foreground.png b/app/src/debug/res/mipmap-mdpi/ic_cazait_foreground.png
new file mode 100644
index 0000000..63e732d
Binary files /dev/null and b/app/src/debug/res/mipmap-mdpi/ic_cazait_foreground.png differ
diff --git a/app/src/debug/res/mipmap-mdpi/ic_cazait_round.png b/app/src/debug/res/mipmap-mdpi/ic_cazait_round.png
new file mode 100644
index 0000000..ac8d2c1
Binary files /dev/null and b/app/src/debug/res/mipmap-mdpi/ic_cazait_round.png differ
diff --git a/app/src/debug/res/mipmap-mdpi/ic_kazait.png b/app/src/debug/res/mipmap-mdpi/ic_kazait.png
deleted file mode 100644
index c1249e3..0000000
Binary files a/app/src/debug/res/mipmap-mdpi/ic_kazait.png and /dev/null differ
diff --git a/app/src/debug/res/mipmap-mdpi/ic_kazait_foreground.png b/app/src/debug/res/mipmap-mdpi/ic_kazait_foreground.png
deleted file mode 100644
index 475939a..0000000
Binary files a/app/src/debug/res/mipmap-mdpi/ic_kazait_foreground.png and /dev/null differ
diff --git a/app/src/debug/res/mipmap-mdpi/ic_kazait_round.png b/app/src/debug/res/mipmap-mdpi/ic_kazait_round.png
deleted file mode 100644
index 818661d..0000000
Binary files a/app/src/debug/res/mipmap-mdpi/ic_kazait_round.png and /dev/null differ
diff --git a/app/src/debug/res/mipmap-xhdpi/ic_cazait.png b/app/src/debug/res/mipmap-xhdpi/ic_cazait.png
new file mode 100644
index 0000000..a8e56a8
Binary files /dev/null and b/app/src/debug/res/mipmap-xhdpi/ic_cazait.png differ
diff --git a/app/src/debug/res/mipmap-xhdpi/ic_cazait_foreground.png b/app/src/debug/res/mipmap-xhdpi/ic_cazait_foreground.png
new file mode 100644
index 0000000..7a860b7
Binary files /dev/null and b/app/src/debug/res/mipmap-xhdpi/ic_cazait_foreground.png differ
diff --git a/app/src/debug/res/mipmap-xhdpi/ic_cazait_round.png b/app/src/debug/res/mipmap-xhdpi/ic_cazait_round.png
new file mode 100644
index 0000000..68bb9e0
Binary files /dev/null and b/app/src/debug/res/mipmap-xhdpi/ic_cazait_round.png differ
diff --git a/app/src/debug/res/mipmap-xhdpi/ic_kazait.png b/app/src/debug/res/mipmap-xhdpi/ic_kazait.png
deleted file mode 100644
index 35b2e22..0000000
Binary files a/app/src/debug/res/mipmap-xhdpi/ic_kazait.png and /dev/null differ
diff --git a/app/src/debug/res/mipmap-xhdpi/ic_kazait_foreground.png b/app/src/debug/res/mipmap-xhdpi/ic_kazait_foreground.png
deleted file mode 100644
index cf14b0a..0000000
Binary files a/app/src/debug/res/mipmap-xhdpi/ic_kazait_foreground.png and /dev/null differ
diff --git a/app/src/debug/res/mipmap-xhdpi/ic_kazait_round.png b/app/src/debug/res/mipmap-xhdpi/ic_kazait_round.png
deleted file mode 100644
index a21b4de..0000000
Binary files a/app/src/debug/res/mipmap-xhdpi/ic_kazait_round.png and /dev/null differ
diff --git a/app/src/debug/res/mipmap-xxhdpi/ic_cazait.png b/app/src/debug/res/mipmap-xxhdpi/ic_cazait.png
new file mode 100644
index 0000000..e96444a
Binary files /dev/null and b/app/src/debug/res/mipmap-xxhdpi/ic_cazait.png differ
diff --git a/app/src/debug/res/mipmap-xxhdpi/ic_cazait_foreground.png b/app/src/debug/res/mipmap-xxhdpi/ic_cazait_foreground.png
new file mode 100644
index 0000000..73cbced
Binary files /dev/null and b/app/src/debug/res/mipmap-xxhdpi/ic_cazait_foreground.png differ
diff --git a/app/src/debug/res/mipmap-xxhdpi/ic_cazait_round.png b/app/src/debug/res/mipmap-xxhdpi/ic_cazait_round.png
new file mode 100644
index 0000000..48cb3b4
Binary files /dev/null and b/app/src/debug/res/mipmap-xxhdpi/ic_cazait_round.png differ
diff --git a/app/src/debug/res/mipmap-xxhdpi/ic_kazait.png b/app/src/debug/res/mipmap-xxhdpi/ic_kazait.png
deleted file mode 100644
index 3416a49..0000000
Binary files a/app/src/debug/res/mipmap-xxhdpi/ic_kazait.png and /dev/null differ
diff --git a/app/src/debug/res/mipmap-xxhdpi/ic_kazait_foreground.png b/app/src/debug/res/mipmap-xxhdpi/ic_kazait_foreground.png
deleted file mode 100644
index a97ddc6..0000000
Binary files a/app/src/debug/res/mipmap-xxhdpi/ic_kazait_foreground.png and /dev/null differ
diff --git a/app/src/debug/res/mipmap-xxhdpi/ic_kazait_round.png b/app/src/debug/res/mipmap-xxhdpi/ic_kazait_round.png
deleted file mode 100644
index 02dc338..0000000
Binary files a/app/src/debug/res/mipmap-xxhdpi/ic_kazait_round.png and /dev/null differ
diff --git a/app/src/debug/res/mipmap-xxxhdpi/ic_cazait.png b/app/src/debug/res/mipmap-xxxhdpi/ic_cazait.png
new file mode 100644
index 0000000..cb534d5
Binary files /dev/null and b/app/src/debug/res/mipmap-xxxhdpi/ic_cazait.png differ
diff --git a/app/src/debug/res/mipmap-xxxhdpi/ic_cazait_foreground.png b/app/src/debug/res/mipmap-xxxhdpi/ic_cazait_foreground.png
new file mode 100644
index 0000000..718b969
Binary files /dev/null and b/app/src/debug/res/mipmap-xxxhdpi/ic_cazait_foreground.png differ
diff --git a/app/src/debug/res/mipmap-xxxhdpi/ic_cazait_round.png b/app/src/debug/res/mipmap-xxxhdpi/ic_cazait_round.png
new file mode 100644
index 0000000..138fe16
Binary files /dev/null and b/app/src/debug/res/mipmap-xxxhdpi/ic_cazait_round.png differ
diff --git a/app/src/debug/res/mipmap-xxxhdpi/ic_kazait.png b/app/src/debug/res/mipmap-xxxhdpi/ic_kazait.png
deleted file mode 100644
index 2ab5b19..0000000
Binary files a/app/src/debug/res/mipmap-xxxhdpi/ic_kazait.png and /dev/null differ
diff --git a/app/src/debug/res/mipmap-xxxhdpi/ic_kazait_foreground.png b/app/src/debug/res/mipmap-xxxhdpi/ic_kazait_foreground.png
deleted file mode 100644
index 30a41ed..0000000
Binary files a/app/src/debug/res/mipmap-xxxhdpi/ic_kazait_foreground.png and /dev/null differ
diff --git a/app/src/debug/res/mipmap-xxxhdpi/ic_kazait_round.png b/app/src/debug/res/mipmap-xxxhdpi/ic_kazait_round.png
deleted file mode 100644
index 386ebc0..0000000
Binary files a/app/src/debug/res/mipmap-xxxhdpi/ic_kazait_round.png and /dev/null differ
diff --git a/app/src/debug/res/values/ic_cazait_background.xml b/app/src/debug/res/values/ic_cazait_background.xml
index fe07ac8..fe07b14 100644
--- a/app/src/debug/res/values/ic_cazait_background.xml
+++ b/app/src/debug/res/values/ic_cazait_background.xml
@@ -1,4 +1,4 @@
- #FAF0DD
+ #F5F5F5
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 2423c87..01f8aa8 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -11,9 +11,9 @@
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
- android:icon="@mipmap/ic_kazait"
+ android:icon="@mipmap/ic_cazait"
android:label="@string/app_name"
- android:roundIcon="@mipmap/ic_kazait_round"
+ android:roundIcon="@mipmap/ic_cazait_round"
android:supportsRtl="true"
android:theme="@style/Theme.CaZaItAndroid"
tools:targetApi="31">
@@ -51,7 +51,7 @@
+ android:exported="true">
diff --git a/app/src/main/ic_cazait-playstore.png b/app/src/main/ic_cazait-playstore.png
new file mode 100644
index 0000000..88e7958
Binary files /dev/null and b/app/src/main/ic_cazait-playstore.png differ
diff --git a/app/src/main/java/org/cazait/cazait_android/SignUpDBHelper.kt b/app/src/main/java/org/cazait/cazait_android/SignUpDBHelper.kt
new file mode 100644
index 0000000..e7e35fd
--- /dev/null
+++ b/app/src/main/java/org/cazait/cazait_android/SignUpDBHelper.kt
@@ -0,0 +1,49 @@
+package org.cazait.cazait_android
+
+import android.content.ContentValues
+import android.content.Context
+import android.database.sqlite.SQLiteDatabase
+import android.database.sqlite.SQLiteOpenHelper
+
+class SignUpDBHelper(context: Context?) :
+ SQLiteOpenHelper(context, "Login.db", null, 1) {
+ override fun onCreate(MyDB: SQLiteDatabase) {
+ MyDB.execSQL("create Table users(username TEXT primary key, password TEXT)")
+ }
+
+ override fun onUpgrade(MyDB: SQLiteDatabase, i: Int, i1: Int) {
+ MyDB.execSQL("drop Table if exists users")
+ }
+
+ fun insertData(username: String?, password: String?): Boolean {
+ val MyDB = this.writableDatabase
+ val contentValues = ContentValues()
+ contentValues.put("username", username)
+ contentValues.put("password", password)
+ val result = MyDB.insert("users", null, contentValues)
+ return if (result == -1L) false else true
+ }
+
+ fun checkUsername(username: String): Boolean {
+ val MyDB = this.writableDatabase
+ var res = true
+ val cursor = MyDB.rawQuery("Select * from users where username = ?", arrayOf(username))
+ if (cursor.count <= 0) res = false
+ return res
+ }
+
+ fun checkUserpass(username: String, password: String): Boolean {
+ val MyDB = this.writableDatabase
+ var res = true
+ val cursor = MyDB.rawQuery(
+ "Select * from users where username = ? and password = ?",
+ arrayOf(username, password)
+ )
+ if (cursor.count <= 0) res = false
+ return res
+ }
+
+ companion object {
+ const val DBNAME = "Login.db"
+ }
+}
diff --git a/app/src/main/java/org/cazait/cazait_android/ui/adapter/CafeListItemAdapter.kt b/app/src/main/java/org/cazait/cazait_android/ui/adapter/CafeListItemAdapter.kt
index 06dd65a..529bfbf 100644
--- a/app/src/main/java/org/cazait/cazait_android/ui/adapter/CafeListItemAdapter.kt
+++ b/app/src/main/java/org/cazait/cazait_android/ui/adapter/CafeListItemAdapter.kt
@@ -4,6 +4,10 @@ import android.content.Context
import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
+import kotlinx.coroutines.CoroutineScope
+import kotlinx.coroutines.Deferred
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.launch
import org.cazait.cazait_android.data.model.CafeState
import org.cazait.cazait_android.databinding.ItemCafeMainBinding
@@ -16,6 +20,7 @@ class CafeListItemAdapter(
fun bind(item: CafeState) {
binding.cafeState = item
}
+
}
override fun getItemCount() = dataset.size
diff --git a/app/src/main/java/org/cazait/cazait_android/ui/view/cafelist/CafeListFragment.kt b/app/src/main/java/org/cazait/cazait_android/ui/view/cafelist/CafeListFragment.kt
index b452931..9da018e 100644
--- a/app/src/main/java/org/cazait/cazait_android/ui/view/cafelist/CafeListFragment.kt
+++ b/app/src/main/java/org/cazait/cazait_android/ui/view/cafelist/CafeListFragment.kt
@@ -21,6 +21,7 @@ class CafeListFragment : BaseFragment() {
@@ -22,7 +28,10 @@ class MyPageFragment : BaseFragment() {
}
+
override fun initView() {
}
-}
\ No newline at end of file
+}
+
+
diff --git a/app/src/main/java/org/cazait/cazait_android/ui/view/signup/SignUpActivity.kt b/app/src/main/java/org/cazait/cazait_android/ui/view/signup/SignUpActivity.kt
index eda92a4..941dd9a 100644
--- a/app/src/main/java/org/cazait/cazait_android/ui/view/signup/SignUpActivity.kt
+++ b/app/src/main/java/org/cazait/cazait_android/ui/view/signup/SignUpActivity.kt
@@ -2,16 +2,26 @@ package org.cazait.cazait_android.ui.view.signup
import android.content.Intent
import android.os.Bundle
+import android.text.Editable
+import android.text.TextWatcher
+import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import androidx.databinding.DataBindingUtil
import dagger.hilt.android.AndroidEntryPoint
import org.cazait.cazait_android.R
+import org.cazait.cazait_android.SignUpDBHelper
import org.cazait.cazait_android.databinding.ActivitySignupBinding
import org.cazait.cazait_android.ui.view.login.LoginActivity
-import kotlin.text.Typography.dagger
@AndroidEntryPoint
class SignUpActivity : AppCompatActivity() {
+ private var idFlag = false
+ private var passwordFlag = false
+ private var passwordCheckFlag = false
+ private var emailFlag = false
+ private var DB: SignUpDBHelper? = null
+
+
private val binding: ActivitySignupBinding by lazy {
DataBindingUtil.setContentView(
this,
@@ -19,12 +29,247 @@ class SignUpActivity : AppCompatActivity() {
)
}
+
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
- setContentView(R.layout.activity_signup)
- binding.tvSignupJoin.setOnClickListener {
- val back = Intent(this, LoginActivity::class.java)
- startActivity(back)
+ DB = SignUpDBHelper(this)
+
+ binding.btnSignupJoin.setOnClickListener {
+ val id = binding.etSignupIdExample.editText?.text.toString()
+ val pw = binding.etSignupPasswordInsert.editText?.text.toString()
+ val repw = binding.etSignupPasswordInsertMore.editText?.text.toString()
+ val email = binding.etSignupEmailExample.editText?.text.toString()
+ if (id == "" || pw == "" || repw == "" || email == "")
+ Toast.makeText(
+ this@SignUpActivity,
+ "회원정보를 전부 입력하세요",
+ Toast.LENGTH_SHORT
+ ).show()
+ else {
+ if (pw == repw) {
+ val checkUsername = DB!!.checkUsername(id)
+ if (checkUsername == false) {
+ val insert = DB!!.insertData(id, pw)
+ if (insert == true) {
+ Toast.makeText(
+ this@SignUpActivity,
+ "가입되었습니다",
+ Toast.LENGTH_SHORT
+ ).show()
+ val back = Intent(applicationContext, LoginActivity::class.java)
+ startActivity(back)
+ } else {
+ Toast.makeText(
+ this@SignUpActivity,
+ "비밀번호가 일치하지 않습니다",
+ Toast.LENGTH_SHORT
+ ).show()
+ }
+ }
+ }
+ }
+ }
+
+ binding.etSignupIdExample.editText?.addTextChangedListener(idListener)
+ binding.etSignupPasswordInsert.editText?.addTextChangedListener(passwordListener)
+ binding.etSignupPasswordInsertMore.editText?.addTextChangedListener(passwordCheckListener)
+ binding.etSignupIdExample.hint = resources.getString(R.string.signup_id_example)
+ binding.etSignupEmailExample.editText?.addTextChangedListener(emailListener)
+ binding.etSignupIdExample.setOnFocusChangeListener { _, hasFocus ->
+ if (hasFocus) {
+ binding.etSignupIdExample.hint = ""
+ } else {
+ binding.etSignupIdExample.hint = resources.getString(R.string.signup_id_example)
+ }
+ }
+
+ }
+
+ private fun hasSpecialCharacter(string: String): Boolean {
+ for (i in string.indices) {
+ if (!Character.isLetterOrDigit(string[i])) {
+ return true
+ }
+ }
+ return false
+ }
+
+
+ private fun hasAlphabet(string: String): Boolean {
+ for (i in string.indices) {
+ if (Character.isAlphabetic(string[i].code)) {
+ return true
+ }
+ }
+ return false
+ }
+
+
+ fun idRegex(id: String): Boolean {
+ if ((!hasSpecialCharacter(id)) and (hasAlphabet(id)) and (id.length >= 6)) {
+ return true
+ }
+ return false
+ }
+
+ fun passwordRegex(password: String): Boolean {
+ return password.matches("^(?=.*[A-Za-z])(?=.*[0-9])(?=.*[$@$!%*#?&.])[A-Za-z[0-9]$@$!%*#?&.]{8,16}$".toRegex())
+ }
+
+ fun passwordCheckRegex(passwordCheck: String): Boolean {
+ return passwordCheck.matches("^(?=.*[A-Za-z])(?=.*[0-9])(?=.*[$@$!%*#?&.])[A-Za-z[0-9]$@$!%*#?&.]{8,16}$".toRegex())
+ }
+
+ fun emailRegex(email: String): Boolean {
+ val regexEmail =
+ """^([a-zA-Z0-9_\-\.]+)@([a-zA-Z0-9_\-\.]+)\.([a-zA-Z]{2,5})${'$'}""".toRegex()
+ return regexEmail.matches(email)
+ }
+
+ private val idListener = object : TextWatcher {
+ override fun beforeTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
+ }
+
+ override fun onTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
}
+
+ override fun afterTextChanged(s: Editable?) {
+ if (s != null) {
+ when {
+ s.isEmpty() -> {
+ binding.etSignupIdExample.error = "아이디를 입력해주세요."
+ idFlag = false
+ }
+ !idRegex(s.toString()) -> {
+ binding.etSignupIdExample.error = "아이디 양식이 맞지 않습니다"
+ idFlag = false
+ }
+ else -> {
+ binding.etSignupIdExample.error = null
+ idFlag = true
+ }
+ }
+ flagCheck()
+ }
+ }
+ }
+ private val passwordListener = object : TextWatcher {
+ override fun beforeTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
+
+ }
+
+ override fun onTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
+ }
+
+ override fun afterTextChanged(s: Editable?) {
+ if (s != null) {
+ when {
+ s.isEmpty() -> {
+ binding.etSignupPasswordInsert.error = "비밀번호를 입력해주세요."
+ passwordFlag = false
+ }
+ !passwordRegex(s.toString()) -> {
+ binding.etSignupPasswordInsert.error = "영문/숫자/특수문자(공백 제외)으로 8~16자로 조합"
+ passwordFlag = false
+ }
+ !passwordCheckRegex(s.toString()) -> {
+ binding.etSignupPasswordInsertMore.error = "영문/숫자/특수문자(공백 제외)으로 8~16자로 조합"
+ passwordCheckFlag = false
+ }
+
+ s.isNotEmpty() -> {
+ binding.etSignupPasswordInsert.error = null
+ passwordFlag = true
+ when {
+ binding.etSignupPasswordInsertMore.editText?.text.toString() != ""
+ && binding.etSignupPasswordInsertMore.editText?.text.toString() != binding.etSignupPasswordInsert.editText?.text.toString() -> {
+ binding.etSignupPasswordInsertMore.error = "비밀번호가 일치하지 않습니다"
+ passwordCheckFlag = false
+ passwordFlag = true
+ }
+ else -> {
+ binding.etSignupPasswordInsertMore.error = null
+ passwordCheckFlag = true
+ }
+ }
+ }
+ }
+ flagCheck()
+ }
+ }
+ }
+
+ private val passwordCheckListener = object : TextWatcher {
+ override fun beforeTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
+
+ }
+
+ override fun onTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
+ }
+
+ override fun afterTextChanged(s: Editable?) {
+ if (s != null) {
+ when {
+ s.isEmpty() -> {
+ binding.etSignupPasswordInsertMore.error = "비밀번호를 입력해주세요."
+ passwordFlag = false
+ }
+ !passwordCheckRegex(s.toString()) -> {
+ binding.etSignupPasswordInsertMore.error = "영문/숫자/특수문자(공백 제외)으로 8~16자로 조합"
+ passwordCheckFlag = false
+ }
+
+ s.isNotEmpty() -> {
+ binding.etSignupPasswordInsertMore.error = null
+ passwordFlag = true
+ when {
+ binding.etSignupPasswordInsertMore.editText?.text.toString() != ""
+ && binding.etSignupPasswordInsertMore.editText?.text.toString() != binding.etSignupPasswordInsert.editText?.text.toString() -> {
+ binding.etSignupPasswordInsertMore.error = "비밀번호가 일치하지 않습니다"
+ passwordCheckFlag = false
+ passwordFlag = true
+ }
+ else -> {
+ binding.etSignupPasswordInsertMore.error = null
+ passwordCheckFlag = true
+ }
+ }
+ }
+ }
+ flagCheck()
+ }
+ }
+ }
+
+ private val emailListener = object : TextWatcher {
+ override fun beforeTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
+ }
+
+ override fun onTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
+ }
+
+ override fun afterTextChanged(s: Editable?) {
+ if (s != null) {
+ when {
+ s.isEmpty() -> {
+ binding.etSignupEmailExample.error = "이메일을 입력해주세요."
+ emailFlag = false
+ }
+ !emailRegex(s.toString()) -> {
+ binding.etSignupEmailExample.error = "이메일 양식이 맞지 않습니다"
+ emailFlag = false
+ }
+ else -> {
+ binding.etSignupEmailExample.error = null
+ emailFlag = true
+ }
+ }
+ flagCheck()
+ }
+ }
+ }
+
+ fun flagCheck() {
+ binding.btnSignupJoin.isEnabled = idFlag && passwordFlag && passwordCheckFlag && emailFlag
}
-}
\ No newline at end of file
+}
diff --git a/app/src/main/java/org/cazait/cazait_android/ui/view/signup/SignupActivity.kt b/app/src/main/java/org/cazait/cazait_android/ui/view/signup/SignupActivity.kt
deleted file mode 100644
index eda92a4..0000000
--- a/app/src/main/java/org/cazait/cazait_android/ui/view/signup/SignupActivity.kt
+++ /dev/null
@@ -1,30 +0,0 @@
-package org.cazait.cazait_android.ui.view.signup
-
-import android.content.Intent
-import android.os.Bundle
-import androidx.appcompat.app.AppCompatActivity
-import androidx.databinding.DataBindingUtil
-import dagger.hilt.android.AndroidEntryPoint
-import org.cazait.cazait_android.R
-import org.cazait.cazait_android.databinding.ActivitySignupBinding
-import org.cazait.cazait_android.ui.view.login.LoginActivity
-import kotlin.text.Typography.dagger
-
-@AndroidEntryPoint
-class SignUpActivity : AppCompatActivity() {
- private val binding: ActivitySignupBinding by lazy {
- DataBindingUtil.setContentView(
- this,
- R.layout.activity_signup
- )
- }
-
- override fun onCreate(savedInstanceState: Bundle?) {
- super.onCreate(savedInstanceState)
- setContentView(R.layout.activity_signup)
- binding.tvSignupJoin.setOnClickListener {
- val back = Intent(this, LoginActivity::class.java)
- startActivity(back)
- }
- }
-}
\ No newline at end of file
diff --git a/app/src/main/res/drawable-hdpi/favorite.9.png b/app/src/main/res/drawable-hdpi/iv_interest_unclick.9.png
similarity index 100%
rename from app/src/main/res/drawable-hdpi/favorite.9.png
rename to app/src/main/res/drawable-hdpi/iv_interest_unclick.9.png
diff --git a/app/src/main/res/drawable-mdpi/favorite.9.png b/app/src/main/res/drawable-mdpi/iv_interest_unclick.9.png
similarity index 100%
rename from app/src/main/res/drawable-mdpi/favorite.9.png
rename to app/src/main/res/drawable-mdpi/iv_interest_unclick.9.png
diff --git a/app/src/main/res/drawable-v24/logo.png b/app/src/main/res/drawable-v24/logo.png
index 3e8efd7..ced6250 100644
Binary files a/app/src/main/res/drawable-v24/logo.png and b/app/src/main/res/drawable-v24/logo.png differ
diff --git a/app/src/main/res/drawable-xhdpi/favorite.9.png b/app/src/main/res/drawable-xhdpi/iv_interest_unclick.9.png
similarity index 100%
rename from app/src/main/res/drawable-xhdpi/favorite.9.png
rename to app/src/main/res/drawable-xhdpi/iv_interest_unclick.9.png
diff --git a/app/src/main/res/drawable-xxhdpi/favorite.9.png b/app/src/main/res/drawable-xxhdpi/iv_interest_unclick.9.png
similarity index 100%
rename from app/src/main/res/drawable-xxhdpi/favorite.9.png
rename to app/src/main/res/drawable-xxhdpi/iv_interest_unclick.9.png
diff --git a/app/src/main/res/drawable-xxxhdpi/favorite.9.png b/app/src/main/res/drawable-xxxhdpi/iv_interest_unclick.9.png
similarity index 100%
rename from app/src/main/res/drawable-xxxhdpi/favorite.9.png
rename to app/src/main/res/drawable-xxxhdpi/iv_interest_unclick.9.png
diff --git a/app/src/main/res/drawable/favorite.png b/app/src/main/res/drawable/iv_interest_unclick.png
similarity index 100%
rename from app/src/main/res/drawable/favorite.png
rename to app/src/main/res/drawable/iv_interest_unclick.png
diff --git a/app/src/main/res/drawable/round_beige_rectangle.xml b/app/src/main/res/drawable/round_beige_rectangle.xml
new file mode 100644
index 0000000..7de139c
--- /dev/null
+++ b/app/src/main/res/drawable/round_beige_rectangle.xml
@@ -0,0 +1,7 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/round_white_rectangle.xml b/app/src/main/res/drawable/round_white_rectangle.xml
index 30da9ae..e24fce4 100644
--- a/app/src/main/res/drawable/round_white_rectangle.xml
+++ b/app/src/main/res/drawable/round_white_rectangle.xml
@@ -3,6 +3,7 @@
android:shape="rectangle">
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_login.xml b/app/src/main/res/layout/activity_login.xml
index fc25d62..6942a89 100644
--- a/app/src/main/res/layout/activity_login.xml
+++ b/app/src/main/res/layout/activity_login.xml
@@ -14,14 +14,24 @@
+
+
-
-
-
+ app:layout_constraintTop_toBottomOf="@+id/tv_login_signup" />
diff --git a/app/src/main/res/layout/activity_signup.xml b/app/src/main/res/layout/activity_signup.xml
index 1fbcbed..7743414 100644
--- a/app/src/main/res/layout/activity_signup.xml
+++ b/app/src/main/res/layout/activity_signup.xml
@@ -2,22 +2,25 @@
+
+
+
@@ -28,19 +31,18 @@
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/tv_signup_enrollment"
android:layout_marginStart="30dp"
- android:layout_marginTop="67dp"
+ android:layout_marginTop="30dp"
android:layout_marginBottom="2dp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
- app:srcCompat="@drawable/arrow_back"
- android:contentDescription="@null" />
+ app:srcCompat="@drawable/arrow_back" />
-
+ app:layout_constraintTop_toBottomOf="@+id/tv_signup_id">
-
+
+
+
@@ -120,8 +125,8 @@
android:id="@+id/tv_signup_password"
android:layout_width="wrap_content"
android:layout_height="19dp"
- android:layout_marginStart="29dp"
- android:layout_marginTop="27dp"
+ android:layout_marginStart="39dp"
+ android:layout_marginTop="15dp"
android:text="@string/signup_password"
android:textColor="@color/brown"
android:textSize="16sp"
@@ -129,33 +134,37 @@
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/tv_signup_id_below" />
-
+ app:layout_constraintTop_toBottomOf="@+id/tv_signup_password"
+ app:passwordToggleEnabled="true">
+
+
+
-
+ app:layout_constraintTop_toBottomOf="@+id/tv_signup_password_check"
+ app:passwordToggleEnabled="true">
+
+
+
-
+ app:layout_constraintTop_toBottomOf="@+id/tv_signup_email">
-
+
+
+
-
+ tools:context=".SplashActivity">
diff --git a/app/src/main/res/menu/menu_bottom_nav.xml b/app/src/main/res/menu/menu_bottom_nav.xml
index 999b53e..43aeb48 100644
--- a/app/src/main/res/menu/menu_bottom_nav.xml
+++ b/app/src/main/res/menu/menu_bottom_nav.xml
@@ -6,6 +6,11 @@
android:icon="@drawable/bnv_home"
android:title="@string/cafe_list_frag_title_home"/>
+
+
-
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_cazait_round.xml b/app/src/main/res/mipmap-anydpi-v26/ic_cazait_round.xml
new file mode 100644
index 0000000..ab9eabc
--- /dev/null
+++ b/app/src/main/res/mipmap-anydpi-v26/ic_cazait_round.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-hdpi/ic_cazait.png b/app/src/main/res/mipmap-hdpi/ic_cazait.png
new file mode 100644
index 0000000..525ff15
Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ic_cazait.png differ
diff --git a/app/src/main/res/mipmap-hdpi/ic_cazait_foreground.png b/app/src/main/res/mipmap-hdpi/ic_cazait_foreground.png
new file mode 100644
index 0000000..525eb65
Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ic_cazait_foreground.png differ
diff --git a/app/src/main/res/mipmap-hdpi/ic_cazait_round.png b/app/src/main/res/mipmap-hdpi/ic_cazait_round.png
new file mode 100644
index 0000000..f891c8b
Binary files /dev/null and b/app/src/main/res/mipmap-hdpi/ic_cazait_round.png differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_cazait.png b/app/src/main/res/mipmap-mdpi/ic_cazait.png
new file mode 100644
index 0000000..02c26ea
Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ic_cazait.png differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_cazait_foreground.png b/app/src/main/res/mipmap-mdpi/ic_cazait_foreground.png
new file mode 100644
index 0000000..7e4c8ef
Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ic_cazait_foreground.png differ
diff --git a/app/src/main/res/mipmap-mdpi/ic_cazait_round.png b/app/src/main/res/mipmap-mdpi/ic_cazait_round.png
new file mode 100644
index 0000000..eb2bf68
Binary files /dev/null and b/app/src/main/res/mipmap-mdpi/ic_cazait_round.png differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_cazait.png b/app/src/main/res/mipmap-xhdpi/ic_cazait.png
new file mode 100644
index 0000000..db950bd
Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_cazait.png differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_cazait_foreground.png b/app/src/main/res/mipmap-xhdpi/ic_cazait_foreground.png
new file mode 100644
index 0000000..c475be3
Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_cazait_foreground.png differ
diff --git a/app/src/main/res/mipmap-xhdpi/ic_cazait_round.png b/app/src/main/res/mipmap-xhdpi/ic_cazait_round.png
new file mode 100644
index 0000000..e27d723
Binary files /dev/null and b/app/src/main/res/mipmap-xhdpi/ic_cazait_round.png differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_cazait.png b/app/src/main/res/mipmap-xxhdpi/ic_cazait.png
new file mode 100644
index 0000000..af3db9f
Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_cazait.png differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_cazait_foreground.png b/app/src/main/res/mipmap-xxhdpi/ic_cazait_foreground.png
new file mode 100644
index 0000000..b48e823
Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_cazait_foreground.png differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_cazait_round.png b/app/src/main/res/mipmap-xxhdpi/ic_cazait_round.png
new file mode 100644
index 0000000..26f989c
Binary files /dev/null and b/app/src/main/res/mipmap-xxhdpi/ic_cazait_round.png differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_cazait.png b/app/src/main/res/mipmap-xxxhdpi/ic_cazait.png
new file mode 100644
index 0000000..df9c34a
Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ic_cazait.png differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_cazait_foreground.png b/app/src/main/res/mipmap-xxxhdpi/ic_cazait_foreground.png
new file mode 100644
index 0000000..cabd87b
Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ic_cazait_foreground.png differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_cazait_round.png b/app/src/main/res/mipmap-xxxhdpi/ic_cazait_round.png
new file mode 100644
index 0000000..87453d5
Binary files /dev/null and b/app/src/main/res/mipmap-xxxhdpi/ic_cazait_round.png differ
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 3b98b54..ff805c7 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -8,6 +8,7 @@
#FF000000
#FFFFFFFF
#FAF0DD
+ #E5D3CB
@@ -19,10 +20,8 @@
#FF0000
- #FAF0DD
- #8A5F5F
- #B5B5B5
- #8D6060
+ #F5F5F5
+ #5D2424
#757575
diff --git a/app/src/main/res/values/ic_cazait_background.xml b/app/src/main/res/values/ic_cazait_background.xml
new file mode 100644
index 0000000..fe07b14
--- /dev/null
+++ b/app/src/main/res/values/ic_cazait_background.xml
@@ -0,0 +1,4 @@
+
+
+ #F5F5F5
+
\ 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 566dd52..19239f0 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -101,4 +101,7 @@
리뷰쓰기
카페는 어떠셨나요? 별점을 남겨주세요.
다른 이용자를 위해 카페 리뷰를 남겨주세요.
+
+
+ 관심 매장
\ No newline at end of file
diff --git a/build.gradle b/build.gradle
index aa1d7df..5ee9166 100644
--- a/build.gradle
+++ b/build.gradle
@@ -42,6 +42,7 @@ buildscript {
}
dependencies {
classpath("com.google.dagger:hilt-android-gradle-plugin:$hiltVersion")
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}
}
diff --git a/iv_logo.png b/iv_logo.png
new file mode 100644
index 0000000..ced6250
Binary files /dev/null and b/iv_logo.png differ
diff --git a/iv_splash.png b/iv_splash.png
new file mode 100644
index 0000000..c848c14
Binary files /dev/null and b/iv_splash.png differ