[CDM Bug] Fix a crash issue when serviceConnector is empty

serviceConnector is empty when there's no CompanionDeviceService
implementer declared or the permission is missing.

Fix: 219784113

Test: make
Change-Id: If6e3eed04323b520e409bc31dc3960e9dfc5d41a
This commit is contained in:
Guojing Yuan
2022-02-16 00:09:33 +00:00
parent 5089c9b481
commit 366b07b93a

View File

@@ -26,6 +26,7 @@ import android.content.ComponentName;
import android.content.Context;
import android.os.Handler;
import android.util.Log;
import android.util.Slog;
import android.util.SparseArray;
import com.android.internal.annotations.GuardedBy;
@@ -120,6 +121,12 @@ class CompanionApplicationController {
mBoundCompanionApplications.setValueForPackage(userId, packageName, serviceConnectors);
}
if (serviceConnectors.isEmpty()) {
Slog.e(TAG, "Can't find CompanionDeviceService implementer in package: "
+ packageName + ". Please check if they are correctly declared.");
return;
}
// The first connector in the list is always the primary connector: set a listener to it.
serviceConnectors.get(0).setListener(this::onPrimaryServiceBindingDied);