From f4027e2cd9c2ac25d6318287a4251ea46016491d Mon Sep 17 00:00:00 2001 From: "v.kopychko" Date: Wed, 11 Feb 2026 15:36:40 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=BC=D0=B0=D1=88=D0=BD=D0=B5?= =?UTF-8?q?=D0=B5=20=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=BF?= =?UTF-8?q?=D0=BE=20RecyclerView=20#2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 8 + .../java/otus/gpb/recyclerview/ChatAdapter.kt | 47 ++++++ .../otus/gpb/recyclerview/ChatDiffCallback.kt | 13 ++ .../java/otus/gpb/recyclerview/ChatItem.kt | 15 ++ .../otus/gpb/recyclerview/ChatViewHolder.kt | 6 + .../otus/gpb/recyclerview/MainActivity.kt | 117 +++++++++++++- app/src/main/res/drawable/avatar_1.png | Bin 0 -> 8263 bytes app/src/main/res/drawable/avatar_2.png | Bin 0 -> 8021 bytes app/src/main/res/drawable/avatar_3.png | Bin 0 -> 8851 bytes app/src/main/res/drawable/avatar_4.png | Bin 0 -> 3983 bytes app/src/main/res/drawable/avatar_5.png | Bin 0 -> 5114 bytes app/src/main/res/drawable/check_icon.png | Bin 0 -> 357 bytes app/src/main/res/drawable/counter.png | Bin 0 -> 780 bytes app/src/main/res/drawable/mute_icon.png | Bin 0 -> 376 bytes app/src/main/res/drawable/read_icon.png | Bin 0 -> 419 bytes app/src/main/res/drawable/scam_patch.png | Bin 0 -> 815 bytes app/src/main/res/drawable/verified_icon.png | Bin 0 -> 413 bytes app/src/main/res/layout/activity_main.xml | 6 +- app/src/main/res/layout/chat_item.xml | 150 ++++++++++++++++++ 19 files changed, 360 insertions(+), 2 deletions(-) create mode 100644 app/src/main/java/otus/gpb/recyclerview/ChatAdapter.kt create mode 100644 app/src/main/java/otus/gpb/recyclerview/ChatDiffCallback.kt create mode 100644 app/src/main/java/otus/gpb/recyclerview/ChatItem.kt create mode 100644 app/src/main/java/otus/gpb/recyclerview/ChatViewHolder.kt create mode 100644 app/src/main/res/drawable/avatar_1.png create mode 100644 app/src/main/res/drawable/avatar_2.png create mode 100644 app/src/main/res/drawable/avatar_3.png create mode 100644 app/src/main/res/drawable/avatar_4.png create mode 100644 app/src/main/res/drawable/avatar_5.png create mode 100644 app/src/main/res/drawable/check_icon.png create mode 100644 app/src/main/res/drawable/counter.png create mode 100644 app/src/main/res/drawable/mute_icon.png create mode 100644 app/src/main/res/drawable/read_icon.png create mode 100644 app/src/main/res/drawable/scam_patch.png create mode 100644 app/src/main/res/drawable/verified_icon.png create mode 100644 app/src/main/res/layout/chat_item.xml diff --git a/app/build.gradle b/app/build.gradle index 54e4eac..3302ed5 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -30,6 +30,12 @@ android { kotlinOptions { jvmTarget = '1.8' } + buildFeatures { + viewBinding = true + } + dataBinding { + enabled = true + } } dependencies { @@ -41,4 +47,6 @@ dependencies { testImplementation 'junit:junit:4.13.2' androidTestImplementation 'androidx.test.ext:junit:1.1.3' androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' + implementation 'androidx.databinding:databinding-runtime:8.10.0' + implementation 'it.xabaras.android:recyclerview-swipedecorator:1.4' } \ No newline at end of file diff --git a/app/src/main/java/otus/gpb/recyclerview/ChatAdapter.kt b/app/src/main/java/otus/gpb/recyclerview/ChatAdapter.kt new file mode 100644 index 0000000..a5c91aa --- /dev/null +++ b/app/src/main/java/otus/gpb/recyclerview/ChatAdapter.kt @@ -0,0 +1,47 @@ +package otus.gpb.recyclerview + +import android.content.res.ColorStateList +import android.graphics.Color +import android.view.LayoutInflater +import android.view.ViewGroup +import androidx.recyclerview.widget.ListAdapter +import otus.gpb.recyclerview.databinding.ChatItemBinding +import android.view.View.INVISIBLE +import android.view.View.VISIBLE +import kotlin.random.Random + +class ChatAdapter: ListAdapter(ChatDiffCallback()) { + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ChatViewHolder { + val binding = ChatItemBinding.inflate(LayoutInflater.from(parent.context), parent, false) + return ChatViewHolder(binding) + } + + override fun onBindViewHolder(holder: ChatViewHolder, position: Int) { + val chatItem = getItem(position) + val binding = holder.binding + + when (chatItem.id % 5) { + 0-> binding.imageAvatar.setImageResource(R.drawable.avatar_1) + 1-> binding.imageAvatar.setImageResource(R.drawable.avatar_2) + 2-> binding.imageAvatar.setImageResource(R.drawable.avatar_3) + 3-> binding.imageAvatar.setImageResource(R.drawable.avatar_4) + 4-> binding.imageAvatar.setImageResource(R.drawable.avatar_5) + else -> binding.imageAvatar.setImageResource(R.drawable.avatar_1) + } + + binding.title.setText(chatItem.title) + binding.author.setText(chatItem.author) + binding.message.setText(chatItem.message) + if (chatItem.author == "...typing") binding.message.visibility = INVISIBLE + binding.verifiedIcon.visibility = if (chatItem.verifiedIcon) VISIBLE else INVISIBLE + binding.muteIcon.visibility = if (chatItem.muteIcon) VISIBLE else INVISIBLE + binding.scamPatch.visibility = if (chatItem.scamPatch) VISIBLE else INVISIBLE + binding.counter.visibility = if (chatItem.counter > 0) VISIBLE else INVISIBLE + binding.counter.text = if (binding.counter.visibility == VISIBLE) chatItem.counter.toString() else "" + if (Random.nextBoolean()) binding.counter.backgroundTintList = ColorStateList.valueOf(Color.parseColor("#C5C9CC")) + binding.checkIcon.visibility = if (chatItem.check && !chatItem.read) VISIBLE else INVISIBLE + binding.readIcon.visibility = if (!chatItem.check && chatItem.read) VISIBLE else INVISIBLE + binding.time.setText(chatItem.time) + } + } diff --git a/app/src/main/java/otus/gpb/recyclerview/ChatDiffCallback.kt b/app/src/main/java/otus/gpb/recyclerview/ChatDiffCallback.kt new file mode 100644 index 0000000..2721371 --- /dev/null +++ b/app/src/main/java/otus/gpb/recyclerview/ChatDiffCallback.kt @@ -0,0 +1,13 @@ +package otus.gpb.recyclerview + +import androidx.recyclerview.widget.DiffUtil + +class ChatDiffCallback: DiffUtil.ItemCallback() { + override fun areItemsTheSame(oldItem: ChatItem, newItem: ChatItem): Boolean { + return oldItem.id == newItem.id + } + + override fun areContentsTheSame(oldItem: ChatItem, newItem: ChatItem): Boolean { + return oldItem == newItem + } +} diff --git a/app/src/main/java/otus/gpb/recyclerview/ChatItem.kt b/app/src/main/java/otus/gpb/recyclerview/ChatItem.kt new file mode 100644 index 0000000..6f54af9 --- /dev/null +++ b/app/src/main/java/otus/gpb/recyclerview/ChatItem.kt @@ -0,0 +1,15 @@ +package otus.gpb.recyclerview + +data class ChatItem ( + val id: Int, + val title: String, + val author: String, + val message: String, + val verifiedIcon: Boolean, + val muteIcon: Boolean, + val scamPatch: Boolean, + val counter: Int, + val check: Boolean, + val read: Boolean, + val time: String, +) diff --git a/app/src/main/java/otus/gpb/recyclerview/ChatViewHolder.kt b/app/src/main/java/otus/gpb/recyclerview/ChatViewHolder.kt new file mode 100644 index 0000000..23c42b3 --- /dev/null +++ b/app/src/main/java/otus/gpb/recyclerview/ChatViewHolder.kt @@ -0,0 +1,6 @@ +package otus.gpb.recyclerview + +import androidx.recyclerview.widget.RecyclerView.ViewHolder +import otus.gpb.recyclerview.databinding.ChatItemBinding + +class ChatViewHolder(val binding: ChatItemBinding): ViewHolder(binding.root) diff --git a/app/src/main/java/otus/gpb/recyclerview/MainActivity.kt b/app/src/main/java/otus/gpb/recyclerview/MainActivity.kt index e2cdca7..2fabfba 100644 --- a/app/src/main/java/otus/gpb/recyclerview/MainActivity.kt +++ b/app/src/main/java/otus/gpb/recyclerview/MainActivity.kt @@ -2,11 +2,126 @@ package otus.gpb.recyclerview import androidx.appcompat.app.AppCompatActivity import android.os.Bundle +import otus.gpb.recyclerview.databinding.ActivityMainBinding +import androidx.recyclerview.widget.ItemTouchHelper +import androidx.recyclerview.widget.RecyclerView +import it.xabaras.android.recyclerview.swipedecorator.RecyclerViewSwipeDecorator +import android.graphics.Canvas +import androidx.recyclerview.widget.LinearLayoutManager +import kotlin.random.Random class MainActivity : AppCompatActivity() { + private val binding: ActivityMainBinding by lazy { + ActivityMainBinding.inflate(layoutInflater) + } + private var chatList: MutableList = mutableListOf() + private lateinit var adapter: ChatAdapter + var id = 0 + var previousItemsCount = 0 + private var pageLoad = false override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) - setContentView(R.layout.activity_main) + setContentView(binding.root) + adapter = ChatAdapter() + binding.recyclerView.adapter = adapter + + val itemTouchHelper = ItemTouchHelper(object : ItemTouchHelper.SimpleCallback( + 0, ItemTouchHelper.LEFT or ItemTouchHelper.RIGHT + ) { + override fun onMove( + recyclerView: RecyclerView, + viewHolder: RecyclerView.ViewHolder, + target: RecyclerView.ViewHolder + ): Boolean { + return false + } + + override fun onSwiped(viewHolder: RecyclerView.ViewHolder, direction: Int) { + val position = viewHolder.adapterPosition + when(direction){ + ItemTouchHelper.LEFT -> { + removeItem(position) + } + ItemTouchHelper.RIGHT -> { + removeItem(position) + } + } + } + + override fun onChildDraw( + c: Canvas, + recyclerView: RecyclerView, + viewHolder: RecyclerView.ViewHolder, + dX: Float, + dY: Float, + actionState: Int, + isCurrentlyActive: Boolean + ) { + RecyclerViewSwipeDecorator.Builder( + c, + recyclerView, + viewHolder, + dX, + dY, + actionState, + isCurrentlyActive + ).create().decorate() + super.onChildDraw(c, recyclerView, viewHolder, dX, dY, actionState, isCurrentlyActive) + } + }) + itemTouchHelper.attachToRecyclerView(binding.recyclerView) + createItems(100) + setScrollListener() + } + + private fun setScrollListener(){ + binding.recyclerView.addOnScrollListener(object : RecyclerView.OnScrollListener() { + + override fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int) { + super.onScrolled(recyclerView, dx, dy) + val layoutManager = recyclerView.layoutManager as LinearLayoutManager + val itemsCount = layoutManager.itemCount + val lastVisibleItem = layoutManager.findLastCompletelyVisibleItemPosition() + if (pageLoad && itemsCount > previousItemsCount) { + pageLoad = false + previousItemsCount = itemsCount + } + if (!pageLoad && lastVisibleItem >= itemsCount - 5) { + getNextPage() + } + } + }) + } + + + private fun getNextPage() { + pageLoad = true + createItems(100) + } + + private fun removeItem(position: Int){ + val item = adapter.currentList[position] + chatList.apply { + remove(item) + } + adapter.notifyItemRemoved(position) + } + + private fun createItems(size: Int){ + val title = arrayOf("Dima Murantsev" , "SnejUgal News","Catbird","just design", "R4IN80W", "Yes. No") + val author = arrayOf("Nikolay", "Anno", "You", "...typing"," ") + val message = arrayOf("you are welcome :)", "F", "I want pizza", "du biest mein sonnechein", "I see all :))", "That`s better") + for (i in 1..size) { + chatList.add( + ChatItem(id++,title[Random.nextInt(title.size)],author[Random.nextInt(author.size)],message[Random.nextInt(author.size)], + Random.nextBoolean(), Random.nextBoolean(), Random.nextBoolean(), Random.nextInt(100), + Random.nextBoolean(),Random.nextBoolean(), + Random.nextInt(24).toString() + ":" + (Random.nextInt(60).toString().padStart(2, '0')) + ) + ) + } + adapter.submitList(chatList) + adapter.notifyDataSetChanged() } } \ No newline at end of file diff --git a/app/src/main/res/drawable/avatar_1.png b/app/src/main/res/drawable/avatar_1.png new file mode 100644 index 0000000000000000000000000000000000000000..078d44f9711070e7c88eb2aadc1716b09b51929b GIT binary patch literal 8263 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 FV1m{k1wQ}) literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/avatar_2.png b/app/src/main/res/drawable/avatar_2.png new file mode 100644 index 0000000000000000000000000000000000000000..ba2eebd53a02d58e95e1f79567327820d5097d4c GIT binary patch literal 8021 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 VA(!6w^uYiC002ovPDHLkV1lA5-+KT6 literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/avatar_4.png b/app/src/main/res/drawable/avatar_4.png new file mode 100644 index 0000000000000000000000000000000000000000..da371d66604d45741da3bc4d809025c317a26070 GIT binary patch literal 3983 zcmV;A4{-2_P)6;})k_nrLR0I7gN&EN%f* z)Zs@_r%urn{77_}qsz9qEN;{|NA@KzCHcMZE6%)-$)_1lw@~mG*~H*h%}hq(rN~Cn(A68282k zHDc~FwmmvJ+R@h5RKan!;CLqQcxAAiK<@HE3gkhiJ(;Dk(L6|UKDqg3$S!YeTBz?l z=BvV*(yk|--n$mZ*(NN}t``S3kfT_8{1Te@m;}z4NF-_RN$gAlme&fiaSWtdQ_hQ?sc};_p}${ zus|qPc{FY#Rqn&d0F@w7D($4jn~S6&8z&;PdQJqSNVc_rG{_hw35dQ(f=H;+C8>Ea z%`4MYY}U0Bm2(1l#n8j6V&$>Gj&GynbRQFS zFuLQ$wzD^4B0x=?+@*6<<}4@*GnpcA<9SyN(gz+Om9|tz>2!qAV{X+}rjJfI;>mL! zZG9tRbotF~ODb7hdDSh28#Kri2nv${;i;>RiOiGUcnq-XD#s%ML5C4ZkaTWLz(`Zy zOF&wBkTogQ>T6K$L_za_%DffEE`30G;^A&9iDJxAN&lX1CZ%&26mVmINY|C1V`GTY zquUs2>EVVcLCzesw$N3}!=1ZZFdk4M_3p8xkas*;=aSC%J+7;=`r*(J7BOje3}O0! zA&6i@`Fwxku2s+0E`ofF7tC1w=$Po?rl1vlttdyB|-*Q@!F2OQp zGyn+$;$%;zwqbJ20F?JaWEf8mbDnBX%&pxgjBVWV=tLgk+&l^8Sug9 z?Jf;F9Fr$cMNMsp{qOHZi98Eu2859&SA5WMLds;p!Y1_h^&*N!6{{>b*;h?p?Cd0s z+&3?2*MU4bVynx3JlECRTnd9-DF9~j&O8v{Sl$(wI;{?Weq#r=Y`z053{%x&>9+Dx zdRHki&Z|UNfFIuR6c(Pf1S2CuiC48DW;`!1ZFrQxhQc^47AR(qifHAUo0fLVIZAcI zFl=}2DLqyAHkk#N-b*(Qh{OZ$@4@B`w_x_1`KXyxgWB4usGU+r{dD?FqfedsNU2Yu zd*zxs%$;=x?z;OMsPbX0wq{d-ti$oWy_^uqY>De*5>wLAd2^YCiDNBkj_?-YNG2;u zpObm-D#y#^$*8X<5OoaC{p=pho&Pz^p0xn$fBG5*hdHWPgr_vuz4NC{RnKJv&v&Qd_>WY7#(J_TU{PJZh(`Z}p* z3U>Z(8y1mzT4Gm{t@#inbWtUx# zZO{Ll?DSvg@9!l$oq@q4wTZ1Uk%o+_v@QBRvtcp@`uh-sOfduw9cg%xBeCw~{xZlq zzQpPoGY=*SztDm#(Vb;3$P}RNvo`56LAK$+0gQ|eVd&^#Ty<4DrcH0aii=}x$drmo=P@)ifCC5i5ZI4!-Z@_;uREO36S|VLstlbpxOB6O zkVIJS~@8gFpVE3-7-B4l4WJ(HuAH zuz~{zs0zKKPPzl4E-!x_eMxCeD)(o$bAnNVZ|SrQ6y#+VDjOLh?*m=$Xi zZ!B$5s^*a+hj9B3p2A=M@(T9tc}K=C?e<~f99W8iKuWt_wCH>+{lX>aANbfgYubJD zbfir?9%i&97jKz`3Z@D znwnZnoiY_+xdFd?>`sb-H(=zb%xrY2gqZ*;wPae|EG#+qD>(S!UJ5JPzs6P@9Lc55 zh@6kKW8r2<>1jtZg(YcakxJWE%ImiuL;cN)rR;(ID) zYEBag%n(F>hDV1{H+2R!Zu%2?`wk}d>S_oK@%DhOPa_#RxIWqB9jO1^;h8dpzAUgj zxYQ~5gETTag5?)}4Y#yEKxy3!%$U`HY4r`5G4nLKJ`MG4sX841|E#HE9Niik9K_Od zF2(X?E6E?l3E4b3gUZ513IF`hn|SEnTXE>{epIVbQoAj|oMs>#-w?r7y<)n?9&^HA z1$qzBLz5bjE}1;2Z7fDs4b15(4b;-nM8hE3O|3^y)^$Fi4%TIo_Bo5s!%!2`(U7C4JD2WnN`CjB6(7kjdTm;D?_GrZ| z5lG{IWNbt_9d*#APnA9)aiXqnI$nA8VSM+di!f)-Ld=>q2iIP^1aJ4eMtSaZq;Jr& zd9_2duwhS+1;R2R>m>c>$>YDJ=X3NFfwb2pQ%=?n$Sp3X=SBIiWag++htS+qSq-t} zgOA?B^Utow?1qK-_|OOFJA44A&z+A4H{VWW&QWJS6cP)#_k!N;;@6)vbV1 zwC*l)JX(Tjp~|WwGm;YqkgdD&0!GQPfKD!lKio%BouwrA<8?3N&bywcbgv&%rqO41_#?RM4!~K8*;WT)11NTY z3p1wXN_7hY9hB&D;hBrDV15%ht*VlCD0M)HVhJYFOQjt+8PIs)L|rpc>F8Kq(GrC^ zO6~BuqP?F0yw`V$B+X>&kQnkM$z*XawdKm&%3>C$Kp3dB!k9%yk}%_e;|T2jfxtMD zbWDr0Zo9JvD#UgxO*=O*t5`MR++~%OuCKzv1!!zHC5fqjwY6m`olFLcB_aCUYEwNo zH27vD3hfX8ifq~fj#+h+2lU&m^STL1w^dnTJt)#@oUWdWf_j=2fz%ZUojvh&$h6#X|H)_G+er_!Fo%;$Q5|k4 zvMjU_|Jvrsp8tS8f98l4Hlk#z2}s|Ort1j!nUj6nCbq9#bK#X4Sozn65u!GFzK;u+ zYuv=L)QfTtToFiHd9bhWMM98vbbc}*Z$~PL&Yy){b!JYeNoFOC5q%2Bau~+u|R4uD@SWC+-n(sSU?y;{ugGQsR+V zDLt7(fxo#xZcM!m)9*ffViWKdNVb@z<78}4_HfnRs;N^;3eYX0(n?C)PwtmvZhNfr zzZ)qKx99CEPCRBJd2>@0(WHBDJ1~P zQ5lfT0f~%rNmO5m0zfH~cm{N8lj^dME<26~q-+zGsBN8{dm8Dz*apf!R#_*(8MoD~ zBqYh7yxCJs0tEUXki@;@T}%p!8}$ayXpM$Tsv5P86+%uaP}?4TboXk(g1cegts0wj zW3N|DHz1Tcb4@nPTwC-i@&P7UsSq>UI@Vm+jT3Aq4AeIH>klT#cFm6?$Fi{^JB;Lk z!8k1DyyG;pBUR%fI+^dij zcTmc){bVGVZKn*V+a7#yccTcZ%_Qj-+F}{iZt6(`8wrZ}e=iDDA6aW3NwtU6doP`? pdQcwj?zs8*?eDYpS^Gb3{{!q|?$`_y>@ENR002ovPDHLkV1m$%hrj>; literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/avatar_5.png b/app/src/main/res/drawable/avatar_5.png new file mode 100644 index 0000000000000000000000000000000000000000..f7937e8135e9b68b3fc82cbef9129d2a255332d5 GIT binary patch literal 5114 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 c_W!y4H=|JtUw}5xzyJUM literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/check_icon.png b/app/src/main/res/drawable/check_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f2fc178ead4f253b315d566c991fa367a176b046 GIT binary patch literal 357 zcmeAS@N?(olHy`uVBq!ia0vp^B0wz6!3HEJ^yqE{Qk(@Ik;M!Q+`=Ht$S`Y;1W=H% zILO_JVcj{Imp~3nx}&cn1H;CC?mvmFK>jaJ7srqa#>0C zGIeT$vWksJ0gIo*PDXPE5zfX38tW|Lm{gbo4>C?rxRJPx(^K>5T902d@4k6c_t{_U z!1Hi{eJqvR+zoy#bNETF3`>dn)5@!n z|1}nRUn@CnCzSSk50wT#n#JCdvWJU15@fN%{>P`PnQkqT>8M$ zTyKrp2R6p_hwm2H`#woNal+8pEpsR9{QpmxnmHr$d(#EAfT6(P>FVdQ&MBb@03sxV A=Kufz literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/counter.png b/app/src/main/res/drawable/counter.png new file mode 100644 index 0000000000000000000000000000000000000000..7027076b7cc4435f5ffe8b0e88e14750e5e15913 GIT binary patch literal 780 zcmV+n1M~ceP)CNWURqRkRf`A({vQOQ12)6~GSE9q0-SD^OQ}?m$+ci9u2YZ8Rn(h&C|> zgMv+K+my8Py!W-!w9?K@tc8=bGw(C^-0!_f0^EVK$hOce};f~xG*o_eYeeqZooP@ z*fv+K)=(;yn(NU>2-R8*#bOzigNmCtG?F-7cl<;SgUgm^Ub^W${UwS5mxqt z2RZRB8B$Mlw_A@%=$6v^3Hn8fo zD>gcci3{hI0>NMap+KM+=UpnfAdPvR*Q1e$n)8GZ8DDkILMJE2VVVPKoG%nq*|E#n z(u?D9M8o0c8rOfNa^NOX)p`ARO>caGkM?Pr^^)rpXM8N zn~kG)WI3lgT_jz53YVdPBt^8V!e=<>mYWlNYD%oyQa*LNz5W3aWFYqbe?_kV0000< KMNUMnLSTXcXJlgl literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/mute_icon.png b/app/src/main/res/drawable/mute_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..5da82442511152fafa2250098878b47045e36585 GIT binary patch literal 376 zcmV-;0f+vHP)p<6>)q4Hd`ily&&&gOoUIb6 zW#Ju-cUl?+6i?vQah-SebA{NBWQ4wkOC94xBnFWzh-8EdrFEge379VtiEiA`s(6EY z6j>L45ednrZc~sk`>PNTQ4%fk9`eALel61=+raxE$h_1|vIWtB$+M2hw;iiYma`!9 zt#)x}_j-=~ZK$I}HAi-LA~GxGRJt_7@#|KQvE%Dy=Ntb;jf|4AjHG#V%tYZa;cGn$nN%XKreK>^rtyIAU$ci`NGMF`qTH z)6r3@(VTyioxZgW2pZ_BC

B9SFzW$*>Nh9r1(HFO^7ia3pf#pu`R> z`GPB&(`rst>9F6=zcLGDU?9Av1F5jejNj`Z|3t01oKLm3_z`#7Qoq69kxe>wL=gZ0 N002ovPDHLkV1i{Nt2+Py literal 0 HcmV?d00001 diff --git a/app/src/main/res/drawable/scam_patch.png b/app/src/main/res/drawable/scam_patch.png new file mode 100644 index 0000000000000000000000000000000000000000..fe611469d2c9b5e060d3603ab37a5f3cfdefb08a GIT binary patch literal 815 zcmV+~1JL}5P)nu~K~#7F)mA}n z+CUWjV+X^M?%FhJ$O*~~;!5C1*%VFyoFL=`Bqty@NOFS0E&`-DCn!Auq@~a$-9)0; zGkwp&2qNJ`$|gL?GBf{s=K1~i$EaV0f@@pWr5H1mH;&Mla~T(lx3VP|d)~m3ErNmz zwu&&ZlN21dZZ_jMC-Aqcl$r*{wD-E*t2jRKyoM6V8)LGe$n|QB`005iN96E*r*j(5 zjf%y*EpmeVyQle+V)2sq58ZBU6Q@Ll(~k39i|tYkDA7O}t575NvD2yU z_IelEw(|_n=kr#airCq1r}HizlK^h*Q0r5yQCU@!z{_4^bLK?W1KASh+VTt%3D4&9 zvVJUg1NIo8p6~ZTxCJ|W!*S!IakA)m7oW#6l^+!f=aywP|9IYK=7Urz5GkV} zb0mPKEW_7Jk7KP0)x@dd$8)nFxPsN#sO^KBn<2!J=a6U#SfOmf@HA2h#}^vt%clhi zoDLTp4%P)F9faY%=kfXbm6K!XvTon0fe`pFQjZx>8?pMA1(m zNAt_=<4JznxIZZXd55sNooJ>KRd$1*>(R6?kWxNl*d_y6hh}A}rkNLH818MxP`upH z5ZDw8Ge&|z0AwDwLH>ZpKzQjSe)fXIsGRc0@+e%$;_hN6WaZy-K@6Cz#)yz;<{kn) z8Q{tTvDsp8Mbh()W6q~%fEqu<`eWY@a(Z6Fj29wmK$dgez=oVX@&zwdYu3HD{Jai= ztWx!Pg48Z|g; + android:layout_height="match_parent" + app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" + tools:listitem="@layout/chat_item" /> \ No newline at end of file diff --git a/app/src/main/res/layout/chat_item.xml b/app/src/main/res/layout/chat_item.xml new file mode 100644 index 0000000..dd9f930 --- /dev/null +++ b/app/src/main/res/layout/chat_item.xml @@ -0,0 +1,150 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file