Rename request code and fix OsmAnd Bot icon on map

This commit is contained in:
Chumva 2018-09-05 11:28:39 +03:00
parent 3e99f5d829
commit b05d510c44
3 changed files with 15 additions and 17 deletions

View file

@ -76,11 +76,11 @@ class ShowLocationHelper(private val app: TelegramApplication) {
val chatId = message.chatId val chatId = message.chatId
val chatTitle = telegramHelper.getChat(message.chatId)?.title val chatTitle = telegramHelper.getChat(message.chatId)?.title
val content = message.content val content = message.content
val date = telegramHelper.getLastUpdatedTime(message)
val stale = System.currentTimeMillis() / 1000 - date > app.settings.staleLocTime
if (chatTitle != null && content is TdApi.MessageLocation) { if (chatTitle != null && content is TdApi.MessageLocation) {
var userName = "" var userName = ""
var photoPath: String? = null var photoPath: String? = null
val date = telegramHelper.getLastUpdatedTime(message)
val stale = System.currentTimeMillis() / 1000 - date > app.settings.staleLocTime
val user = telegramHelper.getUser(message.senderUserId) val user = telegramHelper.getUser(message.senderUserId)
if (user != null) { if (user != null) {
userName = "${user.firstName} ${user.lastName}".trim() userName = "${user.firstName} ${user.lastName}".trim()
@ -113,10 +113,10 @@ class ShowLocationHelper(private val app: TelegramApplication) {
setupMapLayer() setupMapLayer()
if (update) { if (update) {
osmandAidlHelper.updateMapPoint(MAP_LAYER_ID, "${chatId}_$name", name, name, osmandAidlHelper.updateMapPoint(MAP_LAYER_ID, "${chatId}_$name", name, name,
chatTitle, Color.WHITE, ALatLon(content.lat, content.lon), null, null) chatTitle, Color.WHITE, ALatLon(content.lat, content.lon), null, generatePhotoParams(null, stale))
} else { } else {
osmandAidlHelper.addMapPoint(MAP_LAYER_ID, "${chatId}_$name", name, name, osmandAidlHelper.addMapPoint(MAP_LAYER_ID, "${chatId}_$name", name, name,
chatTitle, Color.WHITE, ALatLon(content.lat, content.lon), null, null) chatTitle, Color.WHITE, ALatLon(content.lat, content.lon), null, generatePhotoParams(null, stale))
} }
} }
} }

View file

@ -128,7 +128,7 @@ class LiveNowTabFragment : Fragment(), TelegramListener, TelegramIncomingMessage
super.onActivityResult(requestCode, resultCode, data) super.onActivityResult(requestCode, resultCode, data)
when (requestCode) { when (requestCode) {
ChooseOsmAndBottomSheet.OSMAND_CHOSEN_REQUEST_CODE -> updateOpenOsmAndIcon() ChooseOsmAndBottomSheet.OSMAND_CHOSEN_REQUEST_CODE -> updateOpenOsmAndIcon()
SortByBottomSheet.SORT_BY_REQUEST_CODE -> { SortByBottomSheet.SORTING_CHANGED_REQUEST_CODE -> {
updateSortBtn() updateSortBtn()
updateList() updateList()
} }
@ -279,9 +279,8 @@ class LiveNowTabFragment : Fragment(), TelegramListener, TelegramIncomingMessage
} }
} }
} }
sortAdapterItems(res)
adapter.items = res adapter.items = sortAdapterItems(res)
} }
private fun sortAdapterItems(list: MutableList<ListItem>): MutableList<ListItem> { private fun sortAdapterItems(list: MutableList<ListItem>): MutableList<ListItem> {
@ -413,14 +412,13 @@ class LiveNowTabFragment : Fragment(), TelegramListener, TelegramIncomingMessage
override fun onBindViewHolder(holder: BaseViewHolder, position: Int) { override fun onBindViewHolder(holder: BaseViewHolder, position: Int) {
val lastItem = position == itemCount - 1 val lastItem = position == itemCount - 1
val item = items[position] val item = items[position]
val sortByGroup = settings.liveNowSortType.isSortByGroup()
val canBeOpenedOnMap = item.canBeOpenedOnMap() val canBeOpenedOnMap = item.canBeOpenedOnMap()
&& (settings.liveNowSortType.isSortByGroup() && !telegramHelper.isBot(item.userId)
|| !settings.liveNowSortType.isSortByGroup())
val openOnMapView = holder.getOpenOnMapClickView() val openOnMapView = holder.getOpenOnMapClickView()
val staleLocation = System.currentTimeMillis() / 1000 - item.lastUpdated > settings.staleLocTime val staleLocation = System.currentTimeMillis() / 1000 - item.lastUpdated > settings.staleLocTime
if (staleLocation) { if (staleLocation) {
val photoPath = if (settings.liveNowSortType.isSortByGroup() && item is ChatItem && !item.privateChat) { val photoPath = if (sortByGroup && item is ChatItem && !item.privateChat) {
item.photoPath item.photoPath
} else { } else {
item.grayscalePhotoPath item.grayscalePhotoPath
@ -430,7 +428,7 @@ class LiveNowTabFragment : Fragment(), TelegramListener, TelegramIncomingMessage
TelegramUiHelper.setupPhoto(app, holder.icon, item.photoPath, R.drawable.img_user_picture_active, false) TelegramUiHelper.setupPhoto(app, holder.icon, item.photoPath, R.drawable.img_user_picture_active, false)
} }
holder.title?.text = if (settings.liveNowSortType.isSortByGroup()) item.getVisibleName() else item.name holder.title?.text = if (sortByGroup) item.getVisibleName() else item.name
openOnMapView?.isEnabled = canBeOpenedOnMap openOnMapView?.isEnabled = canBeOpenedOnMap
if (canBeOpenedOnMap) { if (canBeOpenedOnMap) {
openOnMapView?.setOnClickListener { openOnMapView?.setOnClickListener {
@ -458,10 +456,10 @@ class LiveNowTabFragment : Fragment(), TelegramListener, TelegramIncomingMessage
holder.bottomShadow?.visibility = if (lastItem) View.VISIBLE else View.GONE holder.bottomShadow?.visibility = if (lastItem) View.VISIBLE else View.GONE
if (item is ChatItem && holder is ChatViewHolder) { if (item is ChatItem && holder is ChatViewHolder) {
val nextIsLocation = !lastItem && (items[position + 1] is LocationItem || !settings.liveNowSortType.isSortByGroup()) val nextIsLocation = !lastItem && (items[position + 1] is LocationItem || !sortByGroup)
val chatId = item.chatId val chatId = item.chatId
val stateTextInd = if (settings.isShowingChatOnMap(chatId)) 1 else 0 val stateTextInd = if (settings.isShowingChatOnMap(chatId)) 1 else 0
val groupDescrRowVisible = !settings.liveNowSortType.isSortByGroup() val groupDescrRowVisible = !sortByGroup
&& (!item.privateChat || item.chatWithBot) && (!item.privateChat || item.chatWithBot)
if (groupDescrRowVisible) { if (groupDescrRowVisible) {
@ -477,7 +475,7 @@ class LiveNowTabFragment : Fragment(), TelegramListener, TelegramIncomingMessage
holder.showOnMapRow?.setOnClickListener { showPopupMenu(holder, chatId) } holder.showOnMapRow?.setOnClickListener { showPopupMenu(holder, chatId) }
holder.showOnMapState?.text = menuList[stateTextInd] holder.showOnMapState?.text = menuList[stateTextInd]
holder.bottomDivider?.visibility = if (nextIsLocation) View.VISIBLE else View.GONE holder.bottomDivider?.visibility = if (nextIsLocation) View.VISIBLE else View.GONE
holder.topDivider?.visibility = if (!settings.liveNowSortType.isSortByGroup() && position != 0) View.GONE else View.VISIBLE holder.topDivider?.visibility = if (!sortByGroup && position != 0) View.GONE else View.VISIBLE
} else if (item is LocationItem && holder is ContactViewHolder) { } else if (item is LocationItem && holder is ContactViewHolder) {
holder.description?.text = OsmandFormatter.getListItemLiveTimeDescr(app, item.lastUpdated, lastResponseStr) holder.description?.text = OsmandFormatter.getListItemLiveTimeDescr(app, item.lastUpdated, lastResponseStr)
} }

View file

@ -64,7 +64,7 @@ class SortByBottomSheet : DialogFragment() {
setOnClickListener { setOnClickListener {
app.settings.liveNowSortType = sortType app.settings.liveNowSortType = sortType
targetFragment?.also { target -> targetFragment?.also { target ->
target.onActivityResult(targetRequestCode, SORT_BY_REQUEST_CODE, null) target.onActivityResult(targetRequestCode, SORTING_CHANGED_REQUEST_CODE, null)
} }
dismiss() dismiss()
} }
@ -82,7 +82,7 @@ class SortByBottomSheet : DialogFragment() {
companion object { companion object {
const val SORT_BY_REQUEST_CODE = 3 const val SORTING_CHANGED_REQUEST_CODE = 3
private const val TAG = "SortByBottomSheet" private const val TAG = "SortByBottomSheet"
@ -92,7 +92,7 @@ class SortByBottomSheet : DialogFragment() {
): Boolean { ): Boolean {
return try { return try {
SortByBottomSheet().apply { SortByBottomSheet().apply {
setTargetFragment(target, SORT_BY_REQUEST_CODE) setTargetFragment(target, SORTING_CHANGED_REQUEST_CODE)
show(fm, TAG) show(fm, TAG)
} }
true true