java moments: Update discovery api usage to 1.6
Change-Id: Ic79bfe981f0f116c9ef8770a75b646c16a830181
diff --git a/projects/moments/app/build.gradle b/projects/moments/app/build.gradle
index 02488e2..c87af77 100644
--- a/projects/moments/app/build.gradle
+++ b/projects/moments/app/build.gradle
@@ -50,7 +50,7 @@
compile 'com.android.support:appcompat-v7:23.1.1'
compile 'com.android.support:design:23.1.1'
compile 'com.android.support:support-v4:23.1.1'
- compile 'io.v:vanadium-android:1.5'
+ compile 'io.v:vanadium-android:1.6'
}
vdl {
diff --git a/projects/moments/app/src/main/java/io/v/moments/lib/V23Manager.java b/projects/moments/app/src/main/java/io/v/moments/lib/V23Manager.java
index 1d6b66b..ba3a4d9 100644
--- a/projects/moments/app/src/main/java/io/v/moments/lib/V23Manager.java
+++ b/projects/moments/app/src/main/java/io/v/moments/lib/V23Manager.java
@@ -40,19 +40,20 @@
private static final String BLESSINGS_KEY = "BlessingsKey";
private Context mAndroidCtx;
private VContext mV23Ctx = null;
+ private VDiscovery mDiscovery = null;
// Singleton.
private V23Manager() {
}
-
- public VDiscovery getDiscovery() {
- return V.getDiscovery(mV23Ctx);
- }
-
+
public VContext advertise(final Service service, List<BlessingPattern> patterns) {
+ if (mDiscovery == null) {
+ Log.d(TAG, "Discovery not ready.");
+ return null;
+ }
VContext context = mV23Ctx.withCancel();
final ListenableFuture<ListenableFuture<Void>> fStart =
- V.getDiscovery(mV23Ctx).advertise(context, service, patterns);
+ mDiscovery.advertise(context, service, patterns);
Futures.addCallback(fStart, new FutureCallback<ListenableFuture<Void>>() {
@Override
public void onSuccess(ListenableFuture<Void> result) {
@@ -85,10 +86,14 @@
}
public VContext scan(String query, final ScanListener listener) {
+ if (mDiscovery == null) {
+ Log.d(TAG, "Discovery not ready.");
+ return null;
+ }
VContext context = mV23Ctx.withCancel();
Log.d(TAG, "Calling V.getDiscovery.scan with q=" + query);
final ListenableFuture<Void> fStart =
- InputChannels.withCallback(V.getDiscovery(mV23Ctx).scan(context, query),
+ InputChannels.withCallback(mDiscovery.scan(context, query),
new InputChannelCallback<Update>() {
@Override
public ListenableFuture<Void> onNext(Update result) {
@@ -129,6 +134,11 @@
ListenableFuture<Blessings> f = BlessingsManager.getBlessings(
mV23Ctx, activity, BLESSINGS_KEY, true);
Futures.addCallback(f, future);
+ try {
+ mDiscovery = V.newDiscovery(mV23Ctx);
+ } catch (VException e) {
+ Log.d(TAG, "Unable to get discovery object.", e);
+ }
}
public void shutdown() {