Loading GmsApi @ a0e9645c Compare 70419935 to a0e9645c Original line number Diff line number Diff line Subproject commit 704199355e1c6f8b14402e01063fbae7b187b35b Subproject commit a0e9645c796dfd8af38f8cdedf21f5a299c9c5b0 play-services-core/src/main/AndroidManifest.xml +1 −1 Original line number Diff line number Diff line Loading @@ -15,7 +15,7 @@ --> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.google.android.gms" android:versionCode="6772000" android:versionCode="7099448" android:versionName="1.0"> <uses-sdk Loading play-services-core/src/main/java/org/microg/gms/AbstractGmsServiceBroker.java +134 −27 Original line number Diff line number Diff line Loading @@ -16,161 +16,268 @@ package org.microg.gms; import android.accounts.Account; import android.os.Bundle; import android.os.IBinder; import android.os.Parcel; import android.os.RemoteException; import android.util.Log; import com.google.android.gms.common.api.Scope; import com.google.android.gms.common.internal.GetServiceRequest; import com.google.android.gms.common.internal.IGmsCallbacks; import com.google.android.gms.common.internal.IGmsServiceBroker; import com.google.android.gms.common.internal.ValidateAccountRequest; import org.microg.gms.common.Services; import java.util.Arrays; import java.util.HashSet; import java.util.Set; public abstract class AbstractGmsServiceBroker extends IGmsServiceBroker.Stub { private static final String TAG = "GmsServiceBroker"; private final Set<Integer> supportedServiceIds; public AbstractGmsServiceBroker(Integer supportedServiceId, Integer... supportedServiceIds) { this(new HashSet<>(combine(supportedServiceId, supportedServiceIds))); } private static Set<Integer> combine(Integer i, Integer... is) { Set<Integer> integers = new HashSet<>(Arrays.asList(is)); integers.add(i); return integers; } public AbstractGmsServiceBroker(Set<Integer> supportedServiceIds) { this.supportedServiceIds = supportedServiceIds; } @Deprecated @Override public void getPlusService(IGmsCallbacks callback, int versionCode, String packageName, String str2, String[] paramArrayOfString, String str3, Bundle params) String authPackage, String[] scopes, String accountName, Bundle params) throws RemoteException { throw new IllegalArgumentException("Plus service not supported"); 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 Loading play-services-core/src/main/java/org/microg/gms/droidguard/DroidGuardService.java +5 −3 Original line number Diff line number Diff line Loading @@ -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); } }; Loading play-services-core/src/main/java/org/microg/gms/icing/IndexService.java +8 −3 Original line number Diff line number Diff line Loading @@ -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); } }; Loading Loading
GmsApi @ a0e9645c Compare 70419935 to a0e9645c Original line number Diff line number Diff line Subproject commit 704199355e1c6f8b14402e01063fbae7b187b35b Subproject commit a0e9645c796dfd8af38f8cdedf21f5a299c9c5b0
play-services-core/src/main/AndroidManifest.xml +1 −1 Original line number Diff line number Diff line Loading @@ -15,7 +15,7 @@ --> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.google.android.gms" android:versionCode="6772000" android:versionCode="7099448" android:versionName="1.0"> <uses-sdk Loading
play-services-core/src/main/java/org/microg/gms/AbstractGmsServiceBroker.java +134 −27 Original line number Diff line number Diff line Loading @@ -16,161 +16,268 @@ package org.microg.gms; import android.accounts.Account; import android.os.Bundle; import android.os.IBinder; import android.os.Parcel; import android.os.RemoteException; import android.util.Log; import com.google.android.gms.common.api.Scope; import com.google.android.gms.common.internal.GetServiceRequest; import com.google.android.gms.common.internal.IGmsCallbacks; import com.google.android.gms.common.internal.IGmsServiceBroker; import com.google.android.gms.common.internal.ValidateAccountRequest; import org.microg.gms.common.Services; import java.util.Arrays; import java.util.HashSet; import java.util.Set; public abstract class AbstractGmsServiceBroker extends IGmsServiceBroker.Stub { private static final String TAG = "GmsServiceBroker"; private final Set<Integer> supportedServiceIds; public AbstractGmsServiceBroker(Integer supportedServiceId, Integer... supportedServiceIds) { this(new HashSet<>(combine(supportedServiceId, supportedServiceIds))); } private static Set<Integer> combine(Integer i, Integer... is) { Set<Integer> integers = new HashSet<>(Arrays.asList(is)); integers.add(i); return integers; } public AbstractGmsServiceBroker(Set<Integer> supportedServiceIds) { this.supportedServiceIds = supportedServiceIds; } @Deprecated @Override public void getPlusService(IGmsCallbacks callback, int versionCode, String packageName, String str2, String[] paramArrayOfString, String str3, Bundle params) String authPackage, String[] scopes, String accountName, Bundle params) throws RemoteException { throw new IllegalArgumentException("Plus service not supported"); 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 Loading
play-services-core/src/main/java/org/microg/gms/droidguard/DroidGuardService.java +5 −3 Original line number Diff line number Diff line Loading @@ -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); } }; Loading
play-services-core/src/main/java/org/microg/gms/icing/IndexService.java +8 −3 Original line number Diff line number Diff line Loading @@ -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); } }; Loading