Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(3934)

Unified Diff: chrome/android/java/src/org/chromium/chrome/browser/physicalweb/NearbyForegroundSubscription.java

Issue 2752313003: Read onDistanceChange events from Nearby Messages (Closed)
Patch Set: Use ThreadUtils Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/physicalweb/PhysicalWebBleClient.java » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/android/java/src/org/chromium/chrome/browser/physicalweb/NearbyForegroundSubscription.java
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/NearbyForegroundSubscription.java b/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/NearbyForegroundSubscription.java
index abf8956ca1a96cf77e17ad814ad5118eead9602a..99efb6255ac869c588597c5c19c04320e711da9e 100644
--- a/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/NearbyForegroundSubscription.java
+++ b/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/NearbyForegroundSubscription.java
@@ -7,8 +7,11 @@ package org.chromium.chrome.browser.physicalweb;
import android.app.Activity;
import com.google.android.gms.nearby.Nearby;
+import com.google.android.gms.nearby.messages.Distance;
+import com.google.android.gms.nearby.messages.Message;
import com.google.android.gms.nearby.messages.MessageListener;
+import org.chromium.base.ThreadUtils;
/**
* This class represents a connection to Google Play Services that does foreground
@@ -22,12 +25,28 @@ import com.google.android.gms.nearby.messages.MessageListener;
*/
class NearbyForegroundSubscription extends NearbySubscription {
private static final String TAG = "PhysicalWeb";
- private final MessageListener mMessageListener;
+ private static final MessageListener MESSAGE_LISTENER = new MessageListener() {
+ @Override
+ public void onFound(Message message) {}
+
+ @Override
+ public void onDistanceChanged(Message message, final Distance distance) {
+ final String url = PhysicalWebBleClient.getInstance().getUrlFromMessage(message);
+ if (url == null) return;
+
+ ThreadUtils.postOnUiThread(new Runnable() {
+ @Override
+ public void run() {
+ UrlManager.getInstance().addUrl(
+ new UrlInfo(url).setDistance(distance.getMeters()));
+ }
+ });
+ }
+ };
private boolean mShouldSubscribe;
NearbyForegroundSubscription(Activity activity) {
super(activity);
- mMessageListener = PhysicalWebBleClient.getInstance().createForegroundMessageListener();
mShouldSubscribe = false;
}
@@ -43,7 +62,7 @@ class NearbyForegroundSubscription extends NearbySubscription {
mShouldSubscribe = true;
return;
}
- Nearby.Messages.subscribe(getGoogleApiClient(), mMessageListener, createSubscribeOptions())
+ Nearby.Messages.subscribe(getGoogleApiClient(), MESSAGE_LISTENER, createSubscribeOptions())
.setResultCallback(new SimpleResultCallback("foreground subscribe"));
}
@@ -52,7 +71,7 @@ class NearbyForegroundSubscription extends NearbySubscription {
mShouldSubscribe = false;
return;
}
- Nearby.Messages.unsubscribe(getGoogleApiClient(), mMessageListener)
+ Nearby.Messages.unsubscribe(getGoogleApiClient(), MESSAGE_LISTENER)
.setResultCallback(new SimpleResultCallback("foreground unsubscribe"));
}
}
« no previous file with comments | « no previous file | chrome/android/java/src/org/chromium/chrome/browser/physicalweb/PhysicalWebBleClient.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698