Wear: Watchfaces unify onCreate, onTapCommand

This commit is contained in:
Milos Kozak 2022-04-24 19:38:16 +02:00
parent 9b064404ac
commit 9c17c075f4
10 changed files with 92 additions and 253 deletions

View file

@ -1,46 +1,13 @@
@file:Suppress("DEPRECATION")
package info.nightscout.androidaps.watchfaces package info.nightscout.androidaps.watchfaces
import android.annotation.SuppressLint
import android.content.Intent
import android.graphics.Color import android.graphics.Color
import android.support.wearable.watchface.WatchFaceStyle
import android.view.LayoutInflater
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import com.ustwo.clockwise.common.WatchMode import com.ustwo.clockwise.common.WatchMode
import info.nightscout.androidaps.R import info.nightscout.androidaps.R
import info.nightscout.androidaps.interaction.menus.MainMenuActivity
class AapsLargeWatchface : BaseWatchFace() { class AapsLargeWatchface : BaseWatchFace() {
private var sgvTapTime: Long = 0 override fun layoutResource(): Int = R.layout.activity_home_large
@SuppressLint("InflateParams")
override fun onCreate() {
super.onCreate()
val inflater = getSystemService(LAYOUT_INFLATER_SERVICE) as LayoutInflater
layoutView = inflater.inflate(R.layout.activity_home_large, null)
performViewSetup()
}
override fun onTapCommand(tapType: Int, x: Int, y: Int, eventTime: Long) {
mSgv?.let { mSgv ->
val extra = (mSgv.right - mSgv.left) / 2
if (tapType == TAP_TYPE_TAP && x + extra >= mSgv.left && x - extra <= mSgv.right && y >= mSgv.top && y <= mSgv.bottom) {
if (eventTime - sgvTapTime < 800) {
val intent = Intent(this, MainMenuActivity::class.java)
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
startActivity(intent)
}
sgvTapTime = eventTime
}
}
}
override fun getWatchFaceStyle(): WatchFaceStyle {
return WatchFaceStyle.Builder(this).setAcceptsTapEvents(true).build()
}
override fun setColorDark() { override fun setColorDark() {
mLinearLayout?.setBackgroundColor(ContextCompat.getColor(this, if (dividerMatchesBg) R.color.dark_background else R.color.dark_mLinearLayout)) mLinearLayout?.setBackgroundColor(ContextCompat.getColor(this, if (dividerMatchesBg) R.color.dark_background else R.color.dark_mLinearLayout))

View file

@ -1,63 +1,14 @@
@file:Suppress("DEPRECATION")
package info.nightscout.androidaps.watchfaces package info.nightscout.androidaps.watchfaces
import android.annotation.SuppressLint
import android.content.Intent
import android.graphics.Color import android.graphics.Color
import android.support.wearable.watchface.WatchFaceStyle
import android.view.LayoutInflater
import androidx.annotation.ColorInt import androidx.annotation.ColorInt
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import com.ustwo.clockwise.common.WatchMode import com.ustwo.clockwise.common.WatchMode
import info.nightscout.androidaps.R import info.nightscout.androidaps.R
import info.nightscout.androidaps.interaction.menus.MainMenuActivity
class AapsV2Watchface : BaseWatchFace() { class AapsV2Watchface : BaseWatchFace() {
private var chartTapTime: Long = 0 override fun layoutResource(): Int = R.layout.activity_home_2
private var sgvTapTime: Long = 0
@SuppressLint("InflateParams")
override fun onCreate() {
super.onCreate()
val inflater = getSystemService(LAYOUT_INFLATER_SERVICE) as LayoutInflater
layoutView = inflater.inflate(R.layout.activity_home_2, null)
performViewSetup()
}
override fun onTapCommand(tapType: Int, x: Int, y: Int, eventTime: Long) {
chart?.let { chart ->
if (tapType == TAP_TYPE_TAP && x >= chart.left && x <= chart.right && y >= chart.top && y <= chart.bottom) {
if (eventTime - chartTapTime < 800) {
changeChartTimeframe()
}
chartTapTime = eventTime
return
}
}
mSgv?.let { mSgv ->
val extra = (mSgv.right - mSgv.left) / 2
if (tapType == TAP_TYPE_TAP && x + extra >= mSgv.left && x - extra <= mSgv.right && y >= mSgv.top && y <= mSgv.bottom) {
if (eventTime - sgvTapTime < 800) {
val intent = Intent(this, MainMenuActivity::class.java)
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
startActivity(intent)
}
sgvTapTime = eventTime
}
}
}
private fun changeChartTimeframe() {
var timeframe = sp.getInt(R.string.key_chart_time_frame, 3)
timeframe = timeframe % 5 + 1
sp.putInt(R.string.key_chart_time_frame, timeframe)
}
override fun getWatchFaceStyle(): WatchFaceStyle {
return WatchFaceStyle.Builder(this).setAcceptsTapEvents(true).build()
}
override fun setColorDark() { override fun setColorDark() {
@ColorInt val dividerTxtColor = if (dividerMatchesBg) ContextCompat.getColor(this, R.color.dark_midColor) else Color.BLACK @ColorInt val dividerTxtColor = if (dividerMatchesBg) ContextCompat.getColor(this, R.color.dark_midColor) else Color.BLACK

View file

@ -1,62 +1,13 @@
@file:Suppress("DEPRECATION")
package info.nightscout.androidaps.watchfaces package info.nightscout.androidaps.watchfaces
import android.annotation.SuppressLint
import android.content.Intent
import android.graphics.Color import android.graphics.Color
import android.support.wearable.watchface.WatchFaceStyle
import android.view.LayoutInflater
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import com.ustwo.clockwise.common.WatchMode import com.ustwo.clockwise.common.WatchMode
import info.nightscout.androidaps.R import info.nightscout.androidaps.R
import info.nightscout.androidaps.interaction.menus.MainMenuActivity
class AapsWatchface : BaseWatchFace() { class AapsWatchface : BaseWatchFace() {
private var chartTapTime: Long = 0 override fun layoutResource(): Int = R.layout.activity_home
private var sgvTapTime: Long = 0
@SuppressLint("InflateParams")
override fun onCreate() {
super.onCreate()
val inflater = getSystemService(LAYOUT_INFLATER_SERVICE) as LayoutInflater
layoutView = inflater.inflate(R.layout.activity_home, null)
performViewSetup()
}
override fun onTapCommand(tapType: Int, x: Int, y: Int, eventTime: Long) {
chart?.let { chart ->
if (tapType == TAP_TYPE_TAP && x >= chart.left && x <= chart.right && y >= chart.top && y <= chart.bottom) {
if (eventTime - chartTapTime < 800) {
changeChartTimeframe()
}
chartTapTime = eventTime
return
}
}
mSgv?.let { mSgv ->
val extra = (mSgv.right - mSgv.left) / 2
if (tapType == TAP_TYPE_TAP && x + extra >= mSgv.left && x - extra <= mSgv.right && y >= mSgv.top && y <= mSgv.bottom) {
if (eventTime - sgvTapTime < 800) {
val intent = Intent(this, MainMenuActivity::class.java)
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
startActivity(intent)
}
sgvTapTime = eventTime
}
}
}
private fun changeChartTimeframe() {
var timeframe = sp.getInt(R.string.key_chart_time_frame, 3)
timeframe = timeframe % 5 + 1
sp.putInt(R.string.key_chart_time_frame, timeframe)
}
override fun getWatchFaceStyle(): WatchFaceStyle {
return WatchFaceStyle.Builder(this).setAcceptsTapEvents(true).build()
}
override fun setColorDark() { override fun setColorDark() {
mLinearLayout?.setBackgroundColor(ContextCompat.getColor(this, if (dividerMatchesBg) R.color.dark_background else R.color.dark_statusView)) mLinearLayout?.setBackgroundColor(ContextCompat.getColor(this, if (dividerMatchesBg) R.color.dark_background else R.color.dark_statusView))

View file

@ -7,8 +7,9 @@ import android.content.Intent
import android.content.IntentFilter import android.content.IntentFilter
import android.graphics.* import android.graphics.*
import android.os.BatteryManager import android.os.BatteryManager
import android.os.PowerManager
import android.os.Vibrator import android.os.Vibrator
import android.support.wearable.watchface.WatchFaceStyle
import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.WindowInsets import android.view.WindowInsets
import android.view.WindowManager import android.view.WindowManager
@ -16,6 +17,7 @@ import android.widget.ImageView
import android.widget.LinearLayout import android.widget.LinearLayout
import android.widget.RelativeLayout import android.widget.RelativeLayout
import android.widget.TextView import android.widget.TextView
import androidx.annotation.LayoutRes
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import com.ustwo.clockwise.common.WatchFaceTime import com.ustwo.clockwise.common.WatchFaceTime
import com.ustwo.clockwise.common.WatchMode import com.ustwo.clockwise.common.WatchMode
@ -27,6 +29,7 @@ import info.nightscout.androidaps.events.EventWearPreferenceChange
import info.nightscout.androidaps.events.EventWearToMobile import info.nightscout.androidaps.events.EventWearToMobile
import info.nightscout.androidaps.extensions.toVisibility import info.nightscout.androidaps.extensions.toVisibility
import info.nightscout.androidaps.extensions.toVisibilityKeepSpace import info.nightscout.androidaps.extensions.toVisibilityKeepSpace
import info.nightscout.androidaps.interaction.menus.MainMenuActivity
import info.nightscout.androidaps.interaction.utils.Persistence import info.nightscout.androidaps.interaction.utils.Persistence
import info.nightscout.androidaps.interaction.utils.WearUtil import info.nightscout.androidaps.interaction.utils.WearUtil
import info.nightscout.androidaps.plugins.bus.RxBus import info.nightscout.androidaps.plugins.bus.RxBus
@ -49,6 +52,7 @@ import kotlin.math.floor
* Created by emmablack on 12/29/14. * Created by emmablack on 12/29/14.
* Updated by andrew-warrington on 02-Jan-2018. * Updated by andrew-warrington on 02-Jan-2018.
* Refactored by dlvoy on 2019-11-2019 * Refactored by dlvoy on 2019-11-2019
* Refactored by MilosKozak 24/04/2022
*/ */
abstract class BaseWatchFace : WatchFace() { abstract class BaseWatchFace : WatchFace() {
@ -67,6 +71,9 @@ abstract class BaseWatchFace : WatchFace() {
protected var treatmentData = TreatmentData(ArrayList(), ArrayList(), ArrayList(), ArrayList()) protected var treatmentData = TreatmentData(ArrayList(), ArrayList(), ArrayList(), ArrayList())
protected var graphData = EventData.GraphData(ArrayList()) protected var graphData = EventData.GraphData(ArrayList())
// Layout
@LayoutRes abstract fun layoutResource(): Int
private val displaySize = Point() private val displaySize = Point()
var mTime: TextView? = null var mTime: TextView? = null
var mHour: TextView? = null var mHour: TextView? = null
@ -100,8 +107,10 @@ abstract class BaseWatchFace : WatchFace() {
var mLinearLayout: LinearLayout? = null var mLinearLayout: LinearLayout? = null
var mLinearLayout2: LinearLayout? = null var mLinearLayout2: LinearLayout? = null
var mDate: LinearLayout? = null var mDate: LinearLayout? = null
var mChartTap: LinearLayout? = null var mChartTap: LinearLayout? = null // Steampunk only
var mMainMenuTap: LinearLayout? = null var mMainMenuTap: LinearLayout? = null // Steampunk,Digital only
var chart: LineChartView? = null
var ageLevel = 1 var ageLevel = 1
var loopLevel = -1 var loopLevel = -1
var highColor = Color.YELLOW var highColor = Color.YELLOW
@ -111,13 +120,16 @@ abstract class BaseWatchFace : WatchFace() {
var basalBackgroundColor = Color.BLUE var basalBackgroundColor = Color.BLUE
var basalCenterColor = Color.BLUE var basalCenterColor = Color.BLUE
var bolusColor = Color.MAGENTA var bolusColor = Color.MAGENTA
var lowResMode = false private var lowResMode = false
var layoutSet = false private var layoutSet = false
var bIsRound = false var bIsRound = false
var dividerMatchesBg = false var dividerMatchesBg = false
var pointSize = 2 var pointSize = 2
var chart: LineChartView? = null
var wakeLock: PowerManager.WakeLock? = null // Tapping times
private var sgvTapTime: Long = 0
private var chartTapTime: Long = 0
private var mainMenuTapTime: Long = 0
// related endTime manual layout // related endTime manual layout
var layoutView: View? = null var layoutView: View? = null
@ -146,7 +158,6 @@ abstract class BaseWatchFace : WatchFace() {
colorDarkLow = ContextCompat.getColor(this, R.color.dark_lowColor) colorDarkLow = ContextCompat.getColor(this, R.color.dark_lowColor)
@Suppress("DEPRECATION") @Suppress("DEPRECATION")
(getSystemService(WINDOW_SERVICE) as WindowManager).defaultDisplay.getSize(displaySize) (getSystemService(WINDOW_SERVICE) as WindowManager).defaultDisplay.getSize(displaySize)
wakeLock = (getSystemService(POWER_SERVICE) as PowerManager).newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "AndroidAPS:BaseWatchFace")
specW = View.MeasureSpec.makeMeasureSpec(displaySize.x, View.MeasureSpec.EXACTLY) specW = View.MeasureSpec.makeMeasureSpec(displaySize.x, View.MeasureSpec.EXACTLY)
specH = if (forceSquareCanvas) specW else View.MeasureSpec.makeMeasureSpec(displaySize.y, View.MeasureSpec.EXACTLY) specH = if (forceSquareCanvas) specW else View.MeasureSpec.makeMeasureSpec(displaySize.y, View.MeasureSpec.EXACTLY)
disposable += rxBus disposable += rxBus
@ -185,6 +196,58 @@ abstract class BaseWatchFace : WatchFace() {
persistence.turnOff() persistence.turnOff()
setupBatteryReceiver() setupBatteryReceiver()
setupSimpleUi() setupSimpleUi()
layoutView = (getSystemService(LAYOUT_INFLATER_SERVICE) as LayoutInflater).inflate(layoutResource(), null)
performViewSetup()
rxBus.send(EventWearToMobile(ActionResendData("BaseWatchFace::onCreate")))
}
override fun onTapCommand(tapType: Int, x: Int, y: Int, eventTime: Long) {
chart?.let { chart ->
if (tapType == TAP_TYPE_TAP && x >= chart.left && x <= chart.right && y >= chart.top && y <= chart.bottom) {
if (eventTime - chartTapTime < 800) {
changeChartTimeframe()
}
chartTapTime = eventTime
return
}
}
mSgv?.let { mSgv ->
val extra = (mSgv.right - mSgv.left) / 2
if (tapType == TAP_TYPE_TAP && x + extra >= mSgv.left && x - extra <= mSgv.right && y >= mSgv.top && y <= mSgv.bottom) {
if (eventTime - sgvTapTime < 800) {
startActivity(Intent(this, MainMenuActivity::class.java).also { it.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) })
}
sgvTapTime = eventTime
}
}
mChartTap?.let { mChartTap ->
if (tapType == TAP_TYPE_TAP && x >= mChartTap.left && x <= mChartTap.right && y >= mChartTap.top && y <= mChartTap.bottom) {
if (eventTime - chartTapTime < 800) {
changeChartTimeframe()
}
chartTapTime = eventTime
return
}
}
mMainMenuTap?.let { mMainMenuTap ->
if (tapType == TAP_TYPE_TAP && x >= mMainMenuTap.left && x <= mMainMenuTap.right && y >= mMainMenuTap.top && y <= mMainMenuTap.bottom) {
if (eventTime - mainMenuTapTime < 800) {
startActivity(Intent(this, MainMenuActivity::class.java).also { it.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) })
}
mainMenuTapTime = eventTime
return
}
}
}
open fun changeChartTimeframe() {
var timeframe = sp.getInt(R.string.key_chart_time_frame, 3)
timeframe = timeframe % 5 + 1
sp.putInt(R.string.key_chart_time_frame, timeframe)
}
override fun getWatchFaceStyle(): WatchFaceStyle {
return WatchFaceStyle.Builder(this).setAcceptsTapEvents(true).build()
} }
private fun setupBatteryReceiver() { private fun setupBatteryReceiver() {
@ -272,7 +335,6 @@ abstract class BaseWatchFace : WatchFace() {
setupCharts() setupCharts()
setDataFields() setDataFields()
missedReadingAlert() missedReadingAlert()
wakeLock?.acquire(50)
} }
fun ageLevel(): Int { fun ageLevel(): Int {

View file

@ -1,14 +1,7 @@
@file:Suppress("DEPRECATION")
package info.nightscout.androidaps.watchfaces package info.nightscout.androidaps.watchfaces
import android.annotation.SuppressLint
import android.content.Intent
import android.support.wearable.watchface.WatchFaceStyle
import android.view.LayoutInflater
import android.view.View import android.view.View
import info.nightscout.androidaps.R import info.nightscout.androidaps.R
import info.nightscout.androidaps.interaction.menus.MainMenuActivity
/** /**
* Created by andrew-warrington on 18/11/2017. * Created by andrew-warrington on 18/11/2017.
@ -16,30 +9,7 @@ import info.nightscout.androidaps.interaction.menus.MainMenuActivity
*/ */
class CockpitWatchface : BaseWatchFace() { class CockpitWatchface : BaseWatchFace() {
private var sgvTapTime: Long = 0 override fun layoutResource(): Int = R.layout.activity_cockpit
@SuppressLint("InflateParams")
override fun onCreate() {
super.onCreate()
val inflater = getSystemService(LAYOUT_INFLATER_SERVICE) as LayoutInflater
layoutView = inflater.inflate(R.layout.activity_cockpit, null)
performViewSetup()
}
override fun onTapCommand(tapType: Int, x: Int, y: Int, eventTime: Long) {
if (tapType == TAP_TYPE_TAP) {
if (eventTime - sgvTapTime < 800) {
val intent = Intent(this, MainMenuActivity::class.java)
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
startActivity(intent)
}
sgvTapTime = eventTime
}
}
override fun getWatchFaceStyle(): WatchFaceStyle {
return WatchFaceStyle.Builder(this).setAcceptsTapEvents(true).build()
}
override fun setColorDark() { override fun setColorDark() {
mRelativeLayout?.setBackgroundResource(R.drawable.airplane_cockpit_outside_clouds) mRelativeLayout?.setBackgroundResource(R.drawable.airplane_cockpit_outside_clouds)
@ -77,13 +47,13 @@ class CockpitWatchface : BaseWatchFace() {
} }
private fun setTextSizes() { private fun setTextSizes() {
if (status.detailedIob) { if (status.detailedIob) {
if (bIsRound) mIOB2?.textSize = 10f if (bIsRound) mIOB2?.textSize = 10f
else mIOB2?.textSize = 9f else mIOB2?.textSize = 9f
} else { } else {
if (bIsRound) mIOB2?.textSize = 13f if (bIsRound) mIOB2?.textSize = 13f
else mIOB2?.textSize = 12f else mIOB2?.textSize = 12f
} }
if (mUploaderBattery?.visibility != View.GONE && mRigBattery?.visibility != View.GONE) { if (mUploaderBattery?.visibility != View.GONE && mRigBattery?.visibility != View.GONE) {
if (bIsRound) { if (bIsRound) {
mUploaderBattery?.textSize = 12f mUploaderBattery?.textSize = 12f

View file

@ -3,42 +3,18 @@
package info.nightscout.androidaps.watchfaces package info.nightscout.androidaps.watchfaces
import android.annotation.SuppressLint import android.annotation.SuppressLint
import android.content.Intent
import android.support.wearable.watchface.WatchFaceStyle import android.support.wearable.watchface.WatchFaceStyle
import android.view.LayoutInflater
import android.view.View import android.view.View
import android.widget.LinearLayout import android.widget.LinearLayout
import android.widget.TextView import android.widget.TextView
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import info.nightscout.androidaps.R import info.nightscout.androidaps.R
import info.nightscout.androidaps.extensions.toVisibility import info.nightscout.androidaps.extensions.toVisibility
import info.nightscout.androidaps.interaction.menus.MainMenuActivity
import info.nightscout.shared.logging.LTag import info.nightscout.shared.logging.LTag
class DigitalStyleWatchface : BaseWatchFace() { class DigitalStyleWatchface : BaseWatchFace() {
private var sgvTapTime: Long = 0 override fun layoutResource(): Int = R.layout.activity_digitalstyle
@SuppressLint("InflateParams")
override fun onCreate() {
super.onCreate()
val inflater = getSystemService(LAYOUT_INFLATER_SERVICE) as LayoutInflater
layoutView = inflater.inflate(R.layout.activity_digitalstyle, null)
performViewSetup()
}
override fun onTapCommand(tapType: Int, x: Int, y: Int, eventTime: Long) {
//tapType = TAP_TYPE_TAP;
aapsLogger.debug(LTag.WEAR, "onTapCommand: DeviceWidth x DeviceHeight /// x , y, TapType >> ", "$width x $height /// $x , $y , $tapType")
if (tapType == TAP_TYPE_TAP) {
if (eventTime - sgvTapTime < TIME_TAP_THRESHOLD) {
val intent = Intent(this, MainMenuActivity::class.java)
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
startActivity(intent)
}
sgvTapTime = eventTime
}
}
override fun getWatchFaceStyle(): WatchFaceStyle { override fun getWatchFaceStyle(): WatchFaceStyle {
return WatchFaceStyle.Builder(this) return WatchFaceStyle.Builder(this)

View file

@ -10,7 +10,6 @@ import android.graphics.Point
import android.graphics.Rect import android.graphics.Rect
import android.os.PowerManager import android.os.PowerManager
import android.support.wearable.watchface.WatchFaceStyle import android.support.wearable.watchface.WatchFaceStyle
import android.text.format.DateFormat
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.WindowInsets import android.view.WindowInsets

View file

@ -1,17 +1,10 @@
@file:Suppress("DEPRECATION")
package info.nightscout.androidaps.watchfaces package info.nightscout.androidaps.watchfaces
import android.annotation.SuppressLint
import android.content.Intent
import android.support.wearable.watchface.WatchFaceStyle
import android.view.LayoutInflater
import android.view.animation.Animation import android.view.animation.Animation
import android.view.animation.LinearInterpolator import android.view.animation.LinearInterpolator
import android.view.animation.RotateAnimation import android.view.animation.RotateAnimation
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import info.nightscout.androidaps.R import info.nightscout.androidaps.R
import info.nightscout.androidaps.interaction.menus.MainMenuActivity
import info.nightscout.shared.SafeParse.stringToFloat import info.nightscout.shared.SafeParse.stringToFloat
import org.joda.time.TimeOfDay import org.joda.time.TimeOfDay
@ -21,43 +14,14 @@ import org.joda.time.TimeOfDay
*/ */
class SteampunkWatchface : BaseWatchFace() { class SteampunkWatchface : BaseWatchFace() {
private var chartTapTime: Long = 0
private var mainMenuTapTime: Long = 0
private var lastEndDegrees = 0f private var lastEndDegrees = 0f
private var deltaRotationAngle = 0f private var deltaRotationAngle = 0f
@SuppressLint("InflateParams") override fun layoutResource(): Int = R.layout.activity_steampunk
override fun onCreate() { override fun onCreate() {
forceSquareCanvas = true forceSquareCanvas = true
super.onCreate() super.onCreate()
val inflater = getSystemService(LAYOUT_INFLATER_SERVICE) as LayoutInflater
layoutView = inflater.inflate(R.layout.activity_steampunk, null)
performViewSetup()
}
override fun onTapCommand(tapType: Int, x: Int, y: Int, eventTime: Long) {
mChartTap?.let { mChartTap ->
if (tapType == TAP_TYPE_TAP && x >= mChartTap.left && x <= mChartTap.right && y >= mChartTap.top && y <= mChartTap.bottom) {
if (eventTime - chartTapTime < 800) {
changeChartTimeframe()
}
chartTapTime = eventTime
return
}
}
mMainMenuTap?.let { mMainMenuTap ->
if (tapType == TAP_TYPE_TAP && x >= mMainMenuTap.left && x <= mMainMenuTap.right && y >= mMainMenuTap.top && y <= mMainMenuTap.bottom) {
if (eventTime - mainMenuTapTime < 800) {
startActivity(Intent(this, MainMenuActivity::class.java).also { it.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) })
}
mainMenuTapTime = eventTime
return
}
}
}
override fun getWatchFaceStyle(): WatchFaceStyle {
return WatchFaceStyle.Builder(this).setAcceptsTapEvents(true).build()
} }
override fun setColorDark() { override fun setColorDark() {
@ -241,15 +205,10 @@ class SteampunkWatchface : BaseWatchFace() {
} }
} }
private fun changeChartTimeframe() { override fun changeChartTimeframe() {
var timeframe = sp.getInt(R.string.key_chart_time_frame, 3) var timeframe = sp.getInt(R.string.key_chart_time_frame, 3)
timeframe = timeframe % 5 + 1 timeframe = timeframe % 5 + 1
pointSize = if (timeframe < 3) { pointSize = if (timeframe < 3) 2 else 1
2
} else {
1
}
setupCharts()
sp.putInt(R.string.key_chart_time_frame, timeframe) sp.putInt(R.string.key_chart_time_frame, timeframe)
} }
} }

View file

@ -28,6 +28,7 @@
<!-- left side 3/8 width --> <!-- left side 3/8 width -->
<LinearLayout <LinearLayout
android:id="@+id/main_menu_tap"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="3" android:layout_weight="3"
@ -266,6 +267,7 @@
<!-- right side 5/8 width --> <!-- right side 5/8 width -->
<LinearLayout <LinearLayout
android:id="@+id/chart_zoom_tap"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="5" android:layout_weight="5"

View file

@ -28,6 +28,7 @@
<!-- left side 3/8 width --> <!-- left side 3/8 width -->
<LinearLayout <LinearLayout
android:id="@+id/main_menu_tap"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="3" android:layout_weight="3"
@ -267,6 +268,7 @@
<!-- right side 5/8 width --> <!-- right side 5/8 width -->
<LinearLayout <LinearLayout
android:id="@+id/chart_zoom_tap"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="match_parent" android:layout_height="match_parent"
android:layout_weight="5" android:layout_weight="5"