From 38deb3731af660d5190de63ce0f862ec2d2e6f8a Mon Sep 17 00:00:00 2001 From: newkgg112 Date: Sat, 1 Apr 2023 02:09:30 +0900 Subject: [PATCH] last update --- .idea/gradle.xml | 1 - .../RegisterActivity/RegisterActivity2.kt | 8 +-- .../AdminReportActivity.kt | 4 ++ .../admindetail/AdminDetailActivity.kt | 20 +++++- .../adminmain/AdminMainActivity.kt | 18 +++++- .../UserActivity/userchat/UserChatActivity.kt | 61 +++++++++++++------ .../seenear/network/data/chatResponse.kt | 2 +- .../main/res/layout/activity_admin_detail.xml | 2 +- .../main/res/layout/activity_admin_report.xml | 6 +- app/src/main/res/layout/activity_main.xml | 2 +- .../main/res/layout/bottom_sheet_layout.xml | 4 +- app/src/main/res/layout/chat_recycler.xml | 3 + settings.gradle | 1 - 13 files changed, 96 insertions(+), 36 deletions(-) diff --git a/.idea/gradle.xml b/.idea/gradle.xml index 22270e6..a2d7c21 100644 --- a/.idea/gradle.xml +++ b/.idea/gradle.xml @@ -11,7 +11,6 @@ diff --git a/app/src/main/java/com/kgg/android/seenear/AdminActivity/RegisterActivity/RegisterActivity2.kt b/app/src/main/java/com/kgg/android/seenear/AdminActivity/RegisterActivity/RegisterActivity2.kt index 572cf99..fb3d73d 100644 --- a/app/src/main/java/com/kgg/android/seenear/AdminActivity/RegisterActivity/RegisterActivity2.kt +++ b/app/src/main/java/com/kgg/android/seenear/AdminActivity/RegisterActivity/RegisterActivity2.kt @@ -122,12 +122,6 @@ class RegisterActivity2 : AppCompatActivity() { return; } - Toast.makeText( - this, - "주소 : ${data?.getStringExtra("address").toString()}", - Toast.LENGTH_SHORT - ) - .show() userInfo.addressLati = data?.getDoubleExtra("latitude", 0.0) userInfo.addressLongi = data?.getDoubleExtra("longitude", 0.0) binding.homeEdittext.text = data?.getStringExtra("address").toString() @@ -180,6 +174,8 @@ class RegisterActivity2 : AppCompatActivity() { val AuthorizationHeader = "Bearer " + App.prefs.accessToken Log.d("AuthorizationHeader :", AuthorizationHeader.toString()) Log.d("userInfo :", userInfo.toString()) + userInfo.isConnect = true + val callApi = smsAuthApi.register(authorizationHeader = AuthorizationHeader, checkRegisterRequest = userInfo) callApi.enqueue(object : Callback { override fun onResponse(call: Call, response: Response) { diff --git a/app/src/main/java/com/kgg/android/seenear/AdminActivity/adminReportActivity/AdminReportActivity.kt b/app/src/main/java/com/kgg/android/seenear/AdminActivity/adminReportActivity/AdminReportActivity.kt index 555b37b..2c986ac 100644 --- a/app/src/main/java/com/kgg/android/seenear/AdminActivity/adminReportActivity/AdminReportActivity.kt +++ b/app/src/main/java/com/kgg/android/seenear/AdminActivity/adminReportActivity/AdminReportActivity.kt @@ -29,6 +29,10 @@ class AdminReportActivity : AppCompatActivity(){ binding = ActivityAdminReportBinding.inflate(layoutInflater) setContentView(binding.root) report = intent.getParcelableExtra("report")!! + val name = intent.getStringExtra("name") + binding.nameText.text = name + " 님의" + + Log.d("report!!!", report.toString()) val repository = RetrofitRepository() diff --git a/app/src/main/java/com/kgg/android/seenear/AdminActivity/admindetail/AdminDetailActivity.kt b/app/src/main/java/com/kgg/android/seenear/AdminActivity/admindetail/AdminDetailActivity.kt index a4df426..2c46d7f 100644 --- a/app/src/main/java/com/kgg/android/seenear/AdminActivity/admindetail/AdminDetailActivity.kt +++ b/app/src/main/java/com/kgg/android/seenear/AdminActivity/admindetail/AdminDetailActivity.kt @@ -25,6 +25,8 @@ import com.kgg.android.seenear.AdminActivity.adminmain.AdminMainActivity import com.kgg.android.seenear.UserActivity.usermodify.ModifyUserInfoActivity import com.kgg.android.seenear.UserActivity.usermodify.medicine.medicineInquiry.MedicineInquiryActivity import com.kgg.android.seenear.network.data.* +import java.text.SimpleDateFormat +import java.util.* class AdminDetailActivity : AppCompatActivity() { @@ -56,10 +58,25 @@ class AdminDetailActivity : AppCompatActivity() { viewModel = ViewModelProvider(this,viewModelFactory).get(AdminDetailViewModel::class.java) + viewModel.userInfo.observe(this, Observer { Log.d("userInfo",it.toString()) + binding.profileNameDetail.text = it.name - binding.profileBirthDetail.text = it.birth + + val sdf = SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()) + val date = sdf.parse(it.birth) + + val dob = Calendar.getInstance() + dob.time = date + + val today = Calendar.getInstance() + var age = today.get(Calendar.YEAR) - dob.get(Calendar.YEAR) + if (today.get(Calendar.DAY_OF_YEAR) < dob.get(Calendar.DAY_OF_YEAR)) { + age-- + } + + binding.profileBirthDetail.text = "만 "+ age.toString() +"세" binding.profileAddressDetail.text = it.addressDetail elderly_id = it.id!! name = it.name!! @@ -155,6 +172,7 @@ class AdminDetailActivity : AppCompatActivity() { itemView.setOnClickListener { val intent = Intent(this@AdminDetailActivity, AdminReportActivity::class.java) intent.putExtra("report", item) + intent.putExtra("name",binding.profileNameDetail.text ) startActivity(intent) } diff --git a/app/src/main/java/com/kgg/android/seenear/AdminActivity/adminmain/AdminMainActivity.kt b/app/src/main/java/com/kgg/android/seenear/AdminActivity/adminmain/AdminMainActivity.kt index 95b5fe5..7e18107 100644 --- a/app/src/main/java/com/kgg/android/seenear/AdminActivity/adminmain/AdminMainActivity.kt +++ b/app/src/main/java/com/kgg/android/seenear/AdminActivity/adminmain/AdminMainActivity.kt @@ -32,6 +32,8 @@ import com.kgg.android.seenear.data.userInfo import com.kgg.android.seenear.databinding.ActivityAdminMainBinding import com.kgg.android.seenear.network.RetrofitRepository import com.kgg.android.seenear.network.data.registerResponse +import java.text.SimpleDateFormat +import java.util.* class AdminMainActivity : AppCompatActivity() { @@ -160,7 +162,21 @@ class AdminMainActivity : AppCompatActivity() { fun bind(item: registerResponse) { profile_name.text = item.name - profile_birth.text = item.birth + + + val sdf = SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()) + val date = sdf.parse(item.birth) + + val dob = Calendar.getInstance() + dob.time = date + + val today = Calendar.getInstance() + var age = today.get(Calendar.YEAR) - dob.get(Calendar.YEAR) + if (today.get(Calendar.DAY_OF_YEAR) < dob.get(Calendar.DAY_OF_YEAR)) { + age-- + } + profile_birth.text = "만 "+ age.toString() +"세" + profile_address.text = item.addressDetail itemView.setOnClickListener { diff --git a/app/src/main/java/com/kgg/android/seenear/UserActivity/userchat/UserChatActivity.kt b/app/src/main/java/com/kgg/android/seenear/UserActivity/userchat/UserChatActivity.kt index ca9f549..9e9090f 100644 --- a/app/src/main/java/com/kgg/android/seenear/UserActivity/userchat/UserChatActivity.kt +++ b/app/src/main/java/com/kgg/android/seenear/UserActivity/userchat/UserChatActivity.kt @@ -70,12 +70,13 @@ class UserChatActivity : AppCompatActivity() { lateinit var userList: List private lateinit var speechRecognizer: SpeechRecognizer + lateinit var idList : List + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = ActivityUserChatBinding.inflate(layoutInflater) setContentView(binding.root) - val time = System.currentTimeMillis() val dateFormat = SimpleDateFormat(("yyyy년 MM월 dd일 E요일"), Locale("ko", "KR")) val timeFormat = SimpleDateFormat(("HH:mm"), Locale("ko", "KR")) @@ -85,6 +86,7 @@ class UserChatActivity : AppCompatActivity() { val repository = RetrofitRepository() val viewModelFactory = UserChatViewModelFactory(repository) + bool = true viewModel = ViewModelProvider(this,viewModelFactory).get(UserChatViewModel::class.java) @@ -104,7 +106,6 @@ class UserChatActivity : AppCompatActivity() { initRecycler() if (it.size>0) binding.recyclerView.scrollToPosition(datas.size - 1) // 가장 마지막 항목으로 스크롤 - binding.recyclerView.smoothScrollToPosition(datas.size - 1) }) @@ -124,9 +125,11 @@ class UserChatActivity : AppCompatActivity() { // 권한 체크 코드 if (Build.VERSION.SDK_INT >= 23) ActivityCompat.requestPermissions(this, arrayOf(Manifest.permission.INTERNET, Manifest.permission.RECORD_AUDIO), 1) - chatAdapter.notifyDataSetChanged() startSTT() + + + } binding.chatSendBtn.setOnClickListener { if (binding.chatContent.text.length>0){ @@ -216,6 +219,7 @@ class UserChatActivity : AppCompatActivity() { companion object{ var textSize = 14f + var bool = true } @@ -245,20 +249,24 @@ class UserChatActivity : AppCompatActivity() { private val loading_bar: LottieAnimationView = itemView.findViewById(R.id.loading_bar) private val chat_date: ConstraintLayout = itemView.findViewById(R.id.chat_date) private val chat_date_text: TextView = itemView.findViewById(R.id.chat_date_text) - private val radioGroup: RadioGroup = itemView.findViewById(R.id.radioGroup) + private val radioGroup: RadioGroup = itemView.findViewById(R.id.radioGroup) private val positiveButton: RadioButton = itemView.findViewById(R.id.positiveButton) private val negativeButton: RadioButton = itemView.findViewById(R.id.negativeButton) fun bind(item: chat) { - // status "네" 누르기 positiveButton.setOnClickListener { val statusCheckRequest = statusCheckRequest(item.type, true, item.id) viewModel.statusCheck( statusCheckRequest ) radioGroup.visibility = View.GONE + bool = false Toast.makeText(this@UserChatActivity, "좋아요!", Toast.LENGTH_SHORT).show() +// val currentRead = Read(item.id) +// CoroutineScope(Dispatchers.IO).launch { +// db.readDao().insertRead(currentRead) +// } } @@ -268,8 +276,12 @@ class UserChatActivity : AppCompatActivity() { val statusCheckRequest = statusCheckRequest(item.type, false, item.id) viewModel.statusCheck( statusCheckRequest ) radioGroup.visibility = View.GONE + bool = false Toast.makeText(this@UserChatActivity, "뭔가 문제가 있으신가요?", Toast.LENGTH_SHORT).show() - +// val currentRead = Read(item.id) +// CoroutineScope(Dispatchers.IO).launch { +// db.readDao().insertRead(currentRead) +// } } my_message_text.setTextSize(TypedValue.COMPLEX_UNIT_SP, textSize) @@ -284,6 +296,8 @@ class UserChatActivity : AppCompatActivity() { } Log.d("datas in bind", item.toString()) + + if (item.userSend== true){ partner_message.visibility = View.GONE my_message.visibility = View.VISIBLE @@ -291,18 +305,19 @@ class UserChatActivity : AppCompatActivity() { } else{ if (position == datas.size -1 && ( - item.type.equals("meal1")|| - item.type.equals("meal2")|| - item.type.equals("meal3")|| - item.type.equals("medicine1")|| - item.type.equals("medicine2")|| - item.type.equals("medicine3")|| - item.type.equals("health")|| - item.type.equals("physicalActivity")|| - item.type.equals("feel")|| - item.type.equals("toilet") - - )){ + item.type.equals("meal1")|| + item.type.equals("meal2")|| + item.type.equals("meal3")|| + item.type.equals("medicine1")|| + item.type.equals("medicine2")|| + item.type.equals("medicine3")|| + item.type.equals("health")|| + item.type.equals("physicalActivity")|| + item.type.equals("feel")|| + item.type.equals("toilet") + + ) + && bool){ radioGroup.visibility = View.VISIBLE } else @@ -344,6 +359,9 @@ class UserChatActivity : AppCompatActivity() { startListening(speechRecognizerIntent) } + if (datas.size>0) + binding.recyclerView.smoothScrollToPosition(datas.size - 1) + } /*** * SpeechToText 기능 세팅 @@ -356,6 +374,10 @@ class UserChatActivity : AppCompatActivity() { binding.STTButton.visibility = View.GONE binding.chatContent.isFocusable = false binding.chatContent.isFocusableInTouchMode = false + + initRecycler() + if (datas.size>0) + binding.recyclerView.smoothScrollToPosition(datas.size - 1) } override fun onRmsChanged(rmsdB: Float) {} @@ -372,7 +394,8 @@ class UserChatActivity : AppCompatActivity() { Toast.makeText(this@UserChatActivity, "음성인식을 종료합니다", Toast.LENGTH_SHORT).show() binding.loadingBar.visibility = View.GONE binding.STTButton.visibility = View.VISIBLE - binding.recyclerView.smoothScrollToPosition(datas.size - 1) + if (datas.size>0) + binding.recyclerView.smoothScrollToPosition(datas.size - 1) binding.chatContent.isFocusable = true binding.chatContent.isFocusableInTouchMode = true diff --git a/app/src/main/java/com/kgg/android/seenear/network/data/chatResponse.kt b/app/src/main/java/com/kgg/android/seenear/network/data/chatResponse.kt index 84a7682..fc1a617 100644 --- a/app/src/main/java/com/kgg/android/seenear/network/data/chatResponse.kt +++ b/app/src/main/java/com/kgg/android/seenear/network/data/chatResponse.kt @@ -6,7 +6,7 @@ data class chat( var content : String? = null, var createdAt : String? = null, var userSend : Boolean = true, - var type : String? = null + var type : String? = null, ) data class chatResponse( diff --git a/app/src/main/res/layout/activity_admin_detail.xml b/app/src/main/res/layout/activity_admin_detail.xml index 3ce6d8e..ab7584f 100644 --- a/app/src/main/res/layout/activity_admin_detail.xml +++ b/app/src/main/res/layout/activity_admin_detail.xml @@ -96,7 +96,7 @@ android:layout_height="wrap_content" android:layout_marginStart="8dp" android:layout_weight="1" - android:text="챗봇 정보 수정" + android:text="약 복용 정보" android:textStyle="bold" /> diff --git a/app/src/main/res/layout/activity_admin_report.xml b/app/src/main/res/layout/activity_admin_report.xml index bb41a8d..2f8835a 100644 --- a/app/src/main/res/layout/activity_admin_report.xml +++ b/app/src/main/res/layout/activity_admin_report.xml @@ -7,7 +7,7 @@ android:background="#F5F5F5"> + app:layout_constraintStart_toStartOf="@+id/nameText" + app:layout_constraintTop_toBottomOf="@+id/nameText" /> diff --git a/app/src/main/res/layout/chat_recycler.xml b/app/src/main/res/layout/chat_recycler.xml index 45ed02b..2ab2b10 100644 --- a/app/src/main/res/layout/chat_recycler.xml +++ b/app/src/main/res/layout/chat_recycler.xml @@ -111,6 +111,7 @@ android:paddingTop="8dp" android:paddingEnd="12dp" android:paddingBottom="8dp" + android:autoLink="web" android:text="아침식사는 하셨나요?" android:textSize="12dp" /> @@ -182,6 +183,8 @@ android:paddingEnd="12dp" android:paddingBottom="8dp" android:text="내 메시지" + android:autoLink="web" + android:textSize="12dp" android:visibility="visible" /> diff --git a/settings.gradle b/settings.gradle index fb7b411..eef1139 100644 --- a/settings.gradle +++ b/settings.gradle @@ -23,4 +23,3 @@ dependencyResolutionManagement { } rootProject.name = "seeNear" include ':app' -include ':chatlibrary'