diff --git a/extern/GmsApi b/extern/GmsApi index 594fb004..90426cf2 160000 --- a/extern/GmsApi +++ b/extern/GmsApi @@ -1 +1 @@ -Subproject commit 594fb004b7ceac5cf5d9f69bdc0809f3ca106fd7 +Subproject commit 90426cf2e1bfe199267377e826c1d2f060866bc6 diff --git a/play-services-core/src/main/java/org/microg/gms/BaseService.java b/play-services-core/src/main/java/org/microg/gms/BaseService.java index fe5578c7..23958bc7 100644 --- a/play-services-core/src/main/java/org/microg/gms/BaseService.java +++ b/play-services-core/src/main/java/org/microg/gms/BaseService.java @@ -35,7 +35,11 @@ public abstract class BaseService extends Service { broker = new AbstractGmsServiceBroker(supportedServiceId, supportedServiceIds) { @Override public void handleServiceRequest(IGmsCallbacks callback, GetServiceRequest request) throws RemoteException { - request.extras.keySet(); // call to unparcel() + try { + request.extras.keySet(); // call to unparcel() + } catch (Exception e) { + // Sometimes we need to define the correct ClassLoader before unparcel(). Ignore those. + } Log.d(TAG, "bound by: " + request); BaseService.this.handleServiceRequest(callback, request); }