summaryrefslogtreecommitdiffstats
path: root/device/bluetooth/test/android/java/src/org/chromium/device/bluetooth/Fakes.java
diff options
context:
space:
mode:
authorjyasskin <jyasskin@chromium.org>2015-11-18 11:55:37 -0800
committerCommit bot <commit-bot@chromium.org>2015-11-18 19:56:42 +0000
commit97ef21ed61bb27be090f0881db69b72e68047889 (patch)
tree51d5be34c43c78f36ba1e358ee9c04d3f22d9e7f /device/bluetooth/test/android/java/src/org/chromium/device/bluetooth/Fakes.java
parent93e85639793d75edf25077db51d28f5403d56736 (diff)
downloadchromium_src-97ef21ed61bb27be090f0881db69b72e68047889.zip
chromium_src-97ef21ed61bb27be090f0881db69b72e68047889.tar.gz
chromium_src-97ef21ed61bb27be090f0881db69b72e68047889.tar.bz2
Test that device/bluetooth fails to scan on Android when denied permission.
BUG=511805 Review URL: https://codereview.chromium.org/1454573003 Cr-Commit-Position: refs/heads/master@{#360395}
Diffstat (limited to 'device/bluetooth/test/android/java/src/org/chromium/device/bluetooth/Fakes.java')
-rw-r--r--device/bluetooth/test/android/java/src/org/chromium/device/bluetooth/Fakes.java37
1 files changed, 29 insertions, 8 deletions
diff --git a/device/bluetooth/test/android/java/src/org/chromium/device/bluetooth/Fakes.java b/device/bluetooth/test/android/java/src/org/chromium/device/bluetooth/Fakes.java
index 5a480c7..d01cc1e 100644
--- a/device/bluetooth/test/android/java/src/org/chromium/device/bluetooth/Fakes.java
+++ b/device/bluetooth/test/android/java/src/org/chromium/device/bluetooth/Fakes.java
@@ -4,6 +4,7 @@
package org.chromium.device.bluetooth;
+import android.Manifest;
import android.annotation.TargetApi;
import android.bluetooth.BluetoothDevice;
import android.bluetooth.le.ScanFilter;
@@ -18,7 +19,9 @@ import org.chromium.base.annotations.JNINamespace;
import java.util.ArrayList;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.List;
+import java.util.Set;
import java.util.UUID;
/**
@@ -33,6 +36,7 @@ class Fakes {
* Fakes android.bluetooth.BluetoothAdapter.
*/
static class FakeBluetoothAdapter extends Wrappers.BluetoothAdapterWrapper {
+ private final FakeContext mFakeContext;
private final FakeBluetoothLeScanner mFakeScanner;
final long mNativeBluetoothTestAndroid;
@@ -46,11 +50,17 @@ class Fakes {
}
private FakeBluetoothAdapter(long nativeBluetoothTestAndroid) {
- super(null, new FakeBluetoothLeScanner());
+ super(null, new FakeContext(), new FakeBluetoothLeScanner());
mNativeBluetoothTestAndroid = nativeBluetoothTestAndroid;
+ mFakeContext = (FakeContext) mContext;
mFakeScanner = (FakeBluetoothLeScanner) mScanner;
}
+ @CalledByNative("FakeBluetoothAdapter")
+ public void denyPermission() {
+ mFakeContext.mPermissions.clear();
+ }
+
/**
* Creates and discovers a new device.
*/
@@ -130,19 +140,30 @@ class Fakes {
}
/**
+ * Fakes android.content.Context.
+ */
+ static class FakeContext extends Wrappers.ContextWrapper {
+ public final Set<String> mPermissions = new HashSet<String>();
+
+ public FakeContext() {
+ super(null);
+ mPermissions.add(Manifest.permission.ACCESS_COARSE_LOCATION);
+ }
+
+ @Override
+ public boolean checkPermission(String permission) {
+ return mPermissions.contains(permission);
+ }
+ }
+
+ /**
* Fakes android.bluetooth.le.BluetoothLeScanner.
*/
static class FakeBluetoothLeScanner extends Wrappers.BluetoothLeScannerWrapper {
public Wrappers.ScanCallbackWrapper mScanCallback;
- public boolean mCanScan = true;
private FakeBluetoothLeScanner() {
- super(null, null);
- }
-
- @Override
- public boolean canScan() {
- return mCanScan;
+ super(null);
}
@Override