Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<uses-permission android:name="android.permission.INTERNET" />

<application
android:name=".GlobalApplication"
android:name=".config.App"
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
Expand Down
4 changes: 4 additions & 0 deletions app/src/main/java/com/example/airconmoa/GlobalApplication.kt
Original file line number Diff line number Diff line change
@@ -1,12 +1,16 @@
package com.example.airconmoa

import android.app.Application
import android.content.SharedPreferences
import com.example.airconmoa.config.App
import com.kakao.sdk.common.KakaoSdk

class GlobalApplication : Application() {

override fun onCreate() {
super.onCreate()

KakaoSdk.init(this, "64eccc279aa42b2d6d95605fcb8b3387")

}
}
5 changes: 4 additions & 1 deletion app/src/main/java/com/example/airconmoa/config/App.kt
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import android.app.Application
import android.content.Context
import android.content.SharedPreferences
import com.example.airconmoa.util.Constants.BASE_URL
import com.kakao.sdk.common.KakaoSdk

import okhttp3.OkHttpClient
import okhttp3.logging.HttpLoggingInterceptor
Expand Down Expand Up @@ -47,6 +48,8 @@ class App : Application() {
initRetrofitInstance() // Retrofit을 초기화한다.
//getkakaoKeyhash()
//startSocialLogin()

KakaoSdk.init(this, "64eccc279aa42b2d6d95605fcb8b3387")
}

private fun initRetrofitInstance() {
Expand All @@ -59,7 +62,7 @@ class App : Application() {

// AccessTokenInterceptor를 추가하여 JWT 토큰을 자동으로 HTTP 요청 헤더에 추가한다.
// applicationContext는 Android 애플리케이션 컨텍스트를 나타낸다.
.addNetworkInterceptor(AccessTokenInterceptor(applicationContext))
//.addNetworkInterceptor(AccessTokenInterceptor(applicationContext))
.build()

retrofit = Retrofit.Builder()
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
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.LayoutInflater
import android.view.MotionEvent
import android.view.View
import android.view.ViewGroup
import android.view.Window
import android.view.WindowManager
import android.widget.Toast
import androidx.appcompat.app.AppCompatActivity
import androidx.fragment.app.DialogFragment
import androidx.fragment.app.Fragment
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.GridLayoutManager.SpanSizeLookup
import androidx.recyclerview.widget.RecyclerView
import com.example.airconmoa.databinding.DialogBrandRecycleBinding
import com.example.airconmoa.databinding.FragmentUserEstimateBrandBinding
import com.example.airconmoa.databinding.ItemRvLocationBinding
import com.example.airconmoa.ui.join_company.Adapter.DialogLocationRecyclerAdapter
import com.example.airconmoa.ui.join_company.data.SiData
import com.example.airconmoa.ui.login_user.model.LoginPostData



class BrandRecycleDialog(context: Context, dlgbinding: FragmentUserEstimateBrandBinding): Dialog(context){

private lateinit var binding: DialogBrandRecycleBinding


val obj = object : DialogLocationRecyclerAdapter.OnClickInterface{
override fun onClick(view: View, position: Int) {
Log.d("Tester", "onClick: ${locationlist[position]}")
dlgbinding.txtBrand.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 = DialogBrandRecycleBinding.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<String> = 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
}

*/
}

Original file line number Diff line number Diff line change
@@ -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<String> = 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
}

*/
}

Original file line number Diff line number Diff line change
@@ -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>(
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()


}


}
}
}
Loading