Browse Source

You can add Messages and chats now

chat
N1CK145 5 years ago
parent
commit
bd0e7486dc
  1. 2
      app/src/main/java/org/myhush/silentdragon/MainActivity.kt
  2. 3
      app/src/main/java/org/myhush/silentdragon/chat/Addressbook.kt
  3. 27
      app/src/main/java/org/myhush/silentdragon/chat/ChatActivity.kt
  4. 2
      app/src/main/java/org/myhush/silentdragon/chat/ChatItemFragment.kt
  5. 27
      app/src/main/java/org/myhush/silentdragon/chat/ConversationActivity.kt
  6. 7
      app/src/main/java/org/myhush/silentdragon/chat/Message.kt
  7. 2
      app/src/main/java/org/myhush/silentdragon/chat/MessageType.kt
  8. 5
      app/src/main/java/org/myhush/silentdragon/conversation_item_recive.kt
  9. 4
      app/src/main/java/org/myhush/silentdragon/conversation_item_send.kt
  10. 31
      app/src/main/res/layout/activity_conversation.xml
  11. 14
      app/src/main/res/layout/fragment_conversation_item_recive.xml
  12. 1
      app/src/main/res/layout/fragment_conversation_item_send.xml

2
app/src/main/java/org/myhush/silentdragon/MainActivity.kt

@ -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
@ -105,6 +106,7 @@ class MainActivity : AppCompatActivity(),
}
loadSharedPref()
updateUI(false)
}

3
app/src/main/java/org/myhush/silentdragon/Addressbook.kt → app/src/main/java/org/myhush/silentdragon/chat/Addressbook.kt

@ -1,8 +1,9 @@
package org.myhush.silentdragon
package org.myhush.silentdragon.chat
object Addressbook {
class Contact {
var addressList: ArrayList<String> = ArrayList()
val messageList: ArrayList<Message> = ArrayList()
var firstName = ""
var lastName = ""

27
app/src/main/java/org/myhush/silentdragon/chat/ChatActivity.kt

@ -6,11 +6,9 @@ import android.support.v4.app.FragmentTransaction
import android.support.v7.app.AppCompatActivity
import android.view.Menu
import android.view.MenuItem
import android.widget.Toast
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?) {
@ -18,11 +16,19 @@ class ChatActivity : AppCompatActivity() {
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(){
@ -51,12 +57,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.firstName = contact.firstName
fragment.lastName = contact.lastName
fragment.lastMessage = contact.addressList[0]
fragTx.add(R.id.ChatTable, fragment)
fragTx.commit()

2
app/src/main/java/org/myhush/silentdragon/chat/ChatItemFragment.kt

@ -13,7 +13,7 @@ import org.myhush.silentdragon.R
class ChatItemFragment : Fragment() {
var firstName: String = ""
var lastName: String = ""
var lastMessage: String = "No messages..."
var lastMessage: String = ""
var v: View? = null
override fun onCreateView (inflater: LayoutInflater, container: ViewGroup?,

27
app/src/main/java/org/myhush/silentdragon/chat/ConversationActivity.kt

@ -1,17 +1,13 @@
package org.myhush.silentdragon.chat
import android.content.Context
import android.content.SharedPreferences
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
import java.lang.Exception
class ConversationActivity : AppCompatActivity() {
var displayName = ""
@ -27,11 +23,19 @@ class ConversationActivity : AppCompatActivity() {
}
private fun restoreChat(){
val m1 = Message("Test", "XXXXX", "YYYYYY", 99999999)
//attachMessage(m1)
}
try{
val m1 = Message("Test", "XXXXX", "YYYYYY", 99999999)
attachMessage(m1)
} catch (e: Exception){
var pref: SharedPreferences = getSharedPreferences("MainFile",0)
var editor: SharedPreferences.Editor = pref.edit()
editor.putString("Error", e.stackTrace.contentDeepToString())
editor.commit()
}
}
fun attachMessage(message: Message){
val fragTx: FragmentTransaction = supportFragmentManager.beginTransaction()
@ -39,16 +43,17 @@ class ConversationActivity : AppCompatActivity() {
when (message.messageType){
MessageType.SEND -> {
val fragment = conversation_item_send()
fragment.message.text = message.memo
fragment.msg = message
fragTx.add(R.id.MessageList, fragment)
}
MessageType.RECIEVE -> {
val fragment = conversation_item_recive()
fragment.message.text = message.memo
fragment.msg = message
fragTx.add(R.id.MessageList, fragment)
}
}
fragTx.commit()
messages.add(message)
}
}

7
app/src/main/java/org/myhush/silentdragon/chat/Message.kt

@ -1,10 +1,5 @@
package org.myhush.silentdragon.chat
enum class MessageType{
SEND,
RECIEVE
}
class Message {
var memo = ""
var fromAddress = ""
@ -15,10 +10,12 @@ class Message {
constructor(memo: String, toAddress: String, fromAddress: String){
this.memo = memo
this.fromAddress = fromAddress
this.toAddress = toAddress
}
constructor(memo: String, toAddress: String, fromAddress: String, dateTime: Long){
this.memo = memo
this.fromAddress = fromAddress
this.toAddress = toAddress
this.dateTime = dateTime
}
}

2
app/src/main/java/org/myhush/silentdragon/chat/MessageType.kt

@ -1,4 +1,6 @@
package org.myhush.silentdragon.chat
enum class MessageType {
SEND,
RECIEVE
}

5
app/src/main/java/org/myhush/silentdragon/conversation_item_recive.kt

@ -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
}
}

4
app/src/main/java/org/myhush/silentdragon/conversation_item_send.kt

@ -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
app/src/main/res/layout/activity_conversation.xml

@ -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

14
app/src/main/res/layout/fragment_conversation_item_recive.xml

@ -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>

1
app/src/main/res/layout/fragment_conversation_item_send.xml

@ -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"

Loading…
Cancel
Save