ble api update
This commit is contained in:
parent
a2cc797320
commit
2d8ec33c6c
|
|
@ -4,6 +4,14 @@
|
|||
<selectionStates>
|
||||
<SelectionState runConfigName="app">
|
||||
<option name="selectionMode" value="DROPDOWN" />
|
||||
<DropdownSelection timestamp="2024-11-15T06:34:28.043049200Z">
|
||||
<Target type="DEFAULT_BOOT">
|
||||
<handle>
|
||||
<DeviceId pluginId="PhysicalDevice" identifier="serial=55381e0a" />
|
||||
</handle>
|
||||
</Target>
|
||||
</DropdownSelection>
|
||||
<DialogSelection />
|
||||
</SelectionState>
|
||||
</selectionStates>
|
||||
</component>
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
<component name="GradleSettings">
|
||||
<option name="linkedExternalProjectsSettings">
|
||||
<GradleProjectSettings>
|
||||
<option name="testRunner" value="CHOOSE_PER_TEST" />
|
||||
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||
<option name="gradleJvm" value="#GRADLE_LOCAL_JAVA_HOME" />
|
||||
<option name="modules">
|
||||
|
|
|
|||
|
|
@ -1,12 +1,39 @@
|
|||
<component name="InspectionProjectProfileManager">
|
||||
<profile version="1.0">
|
||||
<option name="myName" value="Project Default" />
|
||||
<inspection_tool class="ComposePreviewDimensionRespectsLimit" enabled="true" level="WARNING" enabled_by_default="true">
|
||||
<option name="composableFile" value="true" />
|
||||
</inspection_tool>
|
||||
<inspection_tool class="ComposePreviewMustBeTopLevelFunction" enabled="true" level="ERROR" enabled_by_default="true">
|
||||
<option name="composableFile" value="true" />
|
||||
</inspection_tool>
|
||||
<inspection_tool class="ComposePreviewNeedsComposableAnnotation" enabled="true" level="ERROR" enabled_by_default="true">
|
||||
<option name="composableFile" value="true" />
|
||||
</inspection_tool>
|
||||
<inspection_tool class="ComposePreviewNotSupportedInUnitTestFiles" enabled="true" level="ERROR" enabled_by_default="true">
|
||||
<option name="composableFile" value="true" />
|
||||
</inspection_tool>
|
||||
<inspection_tool class="GlancePreviewDimensionRespectsLimit" enabled="true" level="WARNING" enabled_by_default="true">
|
||||
<option name="composableFile" value="true" />
|
||||
</inspection_tool>
|
||||
<inspection_tool class="GlancePreviewMustBeTopLevelFunction" enabled="true" level="ERROR" enabled_by_default="true">
|
||||
<option name="composableFile" value="true" />
|
||||
</inspection_tool>
|
||||
<inspection_tool class="GlancePreviewNeedsComposableAnnotation" enabled="true" level="ERROR" enabled_by_default="true">
|
||||
<option name="composableFile" value="true" />
|
||||
</inspection_tool>
|
||||
<inspection_tool class="GlancePreviewNotSupportedInUnitTestFiles" enabled="true" level="ERROR" enabled_by_default="true">
|
||||
<option name="composableFile" value="true" />
|
||||
</inspection_tool>
|
||||
<inspection_tool class="PreviewAnnotationInFunctionWithParameters" enabled="true" level="ERROR" enabled_by_default="true">
|
||||
<option name="composableFile" value="true" />
|
||||
</inspection_tool>
|
||||
<inspection_tool class="PreviewApiLevelMustBeValid" enabled="true" level="ERROR" enabled_by_default="true">
|
||||
<option name="composableFile" value="true" />
|
||||
</inspection_tool>
|
||||
<inspection_tool class="PreviewDeviceShouldUseNewSpec" enabled="true" level="WEAK WARNING" enabled_by_default="true">
|
||||
<option name="composableFile" value="true" />
|
||||
</inspection_tool>
|
||||
<inspection_tool class="PreviewDimensionRespectsLimit" enabled="true" level="WARNING" enabled_by_default="true">
|
||||
<option name="composableFile" value="true" />
|
||||
</inspection_tool>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" project-jdk-name="jbr-17" project-jdk-type="JavaSDK">
|
||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="jbr-17" project-jdk-type="JavaSDK">
|
||||
<output url="file://$PROJECT_DIR$/build/classes" />
|
||||
</component>
|
||||
<component name="ProjectType">
|
||||
|
|
|
|||
|
|
@ -19,8 +19,8 @@ android {
|
|||
applicationId "llc.arma.ble"
|
||||
minSdk 26
|
||||
targetSdk 34
|
||||
versionCode 44
|
||||
versionName "1.4.16"
|
||||
versionCode 46
|
||||
versionName "1.4.18"
|
||||
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
vectorDrawables {
|
||||
|
|
|
|||
|
|
@ -119,7 +119,13 @@ class BleListViewModel @Inject constructor(
|
|||
state: BleListContract.State,
|
||||
event: BleListContract.Event.OnMacFilterChanged
|
||||
) {
|
||||
|
||||
setState {
|
||||
copy(bleFilter = state.bleFilter.copy(mac = event.mac))
|
||||
}
|
||||
|
||||
viewModelScope.launch {
|
||||
|
||||
saveFilter(
|
||||
bleFilter = state.bleFilter.copy(mac = event.mac)
|
||||
)
|
||||
|
|
@ -130,33 +136,51 @@ class BleListViewModel @Inject constructor(
|
|||
state: BleListContract.State,
|
||||
event: BleListContract.Event.OnSortOrderChanged
|
||||
) {
|
||||
|
||||
setState {
|
||||
copy(bleFilter = state.bleFilter.copy(sortOrder = event.order))
|
||||
}
|
||||
|
||||
viewModelScope.launch {
|
||||
saveFilter(
|
||||
bleFilter = state.bleFilter.copy(sortOrder = event.order)
|
||||
)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private fun reduce(
|
||||
state: BleListContract.State,
|
||||
event: BleListContract.Event.OnSortFieldChanged
|
||||
) {
|
||||
|
||||
setState {
|
||||
copy(bleFilter = state.bleFilter.copy(sortField = event.field))
|
||||
}
|
||||
|
||||
viewModelScope.launch {
|
||||
saveFilter(
|
||||
bleFilter = state.bleFilter.copy(sortField = event.field)
|
||||
)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private fun reduce(
|
||||
state: BleListContract.State,
|
||||
event: BleListContract.Event.OnNameFilterChanged
|
||||
) {
|
||||
|
||||
setState {
|
||||
copy(bleFilter = state.bleFilter.copy(name = event.name))
|
||||
}
|
||||
|
||||
viewModelScope.launch {
|
||||
saveFilter(
|
||||
bleFilter = state.bleFilter.copy(name = event.name)
|
||||
)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private fun reduce(
|
||||
|
|
@ -164,6 +188,10 @@ class BleListViewModel @Inject constructor(
|
|||
event: BleListContract.Event.OnResetFilter
|
||||
) {
|
||||
|
||||
setState {
|
||||
copy(bleFilter = BleFilter())
|
||||
}
|
||||
|
||||
viewModelScope.launch {
|
||||
|
||||
saveFilter(BleFilter())
|
||||
|
|
@ -180,33 +208,43 @@ class BleListViewModel @Inject constructor(
|
|||
state: BleListContract.State,
|
||||
event: BleListContract.Event.OnRssiRangeChanged
|
||||
) {
|
||||
|
||||
viewModelScope.launch {
|
||||
saveFilter(
|
||||
bleFilter = state.bleFilter.copy(rssi = event.rssi)
|
||||
)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private fun reduce(
|
||||
state: BleListContract.State,
|
||||
event: BleListContract.Event.OnBatteryRangeChanged
|
||||
) {
|
||||
|
||||
viewModelScope.launch {
|
||||
saveFilter(
|
||||
bleFilter = state.bleFilter.copy(battery = event.battery)
|
||||
)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private fun reduce(
|
||||
state: BleListContract.State,
|
||||
event: BleListContract.Event.OnTypeChanged
|
||||
) {
|
||||
|
||||
setState {
|
||||
copy(bleFilter = state.bleFilter.copy(bleType = event.type))
|
||||
}
|
||||
|
||||
viewModelScope.launch {
|
||||
saveFilter(
|
||||
bleFilter = state.bleFilter.copy(bleType = event.type)
|
||||
)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
private fun reduce(
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ fun IntervalEdit(
|
|||
}
|
||||
|
||||
val maxInterval = 10 * 24 * 60 * 60 * 1000
|
||||
val minInterval = 10_000
|
||||
val minInterval = 1_000
|
||||
|
||||
if(value > maxInterval){
|
||||
value = maxInterval
|
||||
|
|
|
|||
|
|
@ -348,15 +348,15 @@ class BleRepositoryImpl @Inject constructor(
|
|||
onSuccess = { it }
|
||||
)
|
||||
|
||||
/*characteristic.write(DataByteArray.from(2, 0, 0, 0))
|
||||
//characteristic.write(DataByteArray.from(2, 0, 0, 0, 0))
|
||||
|
||||
val readTimeout = characteristic.read().value.let {
|
||||
if(it.size == 4){
|
||||
it.get4byteUIntAt(0).toLong()
|
||||
} else {
|
||||
0
|
||||
}
|
||||
}*/
|
||||
//val readTimeout = characteristic.read().value.let {
|
||||
// if(it.size == 4){
|
||||
// it.get4byteUIntAt(0).toLong()
|
||||
// } else {
|
||||
// 0
|
||||
// }
|
||||
//}
|
||||
|
||||
return Result.success(
|
||||
Ble.Host.HostState(
|
||||
|
|
|
|||
|
|
@ -94,11 +94,19 @@ fun readHostHistory(
|
|||
|
||||
var tableSize = value.get2byteUIntAt(0)
|
||||
|
||||
//Чтение без удаления
|
||||
characteristic.write(DataByteArray.from(1, 0, 0, -2, -1))
|
||||
val firstTableHeader = characteristic.read().value.asList()
|
||||
firstTablePackage.addAll(firstTableHeader.subList(4, firstTableHeader.size))
|
||||
|
||||
secondTablePackage.addAll(
|
||||
readTable(characteristic, byteArrayOf(6), byteArrayOf(6))
|
||||
)
|
||||
|
||||
firstTablePackage.addAll(
|
||||
readTable(
|
||||
characteristic,
|
||||
//Чтение без удаления
|
||||
byteArrayOf(1, 0, 0, -1, -1),
|
||||
byteArrayOf(5),
|
||||
byteArrayOf(5)
|
||||
)
|
||||
)
|
||||
|
|
@ -110,9 +118,7 @@ fun readHostHistory(
|
|||
val bleRealTime = firstTablePackage.toByteArray().get4byteUIntAt(8).toLong()
|
||||
val lastMeasureSystemTime = System.currentTimeMillis() - ((bleRealTime - bleLastMeasureTime) * 1_000)
|
||||
|
||||
secondTablePackage.addAll(
|
||||
readTable(characteristic, byteArrayOf(6), byteArrayOf(6))
|
||||
)
|
||||
Log.i("BLEK-LOG", "Вермя последнего: ${bleLastMeasureTime} Реальное время: ${bleRealTime}")
|
||||
|
||||
fun getBleIdIndex(bytes: ByteArray): UInt{
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue