diff options
author | Etienne Ruffieux <eruffieux@google.com> | 2022-01-25 15:21:02 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2022-01-25 15:21:02 +0000 |
commit | 803a18d615e6493a79770b0e8465b53464ac32a5 (patch) | |
tree | 5566317401739c5b13982a07121da9502b1bb296 /service/java/com/android/server/bluetooth/BluetoothManagerService.java | |
parent | da2dd5b797712b0ad503d6d6981eb7c3c59954e2 (diff) | |
parent | cd8180a3411a048886df64d8a96b13d8efebf245 (diff) |
Migrating Bluetooth resources to Bluetooth module am: 46f0869e44 am: 41f1eda6e5 am: 2b17efdfab am: cd8180a341
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Bluetooth/+/1931007
Change-Id: I57b927ec983e8906fcda0f9cc7a4407906e55d1c
Diffstat (limited to 'service/java/com/android/server/bluetooth/BluetoothManagerService.java')
-rw-r--r-- | service/java/com/android/server/bluetooth/BluetoothManagerService.java | 35 |
1 files changed, 27 insertions, 8 deletions
diff --git a/service/java/com/android/server/bluetooth/BluetoothManagerService.java b/service/java/com/android/server/bluetooth/BluetoothManagerService.java index 4e738a394d..d55c280f5c 100644 --- a/service/java/com/android/server/bluetooth/BluetoothManagerService.java +++ b/service/java/com/android/server/bluetooth/BluetoothManagerService.java @@ -58,6 +58,7 @@ import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.content.pm.PackageManagerInternal; import android.content.pm.UserInfo; +import android.content.res.Resources; import android.database.ContentObserver; import android.os.Binder; import android.os.Bundle; @@ -76,13 +77,13 @@ import android.os.UserManager; import android.permission.PermissionManager; import android.provider.Settings; import android.provider.Settings.SettingNotFoundException; +import android.sysprop.BluetoothProperties; import android.text.TextUtils; import android.util.FeatureFlagUtils; import android.util.Log; import android.util.Slog; import android.util.proto.ProtoOutputStream; -import com.android.internal.R; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.util.DumpUtils; import com.android.internal.util.FrameworkStatsLog; @@ -162,6 +163,8 @@ class BluetoothManagerService extends IBluetoothManager.Stub { private static final int SERVICE_IBLUETOOTH = 1; private static final int SERVICE_IBLUETOOTHGATT = 2; + private static final String BLUETOOTH_PACKAGE_NAME = "com.android.bluetooth"; + private final Context mContext; private final UserManager mUserManager; @@ -461,7 +464,8 @@ class BluetoothManagerService extends IBluetoothManager.Stub { mContext = context; mWirelessConsentRequired = context.getResources() - .getBoolean(com.android.internal.R.bool.config_wirelessConsentRequired); + .getBoolean(Resources.getSystem().getIdentifier( + "config_wirelessConsentRequired", "bool", "android")); mCrashes = 0; mBluetooth = null; @@ -485,8 +489,8 @@ class BluetoothManagerService extends IBluetoothManager.Stub { mUserManager = mContext.getSystemService(UserManager.class); - mIsHearingAidProfileSupported = context.getResources() - .getBoolean(com.android.internal.R.bool.config_hearing_aid_profile_supported); + mIsHearingAidProfileSupported = + BluetoothProperties.audioStreamingForHearingAidSupported().orElse(false); // TODO: We need a more generic way to initialize the persist keys of FeatureFlagUtils String value = SystemProperties.get(FeatureFlagUtils.PERSIST_PREFIX + FeatureFlagUtils.HEARING_AID_SETTINGS); @@ -537,7 +541,9 @@ class BluetoothManagerService extends IBluetoothManager.Stub { int systemUiUid = -1; // Check if device is configured with no home screen, which implies no SystemUI. - boolean noHome = mContext.getResources().getBoolean(R.bool.config_noHomeScreen); + boolean noHome = context.getResources() + .getBoolean(Resources.getSystem().getIdentifier( + "config_noHomeScreen", "bool", "android")); if (!noHome) { PackageManagerInternal pm = LocalServices.getService(PackageManagerInternal.class); systemUiUid = pm.getPackageUid(pm.getSystemUiServiceComponent().getPackageName(), @@ -552,6 +558,19 @@ class BluetoothManagerService extends IBluetoothManager.Stub { mSystemUiUid = systemUiUid; } + private boolean getBluetoothBooleanConfig(String name, boolean orElse) { + try { + Resources bluetoothRes = mContext.getPackageManager() + .getResourcesForApplication(BLUETOOTH_PACKAGE_NAME); + orElse = bluetoothRes.getBoolean(bluetoothRes.getIdentifier( + name, "bool", BLUETOOTH_PACKAGE_NAME)); + } catch (PackageManager.NameNotFoundException e) { + Log.e(TAG, "Unable to retrieve Bluetooth configuration " + name); + e.printStackTrace(); + } + return orElse; + } + /** * Returns true if airplane mode is currently on */ @@ -561,7 +580,8 @@ class BluetoothManagerService extends IBluetoothManager.Stub { } private boolean supportBluetoothPersistedState() { - return mContext.getResources().getBoolean(R.bool.config_supportBluetoothPersistedState); + // Set default support to true to copy config default. + return getBluetoothBooleanConfig("config_supportBluetoothPersistedState", true); } /** @@ -634,8 +654,7 @@ class BluetoothManagerService extends IBluetoothManager.Stub { if (DBG) { Slog.d(TAG, "Loading stored name and address"); } - if (mContext.getResources() - .getBoolean(com.android.internal.R.bool.config_bluetooth_address_validation) + if (getBluetoothBooleanConfig("config_bluetooth_address_validation", false) && Settings.Secure.getIntForUser(mContentResolver, Settings.Secure.BLUETOOTH_NAME, 0, mUserId) == 0) { |