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

35 lines
1018 B
Kotlin

package oppen.ariane.ui.modals_menus
import android.view.MenuInflater
import android.view.View
import androidx.appcompat.widget.PopupMenu
import oppen.ariane.Ariane
import oppen.ariane.R
import java.net.URI
object LinkPopup {
fun show(view: View?, uri: URI, onMenuOption: (menuId: Int) -> Unit){
if(view != null) {
val popup = PopupMenu(view.context, view)
val inflater: MenuInflater = popup.menuInflater
val path = uri.toString().toLowerCase()
if(Ariane.FEATURE_INLINE_IMAGES &&
(path.endsWith(".png") ||
path.endsWith(".jpg") ||
path.endsWith(".jpeg"))){
inflater.inflate(R.menu.image_link_menu, popup.menu)
}else{
inflater.inflate(R.menu.link_menu, popup.menu)
}
popup.setOnMenuItemClickListener { menuItem ->
onMenuOption(menuItem.itemId)
true
}
popup.show()
}
}
}