mirror of
https://github.com/recloudstream/cloudstream.git
synced 2024-08-15 01:53:11 +00:00
emulator layout statusbar fix + fixed #674
This commit is contained in:
parent
ddab37c08d
commit
59e318a742
5 changed files with 63 additions and 19 deletions
|
@ -34,6 +34,7 @@ import com.lagradost.cloudstream3.syncproviders.OAuth2API.Companion.appString
|
||||||
import com.lagradost.cloudstream3.ui.APIRepository
|
import com.lagradost.cloudstream3.ui.APIRepository
|
||||||
import com.lagradost.cloudstream3.ui.download.DOWNLOAD_NAVIGATE_TO
|
import com.lagradost.cloudstream3.ui.download.DOWNLOAD_NAVIGATE_TO
|
||||||
import com.lagradost.cloudstream3.ui.result.ResultFragment
|
import com.lagradost.cloudstream3.ui.result.ResultFragment
|
||||||
|
import com.lagradost.cloudstream3.ui.settings.SettingsFragment.Companion.isEmulatorSettings
|
||||||
import com.lagradost.cloudstream3.ui.settings.SettingsFragment.Companion.isTvSettings
|
import com.lagradost.cloudstream3.ui.settings.SettingsFragment.Companion.isTvSettings
|
||||||
import com.lagradost.cloudstream3.utils.AppUtils.isCastApiAvailable
|
import com.lagradost.cloudstream3.utils.AppUtils.isCastApiAvailable
|
||||||
import com.lagradost.cloudstream3.utils.AppUtils.loadCache
|
import com.lagradost.cloudstream3.utils.AppUtils.loadCache
|
||||||
|
@ -42,6 +43,7 @@ import com.lagradost.cloudstream3.utils.DataStore.getKey
|
||||||
import com.lagradost.cloudstream3.utils.DataStore.removeKey
|
import com.lagradost.cloudstream3.utils.DataStore.removeKey
|
||||||
import com.lagradost.cloudstream3.utils.DataStoreHelper.setViewPos
|
import com.lagradost.cloudstream3.utils.DataStoreHelper.setViewPos
|
||||||
import com.lagradost.cloudstream3.utils.InAppUpdater.Companion.runAutoUpdate
|
import com.lagradost.cloudstream3.utils.InAppUpdater.Companion.runAutoUpdate
|
||||||
|
import com.lagradost.cloudstream3.utils.UIHelper.changeStatusBarState
|
||||||
import com.lagradost.cloudstream3.utils.UIHelper.checkWrite
|
import com.lagradost.cloudstream3.utils.UIHelper.checkWrite
|
||||||
import com.lagradost.cloudstream3.utils.UIHelper.colorFromAttribute
|
import com.lagradost.cloudstream3.utils.UIHelper.colorFromAttribute
|
||||||
import com.lagradost.cloudstream3.utils.UIHelper.getResourceColor
|
import com.lagradost.cloudstream3.utils.UIHelper.getResourceColor
|
||||||
|
@ -293,6 +295,8 @@ class MainActivity : AppCompatActivity(), ColorPickerDialogListener {
|
||||||
setContentView(R.layout.activity_main)
|
setContentView(R.layout.activity_main)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
changeStatusBarState(isEmulatorSettings())
|
||||||
|
|
||||||
// val navView: BottomNavigationView = findViewById(R.id.nav_view)
|
// val navView: BottomNavigationView = findViewById(R.id.nav_view)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -62,8 +62,6 @@ class GrdLayoutManager(val context: Context, private val spanCoun: Int) : GridLa
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun calcOffsetToNextView(direction: Int): Int {
|
private fun calcOffsetToNextView(direction: Int): Int {
|
||||||
println("calc")
|
|
||||||
|
|
||||||
val spanCount = this.spanCoun
|
val spanCount = this.spanCoun
|
||||||
val orientation = this.orientation
|
val orientation = this.orientation
|
||||||
|
|
||||||
|
|
|
@ -53,17 +53,49 @@ object SearchResultBuilder {
|
||||||
cardView.setImageResource(R.drawable.default_cover)
|
cardView.setImageResource(R.drawable.default_cover)
|
||||||
}
|
}
|
||||||
|
|
||||||
bg.setOnClickListener {
|
fun click(view: View?) {
|
||||||
clickCallback.invoke(
|
clickCallback.invoke(
|
||||||
SearchClickCallback(
|
SearchClickCallback(
|
||||||
if (card is DataStoreHelper.ResumeWatchingResult) SEARCH_ACTION_PLAY_FILE else SEARCH_ACTION_LOAD,
|
if (card is DataStoreHelper.ResumeWatchingResult) SEARCH_ACTION_PLAY_FILE else SEARCH_ACTION_LOAD,
|
||||||
it,
|
view ?: return,
|
||||||
position,
|
position,
|
||||||
card
|
card
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun longClick(view: View?) {
|
||||||
|
clickCallback.invoke(
|
||||||
|
SearchClickCallback(
|
||||||
|
SEARCH_ACTION_SHOW_METADATA,
|
||||||
|
view ?: return,
|
||||||
|
position,
|
||||||
|
card
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
fun focus(view: View?, focus: Boolean) {
|
||||||
|
if (focus) {
|
||||||
|
clickCallback.invoke(
|
||||||
|
SearchClickCallback(
|
||||||
|
SEARCH_ACTION_FOCUSED,
|
||||||
|
view ?: return,
|
||||||
|
position,
|
||||||
|
card
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bg.setOnClickListener {
|
||||||
|
click(it)
|
||||||
|
}
|
||||||
|
|
||||||
|
itemView.setOnClickListener {
|
||||||
|
click(it)
|
||||||
|
}
|
||||||
|
|
||||||
if (nextFocusUp != null) {
|
if (nextFocusUp != null) {
|
||||||
bg.nextFocusUpId = nextFocusUp
|
bg.nextFocusUpId = nextFocusUp
|
||||||
}
|
}
|
||||||
|
@ -90,23 +122,23 @@ object SearchResultBuilder {
|
||||||
}
|
}
|
||||||
|
|
||||||
bg.setOnLongClickListener {
|
bg.setOnLongClickListener {
|
||||||
clickCallback.invoke(SearchClickCallback(SEARCH_ACTION_SHOW_METADATA, it, position, card))
|
longClick(it)
|
||||||
return@setOnLongClickListener true
|
return@setOnLongClickListener true
|
||||||
}
|
}
|
||||||
|
|
||||||
itemView.setOnLongClickListener {
|
itemView.setOnLongClickListener {
|
||||||
clickCallback.invoke(SearchClickCallback(SEARCH_ACTION_SHOW_METADATA, it, position, card))
|
longClick(it)
|
||||||
return@setOnLongClickListener true
|
return@setOnLongClickListener true
|
||||||
}
|
}
|
||||||
|
|
||||||
bg.setOnFocusChangeListener { view, b ->
|
bg.setOnFocusChangeListener { view, b ->
|
||||||
if (b) {
|
focus(view, b)
|
||||||
clickCallback.invoke(SearchClickCallback(SEARCH_ACTION_FOCUSED, view, position, card))
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
itemView.setOnFocusChangeListener { view, b ->
|
itemView.setOnFocusChangeListener { view, b ->
|
||||||
if (b) {
|
focus(view, b)
|
||||||
clickCallback.invoke(SearchClickCallback(SEARCH_ACTION_FOCUSED, view, position, card))
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
when (card) {
|
when (card) {
|
||||||
is DataStoreHelper.ResumeWatchingResult -> {
|
is DataStoreHelper.ResumeWatchingResult -> {
|
||||||
val pos = card.watchPos?.fixVisual()
|
val pos = card.watchPos?.fixVisual()
|
||||||
|
@ -119,7 +151,8 @@ object SearchResultBuilder {
|
||||||
playImg?.visibility = View.VISIBLE
|
playImg?.visibility = View.VISIBLE
|
||||||
|
|
||||||
if (!card.type.isMovieType()) {
|
if (!card.type.isMovieType()) {
|
||||||
cardText?.text = cardText?.context?.getNameFull(card.name, card.episode, card.season)
|
cardText?.text =
|
||||||
|
cardText?.context?.getNameFull(card.name, card.episode, card.season)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
is AnimeSearchResponse -> {
|
is AnimeSearchResponse -> {
|
||||||
|
@ -135,7 +168,8 @@ object SearchResultBuilder {
|
||||||
textIsDub?.apply {
|
textIsDub?.apply {
|
||||||
val dubText = context.getString(R.string.app_dubbed_text)
|
val dubText = context.getString(R.string.app_dubbed_text)
|
||||||
text = if (card.dubEpisodes != null && card.dubEpisodes > 0) {
|
text = if (card.dubEpisodes != null && card.dubEpisodes > 0) {
|
||||||
context.getString(R.string.app_dub_sub_episode_text_format).format(dubText, card.dubEpisodes)
|
context.getString(R.string.app_dub_sub_episode_text_format)
|
||||||
|
.format(dubText, card.dubEpisodes)
|
||||||
} else {
|
} else {
|
||||||
dubText
|
dubText
|
||||||
}
|
}
|
||||||
|
@ -144,7 +178,8 @@ object SearchResultBuilder {
|
||||||
textIsSub?.apply {
|
textIsSub?.apply {
|
||||||
val subText = context.getString(R.string.app_subbed_text)
|
val subText = context.getString(R.string.app_subbed_text)
|
||||||
text = if (card.subEpisodes != null && card.subEpisodes > 0) {
|
text = if (card.subEpisodes != null && card.subEpisodes > 0) {
|
||||||
context.getString(R.string.app_dub_sub_episode_text_format).format(subText, card.subEpisodes)
|
context.getString(R.string.app_dub_sub_episode_text_format)
|
||||||
|
.format(subText, card.subEpisodes)
|
||||||
} else {
|
} else {
|
||||||
subText
|
subText
|
||||||
}
|
}
|
||||||
|
|
|
@ -74,6 +74,10 @@ class SettingsFragment : PreferenceFragmentCompat() {
|
||||||
return getLayoutInt() == 1
|
return getLayoutInt() == 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun Context.isEmulatorSettings() : Boolean {
|
||||||
|
return getLayoutInt() == 2
|
||||||
|
}
|
||||||
|
|
||||||
private fun Context.isAutoTv(): Boolean {
|
private fun Context.isAutoTv(): Boolean {
|
||||||
val uiModeManager = getSystemService(Context.UI_MODE_SERVICE) as UiModeManager?
|
val uiModeManager = getSystemService(Context.UI_MODE_SERVICE) as UiModeManager?
|
||||||
return uiModeManager?.currentModeType == Configuration.UI_MODE_TYPE_TELEVISION
|
return uiModeManager?.currentModeType == Configuration.UI_MODE_TYPE_TELEVISION
|
||||||
|
|
|
@ -39,6 +39,7 @@ import com.bumptech.glide.load.model.GlideUrl
|
||||||
import com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions
|
import com.bumptech.glide.load.resource.drawable.DrawableTransitionOptions
|
||||||
import com.lagradost.cloudstream3.R
|
import com.lagradost.cloudstream3.R
|
||||||
import com.lagradost.cloudstream3.mvvm.logError
|
import com.lagradost.cloudstream3.mvvm.logError
|
||||||
|
import com.lagradost.cloudstream3.ui.settings.SettingsFragment.Companion.isEmulatorSettings
|
||||||
import com.lagradost.cloudstream3.ui.settings.SettingsFragment.Companion.isTvSettings
|
import com.lagradost.cloudstream3.ui.settings.SettingsFragment.Companion.isTvSettings
|
||||||
import com.lagradost.cloudstream3.utils.GlideOptions.bitmapTransform
|
import com.lagradost.cloudstream3.utils.GlideOptions.bitmapTransform
|
||||||
import jp.wasabeef.glide.transformations.BlurTransformation
|
import jp.wasabeef.glide.transformations.BlurTransformation
|
||||||
|
@ -313,10 +314,12 @@ object UIHelper {
|
||||||
// Shows the system bars by removing all the flags
|
// Shows the system bars by removing all the flags
|
||||||
// except for the ones that make the content appear under the system bars.
|
// except for the ones that make the content appear under the system bars.
|
||||||
fun Activity.showSystemUI() {
|
fun Activity.showSystemUI() {
|
||||||
window.decorView.systemUiVisibility = (
|
window.decorView.systemUiVisibility =
|
||||||
View.SYSTEM_UI_FLAG_LAYOUT_STABLE
|
|
||||||
or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
|
(View.SYSTEM_UI_FLAG_LAYOUT_STABLE or View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN)
|
||||||
) // or View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
|
|
||||||
|
changeStatusBarState(isEmulatorSettings())
|
||||||
|
|
||||||
// window.clearFlags(View.KEEP_SCREEN_ON)
|
// window.clearFlags(View.KEEP_SCREEN_ON)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue