Compare commits

...

9 Commits
0.1 ... master

Author SHA1 Message Date
5a8279c683 chart translation 2025-05-25 17:07:53 +02:00
60831c9fa0 correct light mode 2025-05-21 11:44:12 +02:00
24986f1885 add zh 2025-05-19 13:35:37 +02:00
e18d0ba99d color changes to use a darker theme 2025-05-15 16:34:27 +02:00
31e1d75fe0 remove useless verification for non-null type 2025-05-15 16:17:01 +02:00
fb62dd37e2 add de 2025-05-15 14:21:43 +02:00
00b7f9f594 add es and ja translation 2025-05-15 12:07:26 +02:00
8f5c8dbd01 Set Toast string dynamically to enable translation and add french 2025-05-15 11:21:11 +02:00
632777819b disable isTesting 2025-04-28 20:01:20 +02:00
12 changed files with 92 additions and 20 deletions

View File

@ -52,7 +52,7 @@ class MainActivity : AppCompatActivity() {
private var startTime: Long = 0L private var startTime: Long = 0L
private val isTesting = true private val isTesting = false
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState) super.onCreate(savedInstanceState)
@ -72,13 +72,13 @@ class MainActivity : AppCompatActivity() {
bluetoothManager = getSystemService(BLUETOOTH_SERVICE) as android.bluetooth.BluetoothManager bluetoothManager = getSystemService(BLUETOOTH_SERVICE) as android.bluetooth.BluetoothManager
bluetoothAdapter = bluetoothManager.adapter bluetoothAdapter = bluetoothManager.adapter
if (bluetoothAdapter == null) { if (bluetoothAdapter == null) {
Toast.makeText(this, "Bluetooth not supported by your device", Toast.LENGTH_LONG).show() Toast.makeText(this, getString(R.string.bluetooth_unsupported), Toast.LENGTH_LONG).show()
return return
} }
connectBtn.setOnClickListener { connectBtn.setOnClickListener {
if (isConnected) { if (isConnected) {
Toast.makeText(this, "Already connected", Toast.LENGTH_SHORT).show() Toast.makeText(this, getString(R.string.already_connected), Toast.LENGTH_SHORT).show()
return@setOnClickListener return@setOnClickListener
} }
@ -86,7 +86,7 @@ class MainActivity : AppCompatActivity() {
} }
if (isTesting) { if (isTesting) {
Toast.makeText(this, "Running in testing mode", Toast.LENGTH_SHORT).show() Toast.makeText(this, getString(R.string.is_testing_mode), Toast.LENGTH_SHORT).show()
Log.d(tag, "Starting fake data stream") Log.d(tag, "Starting fake data stream")
Thread { Thread {
@ -111,7 +111,7 @@ class MainActivity : AppCompatActivity() {
val device = pairedDevices?.find { it.name == deviceName } val device = pairedDevices?.find { it.name == deviceName }
if (device == null) { if (device == null) {
Toast.makeText(this, "HC-05 not found, try pairing it to your phone via bluetooth", Toast.LENGTH_LONG).show() Toast.makeText(this, getString(R.string.hc05_not_found), Toast.LENGTH_LONG).show()
return return
} }
@ -121,13 +121,13 @@ class MainActivity : AppCompatActivity() {
bluetoothSocket?.connect() bluetoothSocket?.connect()
isConnected = true isConnected = true
runOnUiThread { runOnUiThread {
Toast.makeText(this, "Connected to HC-05", Toast.LENGTH_SHORT).show() Toast.makeText(this, getString(R.string.connected), Toast.LENGTH_SHORT).show()
} }
listenForData() listenForData()
} catch (e: IOException) { } catch (e: IOException) {
Log.e(tag, "Connection failed", e) Log.e(tag, "Connection failed", e)
runOnUiThread { runOnUiThread {
Toast.makeText(this, "Connection failed: ${e.message}", Toast.LENGTH_LONG).show() Toast.makeText(this, getString(R.string.connection_failed) + ": ${e.message}", Toast.LENGTH_LONG).show()
} }
} }
}.start() }.start()
@ -191,7 +191,7 @@ class MainActivity : AppCompatActivity() {
xAxis.apply { xAxis.apply {
position = XAxis.XAxisPosition.BOTTOM position = XAxis.XAxisPosition.BOTTOM
valueFormatter = object : ValueFormatter() { valueFormatter = object : ValueFormatter() {
override fun getFormattedValue(value: Float): String? { override fun getFormattedValue(value: Float): String {
return "${value.toInt()}s" return "${value.toInt()}s"
} }
} }
@ -220,7 +220,7 @@ class MainActivity : AppCompatActivity() {
humEntries.add(Entry(reading.secSinceStart.toFloat(), reading.humidity)) humEntries.add(Entry(reading.secSinceStart.toFloat(), reading.humidity))
} }
val tempSet = LineDataSet(tempEntries, "Temperature (°C)").apply { val tempSet = LineDataSet(tempEntries, getString(R.string.temp_tx)).apply {
color = Color.RED color = Color.RED
lineWidth = 2f lineWidth = 2f
setDrawCircles(false) setDrawCircles(false)
@ -229,7 +229,7 @@ class MainActivity : AppCompatActivity() {
fillDrawable = ContextCompat.getDrawable(this@MainActivity, R.drawable.gradiant_temp) fillDrawable = ContextCompat.getDrawable(this@MainActivity, R.drawable.gradiant_temp)
} }
val humSet = LineDataSet(humEntries, "Humidity (%)").apply { val humSet = LineDataSet(humEntries, getString(R.string.hum_tx)).apply {
color = Color.BLUE color = Color.BLUE
lineWidth = 2f lineWidth = 2f
setDrawCircles(false) setDrawCircles(false)

View File

@ -66,7 +66,7 @@
android:layout_marginTop="16dp" android:layout_marginTop="16dp"
android:layout_marginEnd="16dp" android:layout_marginEnd="16dp"
android:layout_marginBottom="8dp" android:layout_marginBottom="8dp"
android:background="@android:color/white" android:background="@color/colorBackground"
app:layout_constraintTop_toBottomOf="@id/temp_circle" app:layout_constraintTop_toBottomOf="@id/temp_circle"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"
@ -80,7 +80,7 @@
android:layout_marginTop="8dp" android:layout_marginTop="8dp"
android:layout_marginEnd="16dp" android:layout_marginEnd="16dp"
android:layout_marginBottom="16dp" android:layout_marginBottom="16dp"
android:background="@android:color/white" android:background="@color/colorBackground"
app:layout_constraintTop_toBottomOf="@id/temp_chart" app:layout_constraintTop_toBottomOf="@id/temp_chart"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent" app:layout_constraintEnd_toEndOf="parent"

View File

@ -0,0 +1,12 @@
<resources>
<string name="app_name" translatable="false">I2D_Project_15_app</string>
<string name="connect_btn">Anschluss an HC-05</string>
<string name="connected">Verbunden mit HC-05</string>
<string name="bluetooth_unsupported">Bluetooth wird von Ihrem Gerät nicht unterstützt</string>
<string name="already_connected">Das Gerät ist bereits verbunden</string>
<string name="is_testing_mode">Die Anwendung läuft im Testmodus, die Werte sind zufällig</string>
<string name="hc05_not_found">HC-05 nicht gefunden, versuchen Sie, es über Bluetooth mit Ihrem Telefon zu koppeln</string>
<string name="connection_failed">Verbindung fehlgeschlagen</string>
<string name="temp_tx">Temperatur (°C)</string>
<string name="hum_tx">Luftfeuchtigkeit (%)</string>
</resources>

View File

@ -0,0 +1,12 @@
<resources>
<string name="app_name" translatable="false">I2D_Project_15_app</string>
<string name="connect_btn">Conectar a HC-05</string>
<string name="connected">Conectado a HC-05</string>
<string name="bluetooth_unsupported">El dispositivo no es compatible con Bluetooth</string>
<string name="already_connected">El dispositivo ya está conectado</string>
<string name="is_testing_mode">La aplicación se está ejecutando en modo de prueba los valores son aleatorios</string>
<string name="hc05_not_found">HC-05 no encontrado, intente emparejarlo a su teléfono a través de bluetooth</string>
<string name="connection_failed">Error de conexión</string>
<string name="temp_tx">Temperatura (°C)</string>
<string name="hum_tx">Humedad (%)</string>
</resources>

View File

@ -2,4 +2,11 @@
<string name="app_name" translatable="false">I2D_Project_15_app</string> <string name="app_name" translatable="false">I2D_Project_15_app</string>
<string name="connect_btn">Se connecter au HC-05</string> <string name="connect_btn">Se connecter au HC-05</string>
<string name="connected">Connecté au HC-05</string> <string name="connected">Connecté au HC-05</string>
<string name="bluetooth_unsupported">Votre appareil ne supporte pas le bluetooth</string>
<string name="already_connected">Le module est déja connecté</string>
<string name="is_testing_mode">L\'application est en mode de test les valeurs sont aléatoires</string>
<string name="hc05_not_found">HC-05 introuvable, essayez de l\'apparailler a votre téléphone en bluetooth</string>
<string name="connection_failed">Connexion impossible</string>
<string name="temp_tx">Température (°C)</string>
<string name="hum_tx">Humidité (%)</string>
</resources> </resources>

View File

@ -0,0 +1,12 @@
<resources>
<string name="app_name" translatable="false">I2D_Project_15_app</string>
<string name="connect_btn">HC-05に接続</string>
<string name="connected">HC-05に接続成功</string>
<string name="bluetooth_unsupported">お使いのデバイスではBluetoothがサポートされていません</string>
<string name="already_connected">デバイスはすでに接続されている</string>
<string name="is_testing_mode">アプリはテストモードで動作しており、値はランダムです。</string>
<string name="hc05_not_found">HC-05が見つかりません。ブルートゥースで携帯電話とペアリングしてみてください。</string>
<string name="connection_failed">接続に失敗</string>
<string name="temp_tx">温度 (°C)</string>
<string name="hum_tx">湿度(%)</string>
</resources>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary_light">#3D2F71</color>
<color name="colorPrimary_dark">#141118</color>
<color name="colorAccent">#343434</color>
<color name="colorBackground">#141118</color>
</resources>

View File

@ -1,7 +1,10 @@
<resources> <resources>
<!-- Base application theme. -->
<style name="Base.Theme.I2D_Project_15_app" parent="Theme.Material3.DayNight.NoActionBar"> <style name="Base.Theme.I2D_Project_15_app" parent="Theme.Material3.DayNight.NoActionBar">
<!-- Customize your dark theme here. --> <item name="colorPrimary">@color/colorPrimary_light</item>
<!-- <item name="colorPrimary">@color/my_dark_primary</item> --> <item name="colorPrimaryDark">@color/colorPrimary_dark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:background">@color/colorBackground</item>
</style> </style>
<style name="Theme.I2D_Project_15_app" parent="Base.Theme.I2D_Project_15_app" />
</resources> </resources>

View File

@ -0,0 +1,12 @@
<resources>
<string name="app_name" translatable="false">I2D_Project_15_app</string>
<string name="connect_btn">连接至 HC-05</string>
<string name="connected">与 HC-05 连接</string>
<string name="bluetooth_unsupported">您的设备不支持蓝牙</string>
<string name="already_connected">设备已连接</string>
<string name="is_testing_mode">应用程序在测试模式下运行,数值是随机的</string>
<string name="hc05_not_found">HC-05 未找到,请尝试通过蓝牙将其与手机配对</string>
<string name="connection_failed">连接失败</string>
<string name="temp_tx">温度°C</string>
<string name="hum_tx">湿度 (%)</string>
</resources>

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<resources> <resources>
<color name="colorPrimary_light">#00246B</color> <color name="colorPrimary_light">#7C6AE6</color>
<color name="colorPrimary_dark">#CADCFC</color> <color name="colorPrimary_dark">#1A1147</color>
<color name="colorAccent">#97BAF8</color> <color name="colorAccent">#676767</color>
<color name="colorBackground">#97BAF8</color> <color name="colorBackground">#FFFFFF</color>
</resources> </resources>

View File

@ -3,6 +3,14 @@
<string name="connect_btn">Connect to HC-05</string> <string name="connect_btn">Connect to HC-05</string>
<string name="connected">Connected to HC-05</string> <string name="connected">Connected to HC-05</string>
<string name="bluetooth_unsupported">Bluetooth is not supported by your device</string>
<string name="already_connected">The device is already connected</string>
<string name="is_testing_mode">The app is running in testing mode the values are random</string>
<string name="hc05_not_found">HC-05 not found, try pairing it to your phone via bluetooth</string>
<string name="connection_failed">Connection failed</string>
<string name="temp_tx">Temperature (°C)</string>
<string name="hum_tx">Humidity (%)</string>
<string name="temp_format" translatable="false">%.1f°C</string> <string name="temp_format" translatable="false">%.1f°C</string>
<string name="hum_format" translatable="false">%.1f%%</string> <string name="hum_format" translatable="false">%.1f%%</string>

View File

@ -1,5 +1,4 @@
<resources> <resources>
<!-- Base application theme. -->
<style name="Base.Theme.I2D_Project_15_app" parent="Theme.Material3.DayNight.NoActionBar"> <style name="Base.Theme.I2D_Project_15_app" parent="Theme.Material3.DayNight.NoActionBar">
<item name="colorPrimary">@color/colorPrimary_light</item> <item name="colorPrimary">@color/colorPrimary_light</item>
<item name="colorPrimaryDark">@color/colorPrimary_dark</item> <item name="colorPrimaryDark">@color/colorPrimary_dark</item>