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

Unified Diff: chrome/android/javatests/src/org/chromium/chrome/browser/BluetoothChooserDialogTest.java

Issue 2038753004: Add a LocationUtils class to give all Chromium Android code access to location helpers. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@lkcr
Patch Set: Adjust DEPS. Created 4 years, 6 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
Index: chrome/android/javatests/src/org/chromium/chrome/browser/BluetoothChooserDialogTest.java
diff --git a/chrome/android/javatests/src/org/chromium/chrome/browser/BluetoothChooserDialogTest.java b/chrome/android/javatests/src/org/chromium/chrome/browser/BluetoothChooserDialogTest.java
index 2e555f5daecc66d3b2f6fdfedeea20178a588579..a74ed73885abd9449d99a553b9f808b82305114e 100644
--- a/chrome/android/javatests/src/org/chromium/chrome/browser/BluetoothChooserDialogTest.java
+++ b/chrome/android/javatests/src/org/chromium/chrome/browser/BluetoothChooserDialogTest.java
@@ -6,6 +6,7 @@ package org.chromium.chrome.browser;
import android.Manifest;
import android.app.Dialog;
+import android.content.Context;
import android.content.pm.PackageManager;
import android.test.MoreAsserts;
import android.test.suitebuilder.annotation.SmallTest;
@@ -16,6 +17,7 @@ import android.widget.ListView;
import org.chromium.base.ThreadUtils;
import org.chromium.chrome.R;
import org.chromium.chrome.test.ChromeActivityTestCaseBase;
+import org.chromium.components.location.LocationUtils;
import org.chromium.components.security_state.ConnectionSecurityLevel;
import org.chromium.content.browser.test.util.Criteria;
import org.chromium.content.browser.test.util.CriteriaHelper;
@@ -68,6 +70,7 @@ public class BluetoothChooserDialogTest extends ChromeActivityTestCaseBase<Chrom
}
private ActivityWindowAndroid mWindowAndroid;
+ private FakeLocationUtils mLocationUtils;
private BluetoothChooserDialogWithFakeNatives mChooserDialog;
public BluetoothChooserDialogTest() {
@@ -79,10 +82,23 @@ public class BluetoothChooserDialogTest extends ChromeActivityTestCaseBase<Chrom
@Override
protected void setUp() throws Exception {
super.setUp();
+ mLocationUtils = new FakeLocationUtils();
+ LocationUtils.setFactory(new LocationUtils.Factory() {
+ @Override
+ public LocationUtils create() {
+ return mLocationUtils;
+ }
+ });
mChooserDialog = createDialog();
}
@Override
+ protected void tearDown() throws Exception {
+ LocationUtils.setFactory(null);
+ super.tearDown();
+ }
+
+ @Override
public void startMainActivity() throws InterruptedException {
startMainActivityOnBlankPage();
}
@@ -265,7 +281,7 @@ public class BluetoothChooserDialogTest extends ChromeActivityTestCaseBase<Chrom
new String[] {Manifest.permission.ACCESS_COARSE_LOCATION});
assertNotNull(permissionDelegate.mCallback);
// Grant permission.
- permissionDelegate.mLocationGranted = true;
+ mLocationUtils.mLocationGranted = true;
ThreadUtils.runOnUiThreadBlocking(new Runnable() {
@Override
public void run() {
@@ -284,15 +300,14 @@ public class BluetoothChooserDialogTest extends ChromeActivityTestCaseBase<Chrom
// TODO(jyasskin): Test when the user denies Chrome the ability to ask for permission.
private static class TestAndroidPermissionDelegate implements AndroidPermissionDelegate {
- boolean mLocationGranted = false;
PermissionCallback mCallback = null;
String[] mPermissionsRequested = null;
@Override
public boolean hasPermission(String permission) {
- return permission.equals(Manifest.permission.ACCESS_COARSE_LOCATION)
- && mLocationGranted;
+ return false;
}
+
@Override
public boolean canRequestPermission(String permission) {
return true;
@@ -310,4 +325,13 @@ public class BluetoothChooserDialogTest extends ChromeActivityTestCaseBase<Chrom
}
}
}
+
+ private static class FakeLocationUtils extends LocationUtils {
+ public boolean mLocationGranted = false;
+
+ @Override
+ public boolean hasAndroidLocationPermission(Context context) {
+ return mLocationGranted;
+ }
+ }
}

Powered by Google App Engine
This is Rietveld 408576698