Skip to content

Commit

Permalink
Merge pull request #11892 from t895/kotlin-adapters
Browse files Browse the repository at this point in the history
Android: Convert "adapters" package to Kotlin
  • Loading branch information
JosJuice committed Jun 6, 2023
2 parents 04fab7f + a1d027f commit 83b4af8
Show file tree
Hide file tree
Showing 4 changed files with 81 additions and 106 deletions.

This file was deleted.

@@ -0,0 +1,34 @@
// SPDX-License-Identifier: GPL-2.0-or-later

package org.dolphinemu.dolphinemu.adapters

import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentManager
import androidx.fragment.app.FragmentPagerAdapter
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout.OnRefreshListener
import org.dolphinemu.dolphinemu.R
import org.dolphinemu.dolphinemu.ui.platform.Platform
import org.dolphinemu.dolphinemu.ui.platform.PlatformGamesFragment

class PlatformPagerAdapter(
fm: FragmentManager,
private val onRefreshListener: OnRefreshListener
) : FragmentPagerAdapter(fm, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) {
override fun getItem(position: Int): Fragment {
val platform = Platform.fromPosition(position)
val fragment = PlatformGamesFragment.newInstance(platform)
fragment.setOnRefreshListener(onRefreshListener)
return fragment
}

override fun getCount(): Int = TAB_ICONS.size

companion object {
@JvmField
val TAB_ICONS = intArrayOf(
R.drawable.ic_gamecube,
R.drawable.ic_wii,
R.drawable.ic_folder
)
}
}

This file was deleted.

@@ -0,0 +1,47 @@
// SPDX-License-Identifier: GPL-2.0-or-later

package org.dolphinemu.dolphinemu.adapters

import android.view.ViewGroup
import androidx.core.content.ContextCompat
import androidx.leanback.widget.ImageCardView
import androidx.leanback.widget.Presenter
import org.dolphinemu.dolphinemu.R
import org.dolphinemu.dolphinemu.model.TvSettingsItem
import org.dolphinemu.dolphinemu.viewholders.TvSettingsViewHolder

class SettingsRowPresenter : Presenter() {
override fun onCreateViewHolder(parent: ViewGroup): ViewHolder {
// Create a new view.
val settingsCard = ImageCardView(parent.context)
settingsCard.apply {
setMainImageAdjustViewBounds(true)
setMainImageDimensions(192, 160)
isFocusable = true
isFocusableInTouchMode = true
}

// Use that view to create a ViewHolder.
return TvSettingsViewHolder(settingsCard)
}

override fun onBindViewHolder(viewHolder: ViewHolder, item: Any) {
val holder = viewHolder as TvSettingsViewHolder
val context = holder.cardParent.context
val settingsItem = item as TvSettingsItem
val resources = holder.cardParent.resources
holder.apply {
itemId = settingsItem.itemId
cardParent.titleText = resources.getString(settingsItem.labelId)
cardParent.mainImage = ContextCompat.getDrawable(context, settingsItem.iconId)

// Set the background color of the card
val background = ContextCompat.getDrawable(context, R.drawable.tv_card_background)
cardParent.infoAreaBackground = background
}
}

override fun onUnbindViewHolder(viewHolder: ViewHolder) {
// no op
}
}

0 comments on commit 83b4af8

Please sign in to comment.