Skip to content

Commit

Permalink
fix: added eraser tool type support (#450)
Browse files Browse the repository at this point in the history
  • Loading branch information
gaborauth authored Feb 8, 2025
1 parent e364253 commit 5e3d23c
Show file tree
Hide file tree
Showing 2 changed files with 35 additions and 6 deletions.
37 changes: 33 additions & 4 deletions app/src/main/java/com/toolsboox/ui/plugin/SurfaceFragment.kt
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,16 @@ package com.toolsboox.ui.plugin
import android.Manifest
import android.content.SharedPreferences
import android.graphics.*
import android.os.Build
import android.provider.MediaStore
import android.view.MotionEvent
import android.view.SurfaceHolder
import android.view.SurfaceView
import android.view.View
import androidx.appcompat.app.AlertDialog
import androidx.core.view.GestureDetectorCompat
import com.google.firebase.analytics.FirebaseAnalytics
import com.google.firebase.analytics.ktx.logEvent
import com.onyx.android.sdk.api.device.epd.EpdController
import com.onyx.android.sdk.data.note.TouchPoint
import com.onyx.android.sdk.pen.RawInputCallback
Expand Down Expand Up @@ -44,8 +47,20 @@ abstract class SurfaceFragment : ScreenFragment() {
* Touch drawing state.
*/
private var touchDrawingState: Boolean = false

// List of unrecognized actions.
private val actions = mutableListOf<String>()

// List of unrecognized buttons.
private val buttons = mutableListOf<String>()
}

/**
* The Firebase analytics.
*/
@Inject
lateinit var privateFirebaseAnalytics: FirebaseAnalytics

/**
* The injected presenter.
*/
Expand Down Expand Up @@ -549,15 +564,16 @@ abstract class SurfaceFragment : ScreenFragment() {
val ACTION_ERASE_UP = 212
val ACTION_ERASE_MOVE = 213

val motionStylus = motionEvent.getToolType(0) == MotionEvent.TOOL_TYPE_STYLUS
val motionFinger = motionEvent.getToolType(0) == MotionEvent.TOOL_TYPE_FINGER
val toolTypeStylus = motionEvent.getToolType(0) == MotionEvent.TOOL_TYPE_STYLUS
val toolTypeEraser = motionEvent.getToolType(0) == MotionEvent.TOOL_TYPE_ERASER
val toolTypeFinger = motionEvent.getToolType(0) == MotionEvent.TOOL_TYPE_FINGER

val actionDown = listOf(MotionEvent.ACTION_DOWN, ACTION_ERASE_DOWN).contains(motionEvent.action)
val actionMove = listOf(MotionEvent.ACTION_MOVE, ACTION_ERASE_MOVE).contains(motionEvent.action)
val actionUp = listOf(MotionEvent.ACTION_UP, ACTION_ERASE_UP).contains(motionEvent.action)

val drawing = (motionStylus && !touchDrawingState) || (motionFinger && touchDrawingState)
val erasing = motionEvent.buttonState != 0
val drawing = ((toolTypeStylus || toolTypeEraser) && !touchDrawingState) || (toolTypeFinger && touchDrawingState)
val erasing = motionEvent.buttonState != 0 || toolTypeEraser

if (drawing) {
val x = (10.0f * motionEvent.x).roundToInt() / 10.0f
Expand All @@ -569,6 +585,9 @@ abstract class SurfaceFragment : ScreenFragment() {
onMoveDrawing(StrokePoint(x, y, p))
} else if (actionUp) {
onEndDrawing(StrokePoint(x, y, p), erasing)
} else {
if (!actions.contains("${motionEvent.action}")) actions.add("${motionEvent.action}")
if (!buttons.contains("${motionEvent.buttonState}")) buttons.add("${motionEvent.buttonState}")
}

return true
Expand Down Expand Up @@ -650,6 +669,16 @@ abstract class SurfaceFragment : ScreenFragment() {
strokesToAdd.clear()
}

if (actions.isNotEmpty() || buttons.isNotEmpty()) {
privateFirebaseAnalytics.logEvent("actionsAndButtons") {
param("brand", Build.BRAND.lowercase())
param("device", Build.DEVICE.lowercase())
param("manufacturer", Build.MANUFACTURER.lowercase())
param("actions", actions.sortedBy { it }.joinToString(","))
param("buttons", buttons.sortedBy { it }.joinToString(","))
}
}

lastPoint = null
stylusPointList.clear()
}
Expand Down
4 changes: 2 additions & 2 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,8 @@ plugins {

ext {
applicationName = 'toolboox'
parentVersionCode = 1_06_03_02
parentVersionName = '1.06.03-02'
parentVersionCode = 1_06_03_04
parentVersionName = '1.06.03-04'
}

allprojects {
Expand Down

0 comments on commit 5e3d23c

Please sign in to comment.