Commit c4dd4a06 authored by Anon's avatar Anon
Browse files

Create Card10Service.

parent beeafb0a
......@@ -26,8 +26,10 @@ import android.bluetooth.*
import android.content.Context
import android.util.Log
import de.ccc.events.badge.card10.CARD10_BLUETOOTH_MAC_PREFIX
import de.ccc.events.badge.card10.CARD10_SERVICE_UUID
import de.ccc.events.badge.card10.R
import de.ccc.events.badge.card10.filetransfer.LowEffortService
import de.ccc.events.badge.card10.time.Card10Service
import java.lang.IllegalStateException
import java.lang.NullPointerException
import java.util.*
......@@ -37,6 +39,7 @@ private const val TAG = "ConnectionService"
object ConnectionService {
var device: BluetoothDevice? = null
var leService: LowEffortService? = null
var card10Service: Card10Service? = null
var mtu = 100
private var connection: BluetoothGatt? = null
......@@ -98,6 +101,8 @@ object ConnectionService {
if (service.uuid == fileServiceUuid) {
leService = LowEffortService(service)
} else if (service.uuid == CARD10_SERVICE_UUID) {
card10Service = Card10Service(service)
}
}
......
/*
* Copyright by the original author or authors.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
package de.ccc.events.badge.card10.time
import android.bluetooth.BluetoothGattCharacteristic
import android.bluetooth.BluetoothGattService
import de.ccc.events.badge.card10.TIME_CHARACTERISTIC_UUID
import de.ccc.events.badge.card10.common.ConnectionService
import java.nio.ByteBuffer
class Card10Service(
service: BluetoothGattService
) {
private val timeCharacteristic: BluetoothGattCharacteristic
init {
timeCharacteristic = service.getCharacteristic(TIME_CHARACTERISTIC_UUID)
timeCharacteristic.writeType = BluetoothGattCharacteristic.WRITE_TYPE_NO_RESPONSE
}
fun setTime() {
val buffer = ByteBuffer.allocate(8)
buffer.putLong(System.currentTimeMillis())
timeCharacteristic.value = buffer.array()
ConnectionService.writeCharacteristic(timeCharacteristic)
}
}
\ No newline at end of file
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment