From 4cc317f9da3412d26609e602f72ef93c3064c235 Mon Sep 17 00:00:00 2001 From: Mark Moussa Date: Wed, 18 Apr 2018 22:17:03 -0400 Subject: [PATCH 1/2] removed MainActivity from popping up every time on startup --- .../markmoussa/meshchatapplication/MainActivity.kt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/app/src/main/java/com/example/markmoussa/meshchatapplication/MainActivity.kt b/app/src/main/java/com/example/markmoussa/meshchatapplication/MainActivity.kt index f3eaaef..c85b593 100644 --- a/app/src/main/java/com/example/markmoussa/meshchatapplication/MainActivity.kt +++ b/app/src/main/java/com/example/markmoussa/meshchatapplication/MainActivity.kt @@ -5,7 +5,9 @@ package com.example.markmoussa.meshchatapplication */ import android.Manifest +import android.content.Context import android.content.Intent +import android.content.SharedPreferences import android.content.pm.PackageManager import android.support.v7.app.AppCompatActivity import android.os.Bundle @@ -34,6 +36,12 @@ class MainActivity : AppCompatActivity() { startActivity(intent) } + val sharedPreferences: SharedPreferences = applicationContext.getSharedPreferences("sp", Context.MODE_PRIVATE) + if(sharedPreferences.contains("USERNAME") && sharedPreferences.getString("USERNAME", null).isNotEmpty()) { + val intent = Intent(this, ConversationListActivity::class.java) + startActivity(intent) + } + // Companion code to onBackPressed for having the back button exit app instead of going back to SignUpActivity if(intent.getBooleanExtra("Exit me", false)){ finish() From f68b5b2996713936ea166949d47f67317f209956 Mon Sep 17 00:00:00 2001 From: Mark Moussa Date: Wed, 18 Apr 2018 22:59:15 -0400 Subject: [PATCH 2/2] fixed messagePreviewText not showing, and fixed spacing of ConversationListAdapter --- .../ConversationListAdapter.kt | 10 ++++++-- .../markmoussa/meshchatapplication/Store.kt | 6 +++-- app/src/main/res/layout/item_conversation.xml | 23 +++++++++++-------- 3 files changed, 25 insertions(+), 14 deletions(-) diff --git a/app/src/main/java/com/example/markmoussa/meshchatapplication/ConversationListAdapter.kt b/app/src/main/java/com/example/markmoussa/meshchatapplication/ConversationListAdapter.kt index 9ce0287..2a83c27 100644 --- a/app/src/main/java/com/example/markmoussa/meshchatapplication/ConversationListAdapter.kt +++ b/app/src/main/java/com/example/markmoussa/meshchatapplication/ConversationListAdapter.kt @@ -2,6 +2,7 @@ package com.example.markmoussa.meshchatapplication import android.content.Context import android.support.v7.widget.RecyclerView +import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup @@ -57,8 +58,13 @@ class ConversationListAdapter(private val mContext: Context, private val mConver } else { usernameText.text = conversation.user.userIdentifier.toString() } - if(conversation.messageList != null) { - messagePreviewText.text = conversation.messageList.getMessageStringAtIndex(conversation.messageList.lastReadIndex) + if(!(conversation.messageList?.getMessages()!!.isEmpty())) { + + var messagePreview = conversation.messageList.getMessageStringAtIndex(conversation.messageList.getMessages().size - 1) + if(!(messagePreview.isNullOrEmpty()) && messagePreview!!.length > 40) { + messagePreview = messagePreview.substring(0, 33) + "..." + } + messagePreviewText.text = messagePreview } else { messagePreviewText.text = "" } diff --git a/app/src/main/java/com/example/markmoussa/meshchatapplication/Store.kt b/app/src/main/java/com/example/markmoussa/meshchatapplication/Store.kt index 4b1a2b9..7290840 100644 --- a/app/src/main/java/com/example/markmoussa/meshchatapplication/Store.kt +++ b/app/src/main/java/com/example/markmoussa/meshchatapplication/Store.kt @@ -5,6 +5,7 @@ package com.example.markmoussa.meshchatapplication // link: https://github.com/Hype-Labs/HypeChatDemo.android import android.content.Context +import android.util.Log import java.io.Serializable import java.lang.ref.WeakReference import java.util.Vector @@ -60,11 +61,12 @@ class Store(val userIdentifier: Long): Serializable { } fun getMessageStringAtIndex(index: Int): String? { - if(messages.isEmpty() || messages!!.size >= index) { + if(messages.isEmpty() || messages!!.size < index) { + Log.d("Store", "this was activated") // this means there's no message at this index and therefore need to return null return null } - return messages[index].first.toString() + return messages[index].first } diff --git a/app/src/main/res/layout/item_conversation.xml b/app/src/main/res/layout/item_conversation.xml index e0833f9..20ff729 100644 --- a/app/src/main/res/layout/item_conversation.xml +++ b/app/src/main/res/layout/item_conversation.xml @@ -9,36 +9,39 @@ android:id="@+id/userNameTextView" android:layout_width="0dp" android:layout_height="20dp" + android:layout_marginBottom="8dp" android:layout_marginEnd="168dp" + android:layout_marginTop="16dp" android:text="TextView" - app:layout_constraintBottom_toBottomOf="parent" + app:layout_constraintBottom_toTopOf="@+id/messagePreviewTextView" app:layout_constraintEnd_toStartOf="@+id/onlineStatusIcon" app:layout_constraintStart_toEndOf="@+id/profilePicImageView" app:layout_constraintTop_toTopOf="parent" /> + app:layout_constraintStart_toEndOf="@+id/profilePicImageView" + app:layout_constraintTop_toTopOf="parent" />