Clean up & add TODOs

This commit is contained in:
machiav3lli 2022-01-28 01:03:20 +01:00
parent ffeb7d5078
commit de8952f3ab
7 changed files with 42 additions and 16 deletions

View File

@ -53,11 +53,13 @@ class ScreenshotsAdapter(private val onClick: (Product.Screenshot) -> Unit) :
RecyclerView.LayoutParams.WRAP_CONTENT, RecyclerView.LayoutParams.WRAP_CONTENT,
RecyclerView.LayoutParams.MATCH_PARENT RecyclerView.LayoutParams.MATCH_PARENT
).apply { ).apply {
marginStart = image.context.resources.getDimension(R.dimen.shape_small_corner).toInt() marginStart =
image.context.resources.getDimension(R.dimen.shape_small_corner).toInt()
marginEnd = image.context.resources.getDimension(R.dimen.shape_small_corner).toInt() marginEnd = image.context.resources.getDimension(R.dimen.shape_small_corner).toInt()
} }
val placeholder = image.context.getDrawableCompat(R.drawable.ic_screenshot_placeholder).mutate() val placeholder =
image.context.getDrawableCompat(R.drawable.ic_screenshot_placeholder).mutate()
placeholder.setTint(surfaceColor) placeholder.setTint(surfaceColor)
this.placeholder = PaddingDrawable(placeholder, 2f) this.placeholder = PaddingDrawable(placeholder, 2f)
} }

View File

@ -3,7 +3,10 @@ package com.looker.droidify.screen
import android.animation.ValueAnimator import android.animation.ValueAnimator
import android.content.Context import android.content.Context
import android.os.Bundle import android.os.Bundle
import android.view.* import android.view.Gravity
import android.view.MenuItem
import android.view.View
import android.view.ViewGroup
import android.view.animation.AccelerateInterpolator import android.view.animation.AccelerateInterpolator
import android.view.animation.DecelerateInterpolator import android.view.animation.DecelerateInterpolator
import androidx.appcompat.widget.SearchView import androidx.appcompat.widget.SearchView
@ -26,8 +29,10 @@ import com.looker.droidify.service.SyncService
import com.looker.droidify.ui.fragments.AppListFragment import com.looker.droidify.ui.fragments.AppListFragment
import com.looker.droidify.utility.RxUtils import com.looker.droidify.utility.RxUtils
import com.looker.droidify.utility.Utils import com.looker.droidify.utility.Utils
import com.looker.droidify.utility.extension.android.* import com.looker.droidify.utility.extension.android.Android
import com.looker.droidify.utility.extension.resources.* import com.looker.droidify.utility.extension.resources.getDrawableCompat
import com.looker.droidify.utility.extension.resources.getDrawableFromAttr
import com.looker.droidify.utility.extension.resources.sizeScaled
import com.looker.droidify.widget.DividerItemDecoration import com.looker.droidify.widget.DividerItemDecoration
import com.looker.droidify.widget.FocusSearchView import com.looker.droidify.widget.FocusSearchView
import com.looker.droidify.widget.StableRecyclerAdapter import com.looker.droidify.widget.StableRecyclerAdapter
@ -36,7 +41,8 @@ import io.reactivex.rxjava3.core.Observable
import io.reactivex.rxjava3.disposables.Disposable import io.reactivex.rxjava3.disposables.Disposable
import io.reactivex.rxjava3.schedulers.Schedulers import io.reactivex.rxjava3.schedulers.Schedulers
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import kotlin.math.* import kotlin.math.abs
import kotlin.math.roundToInt
class TabsFragment : ScreenFragment() { class TabsFragment : ScreenFragment() {

View File

@ -352,7 +352,11 @@ class SyncService : ConnectionService<SyncService.Binder>() {
val unstable = Preferences[Preferences.Key.UpdateUnstable] val unstable = Preferences[Preferences.Key.UpdateUnstable]
lateinit var disposable: Disposable lateinit var disposable: Disposable
disposable = RepositoryUpdater disposable = RepositoryUpdater
.update(this@SyncService, repository, unstable) { stage, progress, total -> .update(
this@SyncService,
repository,
unstable
) { stage, progress, total ->
if (!disposable.isDisposed) { if (!disposable.isDisposed) {
scope.launch { scope.launch {
mutableStateSubject.emit( mutableStateSubject.emit(

View File

@ -62,6 +62,7 @@ import java.lang.ref.WeakReference
import java.util.* import java.util.*
import kotlin.math.roundToInt import kotlin.math.roundToInt
// TODO break this down
class AppDetailAdapter(private val callbacks: Callbacks) : class AppDetailAdapter(private val callbacks: Callbacks) :
StableRecyclerAdapter<AppDetailAdapter.ViewType, RecyclerView.ViewHolder>() { StableRecyclerAdapter<AppDetailAdapter.ViewType, RecyclerView.ViewHolder>() {

View File

@ -32,7 +32,7 @@ import com.looker.droidify.utility.RxUtils
import com.looker.droidify.utility.Utils import com.looker.droidify.utility.Utils
import com.looker.droidify.utility.Utils.rootInstallerEnabled import com.looker.droidify.utility.Utils.rootInstallerEnabled
import com.looker.droidify.utility.Utils.startUpdate import com.looker.droidify.utility.Utils.startUpdate
import com.looker.droidify.utility.extension.android.* import com.looker.droidify.utility.extension.android.Android
import com.looker.droidify.utility.extension.text.trimAfter import com.looker.droidify.utility.extension.text.trimAfter
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
import io.reactivex.rxjava3.core.Observable import io.reactivex.rxjava3.core.Observable
@ -45,8 +45,6 @@ import kotlinx.coroutines.flow.launchIn
import kotlinx.coroutines.flow.onEach import kotlinx.coroutines.flow.onEach
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext import kotlinx.coroutines.withContext
import java.util.*
import kotlin.collections.ArrayList
class AppDetailFragment() : ScreenFragment(), AppDetailAdapter.Callbacks { class AppDetailFragment() : ScreenFragment(), AppDetailAdapter.Callbacks {
companion object { companion object {

View File

@ -12,11 +12,12 @@ import com.looker.droidify.ui.items.VAppItem
import com.looker.droidify.utility.PRODUCT_ASYNC_DIFFER_CONFIG import com.looker.droidify.utility.PRODUCT_ASYNC_DIFFER_CONFIG
import com.looker.droidify.utility.RxUtils import com.looker.droidify.utility.RxUtils
import com.mikepenz.fastadapter.FastAdapter import com.mikepenz.fastadapter.FastAdapter
import com.mikepenz.fastadapter.IAdapter
import com.mikepenz.fastadapter.paged.PagedModelAdapter import com.mikepenz.fastadapter.paged.PagedModelAdapter
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
import io.reactivex.rxjava3.schedulers.Schedulers import io.reactivex.rxjava3.schedulers.Schedulers
// TODO create categories layouts that hold the apps in horizontal layout // TODO add chips bar to navigate categories
class ExploreFragment : MainNavFragmentX() { class ExploreFragment : MainNavFragmentX() {
private lateinit var binding: FragmentExploreXBinding private lateinit var binding: FragmentExploreXBinding
@ -55,6 +56,11 @@ class ExploreFragment : MainNavFragmentX() {
} }
appsFastAdapter = FastAdapter.with(appsItemAdapter) appsFastAdapter = FastAdapter.with(appsItemAdapter)
appsFastAdapter?.setHasStableIds(true) appsFastAdapter?.setHasStableIds(true)
appsFastAdapter?.onClickListener =
{ _: View?, _: IAdapter<VAppItem>?, item: VAppItem?, position: Int? ->
launchFragment(AppFragmentX(item?.item?.packageName ?: ""))
false
}
binding.recyclerView.apply { binding.recyclerView.apply {
layoutManager = LinearLayoutManager(requireContext()) layoutManager = LinearLayoutManager(requireContext())
setHasFixedSize(true) setHasFixedSize(true)

View File

@ -41,6 +41,15 @@ abstract class MainNavFragmentX : BaseNavFragment() {
} }
} }
} }
protected fun launchFragment(fragment: Fragment): Boolean {
requireActivity().supportFragmentManager
.beginTransaction()
.replace(R.id.fragment_content, fragment)
.addToBackStack(null)
.commit()
return true
}
} }
enum class Source(val sections: Boolean, val order: Boolean) { enum class Source(val sections: Boolean, val order: Boolean) {