Skip SystemUI check in BluetoothServiceManager if noHome.

When device is configured with config_noHomeScreen, there will be no
SystemUI. Checking SystemUI UID is meaningless.

Bug: 62413935 69965109
Test: On sailfish, logcat shows expected SystemUI UID by default
Change-Id: Iaccc0f10cb82da454077056824c3f6eea6a37c4e
This commit is contained in:
Arthur Hsu
2018-01-11 16:46:22 -08:00
parent 5e093d997a
commit f3f95a9229

View File

@@ -60,6 +60,7 @@ import android.provider.Settings;
import android.provider.Settings.SettingNotFoundException;
import android.util.Slog;
import com.android.internal.R;
import com.android.internal.util.DumpUtils;
import com.android.server.pm.UserRestrictionsUtils;
@@ -415,9 +416,14 @@ class BluetoothManagerService extends IBluetoothManager.Stub {
int systemUiUid = -1;
try {
systemUiUid = mContext.getPackageManager()
.getPackageUidAsUser("com.android.systemui", PackageManager.MATCH_SYSTEM_ONLY,
UserHandle.USER_SYSTEM);
// Check if device is configured with no home screen, which implies no SystemUI.
boolean noHome = mContext.getResources().getBoolean(R.bool.config_noHomeScreen);
if (!noHome) {
systemUiUid = mContext.getPackageManager()
.getPackageUidAsUser("com.android.systemui", PackageManager.MATCH_SYSTEM_ONLY,
UserHandle.USER_SYSTEM);
}
Slog.d(TAG, "Detected SystemUiUid: " + Integer.toString(systemUiUid));
} catch (PackageManager.NameNotFoundException e) {
// Some platforms, such as wearables do not have a system ui.
Slog.w(TAG, "Unable to resolve SystemUI's UID.", e);