mirror of
https://github.com/iSoron/uhabits.git
synced 2025-12-06 17:18:52 -06:00
Clean up code after conversions
This commit is contained in:
@@ -53,10 +53,6 @@ constructor(
|
||||
}
|
||||
}
|
||||
|
||||
// override fun getCurrentTheme(): Theme {
|
||||
// return currentTheme
|
||||
// }
|
||||
|
||||
override fun applyDarkTheme() {
|
||||
currentTheme = DarkTheme()
|
||||
context.setTheme(R.style.AppBaseThemeDark)
|
||||
|
||||
@@ -62,7 +62,7 @@ class ScoreChart : ScrollableChart {
|
||||
private var nColumns = 0
|
||||
private var textColor = 0
|
||||
private var gridColor = 0
|
||||
private var scores: MutableList<Score>? = null
|
||||
private var scores: List<Score>? = null
|
||||
private var primaryColor = 0
|
||||
|
||||
@Deprecated("")
|
||||
@@ -113,7 +113,7 @@ class ScoreChart : ScrollableChart {
|
||||
postInvalidate()
|
||||
}
|
||||
|
||||
fun setScores(scores: MutableList<Score>) {
|
||||
fun setScores(scores: List<Score>) {
|
||||
this.scores = scores
|
||||
postInvalidate()
|
||||
}
|
||||
|
||||
@@ -37,10 +37,10 @@ abstract class ScrollableChart : View, GestureDetector.OnGestureListener, Animat
|
||||
private set
|
||||
private var scrollerBucketSize = 1
|
||||
private var direction = 1
|
||||
private var detector: GestureDetector? = null
|
||||
private var scroller: Scroller? = null
|
||||
private var scrollAnimator: ValueAnimator? = null
|
||||
private var scrollController: ScrollController? = null
|
||||
private lateinit var detector: GestureDetector
|
||||
private lateinit var scroller: Scroller
|
||||
private lateinit var scrollAnimator: ValueAnimator
|
||||
private lateinit var scrollController: ScrollController
|
||||
private var maxDataOffset = 10000
|
||||
|
||||
constructor(context: Context?) : super(context) {
|
||||
@@ -52,11 +52,11 @@ abstract class ScrollableChart : View, GestureDetector.OnGestureListener, Animat
|
||||
}
|
||||
|
||||
override fun onAnimationUpdate(animation: ValueAnimator) {
|
||||
if (!scroller!!.isFinished) {
|
||||
scroller!!.computeScrollOffset()
|
||||
if (!scroller.isFinished) {
|
||||
scroller.computeScrollOffset()
|
||||
updateDataOffset()
|
||||
} else {
|
||||
scrollAnimator!!.cancel()
|
||||
scrollAnimator.cancel()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -70,9 +70,9 @@ abstract class ScrollableChart : View, GestureDetector.OnGestureListener, Animat
|
||||
velocityX: Float,
|
||||
velocityY: Float
|
||||
): Boolean {
|
||||
scroller!!.fling(
|
||||
scroller!!.currX,
|
||||
scroller!!.currY,
|
||||
scroller.fling(
|
||||
scroller.currX,
|
||||
scroller.currY,
|
||||
direction * velocityX.toInt() / 2,
|
||||
0,
|
||||
0,
|
||||
@@ -81,13 +81,13 @@ abstract class ScrollableChart : View, GestureDetector.OnGestureListener, Animat
|
||||
0
|
||||
)
|
||||
invalidate()
|
||||
scrollAnimator!!.duration = scroller!!.duration.toLong()
|
||||
scrollAnimator!!.start()
|
||||
scrollAnimator.duration = scroller.duration.toLong()
|
||||
scrollAnimator.start()
|
||||
return false
|
||||
}
|
||||
|
||||
private val maxX: Int
|
||||
private get() = maxDataOffset * scrollerBucketSize
|
||||
get() = maxDataOffset * scrollerBucketSize
|
||||
|
||||
public override fun onRestoreInstanceState(state: Parcelable) {
|
||||
if (state !is BundleSavedState) {
|
||||
@@ -99,16 +99,16 @@ abstract class ScrollableChart : View, GestureDetector.OnGestureListener, Animat
|
||||
direction = state.bundle.getInt("direction")
|
||||
dataOffset = state.bundle.getInt("dataOffset")
|
||||
maxDataOffset = state.bundle.getInt("maxDataOffset")
|
||||
scroller!!.startScroll(0, 0, x, y, 0)
|
||||
scroller!!.computeScrollOffset()
|
||||
scroller.startScroll(0, 0, x, y, 0)
|
||||
scroller.computeScrollOffset()
|
||||
super.onRestoreInstanceState(state.superState)
|
||||
}
|
||||
|
||||
public override fun onSaveInstanceState(): Parcelable? {
|
||||
val superState = super.onSaveInstanceState()
|
||||
val bundle = Bundle().apply {
|
||||
putInt("x", scroller!!.currX)
|
||||
putInt("y", scroller!!.currY)
|
||||
putInt("x", scroller.currX)
|
||||
putInt("y", scroller.currY)
|
||||
putInt("dataOffset", dataOffset)
|
||||
putInt("direction", direction)
|
||||
putInt("maxDataOffset", maxDataOffset)
|
||||
@@ -124,15 +124,15 @@ abstract class ScrollableChart : View, GestureDetector.OnGestureListener, Animat
|
||||
parent?.requestDisallowInterceptTouchEvent(true)
|
||||
}
|
||||
dx *= -direction
|
||||
dx = min(dx, (maxX - scroller!!.currX).toFloat())
|
||||
scroller!!.startScroll(
|
||||
scroller!!.currX,
|
||||
scroller!!.currY,
|
||||
dx = min(dx, (maxX - scroller.currX).toFloat())
|
||||
scroller.startScroll(
|
||||
scroller.currX,
|
||||
scroller.currY,
|
||||
dx.toInt(),
|
||||
dy.toInt(),
|
||||
0
|
||||
)
|
||||
scroller!!.computeScrollOffset()
|
||||
scroller.computeScrollOffset()
|
||||
updateDataOffset()
|
||||
return true
|
||||
}
|
||||
@@ -143,7 +143,7 @@ abstract class ScrollableChart : View, GestureDetector.OnGestureListener, Animat
|
||||
}
|
||||
|
||||
override fun onTouchEvent(event: MotionEvent): Boolean {
|
||||
return detector!!.onTouchEvent(event)
|
||||
return detector.onTouchEvent(event)
|
||||
}
|
||||
|
||||
fun setScrollDirection(direction: Int) {
|
||||
@@ -155,11 +155,11 @@ abstract class ScrollableChart : View, GestureDetector.OnGestureListener, Animat
|
||||
fun setMaxDataOffset(maxDataOffset: Int) {
|
||||
this.maxDataOffset = maxDataOffset
|
||||
dataOffset = min(dataOffset, maxDataOffset)
|
||||
scrollController!!.onDataOffsetChanged(dataOffset)
|
||||
scrollController.onDataOffsetChanged(dataOffset)
|
||||
postInvalidate()
|
||||
}
|
||||
|
||||
fun setScrollController(scrollController: ScrollController?) {
|
||||
fun setScrollController(scrollController: ScrollController) {
|
||||
this.scrollController = scrollController
|
||||
}
|
||||
|
||||
@@ -177,18 +177,18 @@ abstract class ScrollableChart : View, GestureDetector.OnGestureListener, Animat
|
||||
}
|
||||
|
||||
fun reset() {
|
||||
scroller!!.finalX = 0
|
||||
scroller!!.computeScrollOffset()
|
||||
scroller.finalX = 0
|
||||
scroller.computeScrollOffset()
|
||||
updateDataOffset()
|
||||
}
|
||||
|
||||
private fun updateDataOffset() {
|
||||
var newDataOffset = scroller!!.currX / scrollerBucketSize
|
||||
var newDataOffset = scroller.currX / scrollerBucketSize
|
||||
newDataOffset = max(0, newDataOffset)
|
||||
newDataOffset = min(maxDataOffset, newDataOffset)
|
||||
if (newDataOffset != dataOffset) {
|
||||
dataOffset = newDataOffset
|
||||
scrollController!!.onDataOffsetChanged(dataOffset)
|
||||
scrollController.onDataOffsetChanged(dataOffset)
|
||||
postInvalidate()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,7 +22,6 @@ package org.isoron.uhabits.activities.habits.list.views
|
||||
import android.content.Context
|
||||
import android.graphics.text.LineBreaker.BREAK_STRATEGY_BALANCED
|
||||
import android.os.Build.VERSION.SDK_INT
|
||||
import android.os.Build.VERSION_CODES.LOLLIPOP
|
||||
import android.os.Build.VERSION_CODES.M
|
||||
import android.os.Handler
|
||||
import android.os.Looper
|
||||
@@ -159,7 +158,7 @@ class HabitCardView(
|
||||
gravity = Gravity.CENTER_VERTICAL
|
||||
orientation = LinearLayout.HORIZONTAL
|
||||
layoutParams = LinearLayout.LayoutParams(MATCH_PARENT, WRAP_CONTENT)
|
||||
if (SDK_INT >= LOLLIPOP) elevation = dp(1f)
|
||||
elevation = dp(1f)
|
||||
|
||||
addView(scoreRing)
|
||||
addView(label)
|
||||
@@ -167,8 +166,7 @@ class HabitCardView(
|
||||
addView(numberPanel)
|
||||
|
||||
setOnTouchListener { v, event ->
|
||||
if (SDK_INT >= LOLLIPOP)
|
||||
v.background.setHotspot(event.x, event.y)
|
||||
v.background.setHotspot(event.x, event.y)
|
||||
false
|
||||
}
|
||||
}
|
||||
@@ -247,7 +245,7 @@ class HabitCardView(
|
||||
|
||||
private fun triggerRipple(x: Float, y: Float) {
|
||||
val background = innerFrame.background
|
||||
if (SDK_INT >= LOLLIPOP) background.setHotspot(x, y)
|
||||
background.setHotspot(x, y)
|
||||
background.state = intArrayOf(
|
||||
android.R.attr.state_pressed,
|
||||
android.R.attr.state_enabled
|
||||
@@ -256,14 +254,6 @@ class HabitCardView(
|
||||
}
|
||||
|
||||
private fun updateBackground(isSelected: Boolean) {
|
||||
if (SDK_INT < LOLLIPOP) {
|
||||
val background = when (isSelected) {
|
||||
true -> sres.getDrawable(R.attr.selectedBackground)
|
||||
false -> sres.getDrawable(R.attr.cardBackground)
|
||||
}
|
||||
innerFrame.setBackgroundDrawable(background)
|
||||
return
|
||||
}
|
||||
|
||||
val background = when (isSelected) {
|
||||
true -> R.drawable.selected_box
|
||||
|
||||
@@ -25,8 +25,6 @@ import android.graphics.Color
|
||||
import android.graphics.Paint
|
||||
import android.graphics.RectF
|
||||
import android.graphics.Typeface
|
||||
import android.os.Build.VERSION.SDK_INT
|
||||
import android.os.Build.VERSION_CODES.LOLLIPOP
|
||||
import android.text.TextPaint
|
||||
import android.view.View.MeasureSpec.EXACTLY
|
||||
import org.isoron.uhabits.R
|
||||
@@ -60,7 +58,7 @@ class HeaderView(
|
||||
init {
|
||||
setScrollerBucketSize(dim(R.dimen.checkmarkWidth).toInt())
|
||||
setBackgroundColor(sres.getColor(R.attr.headerBackgroundColor))
|
||||
if (SDK_INT >= LOLLIPOP) elevation = dp(2.0f)
|
||||
elevation = dp(2.0f)
|
||||
}
|
||||
|
||||
override fun atMidnight() {
|
||||
|
||||
@@ -161,15 +161,19 @@ class NumberButtonView(
|
||||
val label: String
|
||||
val typeface: Typeface
|
||||
|
||||
if (value >= 0) {
|
||||
label = value.toShortString()
|
||||
typeface = BOLD_TYPEFACE
|
||||
} else if (preferences.areQuestionMarksEnabled()) {
|
||||
label = resources.getString(R.string.fa_question)
|
||||
typeface = getFontAwesome()
|
||||
} else {
|
||||
label = "0"
|
||||
typeface = BOLD_TYPEFACE
|
||||
when {
|
||||
value >= 0 -> {
|
||||
label = value.toShortString()
|
||||
typeface = BOLD_TYPEFACE
|
||||
}
|
||||
preferences.areQuestionMarksEnabled() -> {
|
||||
label = resources.getString(R.string.fa_question)
|
||||
typeface = getFontAwesome()
|
||||
}
|
||||
else -> {
|
||||
label = "0"
|
||||
typeface = BOLD_TYPEFACE
|
||||
}
|
||||
}
|
||||
|
||||
pBold.color = activeColor
|
||||
|
||||
@@ -36,7 +36,7 @@ class ScoreCardView(context: Context, attrs: AttributeSet) : LinearLayout(contex
|
||||
val androidColor = state.color.toThemedAndroidColor(context)
|
||||
binding.title.setTextColor(androidColor)
|
||||
binding.spinner.setSelection(state.spinnerPosition)
|
||||
binding.scoreView.setScores(state.scores.toMutableList())
|
||||
binding.scoreView.setScores(state.scores)
|
||||
binding.scoreView.reset()
|
||||
binding.scoreView.setBucketSize(state.bucketSize)
|
||||
binding.scoreView.setColor(androidColor)
|
||||
|
||||
@@ -75,7 +75,6 @@ class AndroidTaskRunner : TaskRunner {
|
||||
}
|
||||
|
||||
override fun onPreExecute() {
|
||||
// isCancelled = task.isCanceled
|
||||
if (isCancelled) return
|
||||
for (l in listeners) l.onTaskStarted(task)
|
||||
activeTasks.add(this)
|
||||
|
||||
@@ -52,7 +52,7 @@ class ScoreWidget(
|
||||
setIsTransparencyEnabled(true)
|
||||
setBucketSize(viewModel.bucketSize)
|
||||
setColor(habit.color.toThemedAndroidColor(context))
|
||||
setScores(viewModel.scores.toMutableList())
|
||||
setScores(viewModel.scores)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user