Skip to content

Commit

Permalink
Contact Activity & addCommentActivity add
Browse files Browse the repository at this point in the history
커멘트 관련 옵션 메뉴가 보이지 않는 버그 수정중
  • Loading branch information
easyhooon committed Jun 19, 2021
1 parent 759f084 commit 3141ab2
Show file tree
Hide file tree
Showing 15 changed files with 197 additions and 122 deletions.
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,6 @@ obj/
.idea/gradle.xml
.idea/jarRepositories.xml
.idea/navEditor.xml
.idea/misc.xml

# OS-specific files
.DS_Store
Expand Down
2 changes: 1 addition & 1 deletion .idea/misc.xml

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

1 change: 0 additions & 1 deletion app/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,6 @@ obj/
.idea/gradle.xml
.idea/jarRepositories.xml
.idea/navEditor.xml
.idea/misc.xml

# OS-specific files
.DS_Store
Expand Down
10 changes: 6 additions & 4 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,9 @@
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.Koogle">
<activity android:name=".Activity.ImageViewActivity"></activity>
<activity android:name=".Activity.ContactActivity"></activity>
<activity android:name=".Activity.AddCommentActivity" />
<activity android:name=".Activity.ImageViewActivity" />
<activity android:name=".Activity.EditArticleActivity" />
<activity android:name=".Activity.CheckMapActivity" />
<activity android:name=".Activity.MapActivity" />
Expand Down Expand Up @@ -57,11 +59,11 @@
android:name="com.google.android.geo.API_KEY"
android:value="@string/google_map" />
</application>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.INTERNET" />

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

</manifest>
22 changes: 18 additions & 4 deletions app/src/main/java/kr/ac/konkuk/koogle/Activity/ChatRoomActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import com.google.firebase.database.ktx.database
import com.google.firebase.ktx.Firebase
import kotlinx.android.synthetic.main.activity_chat_room.*
import kr.ac.konkuk.koogle.Adapter.ChatAdapter
import kr.ac.konkuk.koogle.DBKeys.Companion.ADMIN_ID
import kr.ac.konkuk.koogle.DBKeys.Companion.CHAT_CONTENT
import kr.ac.konkuk.koogle.DBKeys.Companion.CHAT_CREATED_AT
import kr.ac.konkuk.koogle.DBKeys.Companion.CHAT_ID
Expand Down Expand Up @@ -159,8 +160,16 @@ class ChatRoomActivity : AppCompatActivity() {
}

override fun onCreateOptionsMenu(menu: Menu?): Boolean {
val menuInflater = menuInflater
menuInflater.inflate(R.menu.chat_option_menu, menu)
if(::writerId.isInitialized){
if(firebaseUser.uid == writerId){
val menuInflater = menuInflater
menuInflater.inflate(R.menu.chat_admin_option_menu, menu)
}
else{
val menuInflater = menuInflater
menuInflater.inflate(R.menu.chat_option_menu, menu)
}
}

return super.onCreateOptionsMenu(menu)
}
Expand Down Expand Up @@ -213,6 +222,13 @@ class ChatRoomActivity : AppCompatActivity() {
}

}

R.id.adminEvaluate -> {
val intent = Intent(this@ChatRoomActivity, MainActivity::class.java)
intent.putExtra(ADMIN_ID, adminId)
startActivity(intent)
finish()
}
else -> {
//뒤로가기
finish()
Expand Down Expand Up @@ -301,7 +317,6 @@ class ChatRoomActivity : AppCompatActivity() {
private fun initDB() {
val intent = intent
groupId = intent.getStringExtra(GROUP_ID).toString()

currentGroupRef.addListenerForSingleValueEvent(object : ValueEventListener {
override fun onDataChange(snapshot: DataSnapshot) {
val groupModel: GroupModel? = snapshot.getValue(GroupModel::class.java)
Expand All @@ -310,7 +325,6 @@ class ChatRoomActivity : AppCompatActivity() {
currentNumber = groupModel.currentNumber.toString()
binding.chatTitleTextView.text = groupModel.articleTitle
binding.currentNumberTextView.text = currentNumber

}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,9 @@ class MainActivity : AppCompatActivity(), NavigationView.OnNavigationItemSelecte
override fun onNavigationItemSelected(item: MenuItem): Boolean {
when(item.itemId)
{
R.id.temp -> {
Toast.makeText(applicationContext, "temp", Toast.LENGTH_SHORT).show()
R.id.contact -> {
val intent = Intent(this, ContactActivity::class.java)
startActivity(intent)
}
}
binding.drawerLayout.closeDrawers()
Expand Down
22 changes: 5 additions & 17 deletions app/src/main/java/kr/ac/konkuk/koogle/Activity/ProfileActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ import com.google.firebase.database.DatabaseError
import com.google.firebase.database.ValueEventListener
import com.google.firebase.database.ktx.database
import com.google.firebase.ktx.Firebase
import kr.ac.konkuk.koogle.Adapter.RecommendAdapter
import kr.ac.konkuk.koogle.Adapter.CommentAdapter
import kr.ac.konkuk.koogle.Adapter.TagAdapter
import kr.ac.konkuk.koogle.DBKeys.Companion.DB_USERS
import kr.ac.konkuk.koogle.Model.TagModel
Expand All @@ -33,12 +33,11 @@ import kr.ac.konkuk.koogle.databinding.ActivityProfileBinding

class ProfileActivity : AppCompatActivity() {
private var tag_debug_data: ArrayList<TagModel> = ArrayList()
private var recommend_debug_data: ArrayList<ArrayList<String>> = ArrayList()
lateinit var binding: ActivityProfileBinding
lateinit var tagRecyclerView: RecyclerView
lateinit var recommendRecyclerView: RecyclerView
lateinit var tagAdapter: TagAdapter
lateinit var recommendAdapter: RecommendAdapter
lateinit var commentAdapter: CommentAdapter

//파이어베이스 인증 객체 초기화
private val auth: FirebaseAuth by lazy {
Expand Down Expand Up @@ -117,9 +116,9 @@ class ProfileActivity : AppCompatActivity() {
recommendRecyclerView.layoutManager = LinearLayoutManager(this)
// 구분선 넣기
recommendRecyclerView.addItemDecoration(DividerItemDecoration(tagRecyclerView.context, 1))
recommendAdapter = RecommendAdapter(this, recommend_debug_data)
commentAdapter = CommentAdapter()
// 아이템 클릭 리스터 설정(미구현)
recommendRecyclerView.adapter = recommendAdapter
recommendRecyclerView.adapter = commentAdapter
}

private fun initTagRecyclerView() {
Expand Down Expand Up @@ -197,17 +196,6 @@ class ProfileActivity : AppCompatActivity() {
)
tag_debug_data.add(TagModel("전공", arrayListOf("컴퓨터", "컴퓨터공학"), -1 ,0))

recommend_debug_data.add(
arrayListOf(
"닉네임1", "ㅇㅇㅇ 교환 했었는데 친절하셨습니다 기분좋게" +
"거래했네요! 어쩌고 저쩌고~"
)
)
recommend_debug_data.add(
arrayListOf(
"그린조아", "갑자기 약속 취소하고 잠수타셔서" +
" 시간만 낭비했네요"
)
)

}
}
89 changes: 89 additions & 0 deletions app/src/main/java/kr/ac/konkuk/koogle/Adapter/CommentAdapter.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
package kr.ac.konkuk.koogle.Adapter

import android.annotation.SuppressLint
import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.ListAdapter
import androidx.recyclerview.widget.RecyclerView
import com.bumptech.glide.Glide
import kr.ac.konkuk.koogle.Model.CommentModel
import kr.ac.konkuk.koogle.R
import kr.ac.konkuk.koogle.databinding.ItemCommentBinding
import java.text.SimpleDateFormat
import java.util.*

/*
2021-05-27 주예진 작성
프로필에서 표시되는 후기 목록 Recycler View 의 row adapter
유저 프로필 이미지, 유저네임, 리뷰 내용을 표시
현재 임시로 데이터를 문자열로 받아오게 구현함 수정 필요
*/
//class RecommendAdapter(val context: Context, val items: ArrayList<ArrayList<String>>) :
// RecyclerView.Adapter<RecommendAdapter.ViewHolder>() {
//
// inner class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
// var recommendUserNameView: TextView = itemView.findViewById(R.id.recommendUserNameText)
// var recommendTextView: TextView = itemView.findViewById(R.id.recommendText)
// }
//
// override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecommendAdapter.ViewHolder {
// val view = LayoutInflater.from(context).inflate(R.layout.row_recommend, parent, false)
// return ViewHolder(view)
// }
//
// override fun onBindViewHolder(holder: RecommendAdapter.ViewHolder, position: Int) {
// holder.recommendUserNameView.text = items[position][0]
// holder.recommendTextView.text = items[position][1]
// }
//
// override fun getItemCount(): Int {
// return items.size
// }
//}

class CommentAdapter: ListAdapter<CommentModel, CommentAdapter.ViewHolder>(diffUtil){
inner class ViewHolder(private val binding: ItemCommentBinding): RecyclerView.ViewHolder(binding.root) {

@SuppressLint("SimpleDateFormat")
fun bind(commentModel: CommentModel) {
val format = SimpleDateFormat("MM월 dd일")
val date = Date(commentModel.commentCreatedAt)
//createAt으로 현재 시간을 long타입으로 받아왔는데 그것을 Date타입으로 바꾼다음에
//simpleDateFormat을 통해 포매팅 완성
binding.recommendUserNameTextView.text = commentModel.writerName
binding.recommendCreatedAtTextView.text = format.format(date).toString()
binding.recommendContentTextView.text = commentModel.commentContent

if(commentModel.writerProfileImageUrl.isNotEmpty()){
Glide.with(binding.recommendUserProfileImage)
.load(commentModel.writerProfileImageUrl)
.into(binding.recommendUserProfileImage)
}
else{
binding.recommendUserProfileImage.setImageResource(R.drawable.profile_image)
}
}
}

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
//context는 parent에 있다
return ViewHolder(ItemCommentBinding.inflate(LayoutInflater.from(parent.context),parent,false))
}

override fun onBindViewHolder(holder: ViewHolder, position: Int) {
holder.bind(currentList[position])
}

companion object {
val diffUtil = object : DiffUtil.ItemCallback<CommentModel>() {
override fun areItemsTheSame(oldModel: CommentModel, newModel: CommentModel): Boolean {
return oldModel.commentId == newModel.commentId
}

override fun areContentsTheSame(oldModel: CommentModel, newModel: CommentModel): Boolean {
return oldModel == newModel
}
}
}
}
44 changes: 0 additions & 44 deletions app/src/main/java/kr/ac/konkuk/koogle/Adapter/RecommendAdapter.kt

This file was deleted.

7 changes: 6 additions & 1 deletion app/src/main/java/kr/ac/konkuk/koogle/DBKeys.kt
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,12 @@ class DBKeys {
const val CHAT_CONTENT = "chatContent"
const val CHAT_CREATED_AT = "chatCreatedAt"

//Comment
const val DB_COMMENTS = "Comments"
const val COMMENT_ID = "commentId"
const val COMMENT_CREATED_AT = "commentCreatedAt"
const val COMMENT_CONTENT = "commentContent"

//ViewType
const val LEFT_CHAT = 1 //남들의 채팅(프로필과 이름 내용 모두 보임)
const val RIGHT_CHAT = 2 //내 채팅(내용만 보임)
Expand All @@ -59,6 +65,5 @@ class DBKeys {
const val TAG_INDEX = "index"
const val TAG_TYPE = "tagType"
const val TAG_VALUE = "tagValue"

}
}
5 changes: 3 additions & 2 deletions app/src/main/java/kr/ac/konkuk/koogle/Model/UserModel.kt
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ data class UserModel(
val userEmail: String, //유저 이메일
val userName: String, //유저 이름
val userProfileImageUrl: String, // 유저 프로필 이미지 url
val Groups: GroupModel? //유저가 속한 그룹들 모델
val Groups: GroupModel?, //유저가 속한 그룹들 모델
val Comments: CommentModel? //유저가 받은 평가
) {
constructor() : this("", "", "", "", null)
constructor() : this("", "", "", "", null, null)
}
Loading

0 comments on commit 3141ab2

Please sign in to comment.