Skip to content

Commit

Permalink
Merge pull request #54 from N1CK145/chat
Browse files Browse the repository at this point in the history
Added some usefull stuff
  • Loading branch information
leto authored Nov 25, 2019
2 parents 6af0c33 + fb7d69f commit 09da932
Show file tree
Hide file tree
Showing 13 changed files with 121 additions and 81 deletions.
7 changes: 0 additions & 7 deletions app/src/main/java/org/myhush/silentdragon/Addressbook.kt

This file was deleted.

2 changes: 2 additions & 0 deletions app/src/main/java/org/myhush/silentdragon/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package org.myhush.silentdragon

import android.annotation.SuppressLint
import android.app.Activity
import android.app.AlertDialog
import android.content.*
import android.net.Uri
import android.os.Bundle
Expand Down Expand Up @@ -105,6 +106,7 @@ class MainActivity : AppCompatActivity(),
}

loadSharedPref()

updateUI(false)
}

Expand Down
27 changes: 27 additions & 0 deletions app/src/main/java/org/myhush/silentdragon/chat/Addressbook.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package org.myhush.silentdragon.chat

object Addressbook {
class Contact {
var addressList: ArrayList<String> = ArrayList()
val messageList: ArrayList<Message> = ArrayList()
var fullname = ""
var nickname = ""

constructor(fullname: String, nickname: String){
this.fullname = fullname
this.nickname = nickname
}
constructor(fullname: String, nickname: String, address: String){
this.fullname = fullname
this.nickname = nickname
this.addressList.add(address)
}
constructor(fullname: String, nickname: String, addressList: ArrayList<String>){
this.fullname = fullname
this.nickname = nickname
this.addressList = addressList
}
}

val contactList = ArrayList<Contact>()
}
30 changes: 16 additions & 14 deletions app/src/main/java/org/myhush/silentdragon/chat/ChatActivity.kt
Original file line number Diff line number Diff line change
@@ -1,32 +1,33 @@
package org.myhush.silentdragon.chat

import android.app.AlertDialog
import android.content.Intent
import android.os.Bundle
import android.support.v4.app.FragmentTransaction
import android.support.v7.app.AppCompatActivity
import android.text.InputType
import android.view.Menu
import android.view.MenuItem
import android.widget.EditText
import kotlinx.android.synthetic.main.activity_chat.*
import org.myhush.silentdragon.MainActivity
import org.myhush.silentdragon.R
import org.myhush.silentdragon.ReceiveActivity
import org.myhush.silentdragon.SendActivity
import org.myhush.silentdragon.*

class ChatActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_chat)

initListener()
restoreSoonChats() // TODO: @N1CK145
restoreLastChats()
}

private fun restoreSoonChats() {
addChat("Nil", "Armstrong")
private fun restoreLastChats() {
DataModel.transactions?.forEach { tx ->
if (!tx.memo.isNullOrEmpty()){
// ADD CHAT BY ADDRESS
}
}

Addressbook.contactList.forEach {
addChat(it)
}
}

private fun initListener(){
Expand Down Expand Up @@ -55,12 +56,13 @@ class ChatActivity : AppCompatActivity() {
}
}

private fun addChat(firstName: String, lastName: String){
private fun addChat(contact: Addressbook.Contact){
val fragment = ChatItemFragment()
val fragTx: FragmentTransaction = supportFragmentManager.beginTransaction()

fragment.firstName = firstName
fragment.lastName = lastName
fragment.fullname = contact.fullname
fragment.nickname = contact.nickname
fragment.lastMessage = contact.addressList[0]

fragTx.add(R.id.ChatTable, fragment)
fragTx.commit()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,12 @@ import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import org.myhush.silentdragon.DataModel
import org.myhush.silentdragon.R

class ChatItemFragment : Fragment() {
var firstName: String = ""
var lastName: String = ""
var lastMessage: String = "No messages..."
var fullname: String = ""
var nickname: String = ""
var lastMessage: String = ""
var v: View? = null

override fun onCreateView (inflater: LayoutInflater, container: ViewGroup?,
Expand All @@ -29,14 +28,14 @@ class ChatItemFragment : Fragment() {
v?.setOnClickListener {
val intent = Intent(activity, ConversationActivity::class.java)

intent.putExtra("displayName", "$firstName $lastName") // Send some information
intent.putExtra("displayName", "$fullname $nickname") // Send some information

startActivity(intent)
}
}

fun updateData(){
v!!.findViewById<TextView>(R.id.textViewContactName).text = "$firstName $lastName"
v!!.findViewById<TextView>(R.id.textViewContactName).text = "$fullname $nickname"
v!!.findViewById<TextView>(R.id.textViewLastMessage).text = lastMessage
}

Expand Down
Original file line number Diff line number Diff line change
@@ -1,21 +1,15 @@
package org.myhush.silentdragon.chat

import android.content.Context
import android.support.v7.app.AppCompatActivity
import android.os.Bundle
import android.support.v4.app.FragmentTransaction
import android.util.AttributeSet
import android.view.View
import android.view.Window
import android.widget.TextView
import kotlinx.android.synthetic.main.fragment_conversation_item_send.*
import org.myhush.silentdragon.R
import org.myhush.silentdragon.conversation_item_recive
import org.myhush.silentdragon.conversation_item_send

class ConversationActivity : AppCompatActivity() {
var displayName = ""
var messages = HashMap<Boolean, String>()
var contact: Addressbook.Contact? = null

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Expand All @@ -26,27 +20,27 @@ class ConversationActivity : AppCompatActivity() {
restoreChat()
}

private fun restoreChat(){
//addMessage("Lorem Ipsum", true)
//addMessage("Lorem Ipsum", true)
//addMessage("Lorem Ipsum", false)
//addMessage("Lorem Ipsum", true)
private fun restoreChat() {
contact?.messageList?.forEach {
attachMessage(it)
}
}



fun addMessage(message: String, recived: Boolean){
fun attachMessage(message: Message){
val fragTx: FragmentTransaction = supportFragmentManager.beginTransaction()

if(recived){
val fragment = conversation_item_recive()
fragment.message.text = message
fragTx.add(R.id.MessageList, fragment)

}else{
val fragment = conversation_item_send()
fragment.message.text = message
fragTx.add(R.id.MessageList, fragment)
when (message.messageType){
MessageType.SEND -> {
val fragment = conversation_item_send()
fragment.msg = message
fragTx.add(R.id.MessageList, fragment)
}

MessageType.RECIEVE -> {
val fragment = conversation_item_recive()
fragment.msg = message
fragTx.add(R.id.MessageList, fragment)
}
}
fragTx.commit()
}
Expand Down
22 changes: 22 additions & 0 deletions app/src/main/java/org/myhush/silentdragon/chat/Message.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package org.myhush.silentdragon.chat

import org.myhush.silentdragon.DataModel

class Message {
var memo = ""
var fromAddress = ""
var toAddress = ""
var messageType = MessageType.SEND
var dateTime: Long = 0
var txID = ""
var txHeight: Int = -1

constructor(fromAddress: String, tx: DataModel.TransactionItem){
this.memo = tx.memo.toString()
this.txID = tx.txid.toString()
this.dateTime = tx.datetime
this.toAddress = tx.addr
this.fromAddress = fromAddress
}

}
6 changes: 6 additions & 0 deletions app/src/main/java/org/myhush/silentdragon/chat/MessageType.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package org.myhush.silentdragon.chat

enum class MessageType {
SEND,
RECIEVE
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,18 @@ import android.support.v4.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import org.myhush.silentdragon.chat.Message

class conversation_item_recive : Fragment() {
var msg: Message? = null

override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
// Inflate the layout for this fragment
var v: View = inflater.inflate(R.layout.fragment_conversation_item_recive, container, false)

v.findViewById<TextView>(R.id.message).text = msg?.memo
return v
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,17 @@ import android.support.v4.app.Fragment
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import org.myhush.silentdragon.chat.Message

class conversation_item_send : Fragment() {
var msg: Message? = null

override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
// Inflate the layout for this fragment
var v: View = inflater.inflate(R.layout.fragment_conversation_item_send, container, false)
v.findViewById<TextView>(R.id.message).text = msg?.memo
return v
}
}
31 changes: 1 addition & 30 deletions app/src/main/res/layout/activity_conversation.xml
Original file line number Diff line number Diff line change
Expand Up @@ -54,36 +54,7 @@
android:id="@+id/MessageList"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">

<fragment
android:id="@+id/fragment3"
android:name="org.myhush.silentdragon.conversation_item_recive"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:layout="@layout/fragment_conversation_item_recive" />

<fragment
android:id="@+id/fragment4"
android:name="org.myhush.silentdragon.conversation_item_send"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:layout="@layout/fragment_conversation_item_send" />

<fragment
android:id="@+id/fragment2"
android:name="org.myhush.silentdragon.conversation_item_recive"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:layout="@layout/fragment_conversation_item_recive" />

<fragment
android:id="@+id/fragment"
android:name="org.myhush.silentdragon.conversation_item_send"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:layout="@layout/fragment_conversation_item_send" />
</LinearLayout>
android:orientation="vertical"/>
</ScrollView>

<android.support.constraint.ConstraintLayout
Expand Down
14 changes: 14 additions & 0 deletions app/src/main/res/layout/fragment_conversation_item_recive.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,15 +7,29 @@
tools:context=".conversation_item_send" >

<TextView
android:id="@+id/message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="9dp"
android:layout_marginTop="10dp"
android:background="@drawable/chat_background_recive"
android:maxWidth="260sp"
android:minWidth="80sp"
android:padding="10sp"
android:text="Lorem ipsum dolor sit amet, consetetur sadipscing elitr"
android:textColor="@color/message_text"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />

<TextView
android:id="@+id/time2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="10sp"
android:layout_marginBottom="5dp"
android:text="10:15 AM"
android:textColor="@color/message_text"
android:textSize="12sp"
app:layout_constraintBottom_toBottomOf="@+id/message"
app:layout_constraintEnd_toEndOf="@+id/message" />
</android.support.constraint.ConstraintLayout>
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
android:layout_marginEnd="9dp"
android:background="@drawable/chat_background_send"
android:maxWidth="260sp"
android:minWidth="80sp"
android:paddingLeft="10sp"
android:paddingTop="10sp"
android:paddingRight="5sp"
Expand Down

0 comments on commit 09da932

Please sign in to comment.