diff --git a/.idea/vcs.xml b/.idea/vcs.xml index 288b36b..d4d270a 100644 --- a/.idea/vcs.xml +++ b/.idea/vcs.xml @@ -2,6 +2,6 @@ - + \ No newline at end of file diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index b583ccb..b201aa9 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -5,7 +5,7 @@ = listOf( + "아파트", "주택", "빌라", "빌딩", + "기타" + ) + /* + fun showDlg(){ + binding = DialogLocationRecycleBinding.inflate(context.layoutInflater) + + binding.locationRecyclerView.adapter=DialogLocationRecyclerAdapter() + + dlg.requestWindowFeature(Window.FEATURE_NO_TITLE) + dlg.setContentView(binding.root) + dlg.setCancelable(true) + dlg.window?.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT)) + dlg.window?.setGravity(Gravity.BOTTOM) + dlg.window?.setLayout(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.WRAP_CONTENT) + dlg.show() + binding.locationRecyclerView.addOnItemTouchListener(object : RecyclerView.OnItemTouchListener{ + override fun onInterceptTouchEvent(rv: RecyclerView, e: MotionEvent): Boolean { + val child = rv.findChildViewUnder(e.x,e.y) + Log.d("Tester", "onInterceptTouchEvent: ${child}") + + if(child != null){ + val position = rv.getChildAdapterPosition(child) + val view = rv.layoutManager?.findViewByPosition(position) + + Log.d("Tester", "onInterceptTouchEvent: dsadssdd ${view.toString()}") + + view?.setOnClickListener { + onClickListener.onClicked(position) + Log.d("Tester", "onInterceptTouchEvent: ddddddd") + + dlg.dismiss() + } + + } + return false + } + + override fun onTouchEvent(rv: RecyclerView, e: MotionEvent) { + + } + + override fun onRequestDisallowInterceptTouchEvent(disallowIntercept: Boolean) { + + } + + }) + } + + interface ButtonClickListener{ + fun onClicked(index:Int?) + } + + private lateinit var onClickListener:ButtonClickListener + fun setOnClickedListener(listener:ButtonClickListener){ + onClickListener = listener + } + + */ +} + diff --git a/app/src/main/java/com/example/airconmoa/ui/estimate_user/Dialog/TypeRecycleDialog.kt b/app/src/main/java/com/example/airconmoa/ui/estimate_user/Dialog/TypeRecycleDialog.kt new file mode 100644 index 0000000..c896614 --- /dev/null +++ b/app/src/main/java/com/example/airconmoa/ui/estimate_user/Dialog/TypeRecycleDialog.kt @@ -0,0 +1,136 @@ +package com.example.airconmoa.ui.join_company.Dialog + +import android.app.Dialog +import android.content.Context +import android.graphics.Color +import android.graphics.drawable.ColorDrawable +import android.os.Bundle +import android.util.Log +import android.view.Gravity +import android.view.View +import android.view.ViewGroup +import androidx.recyclerview.widget.GridLayoutManager +import com.example.airconmoa.databinding.DialogTypeRecycleBinding +import com.example.airconmoa.databinding.FragmentUserEstimateTypeBinding +import com.example.airconmoa.databinding.ItemRvLocationBinding +import com.example.airconmoa.ui.join_company.Adapter.DialogLocationRecyclerAdapter + + + +class TypeRecycleDialog(context: Context, dlgbinding: FragmentUserEstimateTypeBinding): Dialog(context){ + + private lateinit var binding: DialogTypeRecycleBinding + + + val obj = object : DialogLocationRecyclerAdapter.OnClickInterface{ + override fun onClick(view: View, position: Int) { + Log.d("Tester", "onClick: ${locationlist[position]}") + dlgbinding.txtType.text = locationlist[position] + //기타 누르면 입력창 나오는건 grid 이해 부족으로 일단 보류 + dismiss() + } + + override fun onClick(view: ItemRvLocationBinding, position: Int) { + + } + + } + val obj2 = object :DialogLocationRecyclerAdapter.OnLongClickInterface{ + override fun onLongClick(view: View, position: Int) { + + } + + override fun onLongClick(view: ItemRvLocationBinding, position: Int) { + + } + + } + val itemClickInterface:DialogLocationRecyclerAdapter.OnClickInterface = obj + val itemLongClickInterface:DialogLocationRecyclerAdapter.OnLongClickInterface = obj2 + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + binding = DialogTypeRecycleBinding.inflate(layoutInflater) + setContentView(binding.root) + + val listadapter = DialogLocationRecyclerAdapter(context , + locationlist,itemClickInterface,itemLongClickInterface) + + binding.locationRecyclerView.adapter = listadapter + + var listManager = GridLayoutManager(context,5) + + + binding.locationRecyclerView.apply { + layoutManager = listManager + } + + setCancelable(true) + window?.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT)) + window?.setGravity(Gravity.BOTTOM) + window?.setLayout(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.WRAP_CONTENT) + + } + + + val locationlist : List = listOf( + "LG", "삼성", "Carrier", "기타" + ) + /* + fun showDlg(){ + binding = DialogLocationRecycleBinding.inflate(context.layoutInflater) + + binding.locationRecyclerView.adapter=DialogLocationRecyclerAdapter() + + dlg.requestWindowFeature(Window.FEATURE_NO_TITLE) + dlg.setContentView(binding.root) + dlg.setCancelable(true) + dlg.window?.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT)) + dlg.window?.setGravity(Gravity.BOTTOM) + dlg.window?.setLayout(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.WRAP_CONTENT) + dlg.show() + binding.locationRecyclerView.addOnItemTouchListener(object : RecyclerView.OnItemTouchListener{ + override fun onInterceptTouchEvent(rv: RecyclerView, e: MotionEvent): Boolean { + val child = rv.findChildViewUnder(e.x,e.y) + Log.d("Tester", "onInterceptTouchEvent: ${child}") + + if(child != null){ + val position = rv.getChildAdapterPosition(child) + val view = rv.layoutManager?.findViewByPosition(position) + + Log.d("Tester", "onInterceptTouchEvent: dsadssdd ${view.toString()}") + + view?.setOnClickListener { + onClickListener.onClicked(position) + Log.d("Tester", "onInterceptTouchEvent: ddddddd") + + dlg.dismiss() + } + + } + return false + } + + override fun onTouchEvent(rv: RecyclerView, e: MotionEvent) { + + } + + override fun onRequestDisallowInterceptTouchEvent(disallowIntercept: Boolean) { + + } + + }) + } + + interface ButtonClickListener{ + fun onClicked(index:Int?) + } + + private lateinit var onClickListener:ButtonClickListener + fun setOnClickedListener(listener:ButtonClickListener){ + onClickListener = listener + } + + */ +} + diff --git a/app/src/main/java/com/example/airconmoa/ui/estimate_user/Fragment/UserEstimateBrandFragment.kt b/app/src/main/java/com/example/airconmoa/ui/estimate_user/Fragment/UserEstimateBrandFragment.kt index bc8e9d4..dcd89eb 100644 --- a/app/src/main/java/com/example/airconmoa/ui/estimate_user/Fragment/UserEstimateBrandFragment.kt +++ b/app/src/main/java/com/example/airconmoa/ui/estimate_user/Fragment/UserEstimateBrandFragment.kt @@ -1,11 +1,33 @@ package com.example.airconmoa.ui.estimate_user.Fragment -import com.example.airconmoa.R import android.os.Bundle import android.view.View +import com.example.airconmoa.R import com.example.airconmoa.config.BaseFragmentVB import com.example.airconmoa.databinding.FragmentUserEstimateBrandBinding +import com.example.airconmoa.ui.join_company.Dialog.BrandRecycleDialog +import com.example.airconmoa.ui.join_company.Dialog.LocationRecycleDialog +import com.example.airconmoa.ui.join_company.Dialog.TypeRecycleDialog + class UserEstimateBrandFragment: BaseFragmentVB( FragmentUserEstimateBrandBinding::bind, R.layout.fragment_user_estimate_brand) { + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + with(binding) { + + btnBrand.setOnClickListener { + + + val mydial = BrandRecycleDialog(context!!, this) + mydial.show() + + + } + + + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/example/airconmoa/ui/estimate_user/Fragment/UserEstimateTypeFragment.kt b/app/src/main/java/com/example/airconmoa/ui/estimate_user/Fragment/UserEstimateTypeFragment.kt index 0636f42..ab1e33d 100644 --- a/app/src/main/java/com/example/airconmoa/ui/estimate_user/Fragment/UserEstimateTypeFragment.kt +++ b/app/src/main/java/com/example/airconmoa/ui/estimate_user/Fragment/UserEstimateTypeFragment.kt @@ -1,10 +1,33 @@ package com.example.airconmoa.ui.estimate_user.Fragment +import android.os.Bundle +import android.view.View import com.example.airconmoa.R import com.example.airconmoa.config.BaseFragmentVB import com.example.airconmoa.databinding.FragmentUserEstimateTypeBinding +import com.example.airconmoa.ui.join_company.Dialog.LocationRecycleDialog +import com.example.airconmoa.ui.join_company.Dialog.TypeRecycleDialog class UserEstimateTypeFragment : BaseFragmentVB( FragmentUserEstimateTypeBinding::bind, R.layout.fragment_user_estimate_type){ + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + with(binding) { + + btnType.setOnClickListener { + + + val mydial = TypeRecycleDialog(context!!, this) + mydial.show() + + + } + + + } + } + + } \ No newline at end of file diff --git a/app/src/main/java/com/example/airconmoa/ui/estimate_user/UserEstimateActivity.kt b/app/src/main/java/com/example/airconmoa/ui/estimate_user/UserEstimateActivity.kt index 47bf66e..cf8144a 100644 --- a/app/src/main/java/com/example/airconmoa/ui/estimate_user/UserEstimateActivity.kt +++ b/app/src/main/java/com/example/airconmoa/ui/estimate_user/UserEstimateActivity.kt @@ -10,14 +10,7 @@ import com.example.airconmoa.ui.estimate_user.Fragment.UserEstimateDateFragment import com.example.airconmoa.ui.estimate_user.Fragment.UserEstimateFragment import com.example.airconmoa.ui.estimate_user.Fragment.UserEstimateQuantityFragment import com.example.airconmoa.ui.estimate_user.Fragment.UserEstimateTypeFragment -import com.example.airconmoa.ui.join_company.Fragment.CompanyJoinCNFragment -import com.example.airconmoa.ui.join_company.Fragment.CompanyJoinCompanynameFragment -import com.example.airconmoa.ui.join_company.Fragment.CompanyJoinNameFragment -import com.example.airconmoa.ui.join_company.Fragment.CompanyJoinPasswordFragment -import com.example.airconmoa.ui.join_company.Fragment.CompanyJoinPhonenumFragment -import com.example.airconmoa.ui.join_company.Fragment.CompanyJoinTermFragment -import com.example.airconmoa.ui.join_company.Fragment.CompanyJoinWhereFragment -import com.example.airconmoa.ui.join_company.Fragment.CompanyjoinEmailFragment + import com.example.airconmoa.databinding.ActivityUserEstimateBinding @@ -35,32 +28,6 @@ class UserEstimateActivity: BaseActivityVB(Activity list.add(UserEstimateDateFragment()) list.add(UserEstimateBrandFragment()) - with(binding){ - - supportFragmentManager - .beginTransaction() - .replace(userEstimateFrame.id, UserEstimateFragment()) - .commitAllowingStateLoss() - - btnNext.setOnClickListener { - if(counter > 7){ - //success 이동 - } - - //약간 어색.. 끝날때 애니메이션 추가해야할듯 - ObjectAnimator.ofFloat(userEstimateFrame,"translationX",1000f,0f).apply { - duration = 500 - supportFragmentManager - .beginTransaction() - .replace(userEstimateFrame.id,list.get(counter)) - .commitAllowingStateLoss() - counter += 1 - start() - } - - } - - } diff --git a/app/src/main/java/com/example/airconmoa/ui/join_company/CompanyJoinActivity.kt b/app/src/main/java/com/example/airconmoa/ui/join_company/CompanyJoinActivity.kt index adfa5e7..477fd48 100644 --- a/app/src/main/java/com/example/airconmoa/ui/join_company/CompanyJoinActivity.kt +++ b/app/src/main/java/com/example/airconmoa/ui/join_company/CompanyJoinActivity.kt @@ -1,94 +1,24 @@ package com.example.airconmoa.ui.join_company -import android.animation.ObjectAnimator -import android.content.Intent + import android.os.Bundle -import android.os.FileUtils.ProgressListener import android.util.Log import android.widget.ProgressBar -import androidx.core.view.get -import androidx.fragment.app.Fragment +import androidx.navigation.findNavController import com.example.airconmoa.R import com.example.airconmoa.config.BaseActivityVB -import com.example.airconmoa.ui.join_company.Fragment.CompanyJoinCNFragment -import com.example.airconmoa.ui.join_company.Fragment.CompanyJoinCompanynameFragment -import com.example.airconmoa.ui.join_company.Fragment.CompanyJoinNameFragment -import com.example.airconmoa.ui.join_company.Fragment.CompanyJoinPasswordFragment -import com.example.airconmoa.ui.join_company.Fragment.CompanyJoinPhonenumFragment -import com.example.airconmoa.ui.join_company.Fragment.CompanyJoinSuccessFragment -import com.example.airconmoa.ui.join_company.Fragment.CompanyJoinTermFragment -import com.example.airconmoa.ui.join_company.Fragment.CompanyJoinWhereFragment -import com.example.airconmoa.ui.join_company.Fragment.CompanyjoinEmailFragment import com.example.airconmoa.databinding.ActivityCompanyJoinBinding - +import kotlin.math.log class CompanyJoinActivity: BaseActivityVB(ActivityCompanyJoinBinding::inflate) { - private var counter = 1 + companion object{ + const val TAG = "CompanyJoinActivity" + } + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - //fragment list에 넣기 - val list = ArrayList() - list.add(CompanyJoinTermFragment()) - list.add(CompanyJoinNameFragment()) - list.add(CompanyJoinPasswordFragment()) - list.add(CompanyJoinCompanynameFragment()) - list.add(CompanyJoinPhonenumFragment()) - list.add(CompanyjoinEmailFragment()) - list.add(CompanyJoinCNFragment()) - list.add(CompanyJoinWhereFragment()) - - val progress = findViewById(R.id.estimate_progress) - - - - with(binding){ - supportFragmentManager - .beginTransaction() - .replace(companyJoinFrame.id, CompanyJoinTermFragment()) - .commitAllowingStateLoss() - - - btnNext.setOnClickListener { - if(counter == 7){ - val intent = Intent(this@CompanyJoinActivity,CompanyJoinSuccessActivity::class.java ) - startActivity(intent) - finish() - }else{ - //약간 어색.. 끝날때 애니메이션 추가해야할듯 - Log.d("Tester", "onCreate: ${counter}") - ObjectAnimator.ofFloat(companyJoinFrame,"translationX",1000f,0f).apply { - duration = 500 - supportFragmentManager - .beginTransaction() - .replace(companyJoinFrame.id,list.get(++counter)) - .commitAllowingStateLoss() - start() - } - - } - - - progress.setProgress(counter) - - } - - btnBack.setOnClickListener { - ObjectAnimator.ofFloat(companyJoinFrame,"translationX",-1000f,0f).apply { - duration = 500 - supportFragmentManager - .beginTransaction() - .replace(companyJoinFrame.id,list.get(--counter)) - .commitAllowingStateLoss() - - start() - } - } - - - } - } } \ No newline at end of file diff --git a/app/src/main/java/com/example/airconmoa/ui/join_company/CompanyJoinFirstActivity.kt b/app/src/main/java/com/example/airconmoa/ui/join_company/CompanyJoinFirstActivity.kt index 5aeb270..bd7e0fd 100644 --- a/app/src/main/java/com/example/airconmoa/ui/join_company/CompanyJoinFirstActivity.kt +++ b/app/src/main/java/com/example/airconmoa/ui/join_company/CompanyJoinFirstActivity.kt @@ -1,9 +1,13 @@ package com.example.airconmoa.ui.join_company import android.content.Intent +import android.graphics.Color import android.os.Bundle +import androidx.core.content.ContextCompat +import com.example.airconmoa.R import com.example.airconmoa.config.BaseActivityVB import com.example.airconmoa.databinding.ActivityCompanyJoinFirstBinding +import com.example.airconmoa.ui.login_company.LoginCompanyActivity class CompanyJoinFirstActivity: BaseActivityVB( @@ -13,10 +17,25 @@ class CompanyJoinFirstActivity: BaseActivityVB( super.onCreate(savedInstanceState) with(binding){ - btnYes.setOnClickListener { + btnGoJoin.setTextColor(Color.parseColor("#343A40")) + btnGoJoin.background = ContextCompat.getDrawable(this@CompanyJoinFirstActivity, R.drawable.company_next_btn_false) + + btnGoLogin.setTextColor(Color.parseColor("#343A40")) + btnGoLogin.background = ContextCompat.getDrawable(this@CompanyJoinFirstActivity, R.drawable.company_next_btn_false) + + btnGoJoin.setOnClickListener { + btnGoJoin.setTextColor(Color.parseColor("#FFFFFF")) + btnGoJoin.background = ContextCompat.getDrawable(this@CompanyJoinFirstActivity, R.drawable.company_next_btn_true) val intent = Intent(this@CompanyJoinFirstActivity,CompanyJoinActivity::class.java) startActivity(intent) } + + btnGoLogin.setOnClickListener { + btnGoLogin.setTextColor(Color.parseColor("#FFFFFF")) + btnGoLogin.background = ContextCompat.getDrawable(this@CompanyJoinFirstActivity, R.drawable.company_next_btn_true) + val intent = Intent(this@CompanyJoinFirstActivity,LoginCompanyActivity::class.java) + startActivity(intent) + } } diff --git a/app/src/main/java/com/example/airconmoa/ui/join_company/CompanyJoinSuccessActivity.kt b/app/src/main/java/com/example/airconmoa/ui/join_company/CompanyJoinSuccessActivity.kt index 934c26c..de9935b 100644 --- a/app/src/main/java/com/example/airconmoa/ui/join_company/CompanyJoinSuccessActivity.kt +++ b/app/src/main/java/com/example/airconmoa/ui/join_company/CompanyJoinSuccessActivity.kt @@ -4,7 +4,9 @@ import android.content.Intent import android.os.Bundle import com.example.airconmoa.config.BaseActivityVB import com.example.airconmoa.databinding.ActivityCompanyJoinSuccessBinding +import com.example.airconmoa.ui.login_company.LoginCompanyActivity import com.example.airconmoa.ui.main_user.MainActivity +import com.example.airconmoa.until.getCompanyName class CompanyJoinSuccessActivity: BaseActivityVB( ActivityCompanyJoinSuccessBinding::inflate) { @@ -13,8 +15,10 @@ class CompanyJoinSuccessActivity: BaseActivityVB2){ + btnNext.isEnabled = true + btnNext.setTextColor(Color.parseColor("#FFFFFF")) + }else{ + btnNext.isEnabled = false + btnNext.setTextColor(Color.parseColor("#343A40")) + } + } + + }) + + btnNext.setOnClickListener { + saveCompanyName(edtCompanyName.text.toString()) + Navigation.findNavController(binding.root) + .navigate(R.id.action_companyjoincomnameFragment_to_companyjoinphonenumFragment) + } + + btnBack.setOnClickListener { + Navigation.findNavController(binding.root).navigate(R.id.action_companyjoincomnameFragment_to_companyjoinpasswordFragment) + } + + btnClose.setOnClickListener { + startActivity(Intent(activity, JoinActivity::class.java)) + requireActivity().finish() + } } } } \ No newline at end of file diff --git a/app/src/main/java/com/example/airconmoa/ui/join_company/Fragment/CompanyJoinNameFragment.kt b/app/src/main/java/com/example/airconmoa/ui/join_company/Fragment/CompanyJoinNameFragment.kt index 4c442d7..bf618a6 100644 --- a/app/src/main/java/com/example/airconmoa/ui/join_company/Fragment/CompanyJoinNameFragment.kt +++ b/app/src/main/java/com/example/airconmoa/ui/join_company/Fragment/CompanyJoinNameFragment.kt @@ -1,10 +1,55 @@ package com.example.airconmoa.ui.join_company.Fragment +import android.graphics.Color +import android.os.Bundle +import android.text.Editable +import android.text.TextWatcher +import android.view.View +import androidx.navigation.Navigation import com.example.airconmoa.R import com.example.airconmoa.config.BaseFragmentVB import com.example.airconmoa.databinding.FragmentCompanyJoinNameBinding +import com.example.airconmoa.until.saveName class CompanyJoinNameFragment: BaseFragmentVB(FragmentCompanyJoinNameBinding::bind, R.layout.fragment_company_join_name) { + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + with(binding){ + edtName.addTextChangedListener(object :TextWatcher{ + override fun beforeTextChanged( + s: CharSequence?, + start: Int, + count: Int, + after: Int + ) { + + } + + override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) { + txtMaxChecker.text = edtName.length().toString() + "/10" + + } + + override fun afterTextChanged(s: Editable?) { + if(edtName.length()>2){ + btnNext.isEnabled = true + btnNext.setTextColor(Color.parseColor("#FFFFFF")) + }else{ + btnNext.isEnabled = false + btnNext.setTextColor(Color.parseColor("#343A40")) + } + } + + }) + + btnNext.setOnClickListener { + saveName(edtName.text.toString()) + + } + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/example/airconmoa/ui/join_company/Fragment/CompanyJoinPasswordFragment.kt b/app/src/main/java/com/example/airconmoa/ui/join_company/Fragment/CompanyJoinPasswordFragment.kt index 0cfe0ef..ce6fbd6 100644 --- a/app/src/main/java/com/example/airconmoa/ui/join_company/Fragment/CompanyJoinPasswordFragment.kt +++ b/app/src/main/java/com/example/airconmoa/ui/join_company/Fragment/CompanyJoinPasswordFragment.kt @@ -1,10 +1,94 @@ package com.example.airconmoa.ui.join_company.Fragment +import android.content.Intent +import android.graphics.Color +import android.os.Bundle +import android.text.Editable +import android.text.TextWatcher +import android.view.View +import androidx.navigation.Navigation import com.example.airconmoa.R import com.example.airconmoa.config.BaseFragmentVB import com.example.airconmoa.databinding.FragmentCompanyJoinPasswordBinding +import com.example.airconmoa.ui.join_user.JoinActivity +import com.example.airconmoa.until.savePassword class CompanyJoinPasswordFragment : - BaseFragmentVB(FragmentCompanyJoinPasswordBinding::bind, R.layout.fragment_company_join_password) { + BaseFragmentVB( + FragmentCompanyJoinPasswordBinding::bind, + R.layout.fragment_company_join_password + ) { + + private var savepassword = "" + private var nextstep = false + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + with(binding) { + + edtPassword.addTextChangedListener(object : TextWatcher { + override fun beforeTextChanged( + s: CharSequence?, + start: Int, + count: Int, + after: Int + ) { + + } + + override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) { + + } + + override fun afterTextChanged(s: Editable?) { + + if (edtPassword.length() > 5) { + btnNext.isEnabled = true + btnNext.setTextColor(Color.parseColor("#FFFFFF")) + } else { + btnNext.isEnabled = false + btnNext.setTextColor(Color.parseColor("#343A40")) + } + + + } + + + }) + btnNext.setOnClickListener { + if (nextstep) { + if (edtPassword.text.toString() == savepassword) { + Navigation.findNavController(binding.root) + .navigate(R.id.action_companyjoinpasswordFragment_to_companyjoincomnameFragment) + savePassword(edtPassword.text.toString()) + } else { + txtPasswordCheck.visibility = View.VISIBLE + } + + } else { + btnNext.isEnabled = false + btnNext.setTextColor(Color.parseColor("#343A40")) + savepassword = edtPassword.text.toString() + edtPassword.setText("") + edtPassword.hint = "비밀번호를 다시 입력해 주세요" + nextstep = true + } + } + + btnBack.setOnClickListener { + Navigation.findNavController(binding.root) + .navigate(R.id.action_companyjoinpasswordFragment_to_companyjoinemailFragment) + } + + btnClose.setOnClickListener { + startActivity(Intent(activity, JoinActivity::class.java)) + requireActivity().finish() + } + + } + + } + } \ No newline at end of file diff --git a/app/src/main/java/com/example/airconmoa/ui/join_company/Fragment/CompanyJoinPhonenumFragment.kt b/app/src/main/java/com/example/airconmoa/ui/join_company/Fragment/CompanyJoinPhonenumFragment.kt index c9fe8c8..afd2ff1 100644 --- a/app/src/main/java/com/example/airconmoa/ui/join_company/Fragment/CompanyJoinPhonenumFragment.kt +++ b/app/src/main/java/com/example/airconmoa/ui/join_company/Fragment/CompanyJoinPhonenumFragment.kt @@ -1,9 +1,112 @@ package com.example.airconmoa.ui.join_company.Fragment +import android.content.Intent +import android.graphics.Color +import android.os.Bundle +import android.text.Editable +import android.text.TextWatcher +import android.view.View +import androidx.navigation.Navigation import com.example.airconmoa.R import com.example.airconmoa.config.BaseFragmentVB import com.example.airconmoa.databinding.FragmentCompanyJoinPhonenumBinding +import com.example.airconmoa.ui.join_user.JoinActivity +import com.example.airconmoa.until.savePhonenum class CompanyJoinPhonenumFragment: BaseFragmentVB(FragmentCompanyJoinPhonenumBinding::bind, R.layout.fragment_company_join_phonenum) { + + private var first_check = false + private var second_check = false + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + + with(binding){ + + firstNum.addTextChangedListener(object :TextWatcher{ + override fun beforeTextChanged( + s: CharSequence?, + start: Int, + count: Int, + after: Int + ) { + + } + + override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) { + + } + + override fun afterTextChanged(s: Editable?) { + if(firstNum.length() == 3){ + first_check = true + check() + }else{ + first_check = false + check() + } + } + + }) + + secondNum.addTextChangedListener(object :TextWatcher{ + override fun beforeTextChanged( + s: CharSequence?, + start: Int, + count: Int, + after: Int + ) { + + } + + override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) { + + } + + override fun afterTextChanged(s: Editable?) { + if(secondNum.length() == 8){ + second_check = true + check() + }else{ + second_check = false + check() + } + } + + }) + + btnNext.setOnClickListener { + savePhonenum(firstNum.text.toString() + secondNum.text.toString()) + Navigation.findNavController(binding.root) + .navigate(R.id.action_companyjoinphonenumFragment_to_companyjoinwhereFragment) + } + + btnBack.setOnClickListener { + Navigation.findNavController(binding.root) + .navigate(R.id.action_companyjoinphonenumFragment_to_companyjoincomnameFragment2) + } + + btnClose.setOnClickListener { + startActivity(Intent(activity, JoinActivity::class.java)) + requireActivity().finish() + } + } + } + + private fun check(){ + if(first_check){ + if(second_check){ + binding.btnNext.isEnabled = true + binding.btnNext.setTextColor(Color.parseColor("#FFFFFF")) + }else{ + binding.btnNext.isEnabled = false + binding.btnNext.setTextColor(Color.parseColor("#343A40")) + } + }else{ + binding.btnNext.isEnabled = false + binding.btnNext.setTextColor(Color.parseColor("#343A40")) + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/example/airconmoa/ui/join_company/Fragment/CompanyJoinSuccessFragment.kt b/app/src/main/java/com/example/airconmoa/ui/join_company/Fragment/CompanyJoinSuccessFragment.kt index 280d87f..2c259f4 100644 --- a/app/src/main/java/com/example/airconmoa/ui/join_company/Fragment/CompanyJoinSuccessFragment.kt +++ b/app/src/main/java/com/example/airconmoa/ui/join_company/Fragment/CompanyJoinSuccessFragment.kt @@ -7,4 +7,5 @@ import com.example.airconmoa.databinding.FragmentCompanyJoinSuccessBinding class CompanyJoinSuccessFragment : BaseFragmentVB(FragmentCompanyJoinSuccessBinding::bind, R.layout.fragment_company_join_success) { + } \ No newline at end of file diff --git a/app/src/main/java/com/example/airconmoa/ui/join_company/Fragment/CompanyJoinTermFragment.kt b/app/src/main/java/com/example/airconmoa/ui/join_company/Fragment/CompanyJoinTermFragment.kt index 509cbb1..434acb3 100644 --- a/app/src/main/java/com/example/airconmoa/ui/join_company/Fragment/CompanyJoinTermFragment.kt +++ b/app/src/main/java/com/example/airconmoa/ui/join_company/Fragment/CompanyJoinTermFragment.kt @@ -1,24 +1,25 @@ package com.example.airconmoa.ui.join_company.Fragment import android.annotation.SuppressLint +import android.content.Intent import android.os.Bundle import android.view.View import com.example.airconmoa.R import android.graphics.Color +import android.widget.CompoundButton import androidx.core.graphics.toColorFilter +import androidx.navigation.Navigation import com.example.airconmoa.config.BaseFragmentVB import com.example.airconmoa.databinding.FragmentCompanyJoinTermsBinding +import com.example.airconmoa.ui.join_company.CompanyJoinSuccessActivity +import com.example.airconmoa.ui.join_user.JoinActivity -class CompanyJoinTermFragment :BaseFragmentVB(FragmentCompanyJoinTermsBinding::bind, R.layout.fragment_company_join_terms) { +class CompanyJoinTermFragment : BaseFragmentVB( + FragmentCompanyJoinTermsBinding::bind, + R.layout.fragment_company_join_terms +) { - private var essen1 = false - private var essen2 = false - private var essen3 = false - private var essen4 = false - private var essen5 = false - private var sel1 = false - private var sel2 = false private var check_all = false private var essen_check_all = false @@ -27,90 +28,109 @@ class CompanyJoinTermFragment :BaseFragmentVB(F override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - with(binding){ - estimateTermsCheckBox.setOnClickListener { - if(check_all){ - check_all = false - essen1 = false - essen2 = false - essen3 = false - essen4 = false - essen5 = false - sel1 = false - sel2 = false - card.setCardBackgroundColor(Color.parseColor("#CDD3D9")) - checkall.setImageResource(R.drawable.estimate_btn_check_false) - check1.setImageResource(R.drawable.estimate_btn_check_small_false) - check2.setImageResource(R.drawable.estimate_btn_check_small_false) - check3.setImageResource(R.drawable.estimate_btn_check_small_false) - check4.setImageResource(R.drawable.estimate_btn_check_small_false) - check5.setImageResource(R.drawable.estimate_btn_check_small_false) - check6.setImageResource(R.drawable.estimate_btn_check_small_false) - check7.setImageResource(R.drawable.estimate_btn_check_small_false) - - }else{ - check_all = true - essen1 = true - essen2 = true - essen3 = true - essen4 = true - essen5 = true - sel1 = true - sel2 = true - card.setCardBackgroundColor(Color.parseColor("#CCF6FF")) - checkall.setImageResource(R.drawable.estimate_btn_check_true) - check1.setImageResource(R.drawable.estimate_btn_check_small_true) - check2.setImageResource(R.drawable.estimate_btn_check_small_true) - check3.setImageResource(R.drawable.estimate_btn_check_small_true) - check4.setImageResource(R.drawable.estimate_btn_check_small_true) - check5.setImageResource(R.drawable.estimate_btn_check_small_true) - check6.setImageResource(R.drawable.estimate_btn_check_small_true) - check7.setImageResource(R.drawable.estimate_btn_check_small_true) - } - - } + with(binding) { + checkall.setOnClickListener { onCheckAll(checkall) } + check1.setOnClickListener{onCheckAll(check1)} + check2.setOnClickListener{onCheckAll(check2)} + check3.setOnClickListener{onCheckAll(check3)} + check4.setOnClickListener{onCheckAll(check4)} + check5.setOnClickListener{onCheckAll(check5)} + check6.setOnClickListener{onCheckAll(check6)} + check7.setOnClickListener{onCheckAll(check7)} - essential1.setOnClickListener { - essen1 = essen1 != true - check_all = false + btnNext.setOnClickListener { + Navigation.findNavController(binding.root).navigate(R.id.action_companyjointermFragment_to_companyjoinemailFragment) } - essential2.setOnClickListener { - essen2 = essen2 != true - check_all = false + btnBack.setOnClickListener { + startActivity(Intent(activity, JoinActivity::class.java)) + requireActivity().finish() } - essential3.setOnClickListener { - essen3 = essen3 != true - check_all = false - } - - essential4.setOnClickListener { - essen4 = essen4 != true - check_all = false + btnClose.setOnClickListener { + startActivity(Intent(activity,JoinActivity::class.java)) + requireActivity().finish() } + } - essential5.setOnClickListener { - essen5 = essen5 != true - check_all = false - } - select1.setOnClickListener { - sel1 = sel1 != true - check_all = false - } + }//onViewCreated - select2.setOnClickListener { - sel2 = sel2 != true - check_all = false + private fun onCheckAll(compoundButton: CompoundButton) { + when (compoundButton.id) { + R.id.checkall -> { + if (binding.checkall.isChecked) { + binding.check1.isChecked = true + binding.check2.isChecked = true + binding.check3.isChecked = true + binding.check4.isChecked = true + binding.check5.isChecked = true + binding.check6.isChecked = true + binding.check7.isChecked = true + check_all = true + binding.card.setCardBackgroundColor(Color.parseColor("#CCF6FF")) + essen_check_all = ( + binding.check1.isChecked && + binding.check2.isChecked && + binding.check3.isChecked && + binding.check4.isChecked && + binding.check7.isChecked + ) + checkNext() + } else { + binding.check1.isChecked = false + binding.check2.isChecked = false + binding.check3.isChecked = false + binding.check4.isChecked = false + binding.check5.isChecked = false + binding.check6.isChecked = false + binding.check7.isChecked = false + check_all = false + binding.card.setCardBackgroundColor(Color.parseColor("#CDD3D9")) + essen_check_all = ( + binding.check1.isChecked && + binding.check2.isChecked && + binding.check3.isChecked && + binding.check4.isChecked && + binding.check7.isChecked + ) + checkNext() + } + }else -> { + binding.checkall.isChecked = ( + binding.check1.isChecked && + binding.check2.isChecked && + binding.check3.isChecked && + binding.check4.isChecked && + binding.check5.isChecked && + binding.check6.isChecked && + binding.check7.isChecked + ) + essen_check_all = ( + binding.check1.isChecked && + binding.check2.isChecked && + binding.check3.isChecked && + binding.check4.isChecked && + binding.check7.isChecked + ) + if(binding.checkall.isChecked){ + binding.card.setCardBackgroundColor(Color.parseColor("#CCF6FF")) + }else{ + binding.card.setCardBackgroundColor(Color.parseColor("#CDD3D9")) + } + checkNext() } - - } - - } - - + private fun checkNext(){ + + if(essen_check_all){ + binding.btnNext.isEnabled = true + binding.btnNext.setTextColor(Color.parseColor("#FFFFFF")) + }else{ + binding.btnNext.isEnabled = false + binding.btnNext.setTextColor(Color.parseColor("#343A40")) + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/example/airconmoa/ui/join_company/Fragment/CompanyJoinWhereFragment.kt b/app/src/main/java/com/example/airconmoa/ui/join_company/Fragment/CompanyJoinWhereFragment.kt index d875ff8..4be519f 100644 --- a/app/src/main/java/com/example/airconmoa/ui/join_company/Fragment/CompanyJoinWhereFragment.kt +++ b/app/src/main/java/com/example/airconmoa/ui/join_company/Fragment/CompanyJoinWhereFragment.kt @@ -2,33 +2,38 @@ package com.example.airconmoa.ui.join_company.Fragment -import android.app.Dialog -import android.content.DialogInterface +import android.content.Intent import android.graphics.Color -import android.graphics.drawable.ColorDrawable import android.os.Bundle -import android.view.Gravity -import android.view.LayoutInflater +import android.text.Editable +import android.text.TextWatcher import android.view.View -import android.view.Window -import android.widget.Button -import android.widget.Toast -import androidx.appcompat.app.AlertDialog -import androidx.appcompat.app.AppCompatActivity -import com.example.airconmoa.R +import androidx.navigation.Navigation + import com.example.airconmoa.config.BaseFragmentVB + +import com.example.airconmoa.R import com.example.airconmoa.databinding.FragmentCompanyJoinWhereBinding -import androidx.fragment.app.FragmentManager +import com.example.airconmoa.ui.join_company.CompanyJoinSuccessActivity import com.example.airconmoa.ui.join_company.Dialog.LocationDoRecycleDialog import com.example.airconmoa.ui.join_company.Dialog.LocationRecycleDialog -import com.example.airconmoa.ui.join_company.data.SiData -import com.example.airconmoa.until.getSi - +import com.example.airconmoa.ui.join_company.data.CompanyJoinDataSource +import com.example.airconmoa.ui.join_company.data.CompanyJoinView +import com.example.airconmoa.ui.join_company.data.Join +import com.example.airconmoa.ui.join_company.data.ResultCompanyJoin +import com.example.airconmoa.ui.join_user.JoinActivity +import com.example.airconmoa.until.getAddress +import com.example.airconmoa.until.getCompanyName +import com.example.airconmoa.until.getEmail +import com.example.airconmoa.until.getPassword +import com.example.airconmoa.until.getPhonenum +import com.example.airconmoa.until.saveAddress class CompanyJoinWhereFragment: BaseFragmentVB(FragmentCompanyJoinWhereBinding::bind, R.layout.fragment_company_join_where) { + private var detail_check = false override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) @@ -37,11 +42,9 @@ class CompanyJoinWhereFragment: btnLocationSi.setOnClickListener{ - val mydial = LocationRecycleDialog(context!!,this) mydial.show() - - + check() } btnLocationDo.setOnClickListener { @@ -52,27 +55,97 @@ class CompanyJoinWhereFragment: val mydial = LocationDoRecycleDialog(context!!,this, txtSi.text.toString()) mydial.show() } + check() + } + txtLocationDetail.addTextChangedListener(object :TextWatcher{ + override fun beforeTextChanged( + s: CharSequence?, + start: Int, + count: Int, + after: Int + ) { + } + + override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) { + + } + + override fun afterTextChanged(s: Editable?) { + if(txtLocationDetail.length()>5){ + detail_check = true + check() + }else{ + detail_check = false + check() + } + } + + }) + btnNext.setOnClickListener { + saveAddress(txtSi.text.toString() + txtDo.text.toString() + txtLocationDetail.text.toString()) + join() } + btnBack.setOnClickListener { + Navigation.findNavController(binding.root).navigate(R.id.action_companyjoinwhereFragment_to_companyjoinphonenumFragment2) + } + + btnClose.setOnClickListener { + startActivity(Intent(activity, JoinActivity::class.java)) + requireActivity().finish() + } + } + } -// dlg.setOnClickedListener(object : LocationRecycleDialog.ButtonClickListener{ -// override fun onClicked(index: Int?) { -// if(index != null){ -// showCustomToast(index.toString()) -// -// txtSi.setText(locationlist[index]) -// -// } -// } -// }) + private fun check(){ + if(binding.txtSi.text.toString() != ""){ + if(binding.txtDo.text.toString() != ""){ + if(detail_check){ + binding.btnNext.isEnabled = true + binding.btnNext.setTextColor(Color.parseColor("#FFFFFF")) + }else{ + binding.btnNext.isEnabled = false + binding.btnNext.setTextColor(Color.parseColor("#343A40")) + } + }else{ + binding.btnNext.isEnabled = false + binding.btnNext.setTextColor(Color.parseColor("#343A40")) + } + }else{ + binding.btnNext.isEnabled = false + binding.btnNext.setTextColor(Color.parseColor("#343A40")) } } + private fun join(){ + CompanyJoinDataSource().join(getCompanyInfo(),object : CompanyJoinView{ + override fun onLoginSuccess(code: Int, result: ResultCompanyJoin) { + when(code){ + 1000->{ + startSuccessActivity() + } + } + } + + override fun onLoginFailure(message: String?) { + showCustomToast(message.toString()) + } + + }) + } + + private fun getCompanyInfo() : Join { + return Join(getEmail()!!, getPassword()!!, getCompanyName()!!, getPhonenum()!!, getAddress()!!) + } + private fun startSuccessActivity(){ + startActivity(Intent(activity,CompanyJoinSuccessActivity::class.java)) + requireActivity().finish() + } } diff --git a/app/src/main/java/com/example/airconmoa/ui/join_company/Fragment/CompanyjoinEmailFragment.kt b/app/src/main/java/com/example/airconmoa/ui/join_company/Fragment/CompanyjoinEmailFragment.kt index 83bc205..49d1470 100644 --- a/app/src/main/java/com/example/airconmoa/ui/join_company/Fragment/CompanyjoinEmailFragment.kt +++ b/app/src/main/java/com/example/airconmoa/ui/join_company/Fragment/CompanyjoinEmailFragment.kt @@ -1,10 +1,114 @@ package com.example.airconmoa.ui.join_company.Fragment +import android.content.Intent +import android.graphics.Color +import android.os.Bundle +import android.text.Editable +import android.text.TextWatcher +import android.util.Log +import android.view.View +import androidx.navigation.Navigation import com.example.airconmoa.R import com.example.airconmoa.config.BaseFragmentVB import com.example.airconmoa.databinding.FragmentCompanyJoinEmailBinding +import com.example.airconmoa.ui.join_user.JoinActivity +import com.example.airconmoa.until.saveEmail class CompanyjoinEmailFragment: BaseFragmentVB(FragmentCompanyJoinEmailBinding::bind, R.layout.fragment_company_join_email) { + + private var firstCheck = false + private var secondCheck = false + + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + + with(binding){ + + edtEmailId.addTextChangedListener(object :TextWatcher{ + override fun beforeTextChanged( + s: CharSequence?, + start: Int, + count: Int, + after: Int + ) { + + } + + override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) { + + } + + override fun afterTextChanged(s: Editable?) { + if(edtEmailId.length()>4){ + firstCheck = true + check() + }else{ + firstCheck = false + check() + } + } + + }) + + edtEmailPortal.addTextChangedListener(object :TextWatcher{ + override fun beforeTextChanged( + s: CharSequence?, + start: Int, + count: Int, + after: Int + ) { + + } + + override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) { + + } + + override fun afterTextChanged(s: Editable?) { + if(edtEmailPortal.length()>4){ + secondCheck = true + check() + }else{ + secondCheck = false + check() + } + } + + }) + + btnNext.setOnClickListener { + Log.d("Tester", "onViewCreated: ${edtEmailId.text.toString() + "@" + edtEmailPortal.text.toString()}") + saveEmail(edtEmailId.text.toString() + "@" + edtEmailPortal.text.toString()) + Navigation.findNavController(binding.root).navigate(R.id.action_companyjoinemailFragment_to_companyjoinpasswordFragment) + } + + btnBack.setOnClickListener { + Navigation.findNavController(binding.root).navigate(R.id.action_companyjoinemailFragment_to_companyjointermFragment) + } + + btnClose.setOnClickListener { + startActivity(Intent(activity, JoinActivity::class.java)) + requireActivity().finish() + } + + } + } // onViewCreate + + private fun check(){ + if(firstCheck){ + if(secondCheck){ + binding.btnNext.isEnabled = true + binding.btnNext.setTextColor(Color.parseColor("#FFFFFF")) + }else{ + binding.btnNext.isEnabled = false + binding.btnNext.setTextColor(Color.parseColor("#343A40")) + } + }else{ + binding.btnNext.isEnabled = false + binding.btnNext.setTextColor(Color.parseColor("#343A40")) + } + } + } \ No newline at end of file diff --git a/app/src/main/java/com/example/airconmoa/ui/join_company/data/CompanyJoinDataSource.kt b/app/src/main/java/com/example/airconmoa/ui/join_company/data/CompanyJoinDataSource.kt new file mode 100644 index 0000000..9f1371a --- /dev/null +++ b/app/src/main/java/com/example/airconmoa/ui/join_company/data/CompanyJoinDataSource.kt @@ -0,0 +1,39 @@ +package com.example.airconmoa.ui.join_company.data + +import android.app.Application +import android.util.Log +import com.example.airconmoa.config.App +import retrofit2.Call +import retrofit2.Callback +import retrofit2.Response + +class CompanyJoinDataSource { + + private val api = App.retrofit.create(RetrofitInterface::class.java) + + + fun join(join: Join, companyJoinView: CompanyJoinView){ + api.companyjoin(join).enqueue(object : Callback{ + override fun onResponse( + call: Call, + response: Response + ) { + Log.d("Tester", "onResponse: api진입${response.code()}") + if(response.isSuccessful && response.code() == 200){ + Log.d("Tester", "onResponse: if문 진입${response.code()}") + val companyJoinResponse: CompanyJoinResponse = response.body()!! + Log.d("Tester", "onResponse: ${companyJoinResponse.code}") + when(val code = companyJoinResponse.code){ + 1000-> companyJoinView.onLoginSuccess(code,companyJoinResponse.result!!) + else -> companyJoinView.onLoginFailure(response.message()) + } + } + } + + override fun onFailure(call: Call, t: Throwable) + = companyJoinView.onLoginFailure(t.message) + + }) + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/example/airconmoa/ui/join_company/data/CompanyJoinResponse.kt b/app/src/main/java/com/example/airconmoa/ui/join_company/data/CompanyJoinResponse.kt new file mode 100644 index 0000000..d22ea2a --- /dev/null +++ b/app/src/main/java/com/example/airconmoa/ui/join_company/data/CompanyJoinResponse.kt @@ -0,0 +1,10 @@ +package com.example.airconmoa.ui.join_company.data + +import com.google.gson.annotations.SerializedName + +data class CompanyJoinResponse( + @SerializedName("isSuccess") val isSuccess: Boolean, + @SerializedName("code") val code: Int, + @SerializedName("message") val message: String, + @SerializedName("result") val result: ResultCompanyJoin, +) diff --git a/app/src/main/java/com/example/airconmoa/ui/join_company/data/CompanyJoinView.kt b/app/src/main/java/com/example/airconmoa/ui/join_company/data/CompanyJoinView.kt new file mode 100644 index 0000000..482d25e --- /dev/null +++ b/app/src/main/java/com/example/airconmoa/ui/join_company/data/CompanyJoinView.kt @@ -0,0 +1,6 @@ +package com.example.airconmoa.ui.join_company.data + +interface CompanyJoinView { + fun onLoginSuccess(code : Int, result : ResultCompanyJoin) + fun onLoginFailure(message: String?) +} \ No newline at end of file diff --git a/app/src/main/java/com/example/airconmoa/ui/join_company/data/Join.kt b/app/src/main/java/com/example/airconmoa/ui/join_company/data/Join.kt new file mode 100644 index 0000000..879d73f --- /dev/null +++ b/app/src/main/java/com/example/airconmoa/ui/join_company/data/Join.kt @@ -0,0 +1,11 @@ +package com.example.airconmoa.ui.join_company.data + +import com.google.gson.annotations.SerializedName + +data class Join( + @SerializedName(value = "email")val email: String, + @SerializedName(value = "password")val password: String, + @SerializedName(value = "companyName")val companyName: String, + @SerializedName(value = "companyNumber")val companyNumber: String, + @SerializedName(value = "address")val address: String, +) diff --git a/app/src/main/java/com/example/airconmoa/ui/join_company/data/ResultCompanyJoin.kt b/app/src/main/java/com/example/airconmoa/ui/join_company/data/ResultCompanyJoin.kt new file mode 100644 index 0000000..7d3a12a --- /dev/null +++ b/app/src/main/java/com/example/airconmoa/ui/join_company/data/ResultCompanyJoin.kt @@ -0,0 +1,9 @@ +package com.example.airconmoa.ui.join_company.data + +import com.google.gson.annotations.SerializedName + +data class ResultCompanyJoin( + @SerializedName("compnayId") val compnayId: Int, + @SerializedName("companyName") val companyName: String, + @SerializedName("email") val email: String, +) diff --git a/app/src/main/java/com/example/airconmoa/ui/join_company/data/RetrofitInterface.kt b/app/src/main/java/com/example/airconmoa/ui/join_company/data/RetrofitInterface.kt new file mode 100644 index 0000000..ff1c368 --- /dev/null +++ b/app/src/main/java/com/example/airconmoa/ui/join_company/data/RetrofitInterface.kt @@ -0,0 +1,12 @@ +package com.example.airconmoa.ui.join_company.data + +import retrofit2.Call +import retrofit2.http.Body +import retrofit2.http.POST + +interface RetrofitInterface { + + @POST("/api/company/signup") + fun companyjoin(@Body join: Join): Call + +} \ No newline at end of file diff --git a/app/src/main/java/com/example/airconmoa/ui/join_user/JoinActivity.kt b/app/src/main/java/com/example/airconmoa/ui/join_user/JoinActivity.kt index 33756b6..e3294be 100644 --- a/app/src/main/java/com/example/airconmoa/ui/join_user/JoinActivity.kt +++ b/app/src/main/java/com/example/airconmoa/ui/join_user/JoinActivity.kt @@ -8,6 +8,8 @@ import com.example.airconmoa.R import com.example.airconmoa.config.BaseActivityVB import com.example.airconmoa.databinding.ActivityJoinBinding import com.example.airconmoa.ui.join_company.CompanyJoinActivity +import com.example.airconmoa.ui.join_company.CompanyJoinFirstActivity +import com.example.airconmoa.ui.main_user.MainActivity import com.kakao.sdk.common.util.Utility class JoinActivity : BaseActivityVB(ActivityJoinBinding::inflate) { @@ -18,8 +20,8 @@ class JoinActivity : BaseActivityVB(ActivityJoinBinding::in binding.joinUserBtn.visibility = View.INVISIBLE binding.joinUserSelectedBtn.visibility = View.VISIBLE - val intent = Intent(this, NewMemberActivity::class.java) - //val intent = Intent(this, MainActivity::class.java) + //val intent = Intent(this, NewMemberActivity::class.java) + val intent = Intent(this, MainActivity::class.java) startActivity(intent) overridePendingTransition(R.anim.slide_right_enter, R.anim.slide_right_exit) @@ -29,7 +31,7 @@ class JoinActivity : BaseActivityVB(ActivityJoinBinding::in binding.joinCompanyBtn.visibility = View.INVISIBLE binding.joinCompanySelectedBtn.visibility = View.VISIBLE - val intent = Intent(this, CompanyJoinActivity::class.java) + val intent = Intent(this, CompanyJoinFirstActivity::class.java) //val intent = Intent(this, MainCompanyActivity::class.java) startActivity(intent) overridePendingTransition(R.anim.slide_right_enter, R.anim.slide_right_exit) diff --git a/app/src/main/java/com/example/airconmoa/ui/login_company/LoginCompanyActivity.kt b/app/src/main/java/com/example/airconmoa/ui/login_company/LoginCompanyActivity.kt index 2a917f2..de60996 100644 --- a/app/src/main/java/com/example/airconmoa/ui/login_company/LoginCompanyActivity.kt +++ b/app/src/main/java/com/example/airconmoa/ui/login_company/LoginCompanyActivity.kt @@ -1,14 +1,59 @@ package com.example.airconmoa.ui.login_company +import android.content.Intent import android.os.Bundle import com.example.airconmoa.config.BaseActivityVB import com.example.airconmoa.databinding.ActivityLoginCompanyBinding +import com.example.airconmoa.ui.join_company.CompanyJoinFirstActivity +import com.example.airconmoa.ui.login_company.data.CompanyLoginDataSource +import com.example.airconmoa.ui.login_company.data.CompanyLoginView +import com.example.airconmoa.ui.login_company.data.Login +import com.example.airconmoa.ui.main_user.MainActivity class LoginCompanyActivity : BaseActivityVB(ActivityLoginCompanyBinding::inflate){ override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) + with(binding){ + + btnNext.setOnClickListener { + login() + } + + btnBack.setOnClickListener { + val intent = Intent(this@LoginCompanyActivity,CompanyJoinFirstActivity::class.java) + startActivity(intent) + } + } + + } + + private fun login(){ + CompanyLoginDataSource().login(getuser(),object : CompanyLoginView{ + override fun onLoginSuccess(code: Int, result: String) { + when(code){ + 1000->{ + startMainActivity() + } + } + } + + override fun onLoginFailure(message: String?) { + showCustomToast(message!!) + } + + }) + } + + private fun getuser(): Login { + return Login(binding.edtEmail.text.toString(), binding.edtPassword.text.toString()) + } + + private fun startMainActivity(){ + val intent = Intent(this, MainActivity::class.java) + startActivity(intent) + finish() } } \ No newline at end of file diff --git a/app/src/main/java/com/example/airconmoa/ui/login_company/data/CompanyLoginDataSource.kt b/app/src/main/java/com/example/airconmoa/ui/login_company/data/CompanyLoginDataSource.kt new file mode 100644 index 0000000..dc82004 --- /dev/null +++ b/app/src/main/java/com/example/airconmoa/ui/login_company/data/CompanyLoginDataSource.kt @@ -0,0 +1,40 @@ +package com.example.airconmoa.ui.login_company.data + +import android.util.Log +import com.example.airconmoa.config.App +import com.example.airconmoa.ui.join_company.data.CompanyJoinResponse +import com.example.airconmoa.ui.join_company.data.RetrofitInterface +import retrofit2.Call +import retrofit2.Callback +import retrofit2.Response + +class CompanyLoginDataSource { + + private val api = App.retrofit.create(LoginRetrofitinterface::class.java) + + fun login(login: Login, companyLoginView: CompanyLoginView){ + api.companylogin(login).enqueue(object : Callback { + override fun onResponse( + call: Call, + response: Response + ) { + Log.d("Tester", "onResponse: api진입${response.message()}") + if(response.isSuccessful && response.code() == 200){ + Log.d("Tester", "onResponse: if문 진입${response.code()}") + val companyLoginResponse: CompanyLoginResponse = response.body()!! + Log.d("Tester", "onResponse: ${companyLoginResponse.code}") + when(val code = companyLoginResponse.code){ + 1000-> companyLoginView.onLoginSuccess(code,companyLoginResponse.result!!) + else -> companyLoginView.onLoginFailure(response.message()) + } + } + } + + override fun onFailure(call: Call, t: Throwable) + = companyLoginView.onLoginFailure(t.message) + + + }) + } + +} \ No newline at end of file diff --git a/app/src/main/java/com/example/airconmoa/ui/login_company/data/CompanyLoginResponse.kt b/app/src/main/java/com/example/airconmoa/ui/login_company/data/CompanyLoginResponse.kt new file mode 100644 index 0000000..afc60d0 --- /dev/null +++ b/app/src/main/java/com/example/airconmoa/ui/login_company/data/CompanyLoginResponse.kt @@ -0,0 +1,10 @@ +package com.example.airconmoa.ui.login_company.data + +import com.google.gson.annotations.SerializedName + +data class CompanyLoginResponse( + @SerializedName("isSuccess") val isSuccess: Boolean, + @SerializedName("code") val code: Int, + @SerializedName("message") val message: String, + @SerializedName("result") val result: String, +) \ No newline at end of file diff --git a/app/src/main/java/com/example/airconmoa/ui/login_company/data/CompanyLoginView.kt b/app/src/main/java/com/example/airconmoa/ui/login_company/data/CompanyLoginView.kt new file mode 100644 index 0000000..eac37a5 --- /dev/null +++ b/app/src/main/java/com/example/airconmoa/ui/login_company/data/CompanyLoginView.kt @@ -0,0 +1,8 @@ +package com.example.airconmoa.ui.login_company.data + + +interface CompanyLoginView { + fun onLoginSuccess(code : Int, result : String) + fun onLoginFailure(message: String?) + +} \ No newline at end of file diff --git a/app/src/main/java/com/example/airconmoa/ui/login_company/data/Login.kt b/app/src/main/java/com/example/airconmoa/ui/login_company/data/Login.kt new file mode 100644 index 0000000..e71db86 --- /dev/null +++ b/app/src/main/java/com/example/airconmoa/ui/login_company/data/Login.kt @@ -0,0 +1,8 @@ +package com.example.airconmoa.ui.login_company.data + +import com.google.gson.annotations.SerializedName + +data class Login( + @SerializedName(value = "email")val email: String, + @SerializedName(value = "password")val password: String +) \ No newline at end of file diff --git a/app/src/main/java/com/example/airconmoa/ui/login_company/data/LoginRetrofitinterface.kt b/app/src/main/java/com/example/airconmoa/ui/login_company/data/LoginRetrofitinterface.kt new file mode 100644 index 0000000..c25eac4 --- /dev/null +++ b/app/src/main/java/com/example/airconmoa/ui/login_company/data/LoginRetrofitinterface.kt @@ -0,0 +1,11 @@ +package com.example.airconmoa.ui.login_company.data + +import com.example.airconmoa.ui.join_company.data.CompanyJoinResponse +import retrofit2.Call +import retrofit2.http.Body +import retrofit2.http.POST + +interface LoginRetrofitinterface { + @POST("/api/company/login") + fun companylogin(@Body login: Login): Call +} \ No newline at end of file diff --git a/app/src/main/java/com/example/airconmoa/ui/login_user/LoginActivity.kt b/app/src/main/java/com/example/airconmoa/ui/login_user/LoginActivity.kt index 5b03905..cee1b42 100644 --- a/app/src/main/java/com/example/airconmoa/ui/login_user/LoginActivity.kt +++ b/app/src/main/java/com/example/airconmoa/ui/login_user/LoginActivity.kt @@ -24,6 +24,7 @@ import com.example.airconmoa.util.Constants import com.example.airconmoa.R.* import com.example.airconmoa.config.BaseResponse import com.example.airconmoa.config.RetrofitInstance +import com.example.airconmoa.databinding.ActivityLoginBinding import com.example.airconmoa.ui.join_user.model.PostOauthLoginRes import com.example.airconmoa.ui.join_user.model.PostSignUpReq import com.example.airconmoa.ui.join_user.model.PostUidDeviceTokenReq diff --git a/app/src/main/java/com/example/airconmoa/util/Constants.kt b/app/src/main/java/com/example/airconmoa/util/Constants.kt index 0ad8e99..515a2ea 100644 --- a/app/src/main/java/com/example/airconmoa/util/Constants.kt +++ b/app/src/main/java/com/example/airconmoa/util/Constants.kt @@ -3,7 +3,7 @@ package com.example.airconmoa.util object Constants { const val TAG = "debugging" - const val BASE_URL = "" + const val BASE_URL = "http://13.124.108.240:8080" const val X_ACCESS_TOKEN = "X-ACCESS-TOKEN" const val X_REFRESH_TOKEN = "X_REFRESH_TOKEN" const val X_ACCESS_EXPIRE = "X_ACCESS_EXPIRE" @@ -18,7 +18,12 @@ object Constants { //Dialog save - const val location_si = "location_si" - const val location_do = "location_do" + const val email = "email" + const val password = "password" + const val phonenum = "phonenum" + const val companyName = "companyName" + const val name = "name" + const val address = "address" + } \ No newline at end of file diff --git a/app/src/main/java/com/example/airconmoa/util/SharedPreference.kt b/app/src/main/java/com/example/airconmoa/util/SharedPreference.kt index bd06586..5ce7b5b 100644 --- a/app/src/main/java/com/example/airconmoa/util/SharedPreference.kt +++ b/app/src/main/java/com/example/airconmoa/util/SharedPreference.kt @@ -3,20 +3,110 @@ package com.example.airconmoa.until import com.example.airconmoa.config.App import com.example.airconmoa.util.Constants -fun saveSi(location_si: String){ +fun saveEmail(email: String){ val spf = App.sharedPreferences val editor = spf.edit() - editor.putString(Constants.location_si,location_si) + editor.putString(Constants.email,email) editor.apply() } -fun getSi():String? = App.sharedPreferences.getString(Constants.location_si,null) +fun getEmail():String? = App.sharedPreferences.getString(Constants.email,null) -fun removeSi(){ +fun removeEmail(){ val spf = App.sharedPreferences val editor = spf.edit() - editor.remove(Constants.location_si) + editor.remove(Constants.email) editor.apply() } + +fun savePassword(password: String){ + val spf = App.sharedPreferences + val editor = spf.edit() + + editor.putString(Constants.password,password) + editor.apply() +} + +fun getPassword():String? = App.sharedPreferences.getString(Constants.password,null) + +fun removePassword(){ + val spf = App.sharedPreferences + val editor = spf.edit() + + editor.remove(Constants.password) + editor.apply() +} + +fun savePhonenum(phonenum: String){ + val spf = App.sharedPreferences + val editor = spf.edit() + + editor.putString(Constants.phonenum,phonenum) + editor.apply() +} + +fun getPhonenum():String? = App.sharedPreferences.getString(Constants.phonenum,null) + +fun removePhonenum(){ + val spf = App.sharedPreferences + val editor = spf.edit() + + editor.remove(Constants.phonenum) + editor.apply() +} + +fun saveCompanyName(companyName: String){ + val spf = App.sharedPreferences + val editor = spf.edit() + + editor.putString(Constants.companyName,companyName) + editor.apply() +} + +fun getCompanyName():String? = App.sharedPreferences.getString(Constants.companyName,null) + +fun removeCompanyName(){ + val spf = App.sharedPreferences + val editor = spf.edit() + + editor.remove(Constants.companyName) + editor.apply() +} + +fun saveAddress(address: String){ + val spf = App.sharedPreferences + val editor = spf.edit() + + editor.putString(Constants.address,address) + editor.apply() +} + +fun getAddress():String? = App.sharedPreferences.getString(Constants.address,null) + +fun removeAddress(){ + val spf = App.sharedPreferences + val editor = spf.edit() + + editor.remove(Constants.address) + editor.apply() +} + +fun saveName(name: String){ + val spf = App.sharedPreferences + val editor = spf.edit() + + editor.putString(Constants.name,name) + editor.apply() +} + +fun getName():String? = App.sharedPreferences.getString(Constants.name,null) + +fun removeName(){ + val spf = App.sharedPreferences + val editor = spf.edit() + + editor.remove(Constants.name) + editor.apply() +} \ No newline at end of file diff --git a/app/src/main/res/drawable/company_join_selector.xml b/app/src/main/res/drawable/company_join_selector.xml new file mode 100644 index 0000000..2ecd7d2 --- /dev/null +++ b/app/src/main/res/drawable/company_join_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/company_join_term_all_selector.xml b/app/src/main/res/drawable/company_join_term_all_selector.xml new file mode 100644 index 0000000..d238284 --- /dev/null +++ b/app/src/main/res/drawable/company_join_term_all_selector.xml @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/company_join_term_false.png b/app/src/main/res/drawable/company_join_term_false.png new file mode 100644 index 0000000..ebaacff Binary files /dev/null and b/app/src/main/res/drawable/company_join_term_false.png differ diff --git a/app/src/main/res/drawable/company_join_term_selector.xml b/app/src/main/res/drawable/company_join_term_selector.xml new file mode 100644 index 0000000..d40e997 --- /dev/null +++ b/app/src/main/res/drawable/company_join_term_selector.xml @@ -0,0 +1,7 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/company_next_btn_false.xml b/app/src/main/res/drawable/company_next_btn_false.xml new file mode 100644 index 0000000..7e9e4d6 --- /dev/null +++ b/app/src/main/res/drawable/company_next_btn_false.xml @@ -0,0 +1,12 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/company_next_btn_selector.xml b/app/src/main/res/drawable/company_next_btn_selector.xml new file mode 100644 index 0000000..a997b56 --- /dev/null +++ b/app/src/main/res/drawable/company_next_btn_selector.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/company_next_btn_true.xml b/app/src/main/res/drawable/company_next_btn_true.xml new file mode 100644 index 0000000..be6edb5 --- /dev/null +++ b/app/src/main/res/drawable/company_next_btn_true.xml @@ -0,0 +1,12 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/drawable/company_next_btn_white.xml b/app/src/main/res/drawable/company_next_btn_white.xml new file mode 100644 index 0000000..56ccb0e --- /dev/null +++ b/app/src/main/res/drawable/company_next_btn_white.xml @@ -0,0 +1,12 @@ + + + + + + + + \ No newline at end of file diff --git a/app/src/main/res/layout/activity_company_join.xml b/app/src/main/res/layout/activity_company_join.xml index e353a92..2828753 100644 --- a/app/src/main/res/layout/activity_company_join.xml +++ b/app/src/main/res/layout/activity_company_join.xml @@ -6,125 +6,19 @@ android:layout_height="match_parent" tools:context="com.example.airconmoa.ui.login_company.LoginCompanyActivity"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -