summaryrefslogtreecommitdiff
path: root/service/java
diff options
context:
space:
mode:
Diffstat (limited to 'service/java')
-rw-r--r--service/java/com/android/server/bluetooth/BluetoothManagerService.java35
-rw-r--r--service/java/com/android/server/bluetooth/BluetoothModeChangeHelper.java5
2 files changed, 29 insertions, 11 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) {
diff --git a/service/java/com/android/server/bluetooth/BluetoothModeChangeHelper.java b/service/java/com/android/server/bluetooth/BluetoothModeChangeHelper.java
index e5854c9682..a67c6caa63 100644
--- a/service/java/com/android/server/bluetooth/BluetoothModeChangeHelper.java
+++ b/service/java/com/android/server/bluetooth/BluetoothModeChangeHelper.java
@@ -28,7 +28,6 @@ import android.content.res.Resources;
import android.provider.Settings;
import android.widget.Toast;
-import com.android.internal.R;
import com.android.internal.annotations.VisibleForTesting;
/**
@@ -131,8 +130,8 @@ public class BluetoothModeChangeHelper {
@VisibleForTesting
public void showToastMessage() {
Resources r = mContext.getResources();
- final CharSequence text = r.getString(
- R.string.bluetooth_airplane_mode_toast, 0);
+ final CharSequence text = r.getString(Resources.getSystem().getIdentifier(
+ "bluetooth_airplane_mode_toast", "string", "android"));
Toast.makeText(mContext, text, Toast.LENGTH_LONG).show();
}