Merge "Remove unused code to instantiate bpfNetMaps" into main
diff --git a/framework/Android.bp b/framework/Android.bp
index d6ee759..f66bc60 100644
--- a/framework/Android.bp
+++ b/framework/Android.bp
@@ -162,7 +162,6 @@
srcs: [":httpclient_api_sources"],
static_libs: [
"com.android.net.http.flags-aconfig-java",
- "modules-utils-expresslog",
],
libs: [
"androidx.annotation_annotation",
diff --git a/service/src/com/android/server/L2capNetworkProvider.java b/service/src/com/android/server/L2capNetworkProvider.java
index e3becd6..d0b0603 100644
--- a/service/src/com/android/server/L2capNetworkProvider.java
+++ b/service/src/com/android/server/L2capNetworkProvider.java
@@ -95,9 +95,8 @@
private final BlanketReservationOffer mBlanketOffer;
private final Set<ReservedServerOffer> mReservedServerOffers = new ArraySet<>();
private final ClientOffer mClientOffer;
- // mBluetoothManager guaranteed non-null when read on handler thread after start() is called
- @Nullable
- private BluetoothManager mBluetoothManager;
+ private final BluetoothManager mBluetoothManager;
+ private final boolean mIsSupported;
// Note: IFNAMSIZ is 16.
private static final String TUN_IFNAME = "l2cap-tun";
@@ -681,6 +680,8 @@
mProvider = mDeps.getNetworkProvider(context, mHandlerThread.getLooper());
mBlanketOffer = new BlanketReservationOffer();
mClientOffer = new ClientOffer();
+ mBluetoothManager = context.getSystemService(BluetoothManager.class);
+ mIsSupported = mContext.getPackageManager().hasSystemFeature(FEATURE_BLUETOOTH_LE);
}
/**
@@ -689,17 +690,19 @@
* Called on CS Handler thread.
*/
public void start() {
+ if (!mIsSupported) {
+ // In order to make mHandler final, the HandlerThread needs to be started before
+ // HandlerThread.getLooper() is called during the construction of the Handler.
+ mHandlerThread.quitSafely();
+ try {
+ mHandlerThread.join();
+ } catch (InterruptedException e) {
+ // join() interrupted. Do nothing.
+ }
+ return;
+ }
+
mHandler.post(() -> {
- final PackageManager pm = mContext.getPackageManager();
- if (!pm.hasSystemFeature(FEATURE_BLUETOOTH_LE)) {
- return;
- }
- mBluetoothManager = mContext.getSystemService(BluetoothManager.class);
- if (mBluetoothManager == null) {
- // Can this ever happen?
- Log.wtf(TAG, "BluetoothManager not found");
- return;
- }
mContext.getSystemService(ConnectivityManager.class).registerNetworkProvider(mProvider);
mProvider.registerNetworkOffer(BlanketReservationOffer.SCORE,
BlanketReservationOffer.CAPABILITIES, mHandler::post, mBlanketOffer);