Create separate view fragment

pull/1934/head
Alex Baker 2 years ago
parent b4c3bec3ab
commit 5e607f73a3

@ -31,7 +31,7 @@ import org.tasks.time.DateTime
import org.tasks.time.DateTimeUtils.currentTimeMillis import org.tasks.time.DateTimeUtils.currentTimeMillis
import org.tasks.ui.HiddenTopArrayAdapter import org.tasks.ui.HiddenTopArrayAdapter
import org.tasks.ui.OnItemSelected import org.tasks.ui.OnItemSelected
import org.tasks.ui.TaskEditControlFragment import org.tasks.ui.TaskEditControlViewFragment
import javax.inject.Inject import javax.inject.Inject
/** /**
@ -40,7 +40,7 @@ import javax.inject.Inject
* @author Tim Su <tim></tim>@todoroo.com> * @author Tim Su <tim></tim>@todoroo.com>
*/ */
@AndroidEntryPoint @AndroidEntryPoint
class RepeatControlSet : TaskEditControlFragment() { class RepeatControlSet : TaskEditControlViewFragment() {
private val repeatTypes: MutableList<String> = ArrayList() private val repeatTypes: MutableList<String> = ArrayList()
@Inject lateinit var activity: Activity @Inject lateinit var activity: Activity

@ -26,12 +26,11 @@ import org.tasks.files.ImageHelper
import org.tasks.preferences.Device import org.tasks.preferences.Device
import org.tasks.preferences.Preferences import org.tasks.preferences.Preferences
import org.tasks.themes.ThemeColor import org.tasks.themes.ThemeColor
import org.tasks.ui.TaskEditControlFragment import org.tasks.ui.TaskEditControlViewFragment
import java.util.*
import javax.inject.Inject import javax.inject.Inject
@AndroidEntryPoint @AndroidEntryPoint
class CommentBarFragment : TaskEditControlFragment() { class CommentBarFragment : TaskEditControlViewFragment() {
@Inject lateinit var activity: Activity @Inject lateinit var activity: Activity
@Inject lateinit var dialogBuilder: DialogBuilder @Inject lateinit var dialogBuilder: DialogBuilder
@Inject lateinit var device: Device @Inject lateinit var device: Device

@ -13,7 +13,7 @@ import org.tasks.preferences.Preferences
import javax.inject.Inject import javax.inject.Inject
@AndroidEntryPoint @AndroidEntryPoint
class DescriptionControlSet : TaskEditControlFragment() { class DescriptionControlSet : TaskEditControlViewFragment() {
@Inject lateinit var linkify: Linkify @Inject lateinit var linkify: Linkify
@Inject lateinit var preferences: Preferences @Inject lateinit var preferences: Preferences
@Inject lateinit var markdownProvider: MarkdownProvider @Inject lateinit var markdownProvider: MarkdownProvider

@ -162,7 +162,9 @@ class SubtaskControlSet : TaskEditControlComposeFragment() {
override fun Icon() { override fun Icon() {
TaskEditIcon( TaskEditIcon(
id = icon, id = icon,
modifier = Modifier.padding(start = 16.dp, top = 20.dp, end = 20.dp, bottom = 20.dp), modifier = Modifier
.padding(start = 16.dp, top = 20.dp, end = 20.dp, bottom = 20.dp)
.alpha(ContentAlpha.medium),
) )
} }

@ -5,8 +5,10 @@ import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.material.ContentAlpha
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.alpha
import androidx.compose.ui.platform.ComposeView import androidx.compose.ui.platform.ComposeView
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
@ -49,7 +51,8 @@ abstract class TaskEditControlComposeFragment : TaskEditControlFragment() {
TaskEditIcon( TaskEditIcon(
id = icon, id = icon,
modifier = Modifier modifier = Modifier
.padding(start = 16.dp, top = 20.dp, end = 32.dp, bottom = 20.dp), .padding(start = 16.dp, top = 20.dp, end = 32.dp, bottom = 20.dp)
.alpha(ContentAlpha.medium),
) )
} }

@ -1,34 +1,13 @@
package org.tasks.ui package org.tasks.ui
import android.os.Bundle import android.os.Bundle
import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.ImageView
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProvider
import org.tasks.R
abstract class TaskEditControlFragment : Fragment() { abstract class TaskEditControlFragment : Fragment() {
lateinit var viewModel: TaskEditViewModel lateinit var viewModel: TaskEditViewModel
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
val view = inflater.inflate(R.layout.control_set_template, null)
viewModel = ViewModelProvider(requireParentFragment())[TaskEditViewModel::class.java]
val content = view.findViewById<ViewGroup>(R.id.content)
bind(content)
val icon = view.findViewById<ImageView>(R.id.icon)
icon.setImageResource(this.icon)
if (isClickable) {
content.setOnClickListener { onRowClick() }
}
createView(savedInstanceState)
return view
}
protected open fun createView(savedInstanceState: Bundle?) {} protected open fun createView(savedInstanceState: Bundle?) {}
protected open fun onRowClick() {} protected open fun onRowClick() {}

@ -0,0 +1,28 @@
package org.tasks.ui
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import androidx.lifecycle.ViewModelProvider
import org.tasks.R
abstract class TaskEditControlViewFragment : TaskEditControlFragment() {
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
val view = inflater.inflate(R.layout.control_set_template, null)
viewModel = ViewModelProvider(requireParentFragment())[TaskEditViewModel::class.java]
val content = view.findViewById<ViewGroup>(R.id.content)
bind(content)
val icon = view.findViewById<ImageView>(R.id.icon)
icon.setImageResource(this.icon)
if (isClickable) {
content.setOnClickListener { onRowClick() }
}
createView(savedInstanceState)
return view
}
}
Loading…
Cancel
Save