Skip to content

Commit

Permalink
revert #342 (added onyx note air 2 and onyx sdk light control) (#347)
Browse files Browse the repository at this point in the history
  • Loading branch information
pazos committed Dec 26, 2021
1 parent 1db1960 commit f58fe01
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 66 deletions.
10 changes: 0 additions & 10 deletions app/src/main/java/org/koreader/launcher/device/DeviceInfo.kt
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@ object DeviceInfo {
ONYX_NOVA2,
ONYX_NOVA3_COLOR,
ONYX_NOVA_AIR,
ONYX_NOTE_AIR2,
TOLINO
}

Expand All @@ -63,7 +62,6 @@ object DeviceInfo {
ONYX_DARWIN7,
ONYX_NOVA2,
ONYX_NOVA_AIR,
ONYX_NOTE_AIR2,
ONYX_KON_TIKI2,
TOLINO_EPOS
}
Expand Down Expand Up @@ -110,7 +108,6 @@ object DeviceInfo {
private val ONYX_NOVA2: Boolean
private val ONYX_NOVA3_COLOR: Boolean
private val ONYX_NOVA_AIR: Boolean
private val ONYX_NOTE_AIR2: Boolean
private val ONYX_POKE2: Boolean
private val SONY_RP1: Boolean
private val TOLINO: Boolean
Expand Down Expand Up @@ -230,11 +227,6 @@ object DeviceInfo {
ONYX_NOVA_AIR = MANUFACTURER.contentEquals("onyx")
&& MODEL.contentEquals("novaair")

// Onyx Note Air 2
ONYX_NOTE_AIR2 = (BRAND.contentEquals("onyx")
&& PRODUCT.contentEquals("noteair2")
&& MODEL.contentEquals("noteair2"))

// Onyx C67
ONYX_C67 = (MANUFACTURER.contentEquals("onyx")
&& (PRODUCT.startsWith("c67") || MODEL.contentEquals("rk30sdk"))
Expand Down Expand Up @@ -312,7 +304,6 @@ object DeviceInfo {
deviceMap[EinkDevice.ONYX_NOVA2] = ONYX_NOVA2
deviceMap[EinkDevice.ONYX_NOVA3_COLOR] = ONYX_NOVA3_COLOR
deviceMap[EinkDevice.ONYX_NOVA_AIR] = ONYX_NOVA_AIR
deviceMap[EinkDevice.ONYX_NOTE_AIR2] = ONYX_NOTE_AIR2
deviceMap[EinkDevice.TOLINO] = TOLINO

deviceMap.keys.iterator().run {
Expand All @@ -332,7 +323,6 @@ object DeviceInfo {
lightsMap[LightsDevice.ONYX_KON_TIKI2] = ONYX_KON_TIKI2
lightsMap[LightsDevice.ONYX_NOVA2] = ONYX_NOVA2
lightsMap[LightsDevice.ONYX_NOVA_AIR] = ONYX_NOVA_AIR
lightsMap[LightsDevice.ONYX_NOTE_AIR2] = ONYX_NOTE_AIR2
lightsMap[LightsDevice.TOLINO_EPOS] = TOLINO_EPOS

lightsMap.keys.iterator().run {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,6 @@ object EPDFactory {
}

DeviceInfo.EinkDevice.ONYX_KON_TIKI2,
DeviceInfo.EinkDevice.ONYX_NOTE_AIR2,
DeviceInfo.EinkDevice.ONYX_NOVA2,
DeviceInfo.EinkDevice.ONYX_NOVA3_COLOR,
DeviceInfo.EinkDevice.ONYX_NOVA_AIR -> {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ object LightsFactory {
}
DeviceInfo.LightsDevice.ONYX_KON_TIKI2,
DeviceInfo.LightsDevice.ONYX_DARWIN7,
DeviceInfo.LightsDevice.ONYX_NOTE_AIR2,
DeviceInfo.LightsDevice.ONYX_NOVA2,
DeviceInfo.LightsDevice.ONYX_NOVA_AIR -> {
logController("Onyx/Qualcomm")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,16 +3,16 @@ package org.koreader.launcher.device.lights
import android.app.Activity
import android.util.Log
import org.koreader.launcher.device.LightsInterface
import android.content.Context
import java.lang.Class.forName
import java.lang.reflect.Method
import java.io.File

class OnyxWarmthController : LightsInterface {
companion object {
private const val TAG = "Lights"
private const val BRIGHTNESS_MAX = 255
private const val WARMTH_MAX = 255
private const val MIN = 0
private const val WHITE_FILE = "/sys/class/backlight/white/brightness"
private const val WARMTH_FILE = "/sys/class/backlight/warm/brightness"
}

override fun hasFallback(): Boolean {
Expand All @@ -28,17 +28,25 @@ class OnyxWarmthController : LightsInterface {
}

override fun getBrightness(activity: Activity): Int {
val brightnessFile = File(WHITE_FILE)
return try {
FrontLight.getCold(activity)
// .replace("\n", "") is needed, since it's automatically appended
// without it exception is thrown
// java.lang.NumberFormatException: For input string: "125\n"
return brightnessFile.readText().replace("\n", "").toInt()
} catch (e: Exception) {
Log.w(TAG, Log.getStackTraceString(e))
0
}
}

override fun getWarmth(activity: Activity): Int {
val warmthFile = File(WARMTH_FILE)
return try {
FrontLight.getWarm(activity)
// .replace("\n", "") is needed, since it's automatically appended
// without it exception is thrown
// java.lang.NumberFormatException: For input string: "125\n"
return warmthFile.readText().replace("\n", "").toInt()
} catch (e: Exception) {
Log.w(TAG, Log.getStackTraceString(e))
0
Expand All @@ -51,8 +59,9 @@ class OnyxWarmthController : LightsInterface {
return
}
Log.v(TAG, "Setting brightness to $brightness")
val brightnessFile = File(WHITE_FILE)
try {
FrontLight.setCold(brightness, activity)
brightnessFile.writeText(brightness.toString())
} catch (e: Exception) {
Log.w(TAG, "$e")
}
Expand All @@ -63,9 +72,10 @@ class OnyxWarmthController : LightsInterface {
Log.w(TAG, "warmth value of of range: $warmth")
return
}
val warmthFile = File(WARMTH_FILE)
Log.v(TAG, "Setting warmth to $warmth")
try {
FrontLight.setWarm(warmth, activity)
warmthFile.writeText(warmth.toString())
} catch (e: Exception) {
Log.w(TAG, "$e")
}
Expand All @@ -91,50 +101,3 @@ class OnyxWarmthController : LightsInterface {
return 1
}
}

object FrontLight {
private val flController = forName("android.onyx.hardware.DeviceController")

private val setWarmBrightness: Method = flController.getMethod("setWarmLightDeviceValue", Context::class.java, Integer.TYPE)
private val setColdBrightness: Method = flController.getMethod("setColdLightDeviceValue", Context::class.java, Integer.TYPE)

private val getCoolWarmBrightness: Method = flController.getMethod("getBrightnessConfig", Context::class.java, Integer.TYPE)
private const val BRIGHTNESS_CONFIG_WARM_IDX: Int = 2
private const val BRIGHTNESS_CONFIG_COLD_IDX: Int = 3

private const val TAG = "lights"

fun getWarm(context: Context?): Int {
return try {
getCoolWarmBrightness.invoke(flController, context, BRIGHTNESS_CONFIG_WARM_IDX) as Int
} catch (e: Exception) {
Log.w(TAG, "$e")
0
}
}

fun getCold(context: Context?): Int {
return try {
getCoolWarmBrightness.invoke(flController, context, BRIGHTNESS_CONFIG_COLD_IDX) as Int
} catch (e: Exception) {
Log.w(TAG, "$e")
0
}
}

fun setWarm(value: Int, context: Context?) {
try {
setWarmBrightness.invoke(flController, context, value)
} catch (e: Exception) {
Log.w(TAG, "$e")
}
}

fun setCold(value: Int, context: Context?) {
try {
setColdBrightness.invoke(flController, context, value)
} catch (e: Exception) {
Log.w(TAG, "$e")
}
}
}

0 comments on commit f58fe01

Please sign in to comment.