mirror of
https://github.com/recloudstream/cloudstream.git
synced 2024-08-15 01:53:11 +00:00
fix bottom dialog
This commit is contained in:
parent
789f3db554
commit
379eb2ebe7
4 changed files with 56 additions and 10 deletions
|
@ -8,6 +8,7 @@ import android.content.Intent
|
|||
import android.content.res.Configuration
|
||||
import android.net.Uri
|
||||
import android.os.Bundle
|
||||
import android.os.Handler
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
|
@ -37,6 +38,7 @@ import com.lagradost.cloudstream3.APIHolder.filterProviderByPreferredMedia
|
|||
import com.lagradost.cloudstream3.APIHolder.getApiFromNameNull
|
||||
import com.lagradost.cloudstream3.APIHolder.getApiProviderLangSettings
|
||||
import com.lagradost.cloudstream3.APIHolder.getId
|
||||
import com.lagradost.cloudstream3.AcraApplication.Companion.getActivity
|
||||
import com.lagradost.cloudstream3.AcraApplication.Companion.getKey
|
||||
import com.lagradost.cloudstream3.MainActivity.Companion.afterPluginsLoadedEvent
|
||||
import com.lagradost.cloudstream3.MainActivity.Companion.mainPluginsLoadedEvent
|
||||
|
@ -123,6 +125,7 @@ class HomeFragment : Fragment() {
|
|||
val configEvent = Event<Int>()
|
||||
var currentSpan = 1
|
||||
val listHomepageItems = mutableListOf<SearchResponse>()
|
||||
val handler = Handler(android.os.Looper.getMainLooper())
|
||||
|
||||
private val errorProfilePics = listOf(
|
||||
R.drawable.monke_benene,
|
||||
|
@ -142,8 +145,8 @@ class HomeFragment : Fragment() {
|
|||
fun Activity.loadHomepageList(
|
||||
item: HomePageList,
|
||||
deleteCallback: (() -> Unit)? = null,
|
||||
) {
|
||||
loadHomepageList(
|
||||
): BottomSheetDialog? {
|
||||
return loadHomepageList(
|
||||
expand = HomeViewModel.ExpandableHomepageList(item, 1, false),
|
||||
deleteCallback = deleteCallback,
|
||||
expandCallback = null
|
||||
|
@ -154,10 +157,10 @@ class HomeFragment : Fragment() {
|
|||
expand: HomeViewModel.ExpandableHomepageList,
|
||||
deleteCallback: (() -> Unit)? = null,
|
||||
expandCallback: (suspend (String) -> HomeViewModel.ExpandableHomepageList?)? = null
|
||||
) {
|
||||
): BottomSheetDialog? {
|
||||
val context = this
|
||||
val bottomSheetDialogBuilder = BottomSheetDialog(context)
|
||||
bottomSheetDialogBuilder.setContentView(R.layout.home_episodes_expanded)
|
||||
var bottomSheetDialogBuilder: BottomSheetDialog? = BottomSheetDialog(context)
|
||||
bottomSheetDialogBuilder!!.setContentView(R.layout.home_episodes_expanded)
|
||||
val title = bottomSheetDialogBuilder.findViewById<TextView>(R.id.home_expanded_text)!!
|
||||
val item = expand.list
|
||||
title.text = item.name
|
||||
|
@ -200,7 +203,7 @@ class HomeFragment : Fragment() {
|
|||
}
|
||||
|
||||
titleHolder.setOnClickListener {
|
||||
bottomSheetDialogBuilder.dismissSafe(this)
|
||||
bottomSheetDialogBuilder?.dismissSafe(this)
|
||||
}
|
||||
|
||||
|
||||
|
@ -210,7 +213,13 @@ class HomeFragment : Fragment() {
|
|||
recycle.adapter = SearchAdapter(item.list.toMutableList(), recycle) { callback ->
|
||||
handleSearchClickCallback(this, callback)
|
||||
if (callback.action == SEARCH_ACTION_LOAD || callback.action == SEARCH_ACTION_PLAY_FILE) {
|
||||
bottomSheetDialogBuilder.dismissSafe(this)
|
||||
// bottomSheetDialogBuilder.dismissSafe(this)
|
||||
handler.postDelayed({
|
||||
bottomSheetDialogBuilder?.let {
|
||||
it.window?.setWindowAnimations(-1)
|
||||
it.hide()
|
||||
}
|
||||
}, 200)
|
||||
}
|
||||
}.apply {
|
||||
hasNext = expand.hasNext
|
||||
|
@ -257,6 +266,17 @@ class HomeFragment : Fragment() {
|
|||
//(recycle.adapter as SearchAdapter).notifyDataSetChanged()
|
||||
|
||||
bottomSheetDialogBuilder.show()
|
||||
|
||||
return bottomSheetDialogBuilder
|
||||
}
|
||||
|
||||
fun BottomSheetDialog.onResume(context: Context?) {
|
||||
// resume dialog
|
||||
this.window?.setWindowAnimations(-1)
|
||||
this.show()
|
||||
handler.postDelayed({
|
||||
this.window?.setWindowAnimations(R.style.BottomSheetDialog)
|
||||
}, 400)
|
||||
}
|
||||
|
||||
fun getPairList(
|
||||
|
@ -427,6 +447,8 @@ class HomeFragment : Fragment() {
|
|||
|
||||
private val homeViewModel: HomeViewModel by activityViewModels()
|
||||
|
||||
private var bottomSheetDialog: BottomSheetDialog? = null
|
||||
|
||||
override fun onCreateView(
|
||||
inflater: LayoutInflater,
|
||||
container: ViewGroup?,
|
||||
|
@ -473,6 +495,8 @@ class HomeFragment : Fragment() {
|
|||
reloadStored()
|
||||
afterPluginsLoadedEvent += ::firstLoadHomePage
|
||||
mainPluginsLoadedEvent += ::firstLoadHomePage
|
||||
|
||||
bottomSheetDialog?.onResume(context)
|
||||
}
|
||||
|
||||
override fun onStop() {
|
||||
|
@ -907,7 +931,7 @@ class HomeFragment : Fragment() {
|
|||
)
|
||||
|
||||
home_bookmarked_child_more_info?.setOnClickListener {
|
||||
activity?.loadHomepageList(
|
||||
bottomSheetDialog = activity?.loadHomepageList(
|
||||
HomePageList(
|
||||
getString(R.string.error_bookmarks_text), //home_bookmarked_parent_item_title?.text?.toString() ?: getString(R.string.error_bookmarks_text),
|
||||
bookmarks
|
||||
|
@ -916,6 +940,7 @@ class HomeFragment : Fragment() {
|
|||
deleteAllBookmarkedData()
|
||||
homeViewModel.loadStoredData(null)
|
||||
}
|
||||
bottomSheetDialog?.setOnDismissListener { bottomSheetDialog = null }
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -932,7 +957,7 @@ class HomeFragment : Fragment() {
|
|||
//}
|
||||
|
||||
home_watch_child_more_info?.setOnClickListener {
|
||||
activity?.loadHomepageList(
|
||||
bottomSheetDialog = activity?.loadHomepageList(
|
||||
HomePageList(
|
||||
home_watch_parent_item_title?.text?.toString()
|
||||
?: getString(R.string.continue_watching),
|
||||
|
@ -942,6 +967,7 @@ class HomeFragment : Fragment() {
|
|||
deleteAllResumeStateIds()
|
||||
homeViewModel.loadResumeWatching()
|
||||
}
|
||||
bottomSheetDialog?.setOnDismissListener { bottomSheetDialog = null }
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1099,9 +1125,10 @@ class HomeFragment : Fragment() {
|
|||
ParentItemAdapter(mutableListOf(), { callback ->
|
||||
homeHandleSearch(callback)
|
||||
}, { item ->
|
||||
activity?.loadHomepageList(item, expandCallback = {
|
||||
bottomSheetDialog = activity?.loadHomepageList(item, expandCallback = {
|
||||
homeViewModel.expandAndReturn(it)
|
||||
})
|
||||
bottomSheetDialog?.setOnDismissListener { bottomSheetDialog = null }
|
||||
}, { name ->
|
||||
homeViewModel.expand(name)
|
||||
})
|
||||
|
|
7
app/src/main/res/anim/slide_in_down.xml
Normal file
7
app/src/main/res/anim/slide_in_down.xml
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<set xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<translate android:fromYDelta="50%p" android:toYDelta="0"
|
||||
android:duration="@android:integer/config_mediumAnimTime"/>
|
||||
<alpha android:fromAlpha="0.0" android:toAlpha="1.0"
|
||||
android:duration="@android:integer/config_mediumAnimTime" />
|
||||
</set>
|
7
app/src/main/res/anim/slide_out_down.xml
Normal file
7
app/src/main/res/anim/slide_out_down.xml
Normal file
|
@ -0,0 +1,7 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<set xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<translate android:fromYDelta="0" android:toYDelta="50%p"
|
||||
android:duration="@android:integer/config_mediumAnimTime"/>
|
||||
<alpha android:fromAlpha="1.0" android:toAlpha="0.0"
|
||||
android:duration="@android:integer/config_mediumAnimTime" />
|
||||
</set>
|
|
@ -727,4 +727,9 @@
|
|||
@drawable/cast_ic_mini_controller_closed_caption
|
||||
</item>
|
||||
</style>
|
||||
|
||||
<style name="BottomSheetDialog">
|
||||
<item name="android:windowEnterAnimation">@anim/slide_in_down</item>
|
||||
<item name="android:windowExitAnimation">@anim/slide_out_down</item>
|
||||
</style>
|
||||
</resources>
|
Loading…
Add table
Add a link
Reference in a new issue