You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
iceraven-browser/app/src/main/java/org/mozilla/fenix/share/ShareCloseView.kt

45 lines
1.3 KiB
Kotlin

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
package org.mozilla.fenix.share
import android.view.LayoutInflater
import android.view.ViewGroup
import androidx.recyclerview.widget.LinearLayoutManager
import mozilla.components.concept.engine.prompt.ShareData
import org.mozilla.fenix.databinding.ShareCloseBinding
import org.mozilla.fenix.share.listadapters.ShareTabsAdapter
/**
* Callbacks for possible user interactions on the [ShareCloseView]
*/
interface ShareCloseInteractor {
fun onShareClosed()
}
class ShareCloseView(
val containerView: ViewGroup,
private val interactor: ShareCloseInteractor,
) {
val adapter = ShareTabsAdapter()
init {
val binding = ShareCloseBinding.inflate(
LayoutInflater.from(containerView.context),
containerView,
true,
)
binding.closeButton.setOnClickListener { interactor.onShareClosed() }
binding.sharedSiteList.layoutManager = LinearLayoutManager(containerView.context)
binding.sharedSiteList.adapter = adapter
}
fun setTabs(tabs: List<ShareData>) {
adapter.submitList(tabs)
}
}