diff options
author | jyasskin <jyasskin@chromium.org> | 2015-11-18 11:55:37 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-11-18 19:56:42 +0000 |
commit | 97ef21ed61bb27be090f0881db69b72e68047889 (patch) | |
tree | 51d5be34c43c78f36ba1e358ee9c04d3f22d9e7f /device/bluetooth/test/android/java/src/org/chromium/device/bluetooth/Fakes.java | |
parent | 93e85639793d75edf25077db51d28f5403d56736 (diff) | |
download | chromium_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.java | 37 |
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 |