wear confirm roundtrip working
This commit is contained in:
parent
8e9d73e3a3
commit
d2d0d4b51a
3 changed files with 20 additions and 7 deletions
|
@ -44,7 +44,12 @@ public class WearFragment extends Fragment implements FragmentBase {
|
||||||
public void onClick(View view) {
|
public void onClick(View view) {
|
||||||
//TODO: revert after debugging!
|
//TODO: revert after debugging!
|
||||||
//getPlugin(getContext()).openSettings();
|
//getPlugin(getContext()).openSettings();
|
||||||
getPlugin(getContext()).requestActionConfirmation("Titel", "bla bla", "action 1 string");
|
String title = "CONFIRM"; //TODO: i18n
|
||||||
|
String message = "Insulin: 7.0U \n" +
|
||||||
|
"Carbs: 26 \n" +
|
||||||
|
"CONSTRAINTS APPLIED!!!"; //TODO: apply constraints
|
||||||
|
String actionstring = "Bolus 7.0 Carbs 26"; //TODO: to be returned by watch if confirmed
|
||||||
|
getPlugin(getContext()).requestActionConfirmation(title, message, actionstring);
|
||||||
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -161,6 +161,8 @@ public class WatchUpdaterService extends WearableListenerService implements
|
||||||
}
|
}
|
||||||
|
|
||||||
if (event != null && event.getPath().equals(WEARABLE_INITIATE_ACTIONSTRING_PATH)) {
|
if (event != null && event.getPath().equals(WEARABLE_INITIATE_ACTIONSTRING_PATH)) {
|
||||||
|
ToastUtils.showToastInUiThread(this, "INITIATE1");
|
||||||
|
|
||||||
String actionstring = new String(event.getData());
|
String actionstring = new String(event.getData());
|
||||||
ToastUtils.showToastInUiThread(this, "INITIATE: " + actionstring);
|
ToastUtils.showToastInUiThread(this, "INITIATE: " + actionstring);
|
||||||
//TODO: watch initiated action
|
//TODO: watch initiated action
|
||||||
|
@ -487,10 +489,12 @@ public class WatchUpdaterService extends WearableListenerService implements
|
||||||
dataMapRequest.getDataMap().putString("message", message);
|
dataMapRequest.getDataMap().putString("message", message);
|
||||||
dataMapRequest.getDataMap().putString("actionstring", actionstring);
|
dataMapRequest.getDataMap().putString("actionstring", actionstring);
|
||||||
|
|
||||||
|
ToastUtils.showToastInUiThread(this, "SENT: " + actionstring);
|
||||||
|
|
||||||
PutDataRequest putDataRequest = dataMapRequest.asPutDataRequest();
|
PutDataRequest putDataRequest = dataMapRequest.asPutDataRequest();
|
||||||
Wearable.DataApi.putDataItem(googleApiClient, putDataRequest);
|
Wearable.DataApi.putDataItem(googleApiClient, putDataRequest);
|
||||||
} else {
|
} else {
|
||||||
Log.e("ActionConfirmationRequest", "No connection to wearable available!");
|
Log.e("confirmationRequest", "No connection to wearable available!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,6 +3,7 @@ package info.nightscout.androidaps;
|
||||||
import android.app.PendingIntent;
|
import android.app.PendingIntent;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
|
import android.graphics.Color;
|
||||||
import android.os.AsyncTask;
|
import android.os.AsyncTask;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.preference.PreferenceManager;
|
import android.preference.PreferenceManager;
|
||||||
|
@ -134,8 +135,11 @@ public class ListenerService extends WearableListenerService implements GoogleAp
|
||||||
} else {
|
} else {
|
||||||
googleApiClient.blockingConnect(15, TimeUnit.SECONDS);
|
googleApiClient.blockingConnect(15, TimeUnit.SECONDS);
|
||||||
if (googleApiClient.isConnected()) {
|
if (googleApiClient.isConnected()) {
|
||||||
//TODO: copy send code
|
NodeApi.GetConnectedNodesResult nodes =
|
||||||
|
Wearable.NodeApi.getConnectedNodes(googleApiClient).await();
|
||||||
|
for (Node node : nodes.getNodes()) {
|
||||||
|
Wearable.MessageApi.sendMessage(googleApiClient, node.getId(), mMessagePath, mActionstring.getBytes());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
|
@ -288,7 +292,7 @@ public class ListenerService extends WearableListenerService implements GoogleAp
|
||||||
Intent actionIntent = new Intent(this, ListenerService.class);
|
Intent actionIntent = new Intent(this, ListenerService.class);
|
||||||
actionIntent.setAction(ACTION_CONFIRMATION);
|
actionIntent.setAction(ACTION_CONFIRMATION);
|
||||||
actionIntent.putExtra("actionstring", actionstring);
|
actionIntent.putExtra("actionstring", actionstring);
|
||||||
PendingIntent actionPendingIntent = PendingIntent.getService(this, 0, actionIntent, 0);;
|
PendingIntent actionPendingIntent = PendingIntent.getService(this, 0, actionIntent, PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_UPDATE_CURRENT);;
|
||||||
|
|
||||||
long[] vibratePattern = new long[]{0, 100, 50, 100, 50};
|
long[] vibratePattern = new long[]{0, 100, 50, 100, 50};
|
||||||
|
|
||||||
|
@ -307,8 +311,8 @@ public class ListenerService extends WearableListenerService implements GoogleAp
|
||||||
|
|
||||||
notificationManager.notify(CONFIRM_NOTIF_ID, notificationBuilder.build());
|
notificationManager.notify(CONFIRM_NOTIF_ID, notificationBuilder.build());
|
||||||
|
|
||||||
// keep the confirmation dialog open for half a minute.
|
// keep the confirmation dialog open for one minute.
|
||||||
scheduleDismiss(CONFIRM_NOTIF_ID, 30);
|
scheduleDismiss(CONFIRM_NOTIF_ID, 60);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue