├── .github
└── workflows
│ └── debug.yml
├── .gitignore
├── Android.mk
├── LICENSE
├── LICENSES
├── Apache-2.0.txt
├── CC-BY-4.0.txt
└── CC0-1.0.txt
├── README.md
├── build.gradle
├── fake-signature
├── build.gradle
└── src
│ └── main
│ ├── AndroidManifest.xml
│ └── res
│ └── values
│ ├── arrays.xml
│ └── signature.xml
├── gradle.properties
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── play-services-api
├── build.gradle
├── gradle.properties
└── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── aidl
│ └── com
│ │ └── google
│ │ └── android
│ │ ├── auth
│ │ └── IAuthManagerService.aidl
│ │ └── gms
│ │ ├── auth
│ │ ├── AccountChangeEventsRequest.aidl
│ │ ├── AccountChangeEventsResponse.aidl
│ │ ├── GetHubTokenInternalResponse.aidl
│ │ ├── GetHubTokenRequest.aidl
│ │ ├── HasCapabilitiesRequest.aidl
│ │ ├── api
│ │ │ ├── credentials
│ │ │ │ ├── Credential.aidl
│ │ │ │ ├── CredentialRequest.aidl
│ │ │ │ └── internal
│ │ │ │ │ ├── DeleteRequest.aidl
│ │ │ │ │ ├── GeneratePasswordRequest.aidl
│ │ │ │ │ ├── ICredentialsCallbacks.aidl
│ │ │ │ │ ├── ICredentialsService.aidl
│ │ │ │ │ └── SaveRequest.aidl
│ │ │ ├── internal
│ │ │ │ ├── IAuthCallbacks.aidl
│ │ │ │ └── IAuthService.aidl
│ │ │ └── proxy
│ │ │ │ ├── ProxyRequest.aidl
│ │ │ │ └── ProxyResponse.aidl
│ │ └── appcert
│ │ │ └── IAppCertService.aidl
│ │ ├── checkin
│ │ └── internal
│ │ │ └── ICheckinService.aidl
│ │ ├── common
│ │ └── server
│ │ │ └── FavaDiagnosticsEntity.aidl
│ │ ├── http
│ │ └── IGoogleHttpService.aidl
│ │ └── people
│ │ └── internal
│ │ ├── IPeopleCallbacks.aidl
│ │ └── IPeopleService.aidl
│ └── java
│ └── com
│ └── google
│ └── android
│ └── gms
│ ├── auth
│ ├── AccountChangeEvent.java
│ ├── AccountChangeEventsRequest.java
│ ├── AccountChangeEventsResponse.java
│ ├── GetHubTokenInternalResponse.java
│ ├── GetHubTokenRequest.java
│ ├── HasCapabilitiesRequest.java
│ ├── TokenData.java
│ ├── api
│ │ ├── credentials
│ │ │ ├── Credential.java
│ │ │ ├── CredentialPickerConfig.java
│ │ │ ├── CredentialRequest.java
│ │ │ ├── HintRequest.java
│ │ │ ├── IdToken.java
│ │ │ ├── IdentityProviders.java
│ │ │ └── internal
│ │ │ │ ├── DeleteRequest.java
│ │ │ │ ├── GeneratePasswordRequest.java
│ │ │ │ └── SaveRequest.java
│ │ └── proxy
│ │ │ ├── ProxyRequest.java
│ │ │ └── ProxyResponse.java
│ └── firstparty
│ │ ├── dataservice
│ │ ├── AccountRecoveryGuidanceRequest.java
│ │ ├── AccountRemovalRequest.java
│ │ ├── ConfirmCredentialsRequest.java
│ │ ├── TokenRequest.java
│ │ └── TokenResponse.java
│ │ ├── delegate
│ │ └── ConfirmCredentialsWorkflowRequest.java
│ │ ├── proximity
│ │ └── data
│ │ │ └── Permit.java
│ │ └── shared
│ │ ├── AccountCredentials.java
│ │ ├── AppDescription.java
│ │ └── CaptchaSolution.java
│ ├── common
│ └── server
│ │ └── FavaDiagnosticsEntity.java
│ ├── identity
│ ├── accounts
│ │ └── api
│ │ │ └── AccountData.java
│ └── intents
│ │ └── model
│ │ ├── CountrySpecification.java
│ │ └── UserAddress.java
│ └── people
│ ├── internal
│ └── ParcelableLoadImageOptions.java
│ └── model
│ ├── AccountMetadata.java
│ └── AvatarReference.java
├── play-services-base-api
├── build.gradle
└── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── aidl
│ └── com
│ │ └── google
│ │ └── android
│ │ └── gms
│ │ └── common
│ │ ├── api
│ │ └── internal
│ │ │ └── IStatusCallback.aidl
│ │ ├── data
│ │ └── DataHolder.aidl
│ │ └── images
│ │ └── WebImage.aidl
│ └── java
│ └── com
│ └── google
│ └── android
│ └── gms
│ ├── auth
│ └── api
│ │ └── signin
│ │ └── GoogleSignInAccount.java
│ └── common
│ ├── data
│ ├── DataHolder.java
│ └── Freezable.java
│ └── images
│ └── WebImage.java
├── play-services-base-core
├── build.gradle
└── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── java
│ └── org
│ │ └── microg
│ │ └── gms
│ │ ├── AbstractGmsServiceBroker.java
│ │ ├── BaseService.java
│ │ ├── DummyService.java
│ │ └── common
│ │ ├── DeviceConfiguration.java
│ │ ├── DeviceIdentifier.java
│ │ ├── ForegroundServiceContext.java
│ │ ├── ForegroundServiceInfo.java
│ │ ├── HttpFormClient.java
│ │ ├── MultiListenerProxy.java
│ │ ├── NonCancelToken.java
│ │ ├── PackageUtils.java
│ │ ├── PhoneInfo.java
│ │ ├── RemoteListenerProxy.java
│ │ └── Utils.java
│ ├── kotlin
│ └── org
│ │ └── microg
│ │ └── gms
│ │ ├── common
│ │ └── PackageSpoofUtils.kt
│ │ ├── profile
│ │ ├── Build.kt
│ │ ├── ProfileManager.kt
│ │ └── ProfileProvider.kt
│ │ ├── settings
│ │ ├── MetaDataPreferences.kt
│ │ ├── SettingsContract.kt
│ │ └── SettingsProvider.kt
│ │ └── utils
│ │ ├── BinderUtils.kt
│ │ └── FileXmlResourceParser.kt
│ └── res
│ ├── drawable
│ └── ic_foreground_notification.xml
│ ├── values-ar
│ └── strings.xml
│ ├── values-az
│ └── strings.xml
│ ├── values-be
│ └── strings.xml
│ ├── values-bn
│ └── strings.xml
│ ├── values-de
│ └── strings.xml
│ ├── values-es-rES
│ └── strings.xml
│ ├── values-fr
│ └── strings.xml
│ ├── values-he
│ └── strings.xml
│ ├── values-hi
│ └── strings.xml
│ ├── values-hu
│ └── strings.xml
│ ├── values-id
│ └── strings.xml
│ ├── values-it
│ └── strings.xml
│ ├── values-ja
│ └── strings.xml
│ ├── values-ko
│ └── strings.xml
│ ├── values-lt
│ └── strings.xml
│ ├── values-pt-rBR
│ └── strings.xml
│ ├── values-ru
│ └── strings.xml
│ ├── values-th
│ └── strings.xml
│ ├── values-tr
│ └── strings.xml
│ ├── values-uk
│ └── strings.xml
│ ├── values-vi
│ └── strings.xml
│ ├── values-zh-rCN
│ └── strings.xml
│ ├── values-zh-rTW
│ └── strings.xml
│ └── values
│ └── strings.xml
├── play-services-base
├── build.gradle
├── gradle.properties
└── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── java
│ ├── com
│ │ └── google
│ │ │ └── android
│ │ │ └── gms
│ │ │ └── common
│ │ │ ├── GoogleApiAvailability.java
│ │ │ ├── GooglePlayServicesClient.java
│ │ │ ├── GooglePlayServicesUtil.java
│ │ │ ├── api
│ │ │ ├── AccountInfo.java
│ │ │ ├── Api.java
│ │ │ ├── GoogleApi.java
│ │ │ ├── GoogleApiActivity.java
│ │ │ ├── GoogleApiClient.java
│ │ │ ├── HasApiKey.java
│ │ │ ├── PendingResult.java
│ │ │ └── internal
│ │ │ │ └── ApiKey.java
│ │ │ └── data
│ │ │ └── DataBuffer.java
│ └── org
│ │ └── microg
│ │ └── gms
│ │ └── common
│ │ ├── DummyApiClient.java
│ │ ├── ForwardConnectionCallbacks.java
│ │ ├── ForwardConnectionFailedListener.java
│ │ ├── GmsClient.java
│ │ ├── GmsConnector.java
│ │ ├── MultiConnectionKeeper.java
│ │ └── api
│ │ ├── AbstractPendingResult.java
│ │ ├── AbstractPlayServicesClient.java
│ │ ├── ApiClientBuilder.java
│ │ ├── ApiClientSettings.java
│ │ ├── ConnectionCallbacks.java
│ │ ├── GoogleApiClientImpl.java
│ │ ├── GoogleApiManager.java
│ │ ├── InstantPendingResult.java
│ │ ├── OnConnectionFailedListener.java
│ │ ├── PendingGoogleApiCall.java
│ │ ├── ResultCallbackHandler.java
│ │ ├── ReturningGoogleApiCall.java
│ │ └── VoidReturningGoogleApiCall.java
│ └── res
│ └── values
│ └── version.xml
├── play-services-basement
├── build.gradle
├── gradle.properties
└── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── aidl
│ └── com
│ │ └── google
│ │ └── android
│ │ └── gms
│ │ ├── common
│ │ ├── ConnectionResult.aidl
│ │ ├── GoogleCertificatesLookupQuery.aidl
│ │ ├── GoogleCertificatesLookupResponse.aidl
│ │ ├── GoogleCertificatesQuery.aidl
│ │ ├── api
│ │ │ └── Status.aidl
│ │ └── internal
│ │ │ ├── ConnectionInfo.aidl
│ │ │ ├── GetServiceRequest.aidl
│ │ │ ├── ICancelToken.aidl
│ │ │ ├── ICertData.aidl
│ │ │ ├── IGmsCallbacks.aidl
│ │ │ ├── IGmsServiceBroker.aidl
│ │ │ ├── IGoogleCertificatesApi.aidl
│ │ │ ├── ISignInButtonCreator.aidl
│ │ │ └── ValidateAccountRequest.aidl
│ │ └── dynamic
│ │ └── IObjectWrapper.aidl
│ ├── java
│ ├── com
│ │ └── google
│ │ │ └── android
│ │ │ └── gms
│ │ │ ├── common
│ │ │ ├── ConnectionResult.java
│ │ │ ├── Feature.java
│ │ │ ├── GoogleCertificatesLookupQuery.java
│ │ │ ├── GoogleCertificatesLookupResponse.java
│ │ │ ├── GoogleCertificatesQuery.java
│ │ │ ├── Scopes.java
│ │ │ ├── api
│ │ │ │ ├── CommonStatusCodes.java
│ │ │ │ ├── Releasable.java
│ │ │ │ ├── Result.java
│ │ │ │ ├── ResultCallback.java
│ │ │ │ ├── Scope.java
│ │ │ │ └── Status.java
│ │ │ └── internal
│ │ │ │ ├── BinderWrapper.java
│ │ │ │ ├── CertData.java
│ │ │ │ ├── ConnectionInfo.java
│ │ │ │ ├── GetServiceRequest.java
│ │ │ │ ├── ValidateAccountRequest.java
│ │ │ │ └── safeparcel
│ │ │ │ ├── AbstractSafeParcelable.java
│ │ │ │ ├── SafeParcelReader.java
│ │ │ │ ├── SafeParcelWriter.java
│ │ │ │ ├── SafeParcelable.java
│ │ │ │ ├── SafeParcelableCreatorAndWriter.java
│ │ │ │ └── SafeParcelableSerializer.java
│ │ │ └── dynamic
│ │ │ └── ObjectWrapper.java
│ └── org
│ │ └── microg
│ │ └── gms
│ │ ├── auth
│ │ └── AuthConstants.java
│ │ ├── common
│ │ ├── Constants.java
│ │ ├── GmsService.java
│ │ ├── Hide.java
│ │ └── PublicApi.java
│ │ └── gcm
│ │ └── GcmConstants.java
│ └── kotlin
│ └── com
│ └── google
│ └── android
│ └── gms
│ └── dynamic
│ └── ObjectWrapper.kt
├── play-services-core-proto
├── build.gradle
└── src
│ └── main
│ └── proto
│ ├── appcert.proto
│ ├── auth.proto
│ ├── checkin.proto
│ └── mcs.proto
├── play-services-core
├── build.gradle
├── microg-ui-tools
│ ├── build.gradle
│ └── src
│ │ └── main
│ │ ├── AndroidManifest.xml
│ │ ├── java
│ │ └── org
│ │ │ └── microg
│ │ │ └── tools
│ │ │ └── ui
│ │ │ ├── AbstractAboutFragment.java
│ │ │ ├── AbstractDashboardActivity.java
│ │ │ ├── AbstractSettingsActivity.java
│ │ │ ├── AbstractSettingsFragment.java
│ │ │ ├── Condition.java
│ │ │ ├── DialogPreference.java
│ │ │ ├── LongTextPreference.java
│ │ │ ├── RadioButtonPreference.java
│ │ │ ├── ResourceSettingsFragment.java
│ │ │ ├── SwitchBar.java
│ │ │ ├── SwitchBarResourceSettingsFragment.java
│ │ │ └── ToggleSwitch.java
│ │ └── res
│ │ ├── drawable
│ │ ├── ic_expand_less.xml
│ │ └── ic_expand_more.xml
│ │ ├── layout-v21
│ │ └── preference_material.xml
│ │ ├── layout
│ │ ├── about_root.xml
│ │ ├── condition_card.xml
│ │ ├── dashboard_activity.xml
│ │ ├── preference_widget_radiobutton.xml
│ │ ├── settings_activity.xml
│ │ └── switch_bar.xml
│ │ ├── values-ar
│ │ └── strings.xml
│ │ ├── values-az
│ │ └── strings.xml
│ │ ├── values-be
│ │ └── strings.xml
│ │ ├── values-bn
│ │ └── strings.xml
│ │ ├── values-cs
│ │ └── strings.xml
│ │ ├── values-de
│ │ └── strings.xml
│ │ ├── values-eo
│ │ └── strings.xml
│ │ ├── values-es-rES
│ │ └── strings.xml
│ │ ├── values-es
│ │ └── strings.xml
│ │ ├── values-fr
│ │ └── strings.xml
│ │ ├── values-he
│ │ └── strings.xml
│ │ ├── values-hi
│ │ └── strings.xml
│ │ ├── values-hu
│ │ └── strings.xml
│ │ ├── values-id
│ │ └── strings.xml
│ │ ├── values-it
│ │ └── strings.xml
│ │ ├── values-ja
│ │ └── strings.xml
│ │ ├── values-ko
│ │ └── strings.xml
│ │ ├── values-lt
│ │ └── strings.xml
│ │ ├── values-pl
│ │ └── strings.xml
│ │ ├── values-pt-rBR
│ │ └── strings.xml
│ │ ├── values-ro
│ │ └── strings.xml
│ │ ├── values-ru
│ │ └── strings.xml
│ │ ├── values-sr
│ │ └── strings.xml
│ │ ├── values-th
│ │ └── strings.xml
│ │ ├── values-tr
│ │ └── strings.xml
│ │ ├── values-uk
│ │ └── strings.xml
│ │ ├── values-vi
│ │ └── strings.xml
│ │ ├── values-zh-rCN
│ │ └── strings.xml
│ │ ├── values-zh-rTW
│ │ └── strings.xml
│ │ └── values
│ │ ├── colors.xml
│ │ └── strings.xml
├── multidex-keep.pro
├── proguard-rules.pro
└── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── ic_launcher-playstore.png
│ ├── java
│ ├── com
│ │ └── google
│ │ │ └── android
│ │ │ └── gms
│ │ │ ├── auth
│ │ │ ├── GetToken.java
│ │ │ └── TokenActivity.java
│ │ │ ├── chimera
│ │ │ └── DynamiteModuleInitializer.java
│ │ │ ├── common
│ │ │ ├── security
│ │ │ │ └── ProviderInstallerImpl.java
│ │ │ └── ui
│ │ │ │ └── SignInButtonCreatorImpl.java
│ │ │ └── security
│ │ │ └── ProviderInstaller.java
│ └── org
│ │ └── microg
│ │ ├── gms
│ │ ├── auth
│ │ │ ├── AccountContentProvider.java
│ │ │ ├── AuthManager.java
│ │ │ ├── AuthManagerServiceImpl.java
│ │ │ ├── AuthRequest.java
│ │ │ ├── AuthResponse.java
│ │ │ ├── SignInService.java
│ │ │ ├── login
│ │ │ │ ├── AssistantActivity.java
│ │ │ │ └── LoginActivity.java
│ │ │ └── loginservice
│ │ │ │ ├── AccountAuthenticator.java
│ │ │ │ └── GoogleLoginService.java
│ │ ├── checkin
│ │ │ ├── CheckinClient.java
│ │ │ ├── CheckinManager.java
│ │ │ ├── CheckinService.java
│ │ │ └── TriggerReceiver.java
│ │ ├── gcm
│ │ │ ├── GcmDatabase.java
│ │ │ ├── GcmLegacyData.java
│ │ │ ├── McsConstants.java
│ │ │ ├── McsInputStream.java
│ │ │ ├── McsOutputStream.java
│ │ │ ├── McsService.java
│ │ │ ├── PushRegisterManager.java
│ │ │ ├── RegisterRequest.java
│ │ │ ├── RegisterResponse.java
│ │ │ ├── SendReceiver.java
│ │ │ ├── TriggerReceiver.java
│ │ │ └── UnregisterReceiver.java
│ │ ├── gservices
│ │ │ ├── DatabaseHelper.java
│ │ │ ├── GServices.java
│ │ │ └── GServicesProvider.java
│ │ ├── people
│ │ │ ├── ContactSyncService.java
│ │ │ ├── DatabaseHelper.java
│ │ │ ├── PeopleManager.java
│ │ │ ├── PeopleService.java
│ │ │ └── PeopleServiceImpl.java
│ │ ├── settings
│ │ │ └── GoogleSettingsProvider.java
│ │ └── ui
│ │ │ ├── AboutFragment.java
│ │ │ ├── GoogleMoreFragment.java
│ │ │ ├── LegacyAccountSettingsActivity.java
│ │ │ ├── SettingsActivity.java
│ │ │ └── SettingsDashboardActivity.java
│ │ └── tools
│ │ └── AccountPickerActivity.java
│ ├── kotlin
│ ├── com
│ │ └── google
│ │ │ └── android
│ │ │ └── gms
│ │ │ └── common
│ │ │ └── GoogleCertificatesImpl.kt
│ └── org
│ │ └── microg
│ │ └── gms
│ │ ├── accountsettings
│ │ └── ui
│ │ │ ├── LoaderActivity.kt
│ │ │ ├── MainActivity.kt
│ │ │ ├── WebViewHelper.kt
│ │ │ └── extensions.kt
│ │ ├── auth
│ │ ├── AuthPrefs.kt
│ │ ├── appcert
│ │ │ ├── AppCertManager.kt
│ │ │ └── AppCertService.kt
│ │ ├── credentials
│ │ │ ├── CredentialPickerActivity.kt
│ │ │ └── CredentialsService.kt
│ │ └── proxy
│ │ │ └── AuthProxyService.kt
│ │ ├── checkin
│ │ ├── CheckinPrefs.kt
│ │ ├── LastCheckinInfo.kt
│ │ └── ServiceInfo.kt
│ │ ├── gcm
│ │ ├── GcmPrefs.kt
│ │ ├── PushRegisterService.kt
│ │ └── ServiceInfo.kt
│ │ └── ui
│ │ ├── AppIconPreference.kt
│ │ ├── Constants.kt
│ │ ├── DeviceRegistrationFragment.kt
│ │ ├── DeviceRegistrationPreferencesFragment.kt
│ │ ├── PreferenceSwitchBarCallback.kt
│ │ ├── PushNotificationAdvancedFragment.kt
│ │ ├── PushNotificationAllAppsFragment.kt
│ │ ├── PushNotificationAppFragment.kt
│ │ ├── PushNotificationAppPreferencesFragment.kt
│ │ ├── PushNotificationFragment.kt
│ │ ├── PushNotificationPreferencesFragment.kt
│ │ ├── SettingsFragment.kt
│ │ ├── TextPreference.kt
│ │ ├── Utils.kt
│ │ └── settings
│ │ └── SettingsProvider.kt
│ └── res
│ ├── drawable
│ ├── dots_horizontal.xml
│ ├── ic_add_account.xml
│ ├── ic_baseline_hide_source_24.xml
│ ├── ic_cloud_bell.xml
│ ├── ic_device_login.xml
│ ├── ic_expand_apps.xml
│ └── ic_info_outline.xml
│ ├── layout
│ ├── device_registration_fragment.xml
│ ├── login_assistant.xml
│ ├── login_assistant_loading.xml
│ ├── preference_category_no_label.xml
│ ├── preference_progress_bar.xml
│ ├── preference_switch_bar.xml
│ ├── push_notification_app_fragment.xml
│ ├── push_notification_fragment.xml
│ └── settings_root_activity.xml
│ ├── mipmap-anydpi-v26
│ ├── ic_launcher.xml
│ └── ic_launcher_round.xml
│ ├── mipmap-hdpi
│ ├── ic_launcher.png
│ ├── ic_launcher_foreground.png
│ └── ic_launcher_round.png
│ ├── mipmap-mdpi
│ ├── ic_launcher.png
│ ├── ic_launcher_foreground.png
│ └── ic_launcher_round.png
│ ├── mipmap-xhdpi
│ ├── ic_launcher.png
│ ├── ic_launcher_foreground.png
│ └── ic_launcher_round.png
│ ├── mipmap-xxhdpi
│ ├── ic_launcher.png
│ ├── ic_launcher_foreground.png
│ └── ic_launcher_round.png
│ ├── mipmap-xxxhdpi
│ ├── ic_launcher.png
│ ├── ic_launcher_foreground.png
│ └── ic_launcher_round.png
│ ├── navigation
│ └── nav_settings.xml
│ ├── values-ar
│ ├── arrays.xml
│ ├── plurals.xml
│ └── strings.xml
│ ├── values-az
│ ├── arrays.xml
│ ├── plurals.xml
│ └── strings.xml
│ ├── values-be
│ ├── arrays.xml
│ ├── plurals.xml
│ └── strings.xml
│ ├── values-bn
│ ├── arrays.xml
│ ├── plurals.xml
│ └── strings.xml
│ ├── values-cs
│ └── strings.xml
│ ├── values-es-rES
│ ├── arrays.xml
│ ├── plurals.xml
│ └── strings.xml
│ ├── values-fr
│ ├── arrays.xml
│ ├── plurals.xml
│ └── strings.xml
│ ├── values-he
│ └── strings.xml
│ ├── values-hi
│ ├── arrays.xml
│ ├── plurals.xml
│ └── strings.xml
│ ├── values-id
│ ├── arrays.xml
│ ├── plurals.xml
│ └── strings.xml
│ ├── values-it
│ ├── arrays.xml
│ ├── plurals.xml
│ └── strings.xml
│ ├── values-ja
│ ├── arrays.xml
│ ├── plurals.xml
│ └── strings.xml
│ ├── values-ko
│ ├── arrays.xml
│ ├── plurals.xml
│ └── strings.xml
│ ├── values-lt
│ ├── arrays.xml
│ ├── plurals.xml
│ └── strings.xml
│ ├── values-night-v31
│ └── themes.xml
│ ├── values-night
│ └── themes.xml
│ ├── values-pt-rBR
│ ├── arrays.xml
│ ├── plurals.xml
│ └── strings.xml
│ ├── values-ru
│ ├── arrays.xml
│ ├── plurals.xml
│ └── strings.xml
│ ├── values-th
│ └── strings.xml
│ ├── values-tr
│ ├── arrays.xml
│ ├── plurals.xml
│ └── strings.xml
│ ├── values-uk
│ ├── arrays.xml
│ ├── plurals.xml
│ └── strings.xml
│ ├── values-v31
│ └── themes.xml
│ ├── values-vi
│ ├── arrays.xml
│ ├── plurals.xml
│ └── strings.xml
│ ├── values-zh-rCN
│ ├── arrays.xml
│ ├── plurals.xml
│ └── strings.xml
│ ├── values-zh-rTW
│ ├── arrays.xml
│ ├── plurals.xml
│ └── strings.xml
│ ├── values
│ ├── arrays.xml
│ ├── bools.xml
│ ├── colors.xml
│ ├── dimens.xml
│ ├── ic_launcher_background.xml
│ ├── permissions.xml
│ ├── plurals.xml
│ ├── resources.xml
│ ├── strings.xml
│ └── themes.xml
│ └── xml
│ ├── authenticator.xml
│ ├── network_security_config.xml
│ ├── preferences_account.xml
│ ├── preferences_auth.xml
│ ├── preferences_device_registration.xml
│ ├── preferences_gcm_advanced.xml
│ ├── preferences_google_more.xml
│ ├── preferences_push_notifications.xml
│ ├── preferences_push_notifications_all_apps.xml
│ ├── preferences_push_notifications_app.xml
│ ├── preferences_start.xml
│ ├── profile_bullhead_27.xml
│ ├── profile_lineage_falcon_25.xml
│ ├── profile_redfin_33.xml
│ ├── profile_sdk_gphone64_arm64_33.xml
│ └── profile_sdk_gphone64_x86_64_33.xml
├── play-services-iid-api
├── build.gradle
├── gradle.properties
└── src
│ └── main
│ ├── AndroidManifest.xml
│ ├── aidl
│ └── com
│ │ └── google
│ │ └── android
│ │ └── gms
│ │ └── iid
│ │ └── IMessengerCompat.aidl
│ └── java
│ └── com
│ └── google
│ └── android
│ └── gms
│ └── iid
│ └── MessengerCompat.java
├── play-services-tasks
├── build.gradle
├── gradle.properties
└── src
│ └── main
│ ├── AndroidManifest.xml
│ └── java
│ ├── com
│ └── google
│ │ └── android
│ │ └── gms
│ │ └── tasks
│ │ ├── CancellationToken.java
│ │ ├── CancellationTokenSource.java
│ │ ├── Continuation.java
│ │ ├── DuplicateTaskCompletionException.java
│ │ ├── OnCanceledListener.java
│ │ ├── OnCompleteListener.java
│ │ ├── OnFailureListener.java
│ │ ├── OnSuccessListener.java
│ │ ├── OnTokenCanceledListener.java
│ │ ├── RuntimeExecutionException.java
│ │ ├── SuccessContinuation.java
│ │ ├── Task.java
│ │ ├── TaskCompletionSource.java
│ │ ├── TaskExecutors.java
│ │ └── Tasks.java
│ └── org
│ └── microg
│ └── gms
│ └── tasks
│ ├── CancellationTokenImpl.java
│ ├── CancelledExecutor.java
│ ├── CompletedExecutor.java
│ ├── ContinuationExecutor.java
│ ├── ContinuationWithExecutor.java
│ ├── FailureExecutor.java
│ ├── SuccessContinuationExecutor.java
│ ├── SuccessExecutor.java
│ ├── TaskImpl.java
│ ├── UpdateExecutor.java
│ ├── UpdateListener.java
│ └── UpdateListenerLifecycleObserver.java
├── proguard.flags
└── settings.gradle
/.github/workflows/debug.yml:
--------------------------------------------------------------------------------
1 | name: Debug APK Builder
2 |
3 | on:
4 | push:
5 | branches:
6 | - master
7 | pull_request:
8 | branches:
9 | - master
10 |
11 | jobs:
12 | build:
13 | runs-on: ubuntu-latest
14 | steps:
15 | - uses: actions/checkout@v1
16 | - name: JDK 8 Setup
17 | uses: actions/setup-java@v1
18 | with:
19 | java-version: 11.0.8
20 |
21 | - name: Install NDK
22 | run: echo "y" | sudo ${ANDROID_HOME}/tools/bin/sdkmanager --install "ndk;21.0.6113669"
23 |
24 | - name: Grant rights
25 | run: chmod +x ./gradlew
26 |
27 | - name: Build project
28 | run: ./gradlew build
29 |
30 | - name: Build APK
31 | run: ./gradlew assembleDebug
32 |
33 | - name: Upload to Artifacts
34 | uses: actions/upload-artifact@v2
35 | with:
36 | name: 'MicroG'
37 | path: play-services-core/build/outputs/apk/debug/play-services-core-debug.apk
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | *.iml
2 | gen/
3 | bin/
4 | build/
5 | .gradle/
6 | .idea/
7 | user.gradle
8 | local.properties
9 | .directory
10 | play-services-core/release
11 |
12 | .settings
13 | .classpath
14 | .project
--------------------------------------------------------------------------------
/fake-signature/build.gradle:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2023 microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0
4 | */
5 |
6 | apply plugin: 'com.android.library'
7 |
8 | android {
9 | namespace "org.microg.signature.fake"
10 |
11 | compileSdkVersion androidCompileSdk
12 | buildToolsVersion androidBuildVersionTools
13 |
14 | defaultConfig {
15 | minSdkVersion androidMinSdk
16 | targetSdkVersion androidTargetSdk
17 | }
18 |
19 | compileOptions {
20 | sourceCompatibility JavaVersion.VERSION_1_8
21 | targetCompatibility JavaVersion.VERSION_1_8
22 | }
23 | }
24 |
25 | dependencies {
26 | }
27 |
--------------------------------------------------------------------------------
/fake-signature/src/main/res/values/arrays.xml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
7 |
8 | - com.google.android.gms
9 | - com.android.vending
10 | - com.spotify.music
11 |
12 |
13 | - com.truecaller
14 |
15 |
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | android.useAndroidX=true
2 | android.disableAutomaticComponentCreation=true
3 | org.gradle.jvmargs=-Xmx2048m -XX:+UseParallelGC
4 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/inotia00/VancedMicroG/824550955f46962f7cc31caed9dc844bd76517dd/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.3-bin.zip
4 | networkTimeout=10000
5 | zipStoreBase=GRADLE_USER_HOME
6 | zipStorePath=wrapper/dists
7 |
--------------------------------------------------------------------------------
/play-services-api/build.gradle:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2013-2015 microG Project Team
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | apply plugin: 'com.android.library'
18 |
19 | android {
20 | compileSdkVersion androidCompileSdk
21 | buildToolsVersion androidBuildVersionTools
22 |
23 | defaultConfig {
24 | minSdkVersion androidMinSdk
25 | targetSdkVersion androidTargetSdk
26 | }
27 |
28 | compileOptions {
29 | sourceCompatibility = 1.8
30 | targetCompatibility = 1.8
31 | }
32 | }
33 |
34 | dependencies {
35 | api project(':play-services-basement')
36 | api project(':play-services-iid-api')
37 | api project(':play-services-base-api')
38 | }
--------------------------------------------------------------------------------
/play-services-api/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/play-services-api/src/main/aidl/com/google/android/auth/IAuthManagerService.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.auth;
2 |
3 | import android.os.Bundle;
4 | import android.accounts.Account;
5 |
6 | import com.google.android.gms.auth.AccountChangeEventsResponse;
7 | import com.google.android.gms.auth.AccountChangeEventsRequest;
8 | import com.google.android.gms.auth.GetHubTokenRequest;
9 | import com.google.android.gms.auth.GetHubTokenInternalResponse;
10 | import com.google.android.gms.auth.HasCapabilitiesRequest;
11 |
12 | interface IAuthManagerService {
13 | Bundle getToken(String accountName, String scope, in Bundle extras) = 0;
14 | Bundle clearToken(String token, in Bundle extras) = 1;
15 | AccountChangeEventsResponse getChangeEvents(in AccountChangeEventsRequest request) = 2;
16 |
17 | Bundle getTokenWithAccount(in Account account, String scope, in Bundle extras) = 4;
18 | Bundle getAccounts(in Bundle extras) = 5;
19 | Bundle removeAccount(in Account account) = 6;
20 | Bundle requestGoogleAccountsAccess(String packageName) = 7;
21 | int hasCapabilities(in HasCapabilitiesRequest request) = 8;
22 | GetHubTokenInternalResponse getHubToken(in GetHubTokenRequest request, in Bundle extras) = 9;
23 | }
24 |
--------------------------------------------------------------------------------
/play-services-api/src/main/aidl/com/google/android/gms/auth/AccountChangeEventsRequest.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.auth;
2 |
3 | parcelable AccountChangeEventsRequest;
--------------------------------------------------------------------------------
/play-services-api/src/main/aidl/com/google/android/gms/auth/AccountChangeEventsResponse.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.auth;
2 |
3 | parcelable AccountChangeEventsResponse;
--------------------------------------------------------------------------------
/play-services-api/src/main/aidl/com/google/android/gms/auth/GetHubTokenInternalResponse.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.auth;
2 |
3 | parcelable GetHubTokenInternalResponse;
4 |
--------------------------------------------------------------------------------
/play-services-api/src/main/aidl/com/google/android/gms/auth/GetHubTokenRequest.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.auth;
2 |
3 | parcelable GetHubTokenRequest;
4 |
--------------------------------------------------------------------------------
/play-services-api/src/main/aidl/com/google/android/gms/auth/HasCapabilitiesRequest.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.auth;
2 |
3 | parcelable HasCapabilitiesRequest;
4 |
--------------------------------------------------------------------------------
/play-services-api/src/main/aidl/com/google/android/gms/auth/api/credentials/Credential.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.auth.api.credentials;
2 |
3 | parcelable Credential;
--------------------------------------------------------------------------------
/play-services-api/src/main/aidl/com/google/android/gms/auth/api/credentials/CredentialRequest.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.auth.api.credentials;
2 |
3 | parcelable CredentialRequest;
--------------------------------------------------------------------------------
/play-services-api/src/main/aidl/com/google/android/gms/auth/api/credentials/internal/DeleteRequest.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.auth.api.credentials.internal;
2 |
3 | parcelable DeleteRequest;
--------------------------------------------------------------------------------
/play-services-api/src/main/aidl/com/google/android/gms/auth/api/credentials/internal/GeneratePasswordRequest.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.auth.api.credentials.internal;
2 |
3 | parcelable GeneratePasswordRequest;
--------------------------------------------------------------------------------
/play-services-api/src/main/aidl/com/google/android/gms/auth/api/credentials/internal/ICredentialsCallbacks.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.auth.api.credentials.internal;
2 |
3 | import com.google.android.gms.common.api.Status;
4 | import com.google.android.gms.auth.api.credentials.Credential;
5 |
6 | interface ICredentialsCallbacks {
7 | void onStatusAndCredential(in Status status, in Credential credential) = 0;
8 | void onStatus(in Status status) = 1;
9 | void onStatusAndString(in Status status, String string) = 2;
10 | }
--------------------------------------------------------------------------------
/play-services-api/src/main/aidl/com/google/android/gms/auth/api/credentials/internal/ICredentialsService.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.auth.api.credentials.internal;
2 |
3 | import com.google.android.gms.auth.api.credentials.CredentialRequest;
4 | import com.google.android.gms.auth.api.credentials.internal.ICredentialsCallbacks;
5 | import com.google.android.gms.auth.api.credentials.internal.DeleteRequest;
6 | import com.google.android.gms.auth.api.credentials.internal.GeneratePasswordRequest;
7 | import com.google.android.gms.auth.api.credentials.internal.SaveRequest;
8 |
9 | interface ICredentialsService {
10 | void request(ICredentialsCallbacks callbacks, in CredentialRequest request) = 0;
11 | void save(ICredentialsCallbacks callbacks, in SaveRequest request) = 1;
12 | void delete(ICredentialsCallbacks callbacks, in DeleteRequest request) = 2;
13 | void disableAutoSignIn(ICredentialsCallbacks callbacks) = 3;
14 | void generatePassword(ICredentialsCallbacks callbacks, in GeneratePasswordRequest request) = 4;
15 | }
--------------------------------------------------------------------------------
/play-services-api/src/main/aidl/com/google/android/gms/auth/api/credentials/internal/SaveRequest.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.auth.api.credentials.internal;
2 |
3 | parcelable SaveRequest;
--------------------------------------------------------------------------------
/play-services-api/src/main/aidl/com/google/android/gms/auth/api/internal/IAuthCallbacks.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.auth.api.internal;
2 |
3 | import com.google.android.gms.auth.api.proxy.ProxyResponse;
4 |
5 | interface IAuthCallbacks {
6 | void onProxyResponse(in ProxyResponse response) = 0;
7 | void onSpatulaHeader(String spatulaHeader) = 1;
8 | }
9 |
--------------------------------------------------------------------------------
/play-services-api/src/main/aidl/com/google/android/gms/auth/api/internal/IAuthService.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.auth.api.internal;
2 |
3 | import com.google.android.gms.auth.api.internal.IAuthCallbacks;
4 | //import com.google.android.gms.auth.api.proxy.ProxyGrpcRequest;
5 | import com.google.android.gms.auth.api.proxy.ProxyRequest;
6 |
7 | interface IAuthService {
8 | void performProxyRequest(IAuthCallbacks callbacks, in ProxyRequest request) = 0;
9 | // void performProxyGrpcRequest(IAuthCallback callbacks, in ProxyGrpcRequest request) = 1;
10 | void getSpatulaHeader(IAuthCallbacks callbacks) = 2;
11 | }
12 |
--------------------------------------------------------------------------------
/play-services-api/src/main/aidl/com/google/android/gms/auth/api/proxy/ProxyRequest.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.auth.api.proxy;
2 |
3 | parcelable ProxyRequest;
4 |
--------------------------------------------------------------------------------
/play-services-api/src/main/aidl/com/google/android/gms/auth/api/proxy/ProxyResponse.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.auth.api.proxy;
2 |
3 | parcelable ProxyResponse;
4 |
--------------------------------------------------------------------------------
/play-services-api/src/main/aidl/com/google/android/gms/auth/appcert/IAppCertService.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.auth.appcert;
2 |
3 | interface IAppCertService {
4 | boolean fetchDeviceKey() = 0;
5 | String getSpatulaHeader(String packageName) = 1;
6 | }
7 |
--------------------------------------------------------------------------------
/play-services-api/src/main/aidl/com/google/android/gms/checkin/internal/ICheckinService.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.checkin.internal;
2 |
3 | interface ICheckinService {
4 | String getDeviceDataVersionInfo();
5 | long getLastCheckinSuccessTime();
6 | String getLastSimOperator();
7 | }
8 |
--------------------------------------------------------------------------------
/play-services-api/src/main/aidl/com/google/android/gms/common/server/FavaDiagnosticsEntity.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.common.server;
2 |
3 | parcelable FavaDiagnosticsEntity;
--------------------------------------------------------------------------------
/play-services-api/src/main/aidl/com/google/android/gms/http/IGoogleHttpService.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.http;
2 |
3 | import android.os.Bundle;
4 |
5 | interface IGoogleHttpService {
6 | Bundle checkUrl(String url);
7 | }
8 |
--------------------------------------------------------------------------------
/play-services-api/src/main/aidl/com/google/android/gms/people/internal/IPeopleCallbacks.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.people.internal;
2 |
3 | import android.os.Bundle;
4 | import android.os.ParcelFileDescriptor;
5 |
6 | import com.google.android.gms.common.data.DataHolder;
7 |
8 | interface IPeopleCallbacks {
9 | void onDataHolder(int code, in Bundle resolution, in DataHolder holder) = 1;
10 | void onDataHolders(int code, in Bundle resolution, in DataHolder[] holders) = 3;
11 | void onParcelFileDescriptor(int code, in Bundle resolution, in ParcelFileDescriptor fileDescriptor, in Bundle extras) = 4;
12 | }
13 |
--------------------------------------------------------------------------------
/play-services-api/src/main/java/com/google/android/gms/auth/AccountChangeEvent.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013-2017 microG Project Team
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.android.gms.auth;
18 |
19 | import org.microg.safeparcel.AutoSafeParcelable;
20 |
21 | public class AccountChangeEvent extends AutoSafeParcelable {
22 | public static Creator CREATOR = new AutoCreator(AccountChangeEvent.class);
23 | }
24 |
--------------------------------------------------------------------------------
/play-services-api/src/main/java/com/google/android/gms/auth/GetHubTokenInternalResponse.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2022 microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0
4 | */
5 |
6 | package com.google.android.gms.auth;
7 |
8 | import android.accounts.Account;
9 | import android.content.Intent;
10 |
11 | import org.microg.safeparcel.AutoSafeParcelable;
12 |
13 | public class GetHubTokenInternalResponse extends AutoSafeParcelable {
14 | @Field(1)
15 | public TokenData tokenData;
16 | @Field(2)
17 | public String status;
18 | @Field(3)
19 | public Intent recoveryIntent;
20 | public static final Creator CREATOR = new AutoCreator<>(GetHubTokenInternalResponse.class);
21 | }
22 |
--------------------------------------------------------------------------------
/play-services-api/src/main/java/com/google/android/gms/auth/GetHubTokenRequest.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2022 microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0
4 | */
5 |
6 | package com.google.android.gms.auth;
7 |
8 | import org.microg.safeparcel.AutoSafeParcelable;
9 |
10 | public class GetHubTokenRequest extends AutoSafeParcelable {
11 | @Field(1)
12 | public String accountName;
13 | @Field(2)
14 | public String service;
15 | @Field(3)
16 | public String packageName;
17 | @Field(4)
18 | public int callerUid;
19 | public static final Creator CREATOR = new AutoCreator<>(GetHubTokenRequest.class);
20 | }
21 |
--------------------------------------------------------------------------------
/play-services-api/src/main/java/com/google/android/gms/auth/HasCapabilitiesRequest.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2022 microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0
4 | */
5 |
6 | package com.google.android.gms.auth;
7 |
8 | import android.accounts.Account;
9 |
10 | import org.microg.safeparcel.AutoSafeParcelable;
11 |
12 | public class HasCapabilitiesRequest extends AutoSafeParcelable {
13 | @Field(1)
14 | public Account account;
15 | @Field(2)
16 | public String[] capabilities;
17 | public static final Creator CREATOR = new AutoCreator<>(HasCapabilitiesRequest.class);
18 | }
19 |
--------------------------------------------------------------------------------
/play-services-api/src/main/java/com/google/android/gms/auth/api/credentials/internal/DeleteRequest.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013-2017 microG Project Team
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.android.gms.auth.api.credentials.internal;
18 |
19 | import org.microg.safeparcel.AutoSafeParcelable;
20 |
21 | public class DeleteRequest extends AutoSafeParcelable {
22 | public static final Creator CREATOR = new AutoCreator(DeleteRequest.class);
23 | }
24 |
--------------------------------------------------------------------------------
/play-services-api/src/main/java/com/google/android/gms/auth/api/credentials/internal/GeneratePasswordRequest.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013-2017 microG Project Team
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.android.gms.auth.api.credentials.internal;
18 |
19 | import org.microg.safeparcel.AutoSafeParcelable;
20 |
21 | public class GeneratePasswordRequest extends AutoSafeParcelable {
22 | public static final Creator CREATOR = new AutoCreator(GeneratePasswordRequest.class);
23 | }
24 |
--------------------------------------------------------------------------------
/play-services-api/src/main/java/com/google/android/gms/auth/api/credentials/internal/SaveRequest.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013-2017 microG Project Team
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.android.gms.auth.api.credentials.internal;
18 |
19 | import org.microg.safeparcel.AutoSafeParcelable;
20 |
21 | public class SaveRequest extends AutoSafeParcelable {
22 | public static final Creator CREATOR = new AutoCreator(SaveRequest.class);
23 | }
24 |
--------------------------------------------------------------------------------
/play-services-api/src/main/java/com/google/android/gms/auth/api/proxy/ProxyResponse.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2022 microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0
4 | */
5 |
6 | package com.google.android.gms.auth.api.proxy;
7 |
8 | import android.app.PendingIntent;
9 | import android.os.Bundle;
10 |
11 | import org.microg.safeparcel.AutoSafeParcelable;
12 |
13 | public class ProxyResponse extends AutoSafeParcelable {
14 | public static final int STATUS_CODE_NO_CONNECTION = -1;
15 |
16 | @Field(1000)
17 | private final int versionCode = 1;
18 | @Field(1)
19 | public int gmsStatusCode;
20 | @Field(2)
21 | public PendingIntent recoveryAction;
22 | @Field(3)
23 | public int httpStatusCode;
24 | @Field(4)
25 | public Bundle headers;
26 | @Field(5)
27 | public byte[] body;
28 |
29 | public static final Creator CREATOR = new AutoCreator<>(ProxyResponse.class);
30 | }
31 |
--------------------------------------------------------------------------------
/play-services-api/src/main/java/com/google/android/gms/auth/firstparty/dataservice/TokenResponse.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013-2017 microG Project Team
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.android.gms.auth.firstparty.dataservice;
18 |
19 | public class TokenResponse {
20 | }
21 |
--------------------------------------------------------------------------------
/play-services-api/src/main/java/com/google/android/gms/auth/firstparty/proximity/data/Permit.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013-2017 microG Project Team
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.android.gms.auth.firstparty.proximity.data;
18 |
19 | public class Permit {
20 | }
21 |
--------------------------------------------------------------------------------
/play-services-api/src/main/java/com/google/android/gms/auth/firstparty/shared/CaptchaSolution.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013-2017 microG Project Team
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.android.gms.auth.firstparty.shared;
18 |
19 | import org.microg.safeparcel.AutoSafeParcelable;
20 | import org.microg.safeparcel.SafeParceled;
21 |
22 | // TODO
23 | public class CaptchaSolution extends AutoSafeParcelable {
24 |
25 | @SafeParceled(1)
26 | private final int versionCode = 1;
27 |
28 | public static final Creator CREATOR = new AutoCreator(CaptchaSolution.class);
29 | }
30 |
--------------------------------------------------------------------------------
/play-services-api/src/main/java/com/google/android/gms/common/server/FavaDiagnosticsEntity.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013-2017 microG Project Team
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.android.gms.common.server;
18 |
19 | import org.microg.safeparcel.AutoSafeParcelable;
20 |
21 | public class FavaDiagnosticsEntity extends AutoSafeParcelable {
22 |
23 | public static final Creator CREATOR = new AutoCreator(FavaDiagnosticsEntity.class);
24 | }
25 |
--------------------------------------------------------------------------------
/play-services-api/src/main/java/com/google/android/gms/identity/accounts/api/AccountData.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013-2017 microG Project Team
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.android.gms.identity.accounts.api;
18 |
19 | public class AccountData {
20 | }
21 |
--------------------------------------------------------------------------------
/play-services-api/src/main/java/com/google/android/gms/identity/intents/model/CountrySpecification.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013-2017 microG Project Team
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.android.gms.identity.intents.model;
18 |
19 | public class CountrySpecification {
20 | }
21 |
--------------------------------------------------------------------------------
/play-services-api/src/main/java/com/google/android/gms/identity/intents/model/UserAddress.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013-2017 microG Project Team
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.android.gms.identity.intents.model;
18 |
19 | public class UserAddress {
20 | }
21 |
--------------------------------------------------------------------------------
/play-services-api/src/main/java/com/google/android/gms/people/model/AvatarReference.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013-2017 microG Project Team
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.android.gms.people.model;
18 |
19 | import org.microg.safeparcel.AutoSafeParcelable;
20 | import org.microg.safeparcel.SafeParceled;
21 |
22 | public class AvatarReference extends AutoSafeParcelable {
23 |
24 | @SafeParceled(1000)
25 | private int versionCode;
26 |
27 | @SafeParceled(1)
28 | public int source;
29 |
30 | @SafeParceled(2)
31 | public String location;
32 |
33 | public static final Creator CREATOR = new AutoCreator(AvatarReference.class);
34 | }
35 |
--------------------------------------------------------------------------------
/play-services-base-api/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
--------------------------------------------------------------------------------
/play-services-base-api/src/main/aidl/com/google/android/gms/common/api/internal/IStatusCallback.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.common.api.internal;
2 |
3 | import com.google.android.gms.common.api.Status;
4 |
5 | interface IStatusCallback {
6 | void onResult(in Status status);
7 | }
8 |
--------------------------------------------------------------------------------
/play-services-base-api/src/main/aidl/com/google/android/gms/common/data/DataHolder.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.common.data;
2 |
3 | parcelable DataHolder;
4 |
--------------------------------------------------------------------------------
/play-services-base-api/src/main/aidl/com/google/android/gms/common/images/WebImage.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.common.images;
2 |
3 | parcelable WebImage;
4 |
--------------------------------------------------------------------------------
/play-services-base-api/src/main/java/com/google/android/gms/auth/api/signin/GoogleSignInAccount.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2020, microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0
4 | */
5 |
6 | package com.google.android.gms.auth.api.signin;
7 |
8 | import org.microg.safeparcel.AutoSafeParcelable;
9 |
10 | public class GoogleSignInAccount extends AutoSafeParcelable {
11 | public static final Creator CREATOR = new AutoCreator<>(GoogleSignInAccount.class);
12 | }
13 |
--------------------------------------------------------------------------------
/play-services-base-core/build.gradle:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2020, microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0
4 | */
5 |
6 | apply plugin: 'com.android.library'
7 | apply plugin: 'kotlin-android'
8 | apply plugin: 'maven-publish'
9 | apply plugin: 'signing'
10 |
11 | dependencies {
12 | api project(':play-services-basement')
13 | api "androidx.lifecycle:lifecycle-service:$lifecycleVersion"
14 |
15 | implementation "androidx.annotation:annotation:$annotationVersion"
16 | implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion"
17 | }
18 |
19 | android {
20 | compileSdkVersion androidCompileSdk
21 | buildToolsVersion androidBuildVersionTools
22 |
23 | defaultConfig {
24 | versionName version
25 | minSdkVersion androidMinSdk
26 | targetSdkVersion androidTargetSdk
27 |
28 | buildConfigField "String", "BASE_PACKAGE_NAME", "\"$basePackageName\""
29 | }
30 |
31 | sourceSets {
32 | main.java.srcDirs += 'src/main/kotlin'
33 | }
34 |
35 | compileOptions {
36 | sourceCompatibility = 1.8
37 | targetCompatibility = 1.8
38 | }
39 | }
--------------------------------------------------------------------------------
/play-services-base-core/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
9 |
10 |
11 |
15 |
16 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/play-services-base-core/src/main/java/org/microg/gms/common/ForegroundServiceInfo.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2020, microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0
4 | */
5 |
6 | package org.microg.gms.common;
7 |
8 | import java.lang.annotation.ElementType;
9 | import java.lang.annotation.Retention;
10 | import java.lang.annotation.RetentionPolicy;
11 | import java.lang.annotation.Target;
12 |
13 | @Retention(RetentionPolicy.RUNTIME)
14 | @Target(ElementType.TYPE)
15 | public @interface ForegroundServiceInfo {
16 | String value();
17 | int res() default 0;
18 | }
--------------------------------------------------------------------------------
/play-services-base-core/src/main/java/org/microg/gms/common/NonCancelToken.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013-2017 microG Project Team
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package org.microg.gms.common;
18 |
19 | import android.os.RemoteException;
20 |
21 | import com.google.android.gms.common.internal.ICancelToken;
22 |
23 | public class NonCancelToken extends ICancelToken.Stub {
24 | @Override
25 | public void cancel() throws RemoteException {
26 |
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/play-services-base-core/src/main/java/org/microg/gms/common/PhoneInfo.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013-2017 microG Project Team
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package org.microg.gms.common;
18 |
19 | import java.util.Random;
20 |
21 | public class PhoneInfo {
22 | public String cellOperator = "26207";
23 | public String roaming = "mobile-notroaming";
24 | public String simOperator = "26207";
25 | public String imsi = randomImsi();
26 |
27 | private String randomImsi() {
28 | Random random = new Random();
29 | StringBuilder sb = new StringBuilder(simOperator);
30 | while (sb.length() < 15) {
31 | sb.append(random.nextInt(10));
32 | }
33 | return sb.toString();
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/play-services-base-core/src/main/kotlin/org/microg/gms/utils/BinderUtils.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2021, microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0
4 | */
5 |
6 | package org.microg.gms.utils
7 |
8 | import android.os.Binder
9 | import android.os.IBinder
10 | import android.os.Parcel
11 | import android.util.Log
12 |
13 | private const val TAG = "BinderUtils"
14 |
15 | fun IBinder.warnOnTransactionIssues(code: Int, reply: Parcel?, flags: Int, tag: String = TAG, base: () -> Boolean): Boolean {
16 | if (base.invoke()) {
17 | if ((flags and Binder.FLAG_ONEWAY) > 0 && (reply?.dataSize() ?: 0) > 0) {
18 | Log.w(tag, "Method $code in $interfaceDescriptor is oneway, but returned data")
19 | }
20 | return true
21 | }
22 | Log.w(tag, "Unknown method $code in $interfaceDescriptor, skipping")
23 | return (flags and Binder.FLAG_ONEWAY) > 0 // Don't return false on oneway transaction to suppress warning
24 | }
25 |
--------------------------------------------------------------------------------
/play-services-base-core/src/main/res/values-ar/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 | تحذير توفير البطارية
8 | توسيع الإشعارات
9 | الحفاظ على microG يعمل في الخلفية
10 | انقر هنا لتعطيل تحسين البطارية لـ vanced microG ، ثم أعد تشغيل الجهاز لإزالة هذا الإشعار
11 |
12 |
--------------------------------------------------------------------------------
/play-services-base-core/src/main/res/values-az/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 | Batareya qənaət xəbərdarlığı
8 | Bildirişi genişləndir
9 | MicroG-ni arxa planda saxla
10 | MicroG üçün batareyanın optimallaşdırılmasını deaktiv etmək üçün bura klikləyin, sonra bu bildirişi silmək üçün cihazı yenidən başladın
11 |
12 |
--------------------------------------------------------------------------------
/play-services-base-core/src/main/res/values-be/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 | Папярэджанне аб працы ў рэжыме эканоміі энергіі
8 | Разгарнуць апавяшчэнне
9 | Трымаць microG у фоне
10 | Націсніце тут, каб адключыць аптымізацыю батарэі для Vanced microG, а потым перазапусціце прыладу, каб гэта паведамленне знікла
11 |
12 |
--------------------------------------------------------------------------------
/play-services-base-core/src/main/res/values-bn/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 | ব্যাটারি সংরক্ষণ সতর্কতা
8 | বিজ্ঞপ্তি প্রসারিত করুন
9 | microG ব্যাকগ্রাউন্ডে রাখুন
10 | vanced microG কে ব্যাটারি অপটিমাইজেশন থেকে সরাতে এখানে ট্যাপ করুন, এরপর এই বিজ্ঞপ্তি সরাতে ফোন রিস্টার্ট করুন
11 |
12 |
--------------------------------------------------------------------------------
/play-services-base-core/src/main/res/values-de/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 | Battery Saving Warning
8 | Expand notification
9 | Keep microG in background
10 |
11 |
--------------------------------------------------------------------------------
/play-services-base-core/src/main/res/values-es-rES/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 | Advertencia de ahorro de batería
8 | Expandir notificación
9 | Mantener microG en segundo plano
10 | Toque aquí para desactivar la optimización de la batería para vanced microG, luego reinicie el dispositivo para eliminar esta notificación
11 |
12 |
--------------------------------------------------------------------------------
/play-services-base-core/src/main/res/values-fr/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 | Avertissement d\'économie de batterie
8 | Élargir la notification
9 | Garder microG en arrière-plan
10 | Appuyez ici pour désactiver l\'optimisation de la batterie pour la microG vanced, puis redémarrez l\'appareil pour supprimer cette notification
11 |
12 |
--------------------------------------------------------------------------------
/play-services-base-core/src/main/res/values-he/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 | אזהרת חיסכון בסוללה
8 | הרחב את ההודעה
9 | השאר את microG ברקע
10 | הקש כאן כדי להשבית את אופטימיזציית הסוללה עבור vanced microG, ולאחר מכן הפעל מחדש את המכשיר כדי להסיר את ההתראה הזו
11 |
12 |
--------------------------------------------------------------------------------
/play-services-base-core/src/main/res/values-hi/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 | बैटरी बचाने की चेतावनी
8 | अधिसूचना का विस्तार करें
9 | माइक्रो जी को बैकग्राउंड में रखें
10 | वैन्ड माइक्रोजी के लिए बैटरी अनुकूलन को अक्षम करने के लिए यहां टैप करें, फिर इस अधिसूचना को हटाने के लिए डिवाइस को पुनरारंभ करें
11 |
12 |
--------------------------------------------------------------------------------
/play-services-base-core/src/main/res/values-hu/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 | Akkumulátorkímélő figyelmeztetés
8 | Értesítés bővítése
9 | Tartsa a microG-t a háttérben
10 | Koppintson ide az akkumulátor-optimalizálás letiltásához a vanced microG számára, majd indítsa újra a készüléket az értesítés eltávolításához
11 |
12 |
--------------------------------------------------------------------------------
/play-services-base-core/src/main/res/values-id/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 | Peringatan daya baterai
8 | Perluas notifikasi
9 | Izinkan microG berjalan di latar belakang
10 | Tekan disini untuk mematikan optimasi baterai untuk vanced microG, lalu mulai ulang perangkat untuk menghapus notifikasi ini
11 |
12 |
--------------------------------------------------------------------------------
/play-services-base-core/src/main/res/values-it/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 | Avviso Risparmio Energetico
8 | Espandi la notifica
9 | Mantieni i microG in secondo piano
10 | Tocca qui per disattivare l\'ottimizzazione della batteria per microG, poi riavvia il dispositivo per rimuovere questa notifica.
11 |
12 |
--------------------------------------------------------------------------------
/play-services-base-core/src/main/res/values-ja/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 | バッテリー節約の警告
8 | 通知を展開する
9 | microGをバックグラウンドで保持
10 | こちらをタップして、microGのバッテリー最適化を無効にし、デバイスを再起動して通知を削除する
11 |
12 |
--------------------------------------------------------------------------------
/play-services-base-core/src/main/res/values-ko/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 | 배터리 절약 경고
8 | 알림 펼치기
9 | microG를 백그라운드에서 유지
10 | 여기를 탭하여 vanced microG의 배터리 최적화를 비활성화한 다음 기기를 다시 시작하여 이 알림을 제거하세요
11 |
12 |
--------------------------------------------------------------------------------
/play-services-base-core/src/main/res/values-lt/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 | Baterijos taupymo įspėjimas
8 | Išskleisti pranešimą
9 | Laikyti microG fone
10 | Bakstelėkite čia, kad išjungtumėte microG akumuliatoriaus optimizavimą, tada iš naujo paleiskite įrenginį, kad pašalintumėte šį pranešimą
11 |
12 |
--------------------------------------------------------------------------------
/play-services-base-core/src/main/res/values-pt-rBR/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 | Aviso de carregamento da bateria
8 | Expandir notificações
9 | Manter o microG em segundo plano
10 | Toque aqui para desativar a otimização de bateria para microG. Tancado e reinicie o dispositivo para remover esta notificação
11 |
12 |
--------------------------------------------------------------------------------
/play-services-base-core/src/main/res/values-ru/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 | Предупреждение о работе в режиме энергосбережения
8 | Развернуть уведомление
9 | Держать microG в фоне
10 | Нажмите здесь, чтобы отключить оптимизацию батареи для vanced microG, а затем перезапустите устройство, чтобы это уведомление пропало
11 |
12 |
--------------------------------------------------------------------------------
/play-services-base-core/src/main/res/values-th/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 | คำเตือนการประหยัดแบตเตอรี่
8 | ขยายการแจ้งเตือน
9 | ให้ microG ทำงานเบื้องหลัง
10 | แตะที่นี่เพื่อปิดใช้งานการเพิ่มประสิทธิภาพแบตเตอรี่สำหรับ vanced microG จากนั้นรีสตาร์ทอุปกรณ์เพื่อลบการแจ้งเตือนนี้
11 |
12 |
--------------------------------------------------------------------------------
/play-services-base-core/src/main/res/values-tr/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 | Pil tasarrufu uyarısı
8 | Bildirimleri genişlet
9 | MicroG arka planda çalışsın
10 | Vanced microG için batarya optimizasyonunu devre dışı bırakmak için buraya tıklayın, daha sonra bu bildirimi silmek için cihazı yeniden başlatın
11 |
12 |
--------------------------------------------------------------------------------
/play-services-base-core/src/main/res/values-uk/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 | Попередження про економію батареї
8 | Розгорнути сповіщення
9 | Тримайте microG у фоновому режимі
10 | Торкніться тут, щоб вимкнути оптимізацію акумулятора для vanced microG, а потім перезапустіть пристрій, щоб видалити це сповіщення
11 |
12 |
--------------------------------------------------------------------------------
/play-services-base-core/src/main/res/values-vi/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 | Cảnh báo tối ưu hóa pin
8 | Mở rộng thông báo
9 | Giữ Vanced microG chạy trong nền
10 | Nhấn vào đây để tắt tối ưu hóa pin cho Vanced microG, sau đó khởi động lại thiết bị hoặc buộc dừng ứng dụng để xóa thông báo này
11 |
12 |
--------------------------------------------------------------------------------
/play-services-base-core/src/main/res/values-zh-rCN/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 | 省电警告
8 | 展开通知
9 | 保持 microG 后台服务
10 | 点此关闭 vanced microG 的电池最适化,然后重启手机以移除该通知
11 |
12 |
--------------------------------------------------------------------------------
/play-services-base-core/src/main/res/values-zh-rTW/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 | 電池最佳化警示
8 | 展開完整通知
9 | 讓microG在背景執行
10 | 點擊此通知來關閉Vanced microG的電池最佳化
11 | 關閉後重新啟動手機以移除此通知
12 |
13 |
--------------------------------------------------------------------------------
/play-services-base-core/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 | Battery Saving Warning
9 | Expand notification
10 | Keep Vanced microG in background
11 | Tap here to disable battery optimization for Vanced microG, then restart the device to remove this notification
12 |
13 |
--------------------------------------------------------------------------------
/play-services-base/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
20 |
21 |
22 |
25 |
26 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/play-services-base/src/main/java/com/google/android/gms/common/api/AccountInfo.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013-2017 microG Project Team
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.android.gms.common.api;
18 |
19 | import org.microg.safeparcel.AutoSafeParcelable;
20 |
21 | @Deprecated
22 | public class AccountInfo extends AutoSafeParcelable {
23 | public static final Creator CREATOR = new AutoCreator(AccountInfo.class);
24 | }
25 |
--------------------------------------------------------------------------------
/play-services-base/src/main/java/com/google/android/gms/common/api/GoogleApiActivity.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2020, microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0
4 | * Notice: Portions of this file are reproduced from work created and shared by Google and used
5 | * according to terms described in the Creative Commons 4.0 Attribution License.
6 | * See https://developers.google.com/readme/policies for details.
7 | */
8 |
9 | package com.google.android.gms.common.api;
10 |
11 | import android.app.Activity;
12 | import android.content.DialogInterface;
13 |
14 | import org.microg.gms.common.PublicApi;
15 |
16 | /**
17 | * Helper activity used by Google Play services APIs to display resolutions for connection errors.
18 | */
19 | @PublicApi
20 | public class GoogleApiActivity extends Activity implements DialogInterface.OnCancelListener {
21 | @Override
22 | @PublicApi(exclude = true)
23 | public void onCancel(DialogInterface dialog) {
24 |
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/play-services-base/src/main/java/com/google/android/gms/common/api/HasApiKey.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2020, microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0
4 | */
5 |
6 | package com.google.android.gms.common.api;
7 |
8 | import com.google.android.gms.common.api.internal.ApiKey;
9 |
10 | public interface HasApiKey {
11 | ApiKey getApiKey();
12 | }
13 |
--------------------------------------------------------------------------------
/play-services-base/src/main/java/com/google/android/gms/common/api/internal/ApiKey.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2020, microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0
4 | */
5 |
6 | package com.google.android.gms.common.api.internal;
7 |
8 | import com.google.android.gms.common.api.Api;
9 |
10 | public class ApiKey {
11 | private Api api;
12 | }
13 |
--------------------------------------------------------------------------------
/play-services-base/src/main/java/org/microg/gms/common/api/ApiClientBuilder.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013-2017 microG Project Team
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package org.microg.gms.common.api;
18 |
19 | import android.content.Context;
20 | import android.os.Looper;
21 |
22 | import com.google.android.gms.common.api.Api;
23 |
24 | public interface ApiClientBuilder {
25 | Api.Client build(O options, Context context, Looper looper, ApiClientSettings clientSettings, ConnectionCallbacks callbacks, OnConnectionFailedListener connectionFailedListener);
26 | }
27 |
--------------------------------------------------------------------------------
/play-services-base/src/main/java/org/microg/gms/common/api/ApiClientSettings.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2020, microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0
4 | */
5 |
6 | package org.microg.gms.common.api;
7 |
8 | import android.view.View;
9 |
10 | import java.util.Set;
11 |
12 | public class ApiClientSettings {
13 | public String accountName;
14 | public String packageName;
15 | public Integer sessionId;
16 | public Set scopes;
17 | public int gravityForPopups;
18 | public View viewForPopups;
19 | }
20 |
--------------------------------------------------------------------------------
/play-services-base/src/main/java/org/microg/gms/common/api/OnConnectionFailedListener.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2020, microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0
4 | */
5 |
6 | package org.microg.gms.common.api;
7 |
8 | import android.app.Activity;
9 |
10 | import com.google.android.gms.common.ConnectionResult;
11 |
12 | public interface OnConnectionFailedListener {
13 | /**
14 | * Called when there was an error connecting the client to the service.
15 | *
16 | * @param result A {@link ConnectionResult} that can be used for resolving the error, and
17 | * deciding what sort of error occurred. To resolve the error, the resolution
18 | * must be started from an activity with a non-negative {@code requestCode}
19 | * passed to {@link ConnectionResult#startResolutionForResult(Activity, int)}.
20 | * Applications should implement {@link Activity#onActivityResult} in their
21 | * Activity to call {@link #connect()} again if the user has resolved the
22 | * issue (resultCode is {@link Activity#RESULT_OK}).
23 | */
24 | void onConnectionFailed(ConnectionResult result);
25 | }
26 |
--------------------------------------------------------------------------------
/play-services-base/src/main/java/org/microg/gms/common/api/PendingGoogleApiCall.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2020, microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0
4 | */
5 |
6 | package org.microg.gms.common.api;
7 |
8 | import com.google.android.gms.common.api.Api;
9 | import com.google.android.gms.tasks.TaskCompletionSource;
10 |
11 | public interface PendingGoogleApiCall {
12 | void execute(A client, TaskCompletionSource completionSource) throws Exception;
13 | }
14 |
--------------------------------------------------------------------------------
/play-services-base/src/main/java/org/microg/gms/common/api/ReturningGoogleApiCall.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2020, microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0
4 | */
5 |
6 | package org.microg.gms.common.api;
7 |
8 | import com.google.android.gms.common.api.Api;
9 | import com.google.android.gms.tasks.TaskCompletionSource;
10 |
11 | public interface ReturningGoogleApiCall extends PendingGoogleApiCall {
12 | R execute(A client) throws Exception;
13 |
14 | @Override
15 | default void execute(A client, TaskCompletionSource completionSource) {
16 | try {
17 | completionSource.setResult(execute(client));
18 | } catch (Exception e) {
19 | completionSource.setException(e);
20 | }
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/play-services-base/src/main/java/org/microg/gms/common/api/VoidReturningGoogleApiCall.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2022 microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0
4 | */
5 |
6 | package org.microg.gms.common.api;
7 |
8 | import com.google.android.gms.common.api.Api;
9 | import com.google.android.gms.tasks.TaskCompletionSource;
10 |
11 | public interface VoidReturningGoogleApiCall extends PendingGoogleApiCall{
12 | void execute(A client) throws Exception;
13 |
14 | @Override
15 | default void execute(A client, TaskCompletionSource completionSource) {
16 | try {
17 | execute(client);
18 | completionSource.setResult(null);
19 | } catch (Exception e) {
20 | completionSource.setException(e);
21 | }
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/play-services-base/src/main/res/values/version.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 | 6599436
20 |
21 |
--------------------------------------------------------------------------------
/play-services-basement/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/play-services-basement/src/main/aidl/com/google/android/gms/common/ConnectionResult.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.common;
2 |
3 | parcelable ConnectionResult;
--------------------------------------------------------------------------------
/play-services-basement/src/main/aidl/com/google/android/gms/common/GoogleCertificatesLookupQuery.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.common;
2 |
3 | parcelable GoogleCertificatesLookupQuery;
--------------------------------------------------------------------------------
/play-services-basement/src/main/aidl/com/google/android/gms/common/GoogleCertificatesLookupResponse.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.common;
2 |
3 | parcelable GoogleCertificatesLookupResponse;
--------------------------------------------------------------------------------
/play-services-basement/src/main/aidl/com/google/android/gms/common/GoogleCertificatesQuery.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.common;
2 |
3 | parcelable GoogleCertificatesQuery;
--------------------------------------------------------------------------------
/play-services-basement/src/main/aidl/com/google/android/gms/common/api/Status.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.common.api;
2 |
3 | parcelable Status;
--------------------------------------------------------------------------------
/play-services-basement/src/main/aidl/com/google/android/gms/common/internal/ConnectionInfo.aidl:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2020, microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0
4 | */
5 |
6 | package com.google.android.gms.common.internal;
7 | parcelable ConnectionInfo;
8 |
--------------------------------------------------------------------------------
/play-services-basement/src/main/aidl/com/google/android/gms/common/internal/GetServiceRequest.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.common.internal;
2 |
3 | parcelable GetServiceRequest;
4 |
--------------------------------------------------------------------------------
/play-services-basement/src/main/aidl/com/google/android/gms/common/internal/ICancelToken.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.common.internal;
2 |
3 | interface ICancelToken {
4 | void cancel();
5 | }
6 |
--------------------------------------------------------------------------------
/play-services-basement/src/main/aidl/com/google/android/gms/common/internal/ICertData.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.common.internal;
2 |
3 | import com.google.android.gms.dynamic.IObjectWrapper;
4 |
5 | interface ICertData {
6 | IObjectWrapper getWrappedBytes();
7 | int remoteHashCode();
8 | }
--------------------------------------------------------------------------------
/play-services-basement/src/main/aidl/com/google/android/gms/common/internal/IGmsCallbacks.aidl:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2020, microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0
4 | */
5 |
6 | package com.google.android.gms.common.internal;
7 |
8 | import android.os.Bundle;
9 | import com.google.android.gms.common.internal.ConnectionInfo;
10 |
11 | interface IGmsCallbacks {
12 | void onPostInitComplete(int statusCode, IBinder binder, in Bundle params);
13 | void onAccountValidationComplete(int statusCode, in Bundle params);
14 | void onPostInitCompleteWithConnectionInfo(int statusCode, IBinder binder, in ConnectionInfo info);
15 | }
16 |
--------------------------------------------------------------------------------
/play-services-basement/src/main/aidl/com/google/android/gms/common/internal/IGmsServiceBroker.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.common.internal;
2 |
3 | import android.os.Bundle;
4 |
5 | import com.google.android.gms.common.internal.IGmsCallbacks;
6 | import com.google.android.gms.common.internal.GetServiceRequest;
7 | import com.google.android.gms.common.internal.ValidateAccountRequest;
8 |
9 | interface IGmsServiceBroker {
10 | void getPeopleService(IGmsCallbacks callback, int code, String str, in Bundle params) = 4;
11 | void getGoogleIdentityService(IGmsCallbacks callback, int code, String str, in Bundle params) = 16;
12 | void getAddressService(IGmsCallbacks callback, int code, String str) = 23;
13 | void getService(IGmsCallbacks callback, in GetServiceRequest request) = 45;
14 | void validateAccount(IGmsCallbacks callback, in ValidateAccountRequest request) = 46;
15 | }
16 |
--------------------------------------------------------------------------------
/play-services-basement/src/main/aidl/com/google/android/gms/common/internal/IGoogleCertificatesApi.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.common.internal;
2 |
3 | import com.google.android.gms.common.GoogleCertificatesLookupQuery;
4 | import com.google.android.gms.common.GoogleCertificatesLookupResponse;
5 | import com.google.android.gms.common.GoogleCertificatesQuery;
6 | import com.google.android.gms.dynamic.IObjectWrapper;
7 |
8 | interface IGoogleCertificatesApi {
9 | IObjectWrapper getGoogleCertificates() = 0;
10 | IObjectWrapper getGoogleReleaseCertificates() = 1;
11 | boolean isGoogleReleaseSigned(String packageName, IObjectWrapper certData) = 2;
12 | boolean isGoogleSigned(String packageName, IObjectWrapper certData) = 3;
13 | boolean isGoogleOrPlatformSigned(in GoogleCertificatesQuery query, IObjectWrapper packageManager) = 4;
14 | GoogleCertificatesLookupResponse isPackageGoogleOrPlatformSigned(in GoogleCertificatesLookupQuery query) = 5;
15 | boolean isPackageGoogleOrPlatformSignedAvailable() = 6;
16 | GoogleCertificatesLookupResponse queryPackageSigned(in GoogleCertificatesLookupQuery query) = 7;
17 | boolean isFineGrainedPackageVerificationAvailable() = 8;
18 | }
--------------------------------------------------------------------------------
/play-services-basement/src/main/aidl/com/google/android/gms/common/internal/ISignInButtonCreator.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.common.internal;
2 |
3 | import com.google.android.gms.dynamic.IObjectWrapper;
4 |
5 | interface ISignInButtonCreator {
6 | IObjectWrapper createSignInButton(IObjectWrapper context, int size, int color); // returns View
7 | }
8 |
--------------------------------------------------------------------------------
/play-services-basement/src/main/aidl/com/google/android/gms/common/internal/ValidateAccountRequest.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.common.internal;
2 |
3 | parcelable ValidateAccountRequest;
4 |
--------------------------------------------------------------------------------
/play-services-basement/src/main/aidl/com/google/android/gms/dynamic/IObjectWrapper.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.dynamic;
2 |
3 | /**
4 | * The concrete class implementing IObjectWrapper must have exactly one declared private field
5 | * for the wrapped object. Preferably, this is an instance of the ObjectWrapper class.
6 | */
7 | interface IObjectWrapper {
8 | }
9 |
--------------------------------------------------------------------------------
/play-services-basement/src/main/java/com/google/android/gms/common/Feature.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2020, microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0
4 | */
5 |
6 | package com.google.android.gms.common;
7 |
8 | import org.microg.safeparcel.AutoSafeParcelable;
9 |
10 | public class Feature extends AutoSafeParcelable {
11 | @Field(1)
12 | private String name;
13 | @Field(2)
14 | private int oldVersion;
15 | @Field(3)
16 | private long version = -1;
17 |
18 | private Feature() {
19 | }
20 |
21 | public Feature(String name, long version) {
22 | this.name = name;
23 | this.version = version;
24 | }
25 |
26 | public String getName() {
27 | return name;
28 | }
29 |
30 | public long getVersion() {
31 | if (version == -1) return oldVersion;
32 | return version;
33 | }
34 |
35 | public static final Creator CREATOR = new AutoSafeParcelable.AutoCreator<>(Feature.class);
36 | }
37 |
--------------------------------------------------------------------------------
/play-services-basement/src/main/java/com/google/android/gms/common/Scopes.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013-2017 microG Project Team
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.android.gms.common;
18 |
19 | public class Scopes {
20 | public static final String PROFILE = "profile";
21 | public static final String APP_STATE = "https://www.googleapis.com/auth/appstate";
22 | }
23 |
--------------------------------------------------------------------------------
/play-services-basement/src/main/java/com/google/android/gms/common/api/Releasable.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013-2017 microG Project Team
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.android.gms.common.api;
18 |
19 | /**
20 | * Represents a resource, or a holder of resources, which may be released once they are no longer needed.
21 | */
22 | public interface Releasable {
23 | void release();
24 | }
25 |
--------------------------------------------------------------------------------
/play-services-basement/src/main/java/com/google/android/gms/common/api/Result.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013-2017 microG Project Team
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.android.gms.common.api;
18 |
19 | import org.microg.gms.common.PublicApi;
20 |
21 | /**
22 | * Represents the final result of invoking an API method in Google Play Services.
23 | */
24 | @PublicApi
25 | public interface Result {
26 | Status getStatus();
27 | }
28 |
--------------------------------------------------------------------------------
/play-services-basement/src/main/java/com/google/android/gms/common/internal/ConnectionInfo.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2020, microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0
4 | */
5 |
6 | package com.google.android.gms.common.internal;
7 |
8 | import android.os.Bundle;
9 | import android.os.Parcel;
10 | import androidx.annotation.NonNull;
11 | import com.google.android.gms.common.Feature;
12 | import com.google.android.gms.common.internal.safeparcel.AbstractSafeParcelable;
13 | import com.google.android.gms.common.internal.safeparcel.SafeParcelable;
14 | import com.google.android.gms.common.internal.safeparcel.SafeParcelableCreatorAndWriter;
15 |
16 | @SafeParcelable.Class
17 | public class ConnectionInfo extends AbstractSafeParcelable {
18 | @Field(1)
19 | public Bundle params;
20 | @Field(2)
21 | public Feature[] features;
22 | @Field(3)
23 | public int unknown3;
24 |
25 | @Override
26 | public void writeToParcel(@NonNull Parcel dest, int flags) {
27 | CREATOR.writeToParcel(this, dest, flags);
28 | }
29 |
30 | public static final SafeParcelableCreatorAndWriter CREATOR = findCreator(ConnectionInfo.class);
31 | }
32 |
--------------------------------------------------------------------------------
/play-services-basement/src/main/java/com/google/android/gms/common/internal/safeparcel/AbstractSafeParcelable.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2023 microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0
4 | */
5 |
6 | package com.google.android.gms.common.internal.safeparcel;
7 |
8 | public abstract class AbstractSafeParcelable implements SafeParcelable {
9 |
10 | @SuppressWarnings("unchecked")
11 | public static SafeParcelableCreatorAndWriter findCreator(java.lang.Class tClass) {
12 | String creatorClassName = tClass.getName() + "$000Creator";
13 | try {
14 | return (SafeParcelableCreatorAndWriter) java.lang.Class.forName(creatorClassName).newInstance();
15 | } catch (Exception e) {
16 | throw new RuntimeException("No Creator found for " + tClass.getName(), e);
17 | }
18 | }
19 |
20 | @Override
21 | public int describeContents() {
22 | return 0;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/play-services-basement/src/main/java/com/google/android/gms/common/internal/safeparcel/SafeParcelableCreatorAndWriter.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2023 microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0
4 | */
5 |
6 | package com.google.android.gms.common.internal.safeparcel;
7 |
8 | import android.os.Parcel;
9 | import android.os.Parcelable;
10 |
11 | public interface SafeParcelableCreatorAndWriter extends Parcelable.Creator {
12 | void writeToParcel(T object, Parcel parcel, int flags);
13 | }
14 |
--------------------------------------------------------------------------------
/play-services-basement/src/main/java/com/google/android/gms/common/internal/safeparcel/SafeParcelableSerializer.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2023 microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0
4 | */
5 |
6 | package com.google.android.gms.common.internal.safeparcel;
7 |
8 | import android.os.Parcel;
9 | import android.os.Parcelable;
10 |
11 | public class SafeParcelableSerializer {
12 | public static T deserializeFromBytes(byte[] bytes, Parcelable.Creator tCreator) {
13 | if (bytes == null) return null;
14 | Parcel parcel = Parcel.obtain();
15 | parcel.unmarshall(bytes, 0, bytes.length);
16 | parcel.setDataPosition(0);
17 | T parcelable = tCreator.createFromParcel(parcel);
18 | parcel.recycle();
19 | return parcelable;
20 | }
21 |
22 | public static byte[] serializeToBytes(T parcelable) {
23 | if (parcelable == null) return null;
24 | Parcel parcel = Parcel.obtain();
25 | parcelable.writeToParcel(parcel, 0);
26 | byte[] bytes = parcel.marshall();
27 | parcel.recycle();
28 | return bytes;
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/play-services-basement/src/main/java/org/microg/gms/common/Hide.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2023 microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0
4 | */
5 |
6 | package org.microg.gms.common;
7 |
8 | import java.lang.annotation.ElementType;
9 | import java.lang.annotation.Retention;
10 | import java.lang.annotation.RetentionPolicy;
11 | import java.lang.annotation.Target;
12 |
13 | /**
14 | * Hide the class, method or field from the public API.
15 | */
16 | @Retention(RetentionPolicy.SOURCE)
17 | @Target({ElementType.TYPE, ElementType.FIELD, ElementType.METHOD, ElementType.CONSTRUCTOR})
18 | public @interface Hide {
19 | }
20 |
--------------------------------------------------------------------------------
/play-services-basement/src/main/kotlin/com/google/android/gms/dynamic/ObjectWrapper.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2019 microG Project Team
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package org.microg.gms.kotlin
18 |
19 | import com.google.android.gms.dynamic.IObjectWrapper
20 | import com.google.android.gms.dynamic.ObjectWrapper
21 |
22 | inline fun IObjectWrapper?.unwrap(): T? = ObjectWrapper.unwrapTyped(this, T::class.java)
23 |
--------------------------------------------------------------------------------
/play-services-core-proto/build.gradle:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2020, microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0
4 | */
5 |
6 | apply plugin: 'com.squareup.wire'
7 | apply plugin: 'kotlin'
8 |
9 | dependencies {
10 | implementation "com.squareup.wire:wire-runtime:$wireVersion"
11 | }
12 |
13 | wire {
14 | kotlin {
15 | javaInterop = true
16 | }
17 | }
18 |
19 | sourceSets {
20 | main.java.srcDirs += "$buildDir/generated/source/wire"
21 | }
22 |
23 | compileKotlin {
24 | kotlinOptions.jvmTarget = 1.8
25 | }
26 |
27 | compileTestKotlin {
28 | kotlinOptions.jvmTarget = 1.8
29 | }
--------------------------------------------------------------------------------
/play-services-core-proto/src/main/proto/appcert.proto:
--------------------------------------------------------------------------------
1 | option java_package = "org.microg.gms.auth.appcert";
2 | option java_outer_classname = "AppCertProto";
3 |
4 | message DeviceKeyRequest {
5 | optional uint64 androidId = 2;
6 | optional uint64 sessionId = 3;
7 | message VersionInfo {
8 | optional fixed32 sdkVersion = 1;
9 | optional fixed32 gmsVersion = 2;
10 | }
11 | optional VersionInfo versionInfo = 4;
12 | optional string token = 6;
13 | }
14 |
15 | message DeviceKey {
16 | optional uint64 keyId = 1;
17 | optional uint64 deviceId = 3;
18 | optional bytes macSecret = 4;
19 | optional bytes keyCert = 5;
20 | }
21 |
22 | message SpatulaHeaderProto {
23 | message PackageInfo {
24 | optional string packageName = 1;
25 | optional string packageCertificateHash = 3;
26 | }
27 | optional PackageInfo packageInfo = 1;
28 | optional bytes hmac = 2;
29 | optional uint64 deviceId = 3;
30 | optional uint64 keyId = 4;
31 | optional bytes keyCert = 5;
32 | }
33 |
--------------------------------------------------------------------------------
/play-services-core-proto/src/main/proto/auth.proto:
--------------------------------------------------------------------------------
1 | option java_package = "org.microg.gms.auth";
2 |
3 | option java_outer_classname = "AuthProto";
4 |
5 | message ConsentData {
6 | message AppDetails {
7 | optional string title = 1;
8 | optional string email = 3;
9 | }
10 | optional AppDetails app = 1;
11 | message ScopeDetails {
12 | optional string title = 1;
13 | optional string description = 2;
14 | optional string id = 6;
15 | }
16 | repeated ScopeDetails scopes = 2;
17 | }
--------------------------------------------------------------------------------
/play-services-core/microg-ui-tools/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/play-services-core/microg-ui-tools/src/main/res/drawable/ic_expand_less.xml:
--------------------------------------------------------------------------------
1 |
2 |
18 |
19 |
25 |
26 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/play-services-core/microg-ui-tools/src/main/res/drawable/ic_expand_more.xml:
--------------------------------------------------------------------------------
1 |
2 |
18 |
19 |
25 |
26 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/play-services-core/microg-ui-tools/src/main/res/layout/preference_widget_radiobutton.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
--------------------------------------------------------------------------------
/play-services-core/microg-ui-tools/src/main/res/values-ar/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 | الإصدار %1$s
19 | %1$s %2$s
20 | جميع الحقوق محفوظة.
21 | عرض تجريبي لواجهة مستخدم MicroG
22 | مُلخّص
23 | الإصدار v0.1.0
24 | المكتبات المتضمنة
25 |
26 |
--------------------------------------------------------------------------------
/play-services-core/microg-ui-tools/src/main/res/values-az/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 | Versiya %1$s
19 | %1$s %2$s
20 | Bütün hüquqlar qorunur.
21 | microG demo versiyası
22 | Xülasə
23 | Versiya v0.1.0
24 | Daxil edilmiş informasiyalar
25 |
26 |
--------------------------------------------------------------------------------
/play-services-core/microg-ui-tools/src/main/res/values-be/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 | Версія %1$s
19 | %1$s %2$s
20 | Усе правы абароненыя.
21 | Дэманстрацыя microG UI
22 | Дадатковая інфармацыя
23 | Версія v0.1.0
24 | Выкарыстоўваемыя бібліятэкі
25 |
26 |
--------------------------------------------------------------------------------
/play-services-core/microg-ui-tools/src/main/res/values-bn/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 | সংস্করণ %1$s
19 | %1$s %2$s
20 | সর্বস্বত্ব সংরক্ষিত।
21 | microG ইউ আই ডেমো
22 | সারসংক্ষেপ
23 | ০.১.০ সংস্করণ
24 | লাইব্রেরি অন্তর্ভুক্ত
25 |
26 |
--------------------------------------------------------------------------------
/play-services-core/microg-ui-tools/src/main/res/values-cs/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 | Verze %1$s
19 | %1$s %2$s
20 | Všechna práva vyhrazena.
21 | microG UI Demo
22 | Souhrn
23 | Verze v0.1.0
24 | Zahrnuté knihovny
25 |
26 |
--------------------------------------------------------------------------------
/play-services-core/microg-ui-tools/src/main/res/values-de/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 | Version %1$s
19 | %1$s %2$s
20 | Alle Rechte vorbehalten.
21 | microG UI Demo
22 | Zusammenfassung
23 | Version v0.1.0
24 | Genutzte Bibliotheken
25 |
26 |
--------------------------------------------------------------------------------
/play-services-core/microg-ui-tools/src/main/res/values-eo/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/play-services-core/microg-ui-tools/src/main/res/values-es-rES/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 | Versión %1$s
19 | %1$s %2$s
20 | Todos los derechos reservados.
21 | Demostración de microG UI
22 | Resumen
23 | Versión v0.1.0
24 | Librerías incluidas
25 |
26 |
--------------------------------------------------------------------------------
/play-services-core/microg-ui-tools/src/main/res/values-es/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/play-services-core/microg-ui-tools/src/main/res/values-fr/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 | Version %1$s
19 | %1$s %2$s
20 | Tous droits réservés.
21 | Démo de l\'UI microG
22 | Résumé
23 | Version v0.1.0
24 | Librairies incluses
25 |
26 |
--------------------------------------------------------------------------------
/play-services-core/microg-ui-tools/src/main/res/values-he/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 | גרסה %1$s
19 | %1$s %2$s
20 | כל הזכויות שמורות.
21 | הדגמה של ממשק המשתמש של microG
22 | פירוט
23 | גירסה 0.1.0
24 | ספריות כלולות
25 |
26 |
--------------------------------------------------------------------------------
/play-services-core/microg-ui-tools/src/main/res/values-hi/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 | वर्शन %1$s
19 | %1$s %2$s
20 | सर्वाधिकार सुरक्षित।
21 | microG UI डेमो
22 | सारांश
23 | संस्करण v0.1.0
24 | शामिल पुस्तकालय
25 |
26 |
--------------------------------------------------------------------------------
/play-services-core/microg-ui-tools/src/main/res/values-hu/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 | Verzió %1$s
19 | %1$s %2$s
20 | Minden jog fenntartva.
21 | microG UI Demó
22 | Összegzés
23 | Verzió v0.1.0
24 | Tartalmazott könyvtárak
25 |
26 |
--------------------------------------------------------------------------------
/play-services-core/microg-ui-tools/src/main/res/values-id/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 | Versi%1$s
19 | %1$s %2$s
20 | Hak cipta dilindungi.
21 | microG UI Demo
22 | Ringkasan
23 | Versi v0.1.0
24 | Pustaka
25 |
26 |
--------------------------------------------------------------------------------
/play-services-core/microg-ui-tools/src/main/res/values-it/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 | Versione %1$s
19 | %1$s %2$s
20 | Tutti i diritti sono riservati.
21 | microG UI Demo
22 | Sommario
23 | Versione v0.1.0
24 | Librerie incluse
25 |
26 |
--------------------------------------------------------------------------------
/play-services-core/microg-ui-tools/src/main/res/values-ja/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 | バージョン %1$s
19 | %1$s %2$s
20 | すべての著作権を保有しています
21 | microG UI のデモ
22 | 概要
23 | バージョン v0.1.0
24 | 含まれるライブラリ
25 |
26 |
--------------------------------------------------------------------------------
/play-services-core/microg-ui-tools/src/main/res/values-ko/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 | 버전 %1$s
19 | %1$s %2$s
20 | 모든 권리 보유
21 | microG UI 데모
22 | 요약
23 | 버전 v0.1.0
24 | 포함된 라이브러리
25 |
26 |
--------------------------------------------------------------------------------
/play-services-core/microg-ui-tools/src/main/res/values-lt/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 | Versija: %1$s
19 | %1$s/%2$s
20 | Visos teisės saugomos.
21 | microG naudotojo sąsaja Demo
22 | Suvestinė
23 | Versija v0.1.0
24 | Įtrauktos bibliotekos
25 |
26 |
--------------------------------------------------------------------------------
/play-services-core/microg-ui-tools/src/main/res/values-pl/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 | Wersja %1$s
19 | %1$s %2$s
20 | Wszelkie prawa zastrzeżone.
21 | Demo microG UI
22 | Podsumowanie
23 | Wersja v0.1.0
24 | Użyte biblioteki
25 |
26 |
--------------------------------------------------------------------------------
/play-services-core/microg-ui-tools/src/main/res/values-pt-rBR/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 | Versão %1$s
19 | %1$s %2$s
20 | Todos os direitos reservados.
21 | Demonstração do microG. UI
22 | Sumário
23 | Versão v0.1.0
24 | Bibliotecas incluídas
25 |
26 |
--------------------------------------------------------------------------------
/play-services-core/microg-ui-tools/src/main/res/values-ro/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/play-services-core/microg-ui-tools/src/main/res/values-ru/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 | Версия %1$s
19 | %1$s %2$s
20 | Все права защищены.
21 | microG UI Demo
22 | Сводка
23 | Версия v0.1.0
24 | Используемые библиотеки
25 |
26 |
--------------------------------------------------------------------------------
/play-services-core/microg-ui-tools/src/main/res/values-sr/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/play-services-core/microg-ui-tools/src/main/res/values-th/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 | เวอร์ชัน %1$s
19 | %1$s %2$s
20 | สงวนลิขสิทธิ์.
21 | microG UI Demo
22 | เวอร์ชัน v0.1.0
23 |
24 |
--------------------------------------------------------------------------------
/play-services-core/microg-ui-tools/src/main/res/values-tr/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 | Sürüm: %1$s
19 | %1$s %2$s
20 | Tüm hakları saklıdır.
21 | microG kullanıcı arayüzü demosu
22 | Özet
23 | Sürüm v0.1.0
24 | İçerilen kütüphaneler
25 |
26 |
--------------------------------------------------------------------------------
/play-services-core/microg-ui-tools/src/main/res/values-uk/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 | Версія %1$s
19 | %1$s %2$s
20 | Всі права захищено.
21 | Демонстрація microG UI
22 | Резюме
23 | Версія v0.1.0
24 | Використані бібліотеки
25 |
26 |
--------------------------------------------------------------------------------
/play-services-core/microg-ui-tools/src/main/res/values-vi/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 | Phiên bản %1$s
19 | %1$s %2$s
20 | Đã đăng ký bản quyền.
21 | Demo microG UI
22 | Tổng quan
23 | Phiên bản v0.1.0
24 | Thư viện đã bao gồm
25 |
26 |
--------------------------------------------------------------------------------
/play-services-core/microg-ui-tools/src/main/res/values-zh-rCN/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 | 版本 %1$s
19 | %1$s %2$s
20 | 版权所有。
21 | microG UI 演示
22 | 概要
23 | 版本 v0.1.0
24 | 包含的库
25 |
26 |
--------------------------------------------------------------------------------
/play-services-core/microg-ui-tools/src/main/res/values-zh-rTW/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 | 版本 %1$s
19 | %1$s %2$s
20 | 保留所有權利。
21 | microG UI Demo
22 | 摘要
23 | 版本 v0.1.0
24 | 使用的程式庫
25 |
26 |
--------------------------------------------------------------------------------
/play-services-core/microg-ui-tools/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 | #ff37474f
20 |
21 |
22 |
--------------------------------------------------------------------------------
/play-services-core/microg-ui-tools/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 | Version %1$s
21 | %1$s %2$s
22 | All rights reserved.
23 |
24 | microG UI Demo
25 | Summary
26 | Version v0.1.0
27 | Included libraries
28 |
29 |
30 |
--------------------------------------------------------------------------------
/play-services-core/multidex-keep.pro:
--------------------------------------------------------------------------------
1 | # Make sure maps is in the primary dex file
2 | -keep class com.google.android.gms.maps.** { *; }
3 | -keep class org.microg.gms.maps.** { *; }
4 | -keep class com.mapbox.** { *; }
5 | -keep class org.oscim.** { *; }
6 |
7 | # Keep Conscrypt in the primary dex file otherwise it will error out on legacy Android versions
8 | -keep class com.google.android.gms.common.security.ProviderInstallerImpl { *; }
9 | -keep class com.google.android.gms.org.conscrypt.** { *; }
10 |
--------------------------------------------------------------------------------
/play-services-core/src/main/ic_launcher-playstore.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/inotia00/VancedMicroG/824550955f46962f7cc31caed9dc844bd76517dd/play-services-core/src/main/ic_launcher-playstore.png
--------------------------------------------------------------------------------
/play-services-core/src/main/java/com/google/android/gms/auth/GetToken.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013-2017 microG Project Team
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.google.android.gms.auth;
18 |
19 | import android.app.Service;
20 | import android.content.Intent;
21 | import android.os.IBinder;
22 |
23 | import org.microg.gms.auth.AuthManagerServiceImpl;
24 |
25 | public class GetToken extends Service {
26 | @Override
27 | public IBinder onBind(Intent intent) {
28 | return new AuthManagerServiceImpl(this);
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/play-services-core/src/main/java/com/google/android/gms/chimera/DynamiteModuleInitializer.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2023 microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0
4 | */
5 |
6 | package com.google.android.gms.chimera;
7 |
8 | import android.annotation.SuppressLint;
9 | import android.util.Log;
10 | import androidx.annotation.Keep;
11 |
12 | import android.content.Context;
13 |
14 | @Keep
15 | public class DynamiteModuleInitializer {
16 | private static final String TAG = "DynamiteModule";
17 |
18 | public static void initializeModuleV1(Context context) {
19 | initializeModuleV2(context, "com.google.android.gms".equals(context.getPackageName()));
20 | }
21 |
22 | public static void initializeModuleV2(Context context, boolean withGmsPackage) {
23 | Log.d(TAG, "initializeModuleV2 context: " + context + ", withGmsPackage: " + withGmsPackage);
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/play-services-core/src/main/java/org/microg/gms/ui/GoogleMoreFragment.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2017 microG Project Team
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package org.microg.gms.ui;
18 |
19 | import com.mgoogle.android.gms.R;
20 |
21 | import org.microg.tools.ui.AbstractSettingsActivity;
22 |
23 | public class GoogleMoreFragment {
24 | public static class AsActivity extends AbstractSettingsActivity {
25 | public AsActivity() {
26 | showHomeAsUp = true;
27 | preferencesResource = R.xml.preferences_google_more;
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/play-services-core/src/main/java/org/microg/gms/ui/SettingsDashboardActivity.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2013-2017 microG Project Team
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package org.microg.gms.ui;
18 |
19 | import androidx.fragment.app.Fragment;
20 |
21 | import com.mgoogle.android.gms.R;
22 |
23 | import org.microg.tools.ui.AbstractDashboardActivity;
24 |
25 | public class SettingsDashboardActivity extends AbstractDashboardActivity {
26 |
27 | public SettingsDashboardActivity() {
28 | preferencesResource = R.xml.preferences_start;
29 | }
30 |
31 | @Override
32 | protected Fragment getFragment() {
33 | return new SettingsFragment();
34 | }
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/play-services-core/src/main/kotlin/org/microg/gms/accountsettings/ui/extensions.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2023 microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0
4 | */
5 |
6 | package org.microg.gms.accountsettings.ui
7 |
8 | const val ACTION_BROWSE_SETTINGS = "com.google.android.gms.accountsettings.action.BROWSE_SETTINGS"
9 | const val ACTION_MY_ACCOUNT = "com.google.android.gms.accountsettings.MY_ACCOUNT"
10 | const val ACTION_ACCOUNT_PREFERENCES_SETTINGS = "com.google.android.gms.accountsettings.ACCOUNT_PREFERENCES_SETTINGS"
11 | const val ACTION_PRIVACY_SETTINGS = "com.google.android.gms.accountsettings.PRIVACY_SETTINGS"
12 | const val ACTION_SECURITY_SETTINGS = "com.google.android.gms.accountsettings.SECURITY_SETTINGS"
13 |
14 | const val EXTRA_CALLING_PACKAGE_NAME = "extra.callingPackageName"
15 | const val EXTRA_IGNORE_ACCOUNT = "extra.ignoreAccount"
16 | const val EXTRA_ACCOUNT_NAME = "extra.accountName"
17 | const val EXTRA_SCREEN_ID = "extra.screenId"
18 | const val EXTRA_SCREEN_OPTIONS_PREFIX = "extra.screen."
19 | const val EXTRA_FALLBACK_URL = "extra.fallbackUrl"
20 | const val EXTRA_FALLBACK_AUTH = "extra.fallbackAuth"
21 | const val EXTRA_THEME_CHOICE = "extra.themeChoice"
22 |
23 | const val OPTION_SCREEN_FLAVOR = "screenFlavor"
--------------------------------------------------------------------------------
/play-services-core/src/main/kotlin/org/microg/gms/auth/AuthPrefs.kt:
--------------------------------------------------------------------------------
1 | package org.microg.gms.auth
2 |
3 | import android.content.Context
4 | import org.microg.gms.settings.SettingsContract
5 | import org.microg.gms.settings.SettingsContract.Auth
6 |
7 | object AuthPrefs {
8 |
9 | @JvmStatic
10 | fun isTrustGooglePermitted(context: Context): Boolean {
11 | return SettingsContract.getSettings(context, Auth.getContentUri(context), arrayOf(Auth.TRUST_GOOGLE)) { c ->
12 | c.getInt(0) != 0
13 | }
14 | }
15 |
16 | @JvmStatic
17 | fun isAuthVisible(context: Context): Boolean {
18 | return SettingsContract.getSettings(context, Auth.getContentUri(context), arrayOf(Auth.VISIBLE)) { c ->
19 | c.getInt(0) != 0
20 | }
21 | }
22 |
23 | @JvmStatic
24 | fun shouldIncludeAndroidId(context: Context): Boolean {
25 | return SettingsContract.getSettings(context, Auth.getContentUri(context), arrayOf(Auth.INCLUDE_ANDROID_ID)) { c ->
26 | c.getInt(0) != 0
27 | }
28 | }
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/play-services-core/src/main/kotlin/org/microg/gms/ui/Constants.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2020, microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0
4 | */
5 |
6 | package org.microg.gms.ui
7 |
8 | const val TAG = "GmsUi"
9 |
--------------------------------------------------------------------------------
/play-services-core/src/main/kotlin/org/microg/gms/ui/PreferenceSwitchBarCallback.kt:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2020, microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0
4 | */
5 |
6 | package org.microg.gms.ui
7 |
8 | interface PreferenceSwitchBarCallback {
9 | fun onChecked(newStatus: Boolean)
10 | }
11 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/drawable/dots_horizontal.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/drawable/ic_device_login.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/drawable/ic_expand_apps.xml:
--------------------------------------------------------------------------------
1 |
8 |
11 |
12 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/drawable/ic_info_outline.xml:
--------------------------------------------------------------------------------
1 |
7 |
10 |
11 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/layout/preference_category_no_label.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
10 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/layout/preference_progress_bar.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
11 |
12 |
17 |
18 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/layout/settings_root_activity.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
11 |
12 |
19 |
20 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/mipmap-anydpi-v26/ic_launcher.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/inotia00/VancedMicroG/824550955f46962f7cc31caed9dc844bd76517dd/play-services-core/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/play-services-core/src/main/res/mipmap-hdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/inotia00/VancedMicroG/824550955f46962f7cc31caed9dc844bd76517dd/play-services-core/src/main/res/mipmap-hdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/play-services-core/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/inotia00/VancedMicroG/824550955f46962f7cc31caed9dc844bd76517dd/play-services-core/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/play-services-core/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/inotia00/VancedMicroG/824550955f46962f7cc31caed9dc844bd76517dd/play-services-core/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/play-services-core/src/main/res/mipmap-mdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/inotia00/VancedMicroG/824550955f46962f7cc31caed9dc844bd76517dd/play-services-core/src/main/res/mipmap-mdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/play-services-core/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/inotia00/VancedMicroG/824550955f46962f7cc31caed9dc844bd76517dd/play-services-core/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/play-services-core/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/inotia00/VancedMicroG/824550955f46962f7cc31caed9dc844bd76517dd/play-services-core/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/play-services-core/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/inotia00/VancedMicroG/824550955f46962f7cc31caed9dc844bd76517dd/play-services-core/src/main/res/mipmap-xhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/play-services-core/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/inotia00/VancedMicroG/824550955f46962f7cc31caed9dc844bd76517dd/play-services-core/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/play-services-core/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/inotia00/VancedMicroG/824550955f46962f7cc31caed9dc844bd76517dd/play-services-core/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/play-services-core/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/inotia00/VancedMicroG/824550955f46962f7cc31caed9dc844bd76517dd/play-services-core/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/play-services-core/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/inotia00/VancedMicroG/824550955f46962f7cc31caed9dc844bd76517dd/play-services-core/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/play-services-core/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/inotia00/VancedMicroG/824550955f46962f7cc31caed9dc844bd76517dd/play-services-core/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/play-services-core/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/inotia00/VancedMicroG/824550955f46962f7cc31caed9dc844bd76517dd/play-services-core/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.png
--------------------------------------------------------------------------------
/play-services-core/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/inotia00/VancedMicroG/824550955f46962f7cc31caed9dc844bd76517dd/play-services-core/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/play-services-core/src/main/res/values-ar/plurals.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 | - %1$d تطبيق مسجل
22 | - %1$d تطبيقات مسجلة
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/values-az/arrays.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 | - @string/service_status_disabled_short
22 | - @string/gcm_status_pref_default
23 | - Ping intervalı: 2 dəqiqə
24 | - Ping intervalı: 5 dəqiqə
25 | - Ping intervalı: 10 dəqiqə
26 | - Ping intervalı: 15 dəqiqə
27 | - Ping intervalı: 20 dəqiqə
28 | - Ping intervalı: 30 dəqiqə
29 |
30 |
31 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/values-az/plurals.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 | - %1$d qeydiyyat olunmuş proqram
22 | - %1$d qeydiyyat olunmuş proqramlar
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/values-be/plurals.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 | - %1$d аўтарызаваная праграма
22 | - %1$d аўтарызаваных праграм
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/values-bn/arrays.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 | - @string/service_status_disabled_short
22 | - @string/gcm_status_pref_default
23 | - পিং ব্যবধান: 2 মিনিট
24 | - পিং ব্যবধান: 5 মিনিট
25 | - পিং ব্যবধান: 10 মিনিট
26 | - পিং ব্যবধান: 15 মিনিট
27 | - পিং ব্যবধান: 20 মিনিট
28 | - পিং ব্যবধান: 30 মিনিট
29 |
30 |
31 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/values-bn/plurals.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 | - %1$d নিবন্ধিত অ্যাপ
22 | - %1$d নিবন্ধিত অ্যাপসমূহ
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/values-es-rES/plurals.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 | - %1$d aplicación registrada
22 | - %1$d aplicaciones registradas
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/values-fr/plurals.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 | - %1$d application enregistrée
22 | - %1$d application enregistrée
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/values-hi/plurals.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 | - %1$d पंजीकृत ऐप
22 | - %1$d पंजीकृत ऐप्स
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/values-id/arrays.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 | - @string/service_status_disabled_short
22 | - @string/gcm_status_pref_default
23 | - Interval ping: 2 menit
24 | - Interval ping: 5 menit
25 | - Interval ping: 10 menit
26 | - Interval ping: 15 menit
27 | - Interval ping: 20 menit
28 | - Interval ping: 30 menit
29 |
30 |
31 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/values-id/plurals.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 | - %1$d aplikasi terdaftar
22 | - %1$d aplikasi terdaftar
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/values-it/plurals.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 | - %1$d applicazione registrata
22 | - %1$d applicazioni registrate
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/values-ja/arrays.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 | - @string/service_status_disabled_short
22 | - @string/gcm_status_pref_default
23 | - Ping間隔: 2 分
24 | - Ping間隔: 5 分
25 | - Ping間隔: 10 分
26 | - Ping間隔: 15 分
27 | - Ping間隔: 20 分
28 | - Ping間隔: 30 分
29 |
30 |
31 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/values-ja/plurals.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 | - %1$d アプリを登録しました
22 | - %1$d 登録済みのアプリ
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/values-ko/arrays.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 | - @string/service_status_disabled_short
22 | - @string/gcm_status_pref_default
23 | - 핑 간격: 2 분
24 | - 핑 간격: 5 분
25 | - 핑 간격: 10 분
26 | - 핑 간격: 15 분
27 | - 핑 간격: 20 분
28 | - 핑 간격: 30 분
29 |
30 |
31 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/values-ko/plurals.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 | - %1$d 등록된 앱
22 | - %1$d 등록된 앱
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/values-lt/plurals.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 | - %1$d registruota programėlė
22 | - %1$d registruotos programėlės
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/values-night-v31/themes.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
14 |
15 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/values-night/themes.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/values-pt-rBR/plurals.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 | - %1$d aplicativo registrado
22 | - %1$d aplicativo registrado
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/values-ru/arrays.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 | - @string/service_status_disabled_short
22 | - @string/gcm_status_pref_default
23 | - Интервал пинга: 2 минут
24 | - Интервал пинга: 5 минут
25 | - Интервал пинга: 10 минут
26 | - Интервал пинга: 15 минут
27 | - Интервал пинга: 20 минут
28 | - Интервал пинга: 30 минут
29 |
30 |
31 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/values-ru/plurals.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 | - %1$d авторизованное приложение
22 | - %1$d авторизованных приложений
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/values-tr/plurals.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 | - %1$d kayıtlı uygulama
22 | - %1$d kayıtlı uygulamalar
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/values-uk/plurals.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 | - %1$d зареєстрований додаток
22 | - %1$d зареєстрованих додатків
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/values-v31/themes.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
13 |
14 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/values-vi/plurals.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 | - %1$d ứng dụng đã đăng ký
22 | - %1$d ứng dụng đã đăng ký
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/values-zh-rCN/arrays.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 | - @string/service_status_disabled_short
22 | - @string/gcm_status_pref_default
23 | - Ping 间隔 : 2 分钟
24 | - Ping 间隔 : 5 分钟
25 | - Ping 间隔 : 10 分钟
26 | - Ping 间隔 : 15 分钟
27 | - Ping 间隔 : 20 分钟
28 | - Ping 间隔 : 30 分钟
29 |
30 |
31 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/values-zh-rCN/plurals.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 | - %1$d 个注册的应用
22 | - %1$d 个注册的应用
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/values-zh-rTW/arrays.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 | - @string/service_status_disabled_short
22 | - @string/gcm_status_pref_default
23 | - Ping 間隔: 2 分鐘
24 | - Ping 間隔: 5 分鐘
25 | - Ping 間隔: 10 分鐘
26 | - Ping 間隔: 15 分鐘
27 | - Ping 間隔: 20 分鐘
28 | - Ping 間隔: 30 分鐘
29 |
30 |
31 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/values-zh-rTW/plurals.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
21 | - %1$d 註冊應用
22 | - %1$d 註冊應用
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/values/bools.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/values/colors.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
18 |
19 | #ff4285f4
20 | #ff3367d6
21 | #ffffab40
22 | #ff9a82db
23 |
24 |
25 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/values/ic_launcher_background.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | #171719
4 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/values/permissions.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/values/plurals.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
19 |
20 | - %1$d registered App
21 | - %1$d registered Apps
22 |
23 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/values/resources.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Vanced microG
5 |
6 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/xml/authenticator.xml:
--------------------------------------------------------------------------------
1 |
16 |
17 |
25 |
--------------------------------------------------------------------------------
/play-services-core/src/main/res/xml/network_security_config.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/play-services-iid-api/build.gradle:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright 2013-2015 microG Project Team
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | apply plugin: 'com.android.library'
18 |
19 | android {
20 | compileSdkVersion androidCompileSdk
21 | buildToolsVersion androidBuildVersionTools
22 |
23 | defaultConfig {
24 | minSdkVersion androidMinSdk
25 | targetSdkVersion androidTargetSdk
26 | }
27 |
28 | compileOptions {
29 | sourceCompatibility = 1.8
30 | targetCompatibility = 1.8
31 | }
32 | }
33 |
34 | dependencies {
35 | api project(':play-services-basement')
36 | }
--------------------------------------------------------------------------------
/play-services-iid-api/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
17 |
18 |
--------------------------------------------------------------------------------
/play-services-iid-api/src/main/aidl/com/google/android/gms/iid/IMessengerCompat.aidl:
--------------------------------------------------------------------------------
1 | package com.google.android.gms.iid;
2 |
3 | import android.os.Message;
4 |
5 | interface IMessengerCompat {
6 | void send(in Message message);
7 | }
8 |
--------------------------------------------------------------------------------
/play-services-tasks/build.gradle:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2020, microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0
4 | */
5 |
6 | apply plugin: 'com.android.library'
7 | apply plugin: 'kotlin-android'
8 | apply plugin: 'maven-publish'
9 | apply plugin: 'signing'
10 |
11 | android {
12 | compileSdkVersion androidCompileSdk
13 | buildToolsVersion androidBuildVersionTools
14 |
15 | defaultConfig {
16 | minSdkVersion androidMinSdk
17 | targetSdkVersion androidTargetSdk
18 | }
19 |
20 | sourceSets {
21 | main.java.srcDirs += 'src/main/kotlin'
22 | }
23 |
24 | compileOptions {
25 | sourceCompatibility = 1.8
26 | targetCompatibility = 1.8
27 | }
28 | }
29 |
30 | dependencies {
31 | api project(':play-services-basement')
32 |
33 | implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlinVersion"
34 | implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:$coroutineVersion"
35 | implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:$coroutineVersion"
36 | }
--------------------------------------------------------------------------------
/play-services-tasks/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/play-services-tasks/src/main/java/com/google/android/gms/tasks/OnCanceledListener.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2020, microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0 AND CC-BY-4.0
4 | * Notice: Portions of this file are reproduced from work created and shared by Google and used
5 | * according to terms described in the Creative Commons 4.0 Attribution License.
6 | * See https://developers.google.com/readme/policies for details.
7 | */
8 |
9 | package com.google.android.gms.tasks;
10 |
11 | import org.microg.gms.common.PublicApi;
12 |
13 | /**
14 | * Listener called when a {@link Task} is canceled.
15 | */
16 | @PublicApi
17 | public interface OnCanceledListener {
18 | /**
19 | * Called when the Task is canceled successfully.
20 | */
21 | void onCanceled();
22 | }
23 |
--------------------------------------------------------------------------------
/play-services-tasks/src/main/java/com/google/android/gms/tasks/OnCompleteListener.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2016, microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0 AND CC-BY-4.0
4 | * Notice: Portions of this file are reproduced from work created and shared by Google and used
5 | * according to terms described in the Creative Commons 4.0 Attribution License.
6 | * See https://developers.google.com/readme/policies for details.
7 | */
8 |
9 | package com.google.android.gms.tasks;
10 |
11 | import org.microg.gms.common.PublicApi;
12 |
13 | /**
14 | * Listener called when a {@link Task} completes.
15 | *
16 | * @see Task#addOnCompleteListener(OnCompleteListener)
17 | */
18 | @PublicApi
19 | public interface OnCompleteListener {
20 | /**
21 | * Called when the Task completes.
22 | *
23 | * @param task the completed Task. Never null
24 | */
25 | void onComplete(Task task);
26 | }
27 |
--------------------------------------------------------------------------------
/play-services-tasks/src/main/java/com/google/android/gms/tasks/OnFailureListener.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2016, microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0 AND CC-BY-4.0
4 | * Notice: Portions of this file are reproduced from work created and shared by Google and used
5 | * according to terms described in the Creative Commons 4.0 Attribution License.
6 | * See https://developers.google.com/readme/policies for details.
7 | */
8 |
9 | package com.google.android.gms.tasks;
10 |
11 | import org.microg.gms.common.PublicApi;
12 |
13 | /**
14 | * Listener called when a {@link Task} fails with an exception.
15 | *
16 | * @see Task#addOnFailureListener(OnFailureListener)
17 | */
18 | @PublicApi
19 | public interface OnFailureListener {
20 |
21 | /**
22 | * Called when the Task fails with an exception.
23 | *
24 | * @param e the exception that caused the Task to fail. Never null
25 | */
26 | void onFailure(Exception e);
27 | }
28 |
--------------------------------------------------------------------------------
/play-services-tasks/src/main/java/com/google/android/gms/tasks/OnSuccessListener.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2016, microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0 AND CC-BY-4.0
4 | * Notice: Portions of this file are reproduced from work created and shared by Google and used
5 | * according to terms described in the Creative Commons 4.0 Attribution License.
6 | * See https://developers.google.com/readme/policies for details.
7 | */
8 |
9 | package com.google.android.gms.tasks;
10 |
11 | import org.microg.gms.common.PublicApi;
12 |
13 | /**
14 | * Listener called when a {@link Task} completes successfully.
15 | *
16 | * @see Task#addOnSuccessListener(OnSuccessListener)
17 | */
18 | @PublicApi
19 | public interface OnSuccessListener {
20 | /**
21 | * Called when the {@link Task} completes successfully.
22 | *
23 | * @param result the result of the Task
24 | */
25 | void onSuccess(TResult result);
26 | }
27 |
--------------------------------------------------------------------------------
/play-services-tasks/src/main/java/com/google/android/gms/tasks/OnTokenCanceledListener.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2020, microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0 AND CC-BY-4.0
4 | * Notice: Portions of this file are reproduced from work created and shared by Google and used
5 | * according to terms described in the Creative Commons 4.0 Attribution License.
6 | * See https://developers.google.com/readme/policies for details.
7 | */
8 |
9 | package com.google.android.gms.tasks;
10 |
11 | import org.microg.gms.common.PublicApi;
12 |
13 | /**
14 | * Listener called when a {@link CancellationToken} is canceled successfully.
15 | *
16 | * @see CancellationToken#onCanceledRequested(OnTokenCanceledListener)
17 | */
18 | @PublicApi
19 | public interface OnTokenCanceledListener {
20 | /**
21 | * Called when the {@link CancellationToken} is canceled successfully.
22 | */
23 | void onCanceled();
24 | }
25 |
--------------------------------------------------------------------------------
/play-services-tasks/src/main/java/com/google/android/gms/tasks/RuntimeExecutionException.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2016, microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0 AND CC-BY-4.0
4 | * Notice: Portions of this file are reproduced from work created and shared by Google and used
5 | * according to terms described in the Creative Commons 4.0 Attribution License.
6 | * See https://developers.google.com/readme/policies for details.
7 | */
8 |
9 | package com.google.android.gms.tasks;
10 |
11 | import org.microg.gms.common.PublicApi;
12 |
13 | import java.util.concurrent.ExecutionException;
14 |
15 | /**
16 | * Runtime version of {@link ExecutionException}.
17 | *
18 | * @see Task#getResult(Class)
19 | */
20 | @PublicApi
21 | public class RuntimeExecutionException extends RuntimeException {
22 | public RuntimeExecutionException(Throwable cause) {
23 | super(cause);
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/play-services-tasks/src/main/java/com/google/android/gms/tasks/TaskExecutors.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2020, microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0 AND CC-BY-4.0
4 | * Notice: Portions of this file are reproduced from work created and shared by Google and used
5 | * according to terms described in the Creative Commons 4.0 Attribution License.
6 | * See https://developers.google.com/readme/policies for details.
7 | */
8 |
9 | package com.google.android.gms.tasks;
10 |
11 | import android.os.Handler;
12 | import android.os.Looper;
13 |
14 | import org.microg.gms.common.PublicApi;
15 |
16 | import java.util.concurrent.Executor;
17 |
18 | /**
19 | * Standard {@link Executor} instances for use with {@link Task}.
20 | */
21 | @PublicApi
22 | public final class TaskExecutors {
23 | /**
24 | * An Executor that uses the main application thread.
25 | */
26 | public static final Executor MAIN_THREAD = new Executor() {
27 | private final Handler handler = new Handler(Looper.getMainLooper());
28 | @Override
29 | public void execute(Runnable command) {
30 | handler.post(command);
31 | }
32 | };
33 | }
34 |
--------------------------------------------------------------------------------
/play-services-tasks/src/main/java/org/microg/gms/tasks/CancellationTokenImpl.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2020, microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0
4 | */
5 |
6 | package org.microg.gms.tasks;
7 |
8 | import com.google.android.gms.tasks.CancellationToken;
9 | import com.google.android.gms.tasks.DuplicateTaskCompletionException;
10 | import com.google.android.gms.tasks.OnTokenCanceledListener;
11 |
12 | public class CancellationTokenImpl extends CancellationToken {
13 | private final TaskImpl task = new TaskImpl<>();
14 |
15 | @Override
16 | public boolean isCancellationRequested() {
17 | return task.isComplete();
18 | }
19 |
20 | @Override
21 | public CancellationToken onCanceledRequested(OnTokenCanceledListener listener) {
22 | task.addOnSuccessListener(aVoid -> listener.onCanceled());
23 | return this;
24 | }
25 |
26 | public void cancel() {
27 | try {
28 | task.cancel();
29 | } catch (DuplicateTaskCompletionException ignored) {
30 | }
31 | }
32 | }
33 |
--------------------------------------------------------------------------------
/play-services-tasks/src/main/java/org/microg/gms/tasks/CancelledExecutor.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2020, microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0
4 | */
5 |
6 | package org.microg.gms.tasks;
7 |
8 | import com.google.android.gms.tasks.OnCanceledListener;
9 | import com.google.android.gms.tasks.Task;
10 |
11 | import java.util.concurrent.Executor;
12 |
13 | public class CancelledExecutor extends UpdateExecutor {
14 | private OnCanceledListener listener;
15 |
16 | public CancelledExecutor(Executor executor, OnCanceledListener listener) {
17 | super(executor);
18 | this.listener = listener;
19 | }
20 |
21 | @Override
22 | public void onTaskUpdate(Task task) {
23 | if (task.isCanceled()) {
24 | execute(() -> listener.onCanceled());
25 | }
26 | }
27 |
28 | @Override
29 | public void cancel() {
30 | super.cancel();
31 | listener = null;
32 | }
33 | }
34 |
35 |
--------------------------------------------------------------------------------
/play-services-tasks/src/main/java/org/microg/gms/tasks/CompletedExecutor.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2020, microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0
4 | */
5 |
6 | package org.microg.gms.tasks;
7 |
8 | import com.google.android.gms.tasks.OnCompleteListener;
9 | import com.google.android.gms.tasks.Task;
10 |
11 | import java.util.concurrent.Executor;
12 |
13 | public class CompletedExecutor extends UpdateExecutor {
14 | private OnCompleteListener listener;
15 |
16 | public CompletedExecutor(Executor executor, OnCompleteListener listener) {
17 | super(executor);
18 | this.listener = listener;
19 | }
20 |
21 | @Override
22 | public void onTaskUpdate(Task task) {
23 | if (task.isComplete()) {
24 | execute(() -> listener.onComplete(task));
25 | }
26 | }
27 |
28 | @Override
29 | public void cancel() {
30 | super.cancel();
31 | listener = null;
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/play-services-tasks/src/main/java/org/microg/gms/tasks/FailureExecutor.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2020, microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0
4 | */
5 |
6 | package org.microg.gms.tasks;
7 |
8 | import com.google.android.gms.tasks.OnFailureListener;
9 | import com.google.android.gms.tasks.Task;
10 |
11 | import java.util.concurrent.Executor;
12 |
13 | public class FailureExecutor extends UpdateExecutor {
14 | private OnFailureListener listener;
15 |
16 | public FailureExecutor(Executor executor, OnFailureListener listener) {
17 | super(executor);
18 | this.listener = listener;
19 | }
20 |
21 | @Override
22 | public void onTaskUpdate(Task task) {
23 | if (task.isComplete() && !task.isSuccessful() && !task.isCanceled()) {
24 | execute(() -> listener.onFailure(task.getException()));
25 | }
26 | }
27 |
28 | @Override
29 | public void cancel() {
30 | super.cancel();
31 | listener = null;
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/play-services-tasks/src/main/java/org/microg/gms/tasks/SuccessExecutor.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2020, microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0
4 | */
5 |
6 | package org.microg.gms.tasks;
7 |
8 | import com.google.android.gms.tasks.OnSuccessListener;
9 | import com.google.android.gms.tasks.Task;
10 |
11 | import java.util.concurrent.Executor;
12 |
13 | public class SuccessExecutor extends UpdateExecutor {
14 | private OnSuccessListener super TResult> listener;
15 |
16 | public SuccessExecutor(Executor executor, OnSuccessListener super TResult> listener) {
17 | super(executor);
18 | this.listener = listener;
19 | }
20 |
21 | @Override
22 | public void onTaskUpdate(Task task) {
23 | if (task.isSuccessful()) {
24 | execute(() -> listener.onSuccess(task.getResult()));
25 | }
26 | }
27 |
28 | @Override
29 | public void cancel() {
30 | super.cancel();
31 | listener = null;
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/play-services-tasks/src/main/java/org/microg/gms/tasks/UpdateExecutor.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2020, microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0
4 | */
5 |
6 | package org.microg.gms.tasks;
7 |
8 | import java.util.concurrent.Executor;
9 |
10 | public abstract class UpdateExecutor implements UpdateListener, Executor {
11 | private Executor executor;
12 |
13 | public UpdateExecutor(Executor executor) {
14 | this.executor = executor;
15 | }
16 |
17 | @Override
18 | public void execute(Runnable runnable) {
19 | if (executor == null) return;
20 | executor.execute(runnable);
21 | }
22 |
23 | @Override
24 | public void cancel() {
25 | executor = null;
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/play-services-tasks/src/main/java/org/microg/gms/tasks/UpdateListener.java:
--------------------------------------------------------------------------------
1 | /*
2 | * SPDX-FileCopyrightText: 2020, microG Project Team
3 | * SPDX-License-Identifier: Apache-2.0
4 | */
5 |
6 | package org.microg.gms.tasks;
7 |
8 | import com.google.android.gms.tasks.Task;
9 |
10 | public interface UpdateListener {
11 | void onTaskUpdate(Task task);
12 |
13 | void cancel();
14 | }
15 |
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':fake-signature'
2 |
3 | include ':play-services-basement'
4 |
5 | include ':play-services-tasks'
6 |
7 | include ':play-services-base-api'
8 | include ':play-services-iid-api'
9 |
10 | include ':play-services-api'
11 |
12 | include ':play-services-core-proto'
13 |
14 | include ':play-services-core:microg-ui-tools' // Legacy
15 | include ':play-services-core'
16 |
17 | include ':play-services-base'
18 | include ':play-services-base-core'
--------------------------------------------------------------------------------