diff --git a/app/src/androidTest/java/com/helible/pilot/ExampleInstrumentedTest.kt b/app/src/androidTest/java/com/helible/pilot/ExampleInstrumentedTest.kt
index 1493533..2480912 100644
--- a/app/src/androidTest/java/com/helible/pilot/ExampleInstrumentedTest.kt
+++ b/app/src/androidTest/java/com/helible/pilot/ExampleInstrumentedTest.kt
@@ -1,13 +1,11 @@
package com.helible.pilot
-import androidx.test.platform.app.InstrumentationRegistry
import androidx.test.ext.junit.runners.AndroidJUnit4
-
+import androidx.test.platform.app.InstrumentationRegistry
+import org.junit.Assert.*
import org.junit.Test
import org.junit.runner.RunWith
-import org.junit.Assert.*
-
/**
* Instrumented test, which will execute on an Android device.
*
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index cd31548..1ba0bdf 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -3,18 +3,34 @@
xmlns:tools="http://schemas.android.com/tools">
-
-
-
-
+
+
+
+
-
-
+
+
-
+
+ NotImplementedPage(
+ title = backStackEntry.arguments?.getString("title") ?: "null",
+ navigateBack = { navController.popBackStack() }
+ )
}
- composable("codeblocks")
- {
-
+ composable("codeblocks/{title}")
+ { backStackEntry ->
+ NotImplementedPage(
+ title = backStackEntry.arguments?.getString("title") ?: "null",
+ navigateBack = { navController.popBackStack() }
+ )
}
- composable("imu_calibration")
- {
-
+ composable("imu_calibration/{title}")
+ { backStackEntry ->
+ NotImplementedPage(
+ title = backStackEntry.arguments?.getString("title") ?: "null",
+ navigateBack = { navController.popBackStack() }
+ )
}
- composable("motor_test")
- {
-
+ composable("motor_test/{title}")
+ { backStackEntry ->
+ NotImplementedPage(
+ title = backStackEntry.arguments?.getString("title") ?: "null",
+ navigateBack = { navController.popBackStack() }
+ )
}
- composable("pid_settings")
- {
-
+ composable("pid_settings/{title}")
+ { backStackEntry ->
+ NotImplementedPage(
+ title = backStackEntry.arguments?.getString("title") ?: "null",
+ navigateBack = { navController.popBackStack() }
+ )
}
- composable("reports")
- {
-
+ composable("reports/{title}")
+ { backStackEntry ->
+ NotImplementedPage(
+ title = backStackEntry.arguments?.getString("title") ?: "null",
+ navigateBack = { navController.popBackStack() }
+ )
}
}
}
diff --git a/app/src/main/java/com/helible/pilot/NotImplementedPage.kt b/app/src/main/java/com/helible/pilot/NotImplementedPage.kt
new file mode 100644
index 0000000..4aeec28
--- /dev/null
+++ b/app/src/main/java/com/helible/pilot/NotImplementedPage.kt
@@ -0,0 +1,21 @@
+package com.helible.pilot
+
+import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.fillMaxWidth
+import androidx.compose.foundation.layout.padding
+import androidx.compose.material3.Text
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.unit.dp
+import com.helible.pilot.components.BlankPage
+
+@Composable
+fun NotImplementedPage(title: String, navigateBack: () -> Unit) {
+ BlankPage(title = title, navigateBack = navigateBack) {
+ Column(modifier = Modifier
+ .fillMaxWidth()
+ .padding(10.dp)) {
+ Text(text = "Эта страница пока не готова и находится на стадии разработки")
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/helible/pilot/components/BlankPage.kt b/app/src/main/java/com/helible/pilot/components/BlankPage.kt
new file mode 100644
index 0000000..af85800
--- /dev/null
+++ b/app/src/main/java/com/helible/pilot/components/BlankPage.kt
@@ -0,0 +1,59 @@
+package com.helible.pilot.components
+
+import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.Row
+import androidx.compose.foundation.layout.fillMaxSize
+import androidx.compose.foundation.layout.fillMaxWidth
+import androidx.compose.foundation.layout.padding
+import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.filled.ArrowBack
+import androidx.compose.material3.Icon
+import androidx.compose.material3.IconButton
+import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.Surface
+import androidx.compose.material3.Text
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Alignment
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.tooling.preview.Preview
+import androidx.compose.ui.unit.dp
+import androidx.compose.ui.unit.sp
+
+@Composable
+fun BlankPage(title: String, navigateBack: () -> Unit, block: @Composable () -> Unit) {
+ Column(modifier = Modifier.fillMaxSize()) {
+ Row(verticalAlignment = Alignment.CenterVertically,
+ modifier = Modifier.fillMaxWidth()
+ ) {
+ IconButton(onClick = { navigateBack() }) {
+ Icon(
+ Icons.Default.ArrowBack,
+ tint = MaterialTheme.colorScheme.primary,
+ contentDescription = null
+ )
+ }
+ Text(
+ text = title,
+ fontSize = 18.sp,
+ fontWeight = FontWeight.ExtraBold,
+ modifier = Modifier.padding(horizontal = 10.dp, vertical = 8.dp)
+ )
+ }
+ block()
+ }
+}
+
+@Preview
+@Composable
+fun BlankPagePreview() {
+ Surface {
+ BlankPage(title = "Blank page", navigateBack = {}) {
+ Column(modifier = Modifier
+ .fillMaxWidth()
+ .padding(5.dp)) {
+ Text(text = "This page in development")
+ }
+ }
+ }
+}
diff --git a/app/src/main/java/com/helible/pilot/components/PermissionDialog.kt b/app/src/main/java/com/helible/pilot/components/PermissionDialog.kt
index 0a93b2e..0691eb5 100644
--- a/app/src/main/java/com/helible/pilot/components/PermissionDialog.kt
+++ b/app/src/main/java/com/helible/pilot/components/PermissionDialog.kt
@@ -6,11 +6,11 @@ import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.PaddingValues
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
-import androidx.compose.runtime.Composable
-import androidx.compose.ui.Modifier
import androidx.compose.material3.AlertDialog
import androidx.compose.material3.Divider
import androidx.compose.material3.Text
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Modifier
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.Preview
diff --git a/app/src/main/java/com/helible/pilot/components/Title.kt b/app/src/main/java/com/helible/pilot/components/Title.kt
index c4d397b..c6c22fa 100644
--- a/app/src/main/java/com/helible/pilot/components/Title.kt
+++ b/app/src/main/java/com/helible/pilot/components/Title.kt
@@ -5,15 +5,20 @@ import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
+import androidx.compose.ui.unit.TextUnit
import androidx.compose.ui.unit.sp
@Composable
-fun Title(text: String, modifier: Modifier = Modifier) {
+fun Title(
+ text: String,
+ modifier: Modifier = Modifier,
+ fontSize: TextUnit = 23.sp,
+) {
Text(
text = text,
textAlign = TextAlign.Center,
modifier = modifier,
- fontSize = 23.sp,
+ fontSize = fontSize,
fontWeight = FontWeight.ExtraBold
)
}
\ No newline at end of file
diff --git a/app/src/main/java/com/helible/pilot/components/deviceScreen/DeviceBadge.kt b/app/src/main/java/com/helible/pilot/components/deviceScreen/DeviceBadge.kt
index d7490e4..2203d0e 100644
--- a/app/src/main/java/com/helible/pilot/components/deviceScreen/DeviceBadge.kt
+++ b/app/src/main/java/com/helible/pilot/components/deviceScreen/DeviceBadge.kt
@@ -32,7 +32,7 @@ import com.helible.pilot.viewmodels.AppPreferences
fun DeviceBadge(
bluetoothUiState: BluetoothUiState,
tryToReconnect: () -> Unit,
- getPreferences: () -> AppPreferences?
+ getPreferences: () -> AppPreferences?,
) {
ElevatedCard(
modifier = Modifier
@@ -91,6 +91,6 @@ fun DeviceBadgePreview() {
DeviceBadge(
bluetoothUiState = BluetoothUiState(isConnected = true),
tryToReconnect = {},
- getPreferences = {AppPreferences("Helicopter", "AA:BB:CC:FF:DD")}
+ getPreferences = { AppPreferences("Helicopter", "AA:BB:CC:FF:DD") }
)
}
\ No newline at end of file
diff --git a/app/src/main/java/com/helible/pilot/components/deviceScreen/DeviceConnectionStatus.kt b/app/src/main/java/com/helible/pilot/components/deviceScreen/DeviceConnectionStatus.kt
index 037b87a..1ce477f 100644
--- a/app/src/main/java/com/helible/pilot/components/deviceScreen/DeviceConnectionStatus.kt
+++ b/app/src/main/java/com/helible/pilot/components/deviceScreen/DeviceConnectionStatus.kt
@@ -30,9 +30,8 @@ fun DeviceConnectionStatus(bluetoothState: BluetoothUiState) {
.requiredSize(Icons.Default.CheckCircle.defaultWidth)
.padding(2.dp)
)
- Text ("На связи")
- }
- else if (bluetoothState.errorMessage != null) {
+ Text("На связи")
+ } else if (bluetoothState.errorMessage != null) {
Icon(
painter = painterResource(id = R.drawable.cancel),
contentDescription = null,
@@ -41,9 +40,8 @@ fun DeviceConnectionStatus(bluetoothState: BluetoothUiState) {
.requiredSize(R.drawable.cancel.dp)
.padding(2.dp)
)
- Text ("Ошибка: ${bluetoothState.errorMessage}")
- }
- else if (bluetoothState.isConnecting) {
+ Text("Ошибка: ${bluetoothState.errorMessage}")
+ } else if (bluetoothState.isConnecting) {
Icon(
painter = painterResource(id = R.drawable.sync),
contentDescription = null,
@@ -52,7 +50,7 @@ fun DeviceConnectionStatus(bluetoothState: BluetoothUiState) {
.requiredSize(R.drawable.sync.dp)
.padding(2.dp)
)
- Text ("Подключение...")
+ Text("Подключение...")
}
}
}
diff --git a/app/src/main/java/com/helible/pilot/components/deviceScreen/DeviceControlScreen.kt b/app/src/main/java/com/helible/pilot/components/deviceScreen/DeviceControlScreen.kt
index 9a62fcd..d37c163 100644
--- a/app/src/main/java/com/helible/pilot/components/deviceScreen/DeviceControlScreen.kt
+++ b/app/src/main/java/com/helible/pilot/components/deviceScreen/DeviceControlScreen.kt
@@ -1,20 +1,9 @@
package com.helible.pilot.components.deviceScreen
-import androidx.compose.foundation.Image
-import androidx.compose.foundation.background
-import androidx.compose.foundation.clickable
-import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
-import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.fillMaxSize
-import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
-import androidx.compose.foundation.layout.requiredSize
import androidx.compose.foundation.layout.size
-import androidx.compose.foundation.shape.RoundedCornerShape
-import androidx.compose.material.icons.Icons
-import androidx.compose.material.icons.filled.Refresh
-import androidx.compose.material3.ElevatedCard
import androidx.compose.material3.Icon
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Surface
@@ -22,10 +11,8 @@ import androidx.compose.material3.Text
import androidx.compose.material3.TextButton
import androidx.compose.runtime.Composable
import androidx.compose.runtime.LaunchedEffect
-import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
-import androidx.compose.ui.graphics.graphicsLayer
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.tooling.preview.Preview
@@ -57,14 +44,14 @@ fun DeviceControlScreen(
LaunchedEffect(key1 = bluetoothUiState.isEnabled) {
/* Trying to reconnect, when bluetooth is turned on */
val preferences = getPreferences()
- if(preferences != null && bluetoothUiState.isEnabled)
+ if (preferences != null && bluetoothUiState.isEnabled)
connectToDevice(preferences.deviceAddress)
}
LaunchedEffect(key1 = bluetoothUiState.isLocationEnabled) {
/* Trying to reconnect, when location is turned on */
val preferences = getPreferences()
- if(preferences != null && bluetoothUiState.isLocationEnabled)
+ if (preferences != null && bluetoothUiState.isLocationEnabled)
connectToDevice(preferences.deviceAddress)
}
@@ -82,7 +69,7 @@ fun DeviceControlScreen(
tryToReconnect = {
/* Trying to reconnect, when error occurred */
val preferences = getPreferences()
- if(preferences != null)
+ if (preferences != null)
connectToDevice(preferences.deviceAddress)
},
getPreferences = getPreferences
@@ -90,13 +77,16 @@ fun DeviceControlScreen(
Column(modifier = Modifier.padding(horizontal = 3.dp)) {
for (section in deviceActionsList) {
- Text(section.key,
+ Text(
+ section.key,
color = Color.Gray,
fontWeight = FontWeight.Light,
modifier = Modifier.padding(vertical = 15.dp, horizontal = 10.dp)
)
for (action in section.value) {
- TextButton(onClick = { /* TODO */}) {
+ TextButton(
+ onClick = { navigateToPage(action.first + '/' + action.second.second) }
+ ) {
Icon(
painter = painterResource(id = action.second.first.first),
tint = action.second.first.second,
diff --git a/app/src/main/java/com/helible/pilot/components/scannerScreen/DeviceItem.kt b/app/src/main/java/com/helible/pilot/components/scannerScreen/DeviceItem.kt
index fc7200a..7a6f23d 100644
--- a/app/src/main/java/com/helible/pilot/components/scannerScreen/DeviceItem.kt
+++ b/app/src/main/java/com/helible/pilot/components/scannerScreen/DeviceItem.kt
@@ -44,8 +44,11 @@ fun DeviceItem(
)
) {
Row(modifier = Modifier.padding(8.dp)) {
- Column(verticalArrangement = Arrangement.Center,
- modifier = Modifier.fillMaxHeight().weight(1f, true)
+ Column(
+ verticalArrangement = Arrangement.Center,
+ modifier = Modifier
+ .fillMaxHeight()
+ .weight(1f, true)
) {
Text(
text = deviceInfo.name,
@@ -87,7 +90,7 @@ fun DeviceItemPreview() {
DeviceItem(
BluetoothDevice("Helicopter", "AA:BB:CC:DD:FF", -90, true),
null,
- {_ -> },
+ { _ -> },
modifier = Modifier.size(500.dp, 60.dp)
)
}
\ No newline at end of file
diff --git a/app/src/main/java/com/helible/pilot/components/scannerScreen/DiscoveredDevicesList.kt b/app/src/main/java/com/helible/pilot/components/scannerScreen/DiscoveredDevicesList.kt
index 0ab553a..e00002f 100644
--- a/app/src/main/java/com/helible/pilot/components/scannerScreen/DiscoveredDevicesList.kt
+++ b/app/src/main/java/com/helible/pilot/components/scannerScreen/DiscoveredDevicesList.kt
@@ -16,8 +16,8 @@ import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
-import com.helible.pilot.dataclasses.BluetoothUiState
import com.helible.pilot.dataclasses.BluetoothDevice
+import com.helible.pilot.dataclasses.BluetoothUiState
@Composable
fun DiscoveredDevicesList(
diff --git a/app/src/main/java/com/helible/pilot/components/scannerScreen/ScannerScreen.kt b/app/src/main/java/com/helible/pilot/components/scannerScreen/ScannerScreen.kt
index 8a52042..71ea84b 100644
--- a/app/src/main/java/com/helible/pilot/components/scannerScreen/ScannerScreen.kt
+++ b/app/src/main/java/com/helible/pilot/components/scannerScreen/ScannerScreen.kt
@@ -23,8 +23,8 @@ import androidx.compose.ui.unit.dp
import androidx.constraintlayout.compose.ConstraintLayout
import androidx.constraintlayout.compose.Dimension
import com.helible.pilot.components.Title
-import com.helible.pilot.dataclasses.BluetoothUiState
import com.helible.pilot.dataclasses.BluetoothDevice
+import com.helible.pilot.dataclasses.BluetoothUiState
@SuppressLint("MissingPermission")
@@ -132,7 +132,7 @@ fun ScannerScreenPreview() {
state,
state.scannedBluetoothDevices[1],
{}, {},
- {_ -> },
+ { _ -> },
{},
)
}
diff --git a/app/src/main/java/com/helible/pilot/controllers/BluetoothController.kt b/app/src/main/java/com/helible/pilot/controllers/BluetoothController.kt
index 92bb7a9..219896f 100644
--- a/app/src/main/java/com/helible/pilot/controllers/BluetoothController.kt
+++ b/app/src/main/java/com/helible/pilot/controllers/BluetoothController.kt
@@ -15,8 +15,8 @@ import android.util.Log
import android.widget.Toast
import androidx.activity.ComponentActivity
import com.helible.pilot.BluetoothDataTransferService
-import com.helible.pilot.dataclasses.BluetoothDeviceDomain
import com.helible.pilot.KMessage
+import com.helible.pilot.dataclasses.BluetoothDeviceDomain
import com.helible.pilot.receivers.BluetoothAdapterStateReceiver
import com.helible.pilot.receivers.BluetoothStateReceiver
import kotlinx.coroutines.CoroutineScope
diff --git a/app/src/main/java/com/helible/pilot/receivers/BluetoothAdapterStateReceiver.kt b/app/src/main/java/com/helible/pilot/receivers/BluetoothAdapterStateReceiver.kt
index 56e56e4..93c55c3 100644
--- a/app/src/main/java/com/helible/pilot/receivers/BluetoothAdapterStateReceiver.kt
+++ b/app/src/main/java/com/helible/pilot/receivers/BluetoothAdapterStateReceiver.kt
@@ -1,13 +1,10 @@
package com.helible.pilot.receivers
-import android.annotation.SuppressLint
import android.bluetooth.BluetoothAdapter
-import android.bluetooth.BluetoothDevice
import android.content.BroadcastReceiver
import android.content.Context
import android.content.Intent
import android.location.LocationManager
-import android.os.Build
class BluetoothAdapterStateReceiver(
private val onBluetoothEnabledChanged: (isBluetoothEnabled: Boolean) -> Unit,
diff --git a/app/src/main/java/com/helible/pilot/viewmodels/BluetoothViewModel.kt b/app/src/main/java/com/helible/pilot/viewmodels/BluetoothViewModel.kt
index 96cbb37..e914c7f 100644
--- a/app/src/main/java/com/helible/pilot/viewmodels/BluetoothViewModel.kt
+++ b/app/src/main/java/com/helible/pilot/viewmodels/BluetoothViewModel.kt
@@ -2,12 +2,13 @@ package com.helible.pilot.viewmodels
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
+import com.helible.pilot.controllers.BluetoothController
+import com.helible.pilot.controllers.ConnectionResult
import com.helible.pilot.dataclasses.AlarmStateMessage
+import com.helible.pilot.dataclasses.BluetoothDevice
import com.helible.pilot.dataclasses.BluetoothUiState
import com.helible.pilot.dataclasses.EmergStopMessage
import com.helible.pilot.dataclasses.RotorsSpeedMessage
-import com.helible.pilot.controllers.BluetoothController
-import com.helible.pilot.controllers.ConnectionResult
import com.squareup.moshi.Moshi
import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory
import kotlinx.coroutines.Job
@@ -24,7 +25,6 @@ import kotlinx.coroutines.flow.onEach
import kotlinx.coroutines.flow.stateIn
import kotlinx.coroutines.flow.update
import kotlinx.coroutines.launch
-import com.helible.pilot.dataclasses.BluetoothDevice
class BluetoothViewModel(
private val bluetoothController: BluetoothController,
@@ -123,7 +123,7 @@ class BluetoothViewModel(
private var deviceConnectionJob: Job? = null
fun connectToDevice(device: String) {
- if(_state.value.isConnected) {
+ if (_state.value.isConnected) {
return
}
_state.update { it.copy(isConnecting = true) }
diff --git a/app/src/main/res/drawable/cancel.xml b/app/src/main/res/drawable/cancel.xml
index dae6d0f..375562a 100644
--- a/app/src/main/res/drawable/cancel.xml
+++ b/app/src/main/res/drawable/cancel.xml
@@ -4,7 +4,7 @@
android:viewportWidth="960"
android:viewportHeight="960"
android:tint="?android:colorPrimary">
-
+
diff --git a/app/src/main/res/drawable/code_blocks.xml b/app/src/main/res/drawable/code_blocks.xml
index 746f928..64d47cf 100644
--- a/app/src/main/res/drawable/code_blocks.xml
+++ b/app/src/main/res/drawable/code_blocks.xml
@@ -4,7 +4,7 @@
android:viewportWidth="960"
android:viewportHeight="960"
android:tint="?android:colorPrimary">
-
+
diff --git a/app/src/main/res/drawable/construction.xml b/app/src/main/res/drawable/construction.xml
index e779597..f9d44e2 100644
--- a/app/src/main/res/drawable/construction.xml
+++ b/app/src/main/res/drawable/construction.xml
@@ -4,7 +4,7 @@
android:viewportWidth="960"
android:viewportHeight="960"
android:tint="?android:colorPrimary">
-
+
diff --git a/app/src/main/res/drawable/controller_gen.xml b/app/src/main/res/drawable/controller_gen.xml
index 0fb3858..d9694ad 100644
--- a/app/src/main/res/drawable/controller_gen.xml
+++ b/app/src/main/res/drawable/controller_gen.xml
@@ -4,7 +4,7 @@
android:viewportWidth="960"
android:viewportHeight="960"
android:tint="?android:colorPrimary">
-
+
diff --git a/app/src/main/res/drawable/energy.xml b/app/src/main/res/drawable/energy.xml
index 73f35b3..5851b31 100644
--- a/app/src/main/res/drawable/energy.xml
+++ b/app/src/main/res/drawable/energy.xml
@@ -4,7 +4,7 @@
android:viewportWidth="960"
android:viewportHeight="960"
android:tint="?android:colorPrimary">
-
+
diff --git a/app/src/main/res/drawable/helicopter_icon.xml b/app/src/main/res/drawable/helicopter_icon.xml
index c1a58b3..3c80f94 100644
--- a/app/src/main/res/drawable/helicopter_icon.xml
+++ b/app/src/main/res/drawable/helicopter_icon.xml
@@ -4,7 +4,7 @@
android:viewportWidth="960"
android:viewportHeight="960"
android:tint="?android:colorPrimary">
-
+
diff --git a/app/src/main/res/drawable/ic_android_black_24dp.xml b/app/src/main/res/drawable/ic_android_black_24dp.xml
index fe51230..5af9978 100644
--- a/app/src/main/res/drawable/ic_android_black_24dp.xml
+++ b/app/src/main/res/drawable/ic_android_black_24dp.xml
@@ -1,5 +1,10 @@
-
-
+
+
diff --git a/app/src/main/res/drawable/instant_mix.xml b/app/src/main/res/drawable/instant_mix.xml
index 9ef2e8c..92dd30a 100644
--- a/app/src/main/res/drawable/instant_mix.xml
+++ b/app/src/main/res/drawable/instant_mix.xml
@@ -4,7 +4,7 @@
android:viewportWidth="960"
android:viewportHeight="960"
android:tint="?android:colorPrimary">
-
+
diff --git a/app/src/main/res/drawable/joystick.xml b/app/src/main/res/drawable/joystick.xml
index f8954f8..07a26ba 100644
--- a/app/src/main/res/drawable/joystick.xml
+++ b/app/src/main/res/drawable/joystick.xml
@@ -4,7 +4,7 @@
android:viewportWidth="960"
android:viewportHeight="960"
android:tint="?android:colorPrimary">
-
+
diff --git a/app/src/main/res/drawable/logout.xml b/app/src/main/res/drawable/logout.xml
index 99cdf28..6ef7cf4 100644
--- a/app/src/main/res/drawable/logout.xml
+++ b/app/src/main/res/drawable/logout.xml
@@ -5,7 +5,7 @@
android:viewportHeight="960"
android:tint="?android:colorPrimary"
android:autoMirrored="true">
-
+
diff --git a/app/src/main/res/drawable/signal_icon1.xml b/app/src/main/res/drawable/signal_icon1.xml
index 12cd878..6063824 100644
--- a/app/src/main/res/drawable/signal_icon1.xml
+++ b/app/src/main/res/drawable/signal_icon1.xml
@@ -1,5 +1,9 @@
-
+
diff --git a/app/src/main/res/drawable/sync.xml b/app/src/main/res/drawable/sync.xml
index 7d55533..63d75e7 100644
--- a/app/src/main/res/drawable/sync.xml
+++ b/app/src/main/res/drawable/sync.xml
@@ -4,7 +4,7 @@
android:viewportWidth="960"
android:viewportHeight="960"
android:tint="?android:colorPrimary">
-
+
diff --git a/app/src/main/res/drawable/tune.xml b/app/src/main/res/drawable/tune.xml
index 45ca5af..950dde1 100644
--- a/app/src/main/res/drawable/tune.xml
+++ b/app/src/main/res/drawable/tune.xml
@@ -4,7 +4,7 @@
android:viewportWidth="960"
android:viewportHeight="960"
android:tint="?android:colorPrimary">
-
+
diff --git a/app/src/test/java/com/helible/pilot/ExampleUnitTest.kt b/app/src/test/java/com/helible/pilot/ExampleUnitTest.kt
index a9cc21c..4fe9408 100644
--- a/app/src/test/java/com/helible/pilot/ExampleUnitTest.kt
+++ b/app/src/test/java/com/helible/pilot/ExampleUnitTest.kt
@@ -1,9 +1,8 @@
package com.helible.pilot
+import org.junit.Assert.assertEquals
import org.junit.Test
-import org.junit.Assert.*
-
/**
* Example local unit test, which will execute on the development machine (host).
*