refactor: use Position object as requestPosition parameter

master
andrekir 2023-03-27 15:51:23 -03:00
rodzic 2d9f0a56f2
commit fb8a640873
4 zmienionych plików z 8 dodań i 7 usunięć

Wyświetl plik

@ -5,6 +5,7 @@ package com.geeksville.mesh;
parcelable DataPacket;
parcelable NodeInfo;
parcelable MeshUser;
parcelable Position;
parcelable MyNodeInfo;
/**
@ -101,7 +102,7 @@ interface IMeshService {
void commitEditSettings();
/// Send position packet with wantResponse to nodeNum
void requestPosition(in int idNum, in double lat, in double lon, in int alt);
void requestPosition(in int idNum, in Position position);
/// Send Shutdown admin packet to nodeNum
void requestShutdown(in int idNum);

Wyświetl plik

@ -207,9 +207,9 @@ class UIViewModel @Inject constructor(
}
}
fun requestPosition(destNum: Int, lat: Double = 0.0, lon: Double = 0.0, alt: Int = 0) {
fun requestPosition(destNum: Int, position: Position = Position(0.0, 0.0, 0)) {
try {
meshService?.requestPosition(destNum, lat, lon, alt)
meshService?.requestPosition(destNum, position)
} catch (ex: RemoteException) {
errormsg("Request position error: ${ex.message}")
}

Wyświetl plik

@ -1741,8 +1741,9 @@ class MeshService : Service(), Logging {
stopLocationRequests()
}
override fun requestPosition(idNum: Int, lat: Double, lon: Double, alt: Int) =
override fun requestPosition(idNum: Int, position: Position) =
toRemoteExceptions {
val (lat, lon, alt) = with(position) { Triple(latitude, longitude, altitude) }
// request position
if (idNum != 0) sendPosition(time = 1, destNum = idNum, wantResponse = true)
// set local node's fixed position

Wyświetl plik

@ -336,9 +336,8 @@ fun DeviceSettingsItemList(viewModel: UIViewModel = viewModel()) {
},
onSaveClicked = {
focusManager.clearFocus()
if (positionInfo != ourNodeInfo?.position && positionInput.fixedPosition) positionInfo?.let {
viewModel.requestPosition(0, it.latitude, it.longitude, it.altitude)
}
if (positionInfo != ourNodeInfo?.position && positionInput.fixedPosition)
positionInfo?.let { viewModel.requestPosition(0, it) }
if (positionInput != localConfig.position) viewModel.updatePositionConfig { positionInput }
})
}