diff options
author | Etienne Ruffieux <eruffieux@google.com> | 2022-01-25 14:44:55 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2022-01-25 14:44:55 +0000 |
commit | 2b17efdfabf0d95aa91085f5eb0e5f30587cd38d (patch) | |
tree | b40fa31931765f5302264da15041f534dfd9f72c /service/java/com/android/server/bluetooth/BluetoothManagerService.java | |
parent | c27d82992a07dbf0d32822c08fe55569966379fa (diff) | |
parent | 41f1eda6e596851a13010b3449d7275b95945fa3 (diff) |
Migrating Bluetooth resources to Bluetooth module am: 46f0869e44 am: 41f1eda6e5
Original change: https://android-review.googlesource.com/c/platform/packages/modules/Bluetooth/+/1931007
Change-Id: I52f03a6990812293eb417c0c52330daf14c02bcd
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 e90b2b367c..7dd9ea4322 100644 --- a/service/java/com/android/server/bluetooth/BluetoothManagerService.java +++ b/service/java/com/android/server/bluetooth/BluetoothManagerService.java @@ -60,6 +60,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; @@ -77,13 +78,13 @@ import android.os.UserHandle; import android.os.UserManager; 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; @@ -167,6 +168,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; @@ -466,7 +469,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; @@ -490,8 +494,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); @@ -542,7 +546,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(), @@ -557,6 +563,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 */ @@ -566,7 +585,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); } /** @@ -639,8 +659,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, SECURE_SETTINGS_BLUETOOTH_ADDR_VALID, 0, mUserId) == 0) { |