From f6dca1f1621868dfbe04ce99023f4027c8260927 Mon Sep 17 00:00:00 2001 From: mar-v-in Date: Thu, 9 Apr 2015 23:12:08 +0200 Subject: [PATCH] Migrate to newer API --- extern/GmsApi | 2 +- .../src/main/AndroidManifest.xml | 2 +- .../microg/gms/AbstractGmsServiceBroker.java | 167 ++++++++++++++---- .../gms/droidguard/DroidGuardService.java | 8 +- .../org/microg/gms/icing/IndexService.java | 11 +- .../gms/icing/LightweightIndexService.java | 9 +- .../GoogleLocationManagerService.java | 16 +- .../gms/location/ReportingAndroidService.java | 11 +- .../org/microg/gms/people/PeopleService.java | 12 +- .../microg/gms/playlog/PlayLogService.java | 8 +- .../gms/playlog/PlayLogServiceImpl.java | 7 + 11 files changed, 188 insertions(+), 65 deletions(-) diff --git a/extern/GmsApi b/extern/GmsApi index 70419935..a0e9645c 160000 --- a/extern/GmsApi +++ b/extern/GmsApi @@ -1 +1 @@ -Subproject commit 704199355e1c6f8b14402e01063fbae7b187b35b +Subproject commit a0e9645c796dfd8af38f8cdedf21f5a299c9c5b0 diff --git a/play-services-core/src/main/AndroidManifest.xml b/play-services-core/src/main/AndroidManifest.xml index 5bcd4843..87ab51d9 100644 --- a/play-services-core/src/main/AndroidManifest.xml +++ b/play-services-core/src/main/AndroidManifest.xml @@ -15,7 +15,7 @@ --> supportedServiceIds; - @Override - public void getPlusService(IGmsCallbacks callback, int versionCode, String packageName, - String str2, String[] paramArrayOfString, String str3, Bundle params) - throws RemoteException { - throw new IllegalArgumentException("Plus service not supported"); + public AbstractGmsServiceBroker(Integer supportedServiceId, Integer... supportedServiceIds) { + this(new HashSet<>(combine(supportedServiceId, supportedServiceIds))); } + private static Set combine(Integer i, Integer... is) { + Set integers = new HashSet<>(Arrays.asList(is)); + integers.add(i); + return integers; + } + + public AbstractGmsServiceBroker(Set supportedServiceIds) { + this.supportedServiceIds = supportedServiceIds; + } + + @Deprecated + @Override + public void getPlusService(IGmsCallbacks callback, int versionCode, String packageName, + String authPackage, String[] scopes, String accountName, Bundle params) + throws RemoteException { + Bundle extras = params == null ? new Bundle() : params; + extras.putString("auth_package", authPackage); + callGetService(Services.PLUS.SERVICE_ID, callback, versionCode, packageName, extras, accountName, scopes); + } + + @Deprecated @Override public void getPanoramaService(IGmsCallbacks callback, int versionCode, String packageName, Bundle params) throws RemoteException { - throw new IllegalArgumentException("Panorama service not supported"); + callGetService(Services.PANORAMA.SERVICE_ID, callback, versionCode, packageName, params); } + @Deprecated @Override public void getAppDataSearchService(IGmsCallbacks callback, int versionCode, String packageName) throws RemoteException { - throw new IllegalArgumentException("App Data Search service not supported"); + callGetService(Services.INDEX.SERVICE_ID, callback, versionCode, packageName); } + @Deprecated @Override public void getWalletService(IGmsCallbacks callback, int versionCode) throws RemoteException { - throw new IllegalArgumentException("Wallet service not supported"); + getWalletServiceWithPackageName(callback, versionCode, null); } + @Deprecated @Override public void getPeopleService(IGmsCallbacks callback, int versionCode, String packageName, Bundle params) throws RemoteException { - throw new IllegalArgumentException("People service not supported"); + callGetService(Services.PEOPLE.SERVICE_ID, callback, versionCode, packageName, params); } + @Deprecated @Override public void getReportingService(IGmsCallbacks callback, int versionCode, String packageName, Bundle params) throws RemoteException { - throw new IllegalArgumentException("Reporting service not supported"); + callGetService(Services.LOCATION_REPORTING.SERVICE_ID, callback, versionCode, packageName, params); } + @Deprecated @Override public void getLocationService(IGmsCallbacks callback, int versionCode, String packageName, Bundle params) throws RemoteException { - throw new IllegalArgumentException("Location service not supported"); + callGetService(Services.LOCATION.SERVICE_ID, callback, versionCode, packageName, params); } + @Deprecated @Override public void getGoogleLocationManagerService(IGmsCallbacks callback, int versionCode, String packageName, Bundle params) throws RemoteException { - throw new IllegalArgumentException("Google Location Manager service not supported"); + callGetService(Services.LOCATION_MANAGER.SERVICE_ID, callback, versionCode, packageName, params); } + @Deprecated @Override public void getGamesService(IGmsCallbacks callback, int versionCode, String packageName, - String str2, String[] args, String str3, IBinder binder, String str4, Bundle params) + String accountName, String[] scopes, String gamePackageName, + IBinder popupWindowToken, String desiredLocale, Bundle params) throws RemoteException { - throw new IllegalArgumentException("Games service not supported"); + Bundle extras = params == null ? new Bundle() : params; + extras.putString("com.google.android.gms.games.key.gamePackageName", gamePackageName); + extras.putString("com.google.android.gms.games.key.desiredLocale", desiredLocale); + //extras.putParcelable("com.google.android.gms.games.key.popupWindowToken", popupWindowToken); + callGetService(Services.GAMES.SERVICE_ID, callback, versionCode, packageName, extras, accountName, scopes); } + @Deprecated @Override public void getAppStateService(IGmsCallbacks callback, int versionCode, String packageName, - String str2, String[] args) throws RemoteException { - throw new IllegalArgumentException("App State service not supported"); + String accountName, String[] scopes) throws RemoteException { + callGetService(Services.APPSTATE.SERVICE_ID, callback, versionCode, packageName, null, accountName, scopes); } + @Deprecated @Override public void getPlayLogService(IGmsCallbacks callback, int versionCode, String packageName, Bundle params) throws RemoteException { - throw new IllegalArgumentException("Play Log service not supported"); + callGetService(Services.PLAY_LOG.SERVICE_ID, callback, versionCode, packageName, params); } + @Deprecated @Override public void getAdMobService(IGmsCallbacks callback, int versionCode, String packageName, Bundle params) throws RemoteException { - throw new IllegalArgumentException("AdMob service not supported"); + callGetService(Services.ADREQUEST.SERVICE_ID, callback, versionCode, packageName, params); } + @Deprecated @Override public void getDroidGuardService(IGmsCallbacks callback, int versionCode, String packageName, Bundle params) throws RemoteException { - throw new IllegalArgumentException("DroidGuard service not supported"); + callGetService(Services.DROIDGUARD.SERVICE_ID, callback, versionCode, packageName, params); } + @Deprecated @Override public void getLockboxService(IGmsCallbacks callback, int versionCode, String packageName, Bundle params) throws RemoteException { - throw new IllegalArgumentException("Lockbox service not supported"); + callGetService(Services.LOCKBOX.SERVICE_ID, callback, versionCode, packageName, params); } + @Deprecated @Override public void getCastMirroringService(IGmsCallbacks callback, int versionCode, String packageName, Bundle params) throws RemoteException { - throw new IllegalArgumentException("Cast Mirroring service not supported"); + callGetService(Services.CAST_MIRRORING.SERVICE_ID, callback, versionCode, packageName, params); } + @Deprecated @Override public void getNetworkQualityService(IGmsCallbacks callback, int versionCode, String packageName, Bundle params) throws RemoteException { - throw new IllegalArgumentException("Network Quality service not supported"); + callGetService(Services.NETWORK_QUALITY.SERVICE_ID, callback, versionCode, packageName, params); } + @Deprecated @Override public void getGoogleIdentityService(IGmsCallbacks callback, int versionCode, String packageName, Bundle params) throws RemoteException { - throw new IllegalArgumentException("Google Identity service not supported"); + callGetService(Services.ACCOUNT.SERVICE_ID, callback, versionCode, packageName, params); } + @Deprecated @Override public void getGoogleFeedbackService(IGmsCallbacks callback, int versionCode, String packageName, Bundle params) throws RemoteException { - throw new IllegalArgumentException("Google Feedback service not supported"); + callGetService(Services.FEEDBACK.SERVICE_ID, callback, versionCode, packageName, params); } + @Deprecated @Override public void getCastService(IGmsCallbacks callback, int versionCode, String packageName, IBinder binder, Bundle params) throws RemoteException { throw new IllegalArgumentException("Cast service not supported"); } + @Deprecated @Override public void getDriveService(IGmsCallbacks callback, int versionCode, String packageName, - String[] args, String str2, Bundle params) throws RemoteException { - throw new IllegalArgumentException("Drive service not supported"); + String[] scopes, String accountName, Bundle params) throws RemoteException { + callGetService(Services.DRIVE.SERVICE_ID, callback, versionCode, packageName, params, accountName, scopes); } + @Deprecated @Override public void getLightweightAppDataSearchService(IGmsCallbacks callback, int versionCode, String packageName) throws RemoteException { - throw new IllegalArgumentException("Lightweight App Data Search service not supported"); + callGetService(Services.LIGHTWEIGHT_INDEX.SERVICE_ID, callback, versionCode, packageName); } + @Deprecated @Override public void getSearchAdministrationService(IGmsCallbacks callback, int versionCode, String packageName) throws RemoteException { - throw new IllegalArgumentException("Search Administration service not supported"); + callGetService(Services.SEARCH_ADMINISTRATION.SERVICE_ID, callback, versionCode, packageName); } + @Deprecated @Override public void getAutoBackupService(IGmsCallbacks callback, int versionCode, String packageName, Bundle params) throws RemoteException { - throw new IllegalArgumentException("Auto Backup service not supported"); + callGetService(Services.PHOTO_AUTO_BACKUP.SERVICE_ID, callback, versionCode, packageName, params); } + @Deprecated @Override public void getAddressService(IGmsCallbacks callback, int versionCode, String packageName) throws RemoteException { - throw new IllegalArgumentException("Address service not supported"); + callGetService(Services.ADDRESS.SERVICE_ID, callback, versionCode, packageName); + } + + @Deprecated + @Override + public void getWalletServiceWithPackageName(IGmsCallbacks callback, int versionCode, String packageName) throws RemoteException { + callGetService(Services.WALLET.SERVICE_ID, callback, versionCode, packageName); + } + + private void callGetService(int serviceId, IGmsCallbacks callback, int gmsVersion, + String packageName) throws RemoteException { + callGetService(serviceId, callback, gmsVersion, packageName, null); + } + + private void callGetService(int serviceId, IGmsCallbacks callback, int gmsVersion, + String packageName, Bundle extras) throws RemoteException { + callGetService(serviceId, callback, gmsVersion, packageName, extras, null, null); + } + + private void callGetService(int serviceId, IGmsCallbacks callback, int gmsVersion, String packageName, Bundle extras, String accountName, String[] scopes) throws RemoteException { + GetServiceRequest request = new GetServiceRequest(serviceId); + request.gmsVersion = gmsVersion; + request.packageName = packageName; + request.extras = extras; + request.account = accountName == null ? null : new Account(accountName, "com.google"); + request.scopes = scopes == null ? null : scopesFromStringArray(scopes); + getService(callback, request); + } + + private Scope[] scopesFromStringArray(String[] arr) { + Scope[] scopes = new Scope[arr.length]; + for (int i = 0; i < arr.length; i++) { + scopes[i] = new Scope(arr[i]); + } + return scopes; + } + + @Override + public void getService(IGmsCallbacks callback, GetServiceRequest request) throws RemoteException { + if (supportedServiceIds.contains(request.serviceId)) { + handleServiceRequest(callback, request); + } else { + Log.d(TAG, "Service not supported: " + request); + throw new IllegalArgumentException("Service not supported: " + request.serviceId); + } + } + + public abstract void handleServiceRequest(IGmsCallbacks callback, GetServiceRequest request) throws RemoteException; + + @Override + public void validateAccount(IGmsCallbacks callback, ValidateAccountRequest request) throws RemoteException { + throw new IllegalArgumentException("ValidateAccountRequest not supported"); } @Override diff --git a/play-services-core/src/main/java/org/microg/gms/droidguard/DroidGuardService.java b/play-services-core/src/main/java/org/microg/gms/droidguard/DroidGuardService.java index 51f117e5..45191d4e 100644 --- a/play-services-core/src/main/java/org/microg/gms/droidguard/DroidGuardService.java +++ b/play-services-core/src/main/java/org/microg/gms/droidguard/DroidGuardService.java @@ -23,17 +23,19 @@ import android.os.IBinder; import android.os.RemoteException; import android.util.Log; +import com.google.android.gms.common.internal.GetServiceRequest; import com.google.android.gms.common.internal.IGmsCallbacks; import org.microg.gms.AbstractGmsServiceBroker; +import org.microg.gms.common.Services; public class DroidGuardService extends Service { private static final String TAG = "GmsDroidGuardSvc"; - private AbstractGmsServiceBroker broker = new AbstractGmsServiceBroker() { + private AbstractGmsServiceBroker broker = new AbstractGmsServiceBroker(Services.DROIDGUARD.SERVICE_ID) { @Override - public void getDroidGuardService(IGmsCallbacks callback, int versionCode, String packageName, Bundle params) throws RemoteException { - Log.d(TAG, "getDroidGuardService for " + packageName); + public void handleServiceRequest(IGmsCallbacks callback, GetServiceRequest request) { + Log.d(TAG, "getDroidGuardService for " + request); } }; diff --git a/play-services-core/src/main/java/org/microg/gms/icing/IndexService.java b/play-services-core/src/main/java/org/microg/gms/icing/IndexService.java index 5d45d34e..816007b6 100644 --- a/play-services-core/src/main/java/org/microg/gms/icing/IndexService.java +++ b/play-services-core/src/main/java/org/microg/gms/icing/IndexService.java @@ -22,18 +22,23 @@ import android.os.IBinder; import android.os.RemoteException; import android.util.Log; +import com.google.android.gms.common.internal.GetServiceRequest; import com.google.android.gms.common.internal.IGmsCallbacks; import org.microg.gms.AbstractGmsServiceBroker; +import org.microg.gms.common.Services; public class IndexService extends Service { private static final String TAG = "GmsIcingIndexSvc"; private AppDataSearchImpl appDataSearch = new AppDataSearchImpl(); - private AbstractGmsServiceBroker broker = new AbstractGmsServiceBroker() { + private AbstractGmsServiceBroker broker = new AbstractGmsServiceBroker( + Services.INDEX.SERVICE_ID, Services.SEARCH_ADMINISTRATION.SERVICE_ID, + Services.SEARCH_CORPORA.SERVICE_ID, Services.SEARCH_GLOBAL.SERVICE_ID, + Services.SEARCH_IME.SERVICE_ID, Services.SEARCH_QUERIES.SERVICE_ID) { @Override - public void getAppDataSearchService(IGmsCallbacks callback, int versionCode, String packageName) throws RemoteException { - Log.d(TAG, "bound by: " + packageName); + public void handleServiceRequest(IGmsCallbacks callback, GetServiceRequest request) throws RemoteException { + Log.d(TAG, "bound by: " + request); callback.onPostInitComplete(0, appDataSearch.asBinder(), null); } }; diff --git a/play-services-core/src/main/java/org/microg/gms/icing/LightweightIndexService.java b/play-services-core/src/main/java/org/microg/gms/icing/LightweightIndexService.java index 0b919de8..92f05303 100644 --- a/play-services-core/src/main/java/org/microg/gms/icing/LightweightIndexService.java +++ b/play-services-core/src/main/java/org/microg/gms/icing/LightweightIndexService.java @@ -22,19 +22,20 @@ import android.os.IBinder; import android.os.RemoteException; import android.util.Log; +import com.google.android.gms.common.internal.GetServiceRequest; import com.google.android.gms.common.internal.IGmsCallbacks; import org.microg.gms.AbstractGmsServiceBroker; +import org.microg.gms.common.Services; public class LightweightIndexService extends Service { private static final String TAG = "GmsIcingLightIndexSvc"; private LightweightAppDataSearchImpl appDataSearch = new LightweightAppDataSearchImpl(); - private AbstractGmsServiceBroker broker = new AbstractGmsServiceBroker() { + private AbstractGmsServiceBroker broker = new AbstractGmsServiceBroker(Services.LIGHTWEIGHT_INDEX.SERVICE_ID) { @Override - public void getLightweightAppDataSearchService(IGmsCallbacks callback, int versionCode, - String packageName) throws RemoteException { - Log.d(TAG, "bound by: " + packageName); + public void handleServiceRequest(IGmsCallbacks callback, GetServiceRequest request) throws RemoteException { + Log.d(TAG, "bound by: " + request); callback.onPostInitComplete(0, appDataSearch.asBinder(), null); } }; diff --git a/play-services-core/src/main/java/org/microg/gms/location/GoogleLocationManagerService.java b/play-services-core/src/main/java/org/microg/gms/location/GoogleLocationManagerService.java index 91f1e5e4..eea0bfb3 100644 --- a/play-services-core/src/main/java/org/microg/gms/location/GoogleLocationManagerService.java +++ b/play-services-core/src/main/java/org/microg/gms/location/GoogleLocationManagerService.java @@ -18,34 +18,32 @@ package org.microg.gms.location; import android.app.Service; import android.content.Intent; -import android.os.Bundle; import android.os.IBinder; import android.os.RemoteException; import android.util.Log; +import com.google.android.gms.common.internal.GetServiceRequest; import com.google.android.gms.common.internal.IGmsCallbacks; import org.microg.gms.AbstractGmsServiceBroker; -import org.microg.gms.location.GoogleLocationManagerServiceImpl; - -import static org.microg.gms.common.Constants.ACTION_GMS_LOCATION_MANAGER_SERVICE_START; +import org.microg.gms.common.Services; public class GoogleLocationManagerService extends Service { private static final String TAG = "GmsLocManagerSvc"; private GoogleLocationManagerServiceImpl impl = new GoogleLocationManagerServiceImpl(this); - private AbstractGmsServiceBroker broker = new AbstractGmsServiceBroker() { + private AbstractGmsServiceBroker broker = new AbstractGmsServiceBroker(Services.LOCATION_MANAGER.SERVICE_ID, + Services.GEODATA.SERVICE_ID, Services.PLACE_DETECTION.SERVICE_ID) { @Override - public void getGoogleLocationManagerService(IGmsCallbacks callback, int versionCode, - String packageName, Bundle params) throws RemoteException { - Log.d(TAG, "bound by: " + packageName); + public void handleServiceRequest(IGmsCallbacks callback, GetServiceRequest request) throws RemoteException { + Log.d(TAG, "bound by: " + request); callback.onPostInitComplete(0, impl.asBinder(), null); } }; @Override public IBinder onBind(Intent intent) { - if (ACTION_GMS_LOCATION_MANAGER_SERVICE_START.equals(intent.getAction())) { + if (Services.LOCATION_MANAGER.ACTION.equals(intent.getAction())) { return broker.asBinder(); } else { return null; diff --git a/play-services-core/src/main/java/org/microg/gms/location/ReportingAndroidService.java b/play-services-core/src/main/java/org/microg/gms/location/ReportingAndroidService.java index d942c7f7..712cd097 100644 --- a/play-services-core/src/main/java/org/microg/gms/location/ReportingAndroidService.java +++ b/play-services-core/src/main/java/org/microg/gms/location/ReportingAndroidService.java @@ -18,24 +18,25 @@ package org.microg.gms.location; import android.app.Service; import android.content.Intent; -import android.os.Bundle; import android.os.IBinder; import android.os.RemoteException; import android.util.Log; +import com.google.android.gms.common.internal.GetServiceRequest; import com.google.android.gms.common.internal.IGmsCallbacks; import org.microg.gms.AbstractGmsServiceBroker; +import org.microg.gms.common.Services; public class ReportingAndroidService extends Service { private static final String TAG = "GmsLocReportingSvc"; private ReportingServiceImpl reportingService = new ReportingServiceImpl(); - private AbstractGmsServiceBroker broker = new AbstractGmsServiceBroker() { + private AbstractGmsServiceBroker broker = new AbstractGmsServiceBroker(Services.LOCATION_REPORTING.SERVICE_ID) { @Override - public void getReportingService(IGmsCallbacks callback, int versionCode, String packageName, Bundle params) throws RemoteException { - Log.d(TAG, "bound by: " + packageName); - callback.onPostInitComplete(0, reportingService, null); + public void handleServiceRequest(IGmsCallbacks callback, GetServiceRequest request) throws RemoteException { + Log.d(TAG, "bound by: " + request); + callback.onPostInitComplete(0, reportingService.asBinder(), null); } }; diff --git a/play-services-core/src/main/java/org/microg/gms/people/PeopleService.java b/play-services-core/src/main/java/org/microg/gms/people/PeopleService.java index 454477c0..60c7a639 100644 --- a/play-services-core/src/main/java/org/microg/gms/people/PeopleService.java +++ b/play-services-core/src/main/java/org/microg/gms/people/PeopleService.java @@ -23,27 +23,27 @@ import android.os.IBinder; import android.os.RemoteException; import android.util.Log; +import com.google.android.gms.common.internal.GetServiceRequest; import com.google.android.gms.common.internal.IGmsCallbacks; import org.microg.gms.AbstractGmsServiceBroker; - -import static org.microg.gms.common.Constants.ACTION_GMS_PEOPLE_SERVICE_START; +import org.microg.gms.common.Services; public class PeopleService extends Service { private static final String TAG = "GmsPeopleSvc"; private PeopleServiceImpl impl = new PeopleServiceImpl(this); - private AbstractGmsServiceBroker broker = new AbstractGmsServiceBroker() { + private AbstractGmsServiceBroker broker = new AbstractGmsServiceBroker(Services.PEOPLE.SERVICE_ID) { @Override - public void getPeopleService(IGmsCallbacks callback, int versionCode, String packageName, Bundle params) throws RemoteException { - Log.d(TAG, "bound by: " + packageName); + public void handleServiceRequest(IGmsCallbacks callback, GetServiceRequest request) throws RemoteException { + Log.d(TAG, "bound by: " + request); callback.onPostInitComplete(0, impl.asBinder(), null); } }; @Override public IBinder onBind(Intent intent) { - if (ACTION_GMS_PEOPLE_SERVICE_START.equals(intent.getAction())) { + if (Services.PEOPLE.ACTION.equals(intent.getAction())) { return broker.asBinder(); } else { return null; diff --git a/play-services-core/src/main/java/org/microg/gms/playlog/PlayLogService.java b/play-services-core/src/main/java/org/microg/gms/playlog/PlayLogService.java index 4c14cd15..2548c93e 100644 --- a/play-services-core/src/main/java/org/microg/gms/playlog/PlayLogService.java +++ b/play-services-core/src/main/java/org/microg/gms/playlog/PlayLogService.java @@ -23,18 +23,20 @@ import android.os.IBinder; import android.os.RemoteException; import android.util.Log; +import com.google.android.gms.common.internal.GetServiceRequest; import com.google.android.gms.common.internal.IGmsCallbacks; import org.microg.gms.AbstractGmsServiceBroker; +import org.microg.gms.common.Services; public class PlayLogService extends Service { private static final String TAG = "GmsPlayLogSvc"; private PlayLogServiceImpl playLogService = new PlayLogServiceImpl(); - private AbstractGmsServiceBroker broker = new AbstractGmsServiceBroker() { + private AbstractGmsServiceBroker broker = new AbstractGmsServiceBroker(Services.PLAY_LOG.SERVICE_ID) { @Override - public void getPlayLogService(IGmsCallbacks callback, int versionCode, String packageName, Bundle params) throws RemoteException { - Log.d(TAG, "bound by: " + packageName); + public void handleServiceRequest(IGmsCallbacks callback, GetServiceRequest request) throws RemoteException { + Log.d(TAG, "bound by: " + request); callback.onPostInitComplete(0, playLogService.asBinder(), null); } }; diff --git a/play-services-core/src/main/java/org/microg/gms/playlog/PlayLogServiceImpl.java b/play-services-core/src/main/java/org/microg/gms/playlog/PlayLogServiceImpl.java index 2f08a295..270c5f95 100644 --- a/play-services-core/src/main/java/org/microg/gms/playlog/PlayLogServiceImpl.java +++ b/play-services-core/src/main/java/org/microg/gms/playlog/PlayLogServiceImpl.java @@ -21,10 +21,17 @@ import android.os.RemoteException; import android.util.Log; import com.google.android.gms.playlog.internal.IPlayLogService; +import com.google.android.gms.playlog.internal.LogEvent; +import com.google.android.gms.playlog.internal.PlayLoggerContext; public class PlayLogServiceImpl extends IPlayLogService.Stub { private static final String TAG = "GmsPlayLogSvcImpl"; + @Override + public void event(String packageName, PlayLoggerContext context, LogEvent event) throws RemoteException { + Log.d(TAG, packageName + " event:" + event + " context:" + context); + } + @Override public boolean onTransact(int code, Parcel data, Parcel reply, int flags) throws RemoteException { if (super.onTransact(code, data, reply, flags)) return true;