ariane/app/src/main/java/oppen/ariane/ui/modals_menus/LinkPopup.kt

34 lines
908 B
Kotlin
Raw Normal View History

package oppen.ariane.ui.modals_menus
import android.view.MenuInflater
import android.view.View
import androidx.appcompat.widget.PopupMenu
import oppen.ariane.R
2020-11-13 09:22:36 +00:00
import oppen.endsWithImage
2020-11-13 14:01:53 +00:00
import oppen.isWeb
2020-11-09 19:30:53 +00:00
import java.net.URI
object LinkPopup {
2020-11-09 19:30:53 +00:00
fun show(view: View?, uri: URI, onMenuOption: (menuId: Int) -> Unit){
if(view != null) {
2020-11-13 09:22:36 +00:00
val popup = PopupMenu(view.context, view)
val inflater: MenuInflater = popup.menuInflater
2020-11-09 19:30:53 +00:00
2020-11-13 14:01:53 +00:00
val uriStr = uri.toString()
2020-11-13 09:22:36 +00:00
when {
2020-11-13 14:01:53 +00:00
uriStr.endsWithImage() && !uriStr.isWeb() -> inflater.inflate(R.menu.image_link_menu, popup.menu)
2020-11-13 09:22:36 +00:00
else -> inflater.inflate(R.menu.link_menu, popup.menu)
2020-11-09 19:30:53 +00:00
}
2020-08-17 20:25:39 +00:00
popup.setOnMenuItemClickListener { menuItem ->
onMenuOption(menuItem.itemId)
true
}
2020-11-13 09:22:36 +00:00
popup.show()
}
}
}