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

Side by Side Diff: device/bluetooth/android/java/src/org/chromium/device/bluetooth/Wrappers.java

Issue 2847523002: Android: Remove GetApplicationContext part 4 (Closed)
Patch Set: Rebase and fix build Created 3 years, 7 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 package org.chromium.device.bluetooth; 5 package org.chromium.device.bluetooth;
6 6
7 import android.Manifest; 7 import android.Manifest;
8 import android.annotation.SuppressLint; 8 import android.annotation.SuppressLint;
9 import android.annotation.TargetApi; 9 import android.annotation.TargetApi;
10 import android.bluetooth.BluetoothAdapter; 10 import android.bluetooth.BluetoothAdapter;
11 import android.bluetooth.BluetoothDevice; 11 import android.bluetooth.BluetoothDevice;
12 import android.bluetooth.BluetoothGatt; 12 import android.bluetooth.BluetoothGatt;
13 import android.bluetooth.BluetoothGattCallback; 13 import android.bluetooth.BluetoothGattCallback;
14 import android.bluetooth.BluetoothGattCharacteristic; 14 import android.bluetooth.BluetoothGattCharacteristic;
15 import android.bluetooth.BluetoothGattDescriptor; 15 import android.bluetooth.BluetoothGattDescriptor;
16 import android.bluetooth.BluetoothGattService; 16 import android.bluetooth.BluetoothGattService;
17 import android.bluetooth.le.BluetoothLeScanner; 17 import android.bluetooth.le.BluetoothLeScanner;
18 import android.bluetooth.le.ScanCallback; 18 import android.bluetooth.le.ScanCallback;
19 import android.bluetooth.le.ScanFilter; 19 import android.bluetooth.le.ScanFilter;
20 import android.bluetooth.le.ScanResult; 20 import android.bluetooth.le.ScanResult;
21 import android.bluetooth.le.ScanSettings; 21 import android.bluetooth.le.ScanSettings;
22 import android.content.Context; 22 import android.content.Context;
23 import android.content.pm.PackageManager; 23 import android.content.pm.PackageManager;
24 import android.os.Build; 24 import android.os.Build;
25 import android.os.ParcelUuid; 25 import android.os.ParcelUuid;
26 26
27 import org.chromium.base.ContextUtils;
27 import org.chromium.base.Log; 28 import org.chromium.base.Log;
28 import org.chromium.base.ThreadUtils; 29 import org.chromium.base.ThreadUtils;
29 import org.chromium.base.annotations.CalledByNative; 30 import org.chromium.base.annotations.CalledByNative;
30 import org.chromium.base.annotations.JNINamespace; 31 import org.chromium.base.annotations.JNINamespace;
31 32
32 import java.util.ArrayList; 33 import java.util.ArrayList;
33 import java.util.HashMap; 34 import java.util.HashMap;
34 import java.util.List; 35 import java.util.List;
35 import java.util.UUID; 36 import java.util.UUID;
36 37
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
103 protected final Context mContext; 104 protected final Context mContext;
104 protected BluetoothLeScannerWrapper mScannerWrapper; 105 protected BluetoothLeScannerWrapper mScannerWrapper;
105 106
106 /** 107 /**
107 * Creates a BluetoothAdapterWrapper using the default 108 * Creates a BluetoothAdapterWrapper using the default
108 * android.bluetooth.BluetoothAdapter. May fail if the default adapter 109 * android.bluetooth.BluetoothAdapter. May fail if the default adapter
109 * is not available or if the application does not have sufficient 110 * is not available or if the application does not have sufficient
110 * permissions. 111 * permissions.
111 */ 112 */
112 @CalledByNative("BluetoothAdapterWrapper") 113 @CalledByNative("BluetoothAdapterWrapper")
113 public static BluetoothAdapterWrapper createWithDefaultAdapter(Context c ontext) { 114 public static BluetoothAdapterWrapper createWithDefaultAdapter() {
114 final boolean hasMinAPI = Build.VERSION.SDK_INT >= Build.VERSION_COD ES.M; 115 final boolean hasMinAPI = Build.VERSION.SDK_INT >= Build.VERSION_COD ES.M;
115 if (!hasMinAPI) { 116 if (!hasMinAPI) {
116 Log.i(TAG, "BluetoothAdapterWrapper.create failed: SDK version ( %d) too low.", 117 Log.i(TAG, "BluetoothAdapterWrapper.create failed: SDK version ( %d) too low.",
117 Build.VERSION.SDK_INT); 118 Build.VERSION.SDK_INT);
118 return null; 119 return null;
119 } 120 }
120 121
121 final boolean hasPermissions = 122 final boolean hasPermissions =
122 context.checkCallingOrSelfPermission(Manifest.permission.BLU ETOOTH) 123 ContextUtils.getApplicationContext().checkCallingOrSelfPermi ssion(
124 Manifest.permission.BLUETOOTH)
123 == PackageManager.PERMISSION_GRANTED 125 == PackageManager.PERMISSION_GRANTED
124 && context.checkCallingOrSelfPermission(Manifest.permission. BLUETOOTH_ADMIN) 126 && ContextUtils.getApplicationContext().checkCallingOrSelfPe rmission(
127 Manifest.permission.BLUETOOTH_ADMIN)
125 == PackageManager.PERMISSION_GRANTED; 128 == PackageManager.PERMISSION_GRANTED;
126 if (!hasPermissions) { 129 if (!hasPermissions) {
127 Log.w(TAG, "BluetoothAdapterWrapper.create failed: Lacking Bluet ooth permissions."); 130 Log.w(TAG, "BluetoothAdapterWrapper.create failed: Lacking Bluet ooth permissions.");
128 return null; 131 return null;
129 } 132 }
130 133
131 // Only Low Energy currently supported, see BluetoothAdapterAndroid class note. 134 // Only Low Energy currently supported, see BluetoothAdapterAndroid class note.
132 final boolean hasLowEnergyFeature = 135 final boolean hasLowEnergyFeature =
133 Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2 136 Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR2
134 && context.getPackageManager().hasSystemFeature( 137 && ContextUtils.getApplicationContext().getPackageManager(). hasSystemFeature(
135 PackageManager.FEATURE_BLUETOOTH_LE); 138 PackageManager.FEATURE_BLUETOOTH_LE);
136 if (!hasLowEnergyFeature) { 139 if (!hasLowEnergyFeature) {
137 Log.i(TAG, "BluetoothAdapterWrapper.create failed: No Low Energy support."); 140 Log.i(TAG, "BluetoothAdapterWrapper.create failed: No Low Energy support.");
138 return null; 141 return null;
139 } 142 }
140 143
141 BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter(); 144 BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
142 if (adapter == null) { 145 if (adapter == null) {
143 Log.i(TAG, "BluetoothAdapterWrapper.create failed: Default adapt er not found."); 146 Log.i(TAG, "BluetoothAdapterWrapper.create failed: Default adapt er not found.");
144 return null; 147 return null;
145 } else { 148 } else {
146 return new BluetoothAdapterWrapper(adapter, context); 149 return new BluetoothAdapterWrapper(adapter, ContextUtils.getAppl icationContext());
147 } 150 }
148 } 151 }
149 152
150 public BluetoothAdapterWrapper(BluetoothAdapter adapter, Context context ) { 153 public BluetoothAdapterWrapper(BluetoothAdapter adapter, Context context ) {
151 mAdapter = adapter; 154 mAdapter = adapter;
152 mContext = context; 155 mContext = context;
153 } 156 }
154 157
155 public boolean disable() { 158 public boolean disable() {
156 return mAdapter.disable(); 159 return mAdapter.disable();
(...skipping 452 matching lines...) Expand 10 before | Expand all | Expand 10 after
609 612
610 public byte[] getValue() { 613 public byte[] getValue() {
611 return mDescriptor.getValue(); 614 return mDescriptor.getValue();
612 } 615 }
613 616
614 public boolean setValue(byte[] value) { 617 public boolean setValue(byte[] value) {
615 return mDescriptor.setValue(value); 618 return mDescriptor.setValue(value);
616 } 619 }
617 } 620 }
618 } 621 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698