| Index: chrome/android/java/src/org/chromium/chrome/browser/physicalweb/ListUrlsActivity.java
|
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/ListUrlsActivity.java b/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/ListUrlsActivity.java
|
| index 22f951a0a96a4e3a0d0fce8b815d73cf1baa441d..9fc8371422d1295ed5ba35104cab1046db668559 100644
|
| --- a/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/ListUrlsActivity.java
|
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/physicalweb/ListUrlsActivity.java
|
| @@ -34,6 +34,7 @@ import org.chromium.base.VisibleForTesting;
|
| import org.chromium.chrome.R;
|
| import org.chromium.chrome.browser.widget.FadingShadow;
|
| import org.chromium.chrome.browser.widget.FadingShadowView;
|
| +import org.chromium.components.location.LocationUtils;
|
|
|
| import java.util.Collection;
|
|
|
| @@ -71,7 +72,7 @@ public class ListUrlsActivity extends AppCompatActivity implements AdapterView.O
|
| private boolean mIsInitialDisplayRecorded;
|
| private boolean mIsRefreshing;
|
| private boolean mIsRefreshUserInitiated;
|
| - private PhysicalWebBleClient mPhysicalWebBleClient;
|
| + private NearbyForegroundSubscription mNearbyForegroundSubscription;
|
|
|
| @Override
|
| protected void onCreate(Bundle savedInstanceState) {
|
| @@ -121,7 +122,7 @@ public class ListUrlsActivity extends AppCompatActivity implements AdapterView.O
|
| mIsInitialDisplayRecorded = false;
|
| mIsRefreshing = false;
|
| mIsRefreshUserInitiated = false;
|
| - mPhysicalWebBleClient = PhysicalWebBleClient.getInstance();
|
| + mNearbyForegroundSubscription = new NearbyForegroundSubscription(this);
|
| }
|
|
|
| @Override
|
| @@ -156,14 +157,6 @@ public class ListUrlsActivity extends AppCompatActivity implements AdapterView.O
|
| return super.onOptionsItemSelected(item);
|
| }
|
|
|
| - private void foregroundSubscribe() {
|
| - mPhysicalWebBleClient.foregroundSubscribe(this);
|
| - }
|
| -
|
| - private void foregroundUnsubscribe() {
|
| - mPhysicalWebBleClient.foregroundUnsubscribe();
|
| - }
|
| -
|
| @Override
|
| protected void onStart() {
|
| super.onStart();
|
| @@ -173,7 +166,12 @@ public class ListUrlsActivity extends AppCompatActivity implements AdapterView.O
|
| @Override
|
| protected void onResume() {
|
| super.onResume();
|
| - foregroundSubscribe();
|
| + // Only subscribe to nearby if we have the location permission.
|
| + LocationUtils locationUtils = LocationUtils.getInstance();
|
| + if (locationUtils.hasAndroidLocationPermission(this)
|
| + && locationUtils.isSystemLocationSettingEnabled(this)) {
|
| + mNearbyForegroundSubscription.connect();
|
| + }
|
| startRefresh(false, false);
|
|
|
| int bottomBarDisplayCount = getBottomBarDisplayCount();
|
| @@ -185,7 +183,7 @@ public class ListUrlsActivity extends AppCompatActivity implements AdapterView.O
|
|
|
| @Override
|
| protected void onPause() {
|
| - foregroundUnsubscribe();
|
| + mNearbyForegroundSubscription.disconnect();
|
| super.onPause();
|
| }
|
|
|
|
|