Skip to content
Merged

cleanup #4439

Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions library/download-manager/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
plugins {
id("godtools.library-conventions")
kotlin("kapt")
alias(libs.plugins.ksp)
}

android {
namespace = "org.cru.godtools.downloadmanager"

configureCompose(project)
buildFeatures.dataBinding = true

testOptions.unitTests.all {
// enable spyk mocks for java.io.File
Expand All @@ -28,7 +26,6 @@ dependencies {
api(libs.androidx.work.ktx)

implementation(libs.gtoSupport.androidx.work)
implementation(libs.gtoSupport.compat)
implementation(libs.gtoSupport.dagger)
implementation(libs.gtoSupport.kotlin.coroutines)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,7 @@ internal class ToolSyncTasks @Inject internal constructor(
try {
viewsApi.submitViews(views).isSuccessful
.also { if (it) toolsRepository.updateToolViews(code, 0 - views.quantity) }
} catch (ignored: IOException) {
} catch (_: IOException) {
false
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import androidx.annotation.MainThread
import androidx.core.net.toUri
import androidx.fragment.app.commit
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.asLiveData
import androidx.lifecycle.distinctUntilChanged
import androidx.lifecycle.lifecycleScope
import androidx.lifecycle.map
Expand Down Expand Up @@ -67,6 +68,13 @@ class AemArticleActivity :
setupDataModel()
}

override fun onBindingChanged() {
super.onBindingChanged()
binding.manifest = viewModel.manifest.asLiveData()
binding.loadingProgress = viewModel.downloadProgress.asLiveData()
binding.loadingState = activeToolLoadingStateLiveData
}

override fun onStart() {
super.onStart()
loadFragmentIfNeeded()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,13 @@ class ArticlesActivity :
setupFragments()
}

override fun onBindingChanged() {
super.onBindingChanged()
binding.manifest = viewModel.manifest.asLiveData()
binding.loadingProgress = viewModel.downloadProgress.asLiveData()
binding.loadingState = activeToolLoadingStateLiveData
}

override fun onOptionsItemSelected(item: MenuItem) = when (item.itemId) {
android.R.id.home if (supportFragmentManager.backStackEntryCount > 0) -> {
supportFragmentManager.popBackStack()
Expand Down
1 change: 1 addition & 0 deletions ui/base-tool/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ dependencies {
implementation(libs.gtoSupport.androidx.recyclerview)
implementation(libs.gtoSupport.animation)
implementation(libs.gtoSupport.base)
implementation(libs.gtoSupport.compat)
implementation(libs.gtoSupport.dagger)
implementation(libs.gtoSupport.eventbus)
implementation(libs.gtoSupport.kotlin.coroutines)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import android.view.MenuItem
import android.view.View
import android.view.WindowManager
import androidx.activity.viewModels
import androidx.annotation.CallSuper
import androidx.annotation.LayoutRes
import androidx.annotation.MainThread
import androidx.annotation.StringRes
Expand Down Expand Up @@ -68,7 +67,6 @@ import org.cru.godtools.shared.tool.parser.model.navBarColor
import org.cru.godtools.shared.tool.parser.model.shareable.ShareableImage
import org.cru.godtools.shared.tool.parser.model.tips.Tip
import org.cru.godtools.sync.GodToolsSyncService
import org.cru.godtools.tool.BR
import org.cru.godtools.tool.R
import org.cru.godtools.tool.databinding.ToolGenericFragmentActivityBinding
import org.greenrobot.eventbus.Subscribe
Expand Down Expand Up @@ -110,15 +108,6 @@ abstract class BaseToolActivity<B : ViewBinding>(@LayoutRes contentLayoutId: Int
eventBus.register(this, this)
}

@CallSuper
override fun onBindingChanged() {
(binding as? ViewDataBinding)?.apply {
setVariable(BR.manifest, viewModel.manifest.asLiveData())
setVariable(BR.loadingProgress, viewModel.downloadProgress.asLiveData())
setVariable(BR.loadingState, activeToolLoadingStateLiveData)
}
}

override fun onSetupActionBar() {
super.onSetupActionBar()
setupToolbar()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package org.cru.godtools.downloadmanager.databinding
package org.cru.godtools.base.tool.databinding.adapters

import android.view.View
import android.widget.ProgressBar
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ import org.ccci.gto.android.common.androidx.recyclerview.adapter.SimpleDataBindi
import org.cru.godtools.base.tool.databinding.ToolSettingsSheetCallbacks
import org.cru.godtools.shared.tool.parser.model.shareable.Shareable
import org.cru.godtools.shared.tool.parser.model.shareable.ShareableImage
import org.cru.godtools.tool.BR
import org.cru.godtools.tool.R
import org.cru.godtools.tool.databinding.ToolSettingsItemShareableImageBinding

class ShareablesAdapter(lifecycleOwner: LifecycleOwner, private val callbacks: ToolSettingsSheetCallbacks) :
SimpleDataBindingAdapter<ViewDataBinding>(lifecycleOwner) {
Expand All @@ -32,10 +32,14 @@ class ShareablesAdapter(lifecycleOwner: LifecycleOwner, private val callbacks: T

override fun onViewDataBindingCreated(binding: ViewDataBinding, viewType: Int) {
super.onViewDataBindingCreated(binding, viewType)
binding.setVariable(BR.callbacks, callbacks)
when (binding) {
is ToolSettingsItemShareableImageBinding -> binding.callbacks = callbacks
}
}

override fun onBindViewDataBinding(binding: ViewDataBinding, position: Int) {
binding.setVariable(BR.item, getItem(position))
when (binding) {
is ToolSettingsItemShareableImageBinding -> binding.item = getItem(position) as? ShareableImage
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ import androidx.databinding.ViewDataBinding
import androidx.lifecycle.LifecycleOwner
import org.ccci.gto.android.common.androidx.recyclerview.adapter.SimpleDataBindingAdapter
import org.cru.godtools.base.tool.ui.share.model.ShareItem
import org.cru.godtools.tool.BR

class OtherActionsAdapter(
lifecycleOwner: LifecycleOwner,
Expand All @@ -24,11 +23,9 @@ class OtherActionsAdapter(
override fun getItemViewType(position: Int) = items[position].actionLayout!!

override fun onCreateViewDataBinding(parent: ViewGroup, viewType: Int): ViewDataBinding =
DataBindingUtil.inflate<ViewDataBinding?>(LayoutInflater.from(parent.context), viewType, parent, false).also {
it.setVariable(BR.callbacks, callbacks)
}
DataBindingUtil.inflate<ViewDataBinding?>(LayoutInflater.from(parent.context), viewType, parent, false)

override fun onBindViewDataBinding(binding: ViewDataBinding, position: Int) {
binding.setVariable(BR.item, items[position])
items[position].bindTo(binding, callbacks)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,9 @@ import android.view.ViewGroup
import androidx.databinding.DataBindingUtil
import androidx.databinding.ViewDataBinding
import org.ccci.gto.android.common.androidx.recyclerview.adapter.SimpleDataBindingAdapter
import org.cru.godtools.tool.BR
import org.cru.godtools.tool.R
import org.cru.godtools.tool.databinding.ToolShareItemAppBinding
import org.cru.godtools.tool.databinding.ToolShareItemMoreBinding

internal class ShareAppsAdapter(private val items: List<ResolveInfo>, private val callbacks: Callbacks) :
SimpleDataBindingAdapter<ViewDataBinding>() {
Expand All @@ -24,14 +25,23 @@ internal class ShareAppsAdapter(private val items: List<ResolveInfo>, private va

override fun onCreateViewDataBinding(parent: ViewGroup, viewType: Int) =
DataBindingUtil.inflate<ViewDataBinding>(LayoutInflater.from(parent.context), viewType, parent, false).also {
it.setVariable(BR.callbacks, callbacks)
when (it) {
is ToolShareItemAppBinding -> it.callbacks = callbacks
is ToolShareItemMoreBinding -> it.callbacks = callbacks
}
}

override fun onBindViewDataBinding(binding: ViewDataBinding, position: Int) {
binding.setVariable(BR.info, items.getOrNull(position))
when (binding) {
is ToolShareItemAppBinding -> binding.info = items.getOrNull(position)
is ToolShareItemMoreBinding -> Unit
}
}

override fun onViewDataBindingRecycled(binding: ViewDataBinding) {
binding.setVariable(BR.info, null)
when (binding) {
is ToolShareItemAppBinding -> binding.info = null
is ToolShareItemMoreBinding -> Unit
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@ import android.app.Activity
import android.content.Intent
import android.os.Parcelable
import androidx.annotation.LayoutRes
import androidx.databinding.ViewDataBinding
import org.ccci.gto.android.common.base.Ordered
import org.cru.godtools.base.tool.ui.share.OtherActionsAdapter.Callbacks

interface ShareItem :
Parcelable,
Expand All @@ -13,6 +15,7 @@ interface ShareItem :

@get:LayoutRes
val actionLayout: Int? get() = null
fun bindTo(binding: ViewDataBinding, callbacks: Callbacks?) = Unit
fun triggerAction(activity: Activity)

val isValid get() = true
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package org.cru.godtools.base.tool.ui.shareable.model
import android.app.Activity
import android.content.Context
import android.content.Intent
import androidx.databinding.ViewDataBinding
import androidx.fragment.app.FragmentActivity
import dagger.assisted.Assisted
import dagger.assisted.AssistedFactory
Expand All @@ -16,10 +17,12 @@ import org.ccci.gto.android.common.base.Ordered
import org.cru.godtools.base.ToolFileSystem
import org.cru.godtools.base.tool.model.getFileBlocking
import org.cru.godtools.base.tool.model.shareable.buildShareIntent
import org.cru.godtools.base.tool.ui.share.OtherActionsAdapter
import org.cru.godtools.base.tool.ui.share.model.ShareItem
import org.cru.godtools.base.tool.ui.shareable.ShareableImageBottomSheetDialogFragment
import org.cru.godtools.shared.tool.parser.model.shareable.ShareableImage
import org.cru.godtools.tool.R
import org.cru.godtools.tool.databinding.ToolShareItemShareableImageBinding

@Parcelize
class ShareableImageShareItem(
Expand Down Expand Up @@ -48,6 +51,11 @@ class ShareableImageShareItem(
}

override val actionLayout get() = R.layout.tool_share_item_shareable_image
override fun bindTo(binding: ViewDataBinding, callbacks: OtherActionsAdapter.Callbacks?) {
require(binding is ToolShareItemShareableImageBinding)
binding.callbacks = callbacks
binding.item = this
}

override val order get() = Ordered.LOWEST_PRECEDENCE

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,6 @@ fun Activity.startDashboardActivity() = startActivity(createDashboardIntent())
private fun Context.createDashboardIntent() = Intent().setClassName(this, ACTIVITY_CLASS_DASHBOARD)
// endregion DashboardActivity

// region AppLanguageActivity
fun Context.startAppLanguageActivity() = startActivity(createCircuitActivityIntent(AppLanguageScreen))
// endregion AppLanguageActivity

// region ArticlesActivity
private const val ACTIVITY_CLASS_ARTICLES = "org.cru.godtools.article.ui.ArticlesActivity"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import androidx.annotation.VisibleForTesting
import androidx.fragment.app.FragmentManager.POP_BACK_STACK_INCLUSIVE
import androidx.fragment.app.commit
import androidx.lifecycle.asFlow
import androidx.lifecycle.asLiveData
import dagger.hilt.android.AndroidEntryPoint
import java.util.Locale
import kotlinx.coroutines.flow.combine
Expand Down Expand Up @@ -133,6 +134,9 @@ class CyoaActivity :
// endregion Intent Processing

private fun setupBinding() {
binding.manifest = viewModel.manifest.asLiveData()
binding.loadingProgress = viewModel.downloadProgress.asLiveData()
binding.loadingState = activeToolLoadingStateLiveData
binding.activeLocale = dataModel.activeLocale
binding.visibleLocales = dataModel.visibleLocales
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -280,6 +280,9 @@ class TractActivity :
override val languageToggle get() = binding.languageToggle

private fun setupBinding() {
binding.manifest = viewModel.manifest.asLiveData()
binding.loadingProgress = viewModel.downloadProgress.asLiveData()
binding.loadingState = activeToolLoadingStateLiveData
binding.activeLocale = dataModel.activeLocale
binding.visibleLocales = dataModel.visibleLocales
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,14 +1,22 @@
package org.cru.godtools.tract.ui.share.model

import android.app.Activity
import androidx.databinding.ViewDataBinding
import kotlinx.parcelize.Parcelize
import org.cru.godtools.base.tool.ui.share.OtherActionsAdapter
import org.cru.godtools.base.tool.ui.share.model.ShareItem
import org.cru.godtools.tool.tract.R
import org.cru.godtools.tool.tract.databinding.TractShareItemLiveShareBinding
import org.cru.godtools.tract.activity.TractActivity

@Parcelize
class LiveShareItem : ShareItem {
override val actionLayout get() = R.layout.tract_share_item_live_share
override fun bindTo(binding: ViewDataBinding, callbacks: OtherActionsAdapter.Callbacks?) {
require(binding is TractShareItemLiveShareBinding)
binding.callbacks = callbacks
binding.item = this
}

override fun triggerAction(activity: Activity) {
(activity as? TractActivity)?.showLiveShareTutorial()
Expand Down