| 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"));
|
| }
|
| }
|
|
|