10. Alarm Management
Synchronize phone time to device, manage alarms including: read, modify, delete
Important
Maximum number of alarms: 5
New alarm: Index support: 0-4
- New operation should decide the index of the current new alarm based on the alarm list index.For example, if there are alarms with indices: 1 and 3 in the list, the new alarm’s index should be 2
Alarm mode can be configured in firmware short settings, so you need to check if the firmware supports this function before using it
10.1. Time Synchronization
//Synchronize phone time to device
//WatchManager is a subclass of WatchOpImpl, must configure sdk in 1.3
WatchManager watchManager = WatchManager.getInstance();
//Initialize clock function implementation class
RTCOpImpl rtcOp = new RTCOpImpl(watchManager);
//Execute sync time function and wait for result callback
rtcOp.syncTime(rtcOp.getConnectedDevice(), new OnOperationCallback<Boolean>() {
@Override
public void onSuccess(Boolean result) {
//Success callback
}
@Override
public void onFailed(BaseError error) {
//Failure callback
//error -- Error information
}
});
10.2. Read Alarms
//Read alarms
//WatchManager is a subclass of WatchOpImpl, must configure sdk in 1.3
WatchManager watchManager = WatchManager.getInstance();
//Initialize clock function implementation class
RTCOpImpl rtcOp = new RTCOpImpl(watchManager);
//Register Rcsp event listener
rtcOp.getRcspOp().registerOnRcspEventListener(new OnRcspEventListener() {
@Override
public void onAlarmListChange(BluetoothDevice device, AlarmListInfo alarmListInfo) {
//This will callback alarm list information
}
});
//Execute read alarm list function and wait for result callback
rtcOp.readAlarmList(rtcOp.getConnectedDevice(), new OnOperationCallback<Boolean>() {
@Override
public void onSuccess(Boolean result) {
//Success callback
//Result will be callback at OnRcspEventListener#onAlarmListChange
}
@Override
public void onFailed(BaseError error) {
//Failure callback
//error -- Error information
}
});
10.3. Modify Alarm
//Modify alarm
//WatchManager is a subclass of WatchOpImpl, must configure sdk in 1.3
WatchManager watchManager = WatchManager.getInstance();
//Initialize clock function implementation class
RTCOpImpl rtcOp = new RTCOpImpl(watchManager);
//Register Rcsp event listener
rtcOp.getRcspOp().registerOnRcspEventListener(new OnRcspEventListener() {
@Override
public void onAlarmListChange(BluetoothDevice device, AlarmListInfo alarmListInfo) {
//This will callback alarm list information
}
});
// AlarmBean alarmBean = "obtained by reading alarm";
AlarmBean alarmBean = new AlarmBean();
//Execute create or modify alarm function and wait for result callback
rtcOp.addOrModifyAlarm(rtcOp.getConnectedDevice(), alarmBean, new OnOperationCallback<Boolean>() {
@Override
public void onSuccess(Boolean result) {
//Success callback, reacquire alarm list after successful setting, update UI
//rtcOp.readAlarmList(rtcOp.getConnectedDevice(), null);
}
@Override
public void onFailed(BaseError error) {
//Failure callback
//error -- Error information
}
});
10.4. Delete Alarm
//Delete alarm
//WatchManager is a subclass of WatchOpImpl, must configure sdk in 1.3
WatchManager watchManager = WatchManager.getInstance();
//Initialize clock function implementation class
RTCOpImpl rtcOp = new RTCOpImpl(watchManager);
//Register Rcsp event listener
rtcOp.getRcspOp().registerOnRcspEventListener(new OnRcspEventListener() {
@Override
public void onAlarmListChange(BluetoothDevice device, AlarmListInfo alarmListInfo) {
//This will callback alarm list information
}
});
// AlarmBean alarmBean = "obtained by reading alarm";
AlarmBean alarmBean = new AlarmBean();
//Execute delete alarm function and wait for result callback
rtcOp.deleteAlarm(rtcOp.getConnectedDevice(), alarmBean, new OnOperationCallback<Boolean>() {
@Override
public void onSuccess(Boolean result) {
//Success callback, reacquire alarm list after deletion, update UI
//rtcOp.readAlarmList(rtcOp.getConnectedDevice(), null);
}
@Override
public void onFailed(BaseError error) {
//Failure callback
//error -- Error information
}
});
10.5. Get Default Ringtone Selection List
//Read alarm default ringtone list, for setting alarm ringtone
//WatchManager is a subclass of WatchOpImpl, must configure sdk in 1.3
WatchManager watchManager = WatchManager.getInstance();
//Initialize clock function implementation class
RTCOpImpl rtcOp = new RTCOpImpl(watchManager);
//Register Rcsp event listener
rtcOp.getRcspOp().registerOnRcspEventListener(new OnRcspEventListener() {
@Override
public void onAlarmDefaultBellListChange(BluetoothDevice device, List<DefaultAlarmBell> bells) {
//This will callback alarm default ringtone list information
}
});
//Execute read default alarm ringtone list function and wait for result callback
rtcOp.readAlarmDefaultBellList(rtcOp.getConnectedDevice(), new OnOperationCallback<Boolean>() {
@Override
public void onSuccess(Boolean result) {
//Success callback
//Result will be callback at OnRcspEventListener#onAlarmDefaultBellListChange
}
@Override
public void onFailed(BaseError error) {
//Failure callback
//error -- Error information
}
});
10.6. Ringtone Preview
//Read alarm default ringtone list, for setting alarm ringtone
//WatchManager is a subclass of WatchOpImpl, must configure sdk in 1.3
WatchManager watchManager = WatchManager.getInstance();
//Initialize clock function implementation class
RTCOpImpl rtcOp = new RTCOpImpl(watchManager);
//Register Rcsp event listener
rtcOp.getRcspOp().registerOnRcspEventListener(new OnRcspEventListener() {
@Override
public void onAlarmDefaultBellListChange(BluetoothDevice device, List<DefaultAlarmBell> bells) {
//This will callback alarm default ringtone list information
}
});
//Execute read default alarm ringtone list function and wait for result callback
rtcOp.readAlarmDefaultBellList(rtcOp.getConnectedDevice(), new OnOperationCallback<Boolean>() {
@Override
public void onSuccess(Boolean result) {
//Success callback
//Result will be callback at OnRcspEventListener#onAlarmDefaultBellListChange
}
@Override
public void onFailed(BaseError error) {
//Failure callback
//error -- Error information
}
});
10.7. Stop Ringtone Preview
//Stop ringtone preview
//WatchManager is a subclass of WatchOpImpl, must configure sdk in 1.3
WatchManager watchManager = WatchManager.getInstance();
//Initialize clock function implementation class
RTCOpImpl rtcOp = new RTCOpImpl(watchManager);
//Execute stop ringtone preview function and wait for result callback
rtcOp.stopAlarmBell(rtcOp.getConnectedDevice(), new OnOperationCallback<Boolean>() {
@Override
public void onSuccess(Boolean result) {
//Success callback
//Device will pause ringtone playback
}
@Override
public void onFailed(BaseError error) {
//Failure callback
//error -- Error information
}
});
10.8. Get Alarm Mode Settings
//Get alarm mode settings
//WatchManager is a subclass of WatchOpImpl, must configure sdk in 1.3
WatchManager watchManager = WatchManager.getInstance();
boolean enable = watchManager.getDeviceInfo().getAlarmExpandFlag() == 0x01;
if (enable) {
//Does not support alarm mode settings
return;
}
//Initialize clock function implementation class
RTCOpImpl rtcOp = new RTCOpImpl(watchManager);
// AlarmBean alarmBean = "obtained by reading alarm";
AlarmBean alarmBean = new AlarmBean();
int mask = 0x01 << alarmBean.getIndex();//Can get multiple alarm mode settings at once
//Execute read alarm ringtone parameters function and wait for result callback
rtcOp.readAlarmBellArgs(rtcOp.getConnectedDevice(), (byte) mask, new OnOperationCallback<List<AlarmExpandCmd.BellArg>>() {
@Override
public void onSuccess(List<AlarmExpandCmd.BellArg> result) {
//Success callback
//result - Alarm ringtone parameters
}
@Override
public void onFailed(BaseError error) {
//Failure callback
//error -- Error information
}
});
10.9. Set Alarm Mode
//Set alarm mode
//WatchManager is a subclass of WatchOpImpl, must configure sdk in 1.3
WatchManager watchManager = WatchManager.getInstance();
boolean enable = watchManager.getDeviceInfo().getAlarmExpandFlag() == 0x01;
if (enable) {
//Does not support alarm mode settings
return;
}
//Initialize clock function implementation class
RTCOpImpl rtcOp = new RTCOpImpl(watchManager);
// AlarmExpandCmd.BellArg bellArg = "obtained by getting alarm mode settings";
AlarmExpandCmd.BellArg bellArg = null;
//Execute set alarm ringtone parameters function and wait for result callback
rtcOp.setAlarmBellArg(rtcOp.getConnectedDevice(), bellArg, new OnOperationCallback<Boolean>() {
@Override
public void onSuccess(Boolean result) {
//Success callback
}
@Override
public void onFailed(BaseError error) {
//Failure callback
}
});
10.10. Listen to Alarm Ringtone
//WatchManager is a subclass of WatchOpImpl, must configure sdk in 1.3
final WatchManager watchManager = WatchManager.getInstance();
watchManager.registerOnRcspEventListener(new OnRcspEventListener() {
@Override
public void onAlarmNotify(BluetoothDevice device, AlarmBean alarmBean) {
super.onAlarmNotify(device, alarmBean);
//Alarm ringtone
//Initialize clock function implementation class
RTCOpImpl rtcOp = new RTCOpImpl(watchManager);
//Execute stop alarm ringtone function and wait for result callback
rtcOp.stopAlarmBell(device, new OnOperationCallback<Boolean>() {
@Override
public void onSuccess(Boolean result) {
}
@Override
public void onFailed(BaseError error) {
}
});
}
@Override
public void onAlarmStop(BluetoothDevice device, AlarmBean alarmBean) {
super.onAlarmStop(device, alarmBean);
//Alarm ringtone stopped
}
});