From 18bd21fba1e4a3f0af6e5ac553329ac54a5a4e6c Mon Sep 17 00:00:00 2001 From: gogacoder Date: Tue, 2 Jan 2024 22:05:23 +0700 Subject: [PATCH] Global navigation was implemented --- .../helible/pilot/ExampleInstrumentedTest.kt | 6 +- app/src/main/AndroidManifest.xml | 34 ++++++++--- .../java/com/helible/pilot/MainActivity.kt | 60 ++++++++++++------- .../com/helible/pilot/NotImplementedPage.kt | 21 +++++++ .../com/helible/pilot/components/BlankPage.kt | 59 ++++++++++++++++++ .../pilot/components/PermissionDialog.kt | 4 +- .../com/helible/pilot/components/Title.kt | 9 ++- .../components/deviceScreen/DeviceBadge.kt | 4 +- .../deviceScreen/DeviceConnectionStatus.kt | 12 ++-- .../deviceScreen/DeviceControlScreen.kt | 26 +++----- .../components/scannerScreen/DeviceItem.kt | 9 ++- .../scannerScreen/DiscoveredDevicesList.kt | 2 +- .../components/scannerScreen/ScannerScreen.kt | 4 +- .../pilot/controllers/BluetoothController.kt | 2 +- .../BluetoothAdapterStateReceiver.kt | 3 - .../pilot/viewmodels/BluetoothViewModel.kt | 8 +-- app/src/main/res/drawable/cancel.xml | 6 +- app/src/main/res/drawable/code_blocks.xml | 6 +- app/src/main/res/drawable/construction.xml | 6 +- app/src/main/res/drawable/controller_gen.xml | 6 +- app/src/main/res/drawable/energy.xml | 6 +- app/src/main/res/drawable/helicopter_icon.xml | 6 +- .../res/drawable/ic_android_black_24dp.xml | 13 ++-- app/src/main/res/drawable/instant_mix.xml | 6 +- app/src/main/res/drawable/joystick.xml | 6 +- app/src/main/res/drawable/logout.xml | 6 +- app/src/main/res/drawable/signal_icon1.xml | 6 +- app/src/main/res/drawable/sync.xml | 6 +- app/src/main/res/drawable/tune.xml | 6 +- .../java/com/helible/pilot/ExampleUnitTest.kt | 3 +- 30 files changed, 232 insertions(+), 119 deletions(-) create mode 100644 app/src/main/java/com/helible/pilot/NotImplementedPage.kt create mode 100644 app/src/main/java/com/helible/pilot/components/BlankPage.kt 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). *