|
@@ -46,6 +46,7 @@ import android.os.Build
|
|
import android.os.Build.VERSION_CODES.O
|
|
import android.os.Build.VERSION_CODES.O
|
|
import android.os.Bundle
|
|
import android.os.Bundle
|
|
import android.os.Handler
|
|
import android.os.Handler
|
|
|
|
+import android.os.Parcelable
|
|
import android.os.SystemClock
|
|
import android.os.SystemClock
|
|
import android.os.VibrationEffect
|
|
import android.os.VibrationEffect
|
|
import android.os.Vibrator
|
|
import android.os.Vibrator
|
|
@@ -99,6 +100,7 @@ import com.nextcloud.talk.BuildConfig
|
|
import com.nextcloud.talk.R
|
|
import com.nextcloud.talk.R
|
|
import com.nextcloud.talk.activities.CallActivity
|
|
import com.nextcloud.talk.activities.CallActivity
|
|
import com.nextcloud.talk.activities.MainActivity
|
|
import com.nextcloud.talk.activities.MainActivity
|
|
|
|
+import com.nextcloud.talk.activities.SharedItemsActivity
|
|
import com.nextcloud.talk.activities.TakePhotoActivity
|
|
import com.nextcloud.talk.activities.TakePhotoActivity
|
|
import com.nextcloud.talk.adapters.messages.IncomingLocationMessageViewHolder
|
|
import com.nextcloud.talk.adapters.messages.IncomingLocationMessageViewHolder
|
|
import com.nextcloud.talk.adapters.messages.IncomingPreviewMessageViewHolder
|
|
import com.nextcloud.talk.adapters.messages.IncomingPreviewMessageViewHolder
|
|
@@ -188,9 +190,7 @@ import java.io.File
|
|
import java.io.IOException
|
|
import java.io.IOException
|
|
import java.net.HttpURLConnection
|
|
import java.net.HttpURLConnection
|
|
import java.text.SimpleDateFormat
|
|
import java.text.SimpleDateFormat
|
|
-import java.util.ArrayList
|
|
|
|
import java.util.Date
|
|
import java.util.Date
|
|
-import java.util.HashMap
|
|
|
|
import java.util.Objects
|
|
import java.util.Objects
|
|
import java.util.concurrent.ExecutionException
|
|
import java.util.concurrent.ExecutionException
|
|
import javax.inject.Inject
|
|
import javax.inject.Inject
|
|
@@ -253,6 +253,7 @@ class ChatController(args: Bundle) :
|
|
var conversationInfoMenuItem: MenuItem? = null
|
|
var conversationInfoMenuItem: MenuItem? = null
|
|
var conversationVoiceCallMenuItem: MenuItem? = null
|
|
var conversationVoiceCallMenuItem: MenuItem? = null
|
|
var conversationVideoMenuItem: MenuItem? = null
|
|
var conversationVideoMenuItem: MenuItem? = null
|
|
|
|
+ var conversationSharedItemsItem: MenuItem? = null
|
|
|
|
|
|
var magicWebSocketInstance: MagicWebSocketInstance? = null
|
|
var magicWebSocketInstance: MagicWebSocketInstance? = null
|
|
|
|
|
|
@@ -1464,7 +1465,7 @@ class ChatController(args: Bundle) :
|
|
val bundle = Bundle()
|
|
val bundle = Bundle()
|
|
bundle.putParcelable(BundleKeys.KEY_BROWSER_TYPE, Parcels.wrap<BrowserController.BrowserType>(browserType))
|
|
bundle.putParcelable(BundleKeys.KEY_BROWSER_TYPE, Parcels.wrap<BrowserController.BrowserType>(browserType))
|
|
bundle.putParcelable(BundleKeys.KEY_USER_ENTITY, Parcels.wrap<UserEntity>(conversationUser))
|
|
bundle.putParcelable(BundleKeys.KEY_USER_ENTITY, Parcels.wrap<UserEntity>(conversationUser))
|
|
- bundle.putString(BundleKeys.KEY_ROOM_TOKEN, roomToken)
|
|
|
|
|
|
+ bundle.putString(KEY_ROOM_TOKEN, roomToken)
|
|
router.pushController(
|
|
router.pushController(
|
|
RouterTransaction.with(BrowserForSharingController(bundle))
|
|
RouterTransaction.with(BrowserForSharingController(bundle))
|
|
.pushChangeHandler(VerticalChangeHandler())
|
|
.pushChangeHandler(VerticalChangeHandler())
|
|
@@ -1476,7 +1477,7 @@ class ChatController(args: Bundle) :
|
|
Log.d(TAG, "showShareLocationScreen")
|
|
Log.d(TAG, "showShareLocationScreen")
|
|
|
|
|
|
val bundle = Bundle()
|
|
val bundle = Bundle()
|
|
- bundle.putString(BundleKeys.KEY_ROOM_TOKEN, roomToken)
|
|
|
|
|
|
+ bundle.putString(KEY_ROOM_TOKEN, roomToken)
|
|
router.pushController(
|
|
router.pushController(
|
|
RouterTransaction.with(LocationPickerController(bundle))
|
|
RouterTransaction.with(LocationPickerController(bundle))
|
|
.pushChangeHandler(HorizontalChangeHandler())
|
|
.pushChangeHandler(HorizontalChangeHandler())
|
|
@@ -1487,7 +1488,7 @@ class ChatController(args: Bundle) :
|
|
private fun showConversationInfoScreen() {
|
|
private fun showConversationInfoScreen() {
|
|
val bundle = Bundle()
|
|
val bundle = Bundle()
|
|
bundle.putParcelable(BundleKeys.KEY_USER_ENTITY, conversationUser)
|
|
bundle.putParcelable(BundleKeys.KEY_USER_ENTITY, conversationUser)
|
|
- bundle.putString(BundleKeys.KEY_ROOM_TOKEN, roomToken)
|
|
|
|
|
|
+ bundle.putString(KEY_ROOM_TOKEN, roomToken)
|
|
bundle.putBoolean(BundleKeys.KEY_ROOM_ONE_TO_ONE, inOneToOneCall())
|
|
bundle.putBoolean(BundleKeys.KEY_ROOM_ONE_TO_ONE, inOneToOneCall())
|
|
router.pushController(
|
|
router.pushController(
|
|
RouterTransaction.with(ConversationInfoController(bundle))
|
|
RouterTransaction.with(ConversationInfoController(bundle))
|
|
@@ -2299,6 +2300,7 @@ class ChatController(args: Bundle) :
|
|
conversationInfoMenuItem = menu.findItem(R.id.conversation_info)
|
|
conversationInfoMenuItem = menu.findItem(R.id.conversation_info)
|
|
conversationVoiceCallMenuItem = menu.findItem(R.id.conversation_voice_call)
|
|
conversationVoiceCallMenuItem = menu.findItem(R.id.conversation_voice_call)
|
|
conversationVideoMenuItem = menu.findItem(R.id.conversation_video_call)
|
|
conversationVideoMenuItem = menu.findItem(R.id.conversation_video_call)
|
|
|
|
+ conversationSharedItemsItem = menu.findItem(R.id.shared_items)
|
|
|
|
|
|
loadAvatarForStatusBar()
|
|
loadAvatarForStatusBar()
|
|
}
|
|
}
|
|
@@ -2337,10 +2339,21 @@ class ChatController(args: Bundle) :
|
|
showConversationInfoScreen()
|
|
showConversationInfoScreen()
|
|
return true
|
|
return true
|
|
}
|
|
}
|
|
|
|
+ R.id.shared_items -> {
|
|
|
|
+ showSharedItems()
|
|
|
|
+ return true
|
|
|
|
+ }
|
|
else -> return super.onOptionsItemSelected(item)
|
|
else -> return super.onOptionsItemSelected(item)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ private fun showSharedItems() {
|
|
|
|
+ val intent = Intent(activity, SharedItemsActivity::class.java)
|
|
|
|
+ intent.putExtra(KEY_ROOM_TOKEN, roomToken)
|
|
|
|
+ intent.putExtra(KEY_USER_ENTITY, conversationUser as Parcelable)
|
|
|
|
+ activity!!.startActivity(intent)
|
|
|
|
+ }
|
|
|
|
+
|
|
private fun handleSystemMessages(chatMessageList: List<ChatMessage>): List<ChatMessage> {
|
|
private fun handleSystemMessages(chatMessageList: List<ChatMessage>): List<ChatMessage> {
|
|
val chatMessageMap = chatMessageList.map { it.id to it }.toMap().toMutableMap()
|
|
val chatMessageMap = chatMessageList.map { it.id to it }.toMap().toMutableMap()
|
|
val chatMessageIterator = chatMessageMap.iterator()
|
|
val chatMessageIterator = chatMessageMap.iterator()
|