diff --git a/play-services-basement/src/main/java/org/microg/gms/common/GmsService.java b/play-services-basement/src/main/java/org/microg/gms/common/GmsService.java index 25d08f1f00..7493a9d03d 100644 --- a/play-services-basement/src/main/java/org/microg/gms/common/GmsService.java +++ b/play-services-basement/src/main/java/org/microg/gms/common/GmsService.java @@ -138,7 +138,7 @@ public enum GmsService { AD_CONSENT_LOOKUP(195, "com.google.android.gms.ads.service.CONSENT_LOOKUP"), CREDENTIAL_MANAGER(196, "com.google.android.gms.credential.manager.service.firstparty.START"), PHONE_INTERNAL(197, "com.google.android.gms.auth.api.phone.service.InternalService.START"), - PAY(198, "com.google.android.gms.pay.service.BIND"), + PAY(198, "com.google.android.gms.pay.service.BIND", "com.google.android.gms.pay.service.THIRD_PARTY"), ASTERISM(199, "com.google.android.gms.asterism.service.START"), MODULE_RESTORE(201, "com.google.android.gms.backup.GMS_MODULE_RESTORE"), FACS_CACHE(202, "com.google.android.gms.facs.cache.service.START"), diff --git a/play-services-pay/build.gradle b/play-services-pay/build.gradle index 9316c929e2..0441efdfd4 100644 --- a/play-services-pay/build.gradle +++ b/play-services-pay/build.gradle @@ -38,4 +38,5 @@ dependencies { api project(':play-services-base') implementation "androidx.annotation:annotation:$annotationVersion" + annotationProcessor project(':safe-parcel-processor') } diff --git a/play-services-pay/core/src/main/AndroidManifest.xml b/play-services-pay/core/src/main/AndroidManifest.xml index 54279f4795..6dcde5f10b 100644 --- a/play-services-pay/core/src/main/AndroidManifest.xml +++ b/play-services-pay/core/src/main/AndroidManifest.xml @@ -1,5 +1,4 @@ - - @@ -7,23 +6,34 @@ + android:name="com.google.android.gms.pay.main.PayActivity" + android:exported="true" + android:process=":ui" + android:targetActivity="org.microg.gms.pay.PayActivity"> - - - + + + + - + + + + + + + + diff --git a/play-services-pay/core/src/main/kotlin/com/google/android/gms/pay/service/PayThirdPartyService.kt b/play-services-pay/core/src/main/kotlin/com/google/android/gms/pay/service/PayThirdPartyService.kt new file mode 100644 index 0000000000..b6dbc18625 --- /dev/null +++ b/play-services-pay/core/src/main/kotlin/com/google/android/gms/pay/service/PayThirdPartyService.kt @@ -0,0 +1,86 @@ +package com.google.android.gms.pay.service + +import android.util.Log +import com.google.android.gms.common.Feature +import com.google.android.gms.common.api.CommonStatusCodes +import com.google.android.gms.common.api.Status +import com.google.android.gms.common.internal.ConnectionInfo +import com.google.android.gms.common.internal.GetServiceRequest +import com.google.android.gms.common.internal.IGmsCallbacks +import com.google.android.gms.pay.CheckReadinessForEmoneyRequest +import com.google.android.gms.pay.GetMdocCredentialRequest +import com.google.android.gms.pay.GetPayApiAvailabilityStatusRequest +import com.google.android.gms.pay.GetPendingIntentForWalletOnWearRequest +import com.google.android.gms.pay.NotifyCardTapEventRequest +import com.google.android.gms.pay.NotifyEmoneyCardStatusUpdateRequest +import com.google.android.gms.pay.PushEmoneyCardRequest +import com.google.android.gms.pay.SavePassesRequest +import com.google.android.gms.pay.SyncBundleRequest +import com.google.android.gms.pay.internal.IPayServiceCallbacks +import com.google.android.gms.pay.internal.IThirdPartyPayService +import org.microg.gms.BaseService +import org.microg.gms.common.GmsService + + +private const val TAG = "PayThirdPartyService" + +class PayThirdPartyService : BaseService(TAG, GmsService.PAY) { + + override fun handleServiceRequest(callback: IGmsCallbacks, request: GetServiceRequest, service: GmsService) { + runCatching { + Log.d(TAG, "handleServiceRequest: ") + callback.onPostInitCompleteWithConnectionInfo(CommonStatusCodes.SUCCESS, PayThirdPartyServiceImpl().asBinder(), ConnectionInfo().apply { + features = arrayOf(Feature("pay_get_pay_api_availability_status", 3), + Feature("pay_save_passes", 5), + Feature("pay_save_passes_jwt", 3), + Feature("pay_sync_bundle", 2), + Feature("pay_get_pending_intent_for_wallet_on_wear", 2), + Feature("pay_get_mdoc_credential_pending_intent", 1), + Feature("pay_notify_card_tap_event", 1), + Feature("pay_check_readiness_for_emoney", 1), + Feature("pay_push_emoney_card", 1), + Feature("pay_notify_emoney_card_status_update", 1) + ) + }) + } + } +} + +class PayThirdPartyServiceImpl : IThirdPartyPayService.Stub() { + override fun getPayApiAvailabilityStatus(request: GetPayApiAvailabilityStatusRequest?, callback: IPayServiceCallbacks) { + callback.onGetPayApiAvailabilityStatus(Status.SUCCESS, 2) + } + + override fun savePasses(request: SavePassesRequest?, callback: IPayServiceCallbacks) { + callback.onSavePasses(Status(CommonStatusCodes.SERVICE_MISSING)) + } + + override fun syncBundle(request: SyncBundleRequest?, callback: IPayServiceCallbacks?) { + Log.d(TAG, "syncBundle Not yet implemented") + } + + override fun getPendingForWalletOnWear(request: GetPendingIntentForWalletOnWearRequest?, callback: IPayServiceCallbacks?) { + Log.d(TAG, "getPendingForWalletOnWear Not yet implemented") + } + + override fun getMdocCredential(request: GetMdocCredentialRequest?, callback: IPayServiceCallbacks?) { + Log.d(TAG, "getMdocCredential Not yet implemented") + } + + override fun notifyCardTapEvent(request: NotifyCardTapEventRequest?, callback: IPayServiceCallbacks?) { + Log.d(TAG, "notifyCardTapEvent Not yet implemented") + } + + override fun checkReadinessForEmoney(request: CheckReadinessForEmoneyRequest?, callback: IPayServiceCallbacks?) { + Log.d(TAG, "checkReadinessForEmoney Not yet implemented") + } + + override fun pushEmoneyCard(request: PushEmoneyCardRequest?, callback: IPayServiceCallbacks?) { + Log.d(TAG, "pushEmoneyCard Not yet implemented") + } + + override fun notifyEmoneyCardStatusUpdate(request: NotifyEmoneyCardStatusUpdateRequest?, callback: IPayServiceCallbacks?) { + Log.d(TAG, "notifyEmoneyCardStatusUpdate Not yet implemented") + } + +} \ No newline at end of file diff --git a/play-services-pay/src/main/aidl/com/google/android/gms/pay/CheckReadinessForEmoneyRequest.aidl b/play-services-pay/src/main/aidl/com/google/android/gms/pay/CheckReadinessForEmoneyRequest.aidl new file mode 100644 index 0000000000..650f6d40c7 --- /dev/null +++ b/play-services-pay/src/main/aidl/com/google/android/gms/pay/CheckReadinessForEmoneyRequest.aidl @@ -0,0 +1,3 @@ +package com.google.android.gms.pay; + +parcelable CheckReadinessForEmoneyRequest; \ No newline at end of file diff --git a/play-services-pay/src/main/aidl/com/google/android/gms/pay/GetMdocCredentialRequest.aidl b/play-services-pay/src/main/aidl/com/google/android/gms/pay/GetMdocCredentialRequest.aidl new file mode 100644 index 0000000000..8c2b01fa74 --- /dev/null +++ b/play-services-pay/src/main/aidl/com/google/android/gms/pay/GetMdocCredentialRequest.aidl @@ -0,0 +1,3 @@ +package com.google.android.gms.pay; + +parcelable GetMdocCredentialRequest; \ No newline at end of file diff --git a/play-services-pay/src/main/aidl/com/google/android/gms/pay/GetPayApiAvailabilityStatusRequest.aidl b/play-services-pay/src/main/aidl/com/google/android/gms/pay/GetPayApiAvailabilityStatusRequest.aidl new file mode 100644 index 0000000000..5d2aa8240f --- /dev/null +++ b/play-services-pay/src/main/aidl/com/google/android/gms/pay/GetPayApiAvailabilityStatusRequest.aidl @@ -0,0 +1,3 @@ +package com.google.android.gms.pay; + +parcelable GetPayApiAvailabilityStatusRequest; \ No newline at end of file diff --git a/play-services-pay/src/main/aidl/com/google/android/gms/pay/GetPendingIntentForWalletOnWearRequest.aidl b/play-services-pay/src/main/aidl/com/google/android/gms/pay/GetPendingIntentForWalletOnWearRequest.aidl new file mode 100644 index 0000000000..06006c91a7 --- /dev/null +++ b/play-services-pay/src/main/aidl/com/google/android/gms/pay/GetPendingIntentForWalletOnWearRequest.aidl @@ -0,0 +1,3 @@ +package com.google.android.gms.pay; + +parcelable GetPendingIntentForWalletOnWearRequest; \ No newline at end of file diff --git a/play-services-pay/src/main/aidl/com/google/android/gms/pay/GetWalletStatusResponse.aidl b/play-services-pay/src/main/aidl/com/google/android/gms/pay/GetWalletStatusResponse.aidl new file mode 100644 index 0000000000..789caac8d9 --- /dev/null +++ b/play-services-pay/src/main/aidl/com/google/android/gms/pay/GetWalletStatusResponse.aidl @@ -0,0 +1,3 @@ +package com.google.android.gms.pay; + +parcelable GetWalletStatusResponse; \ No newline at end of file diff --git a/play-services-pay/src/main/aidl/com/google/android/gms/pay/NotifyCardTapEventRequest.aidl b/play-services-pay/src/main/aidl/com/google/android/gms/pay/NotifyCardTapEventRequest.aidl new file mode 100644 index 0000000000..7d1635c152 --- /dev/null +++ b/play-services-pay/src/main/aidl/com/google/android/gms/pay/NotifyCardTapEventRequest.aidl @@ -0,0 +1,3 @@ +package com.google.android.gms.pay; + +parcelable NotifyCardTapEventRequest; \ No newline at end of file diff --git a/play-services-pay/src/main/aidl/com/google/android/gms/pay/NotifyEmoneyCardStatusUpdateRequest.aidl b/play-services-pay/src/main/aidl/com/google/android/gms/pay/NotifyEmoneyCardStatusUpdateRequest.aidl new file mode 100644 index 0000000000..54e64ab406 --- /dev/null +++ b/play-services-pay/src/main/aidl/com/google/android/gms/pay/NotifyEmoneyCardStatusUpdateRequest.aidl @@ -0,0 +1,3 @@ +package com.google.android.gms.pay; + +parcelable NotifyEmoneyCardStatusUpdateRequest; \ No newline at end of file diff --git a/play-services-pay/src/main/aidl/com/google/android/gms/pay/PushEmoneyCardRequest.aidl b/play-services-pay/src/main/aidl/com/google/android/gms/pay/PushEmoneyCardRequest.aidl new file mode 100644 index 0000000000..471277aede --- /dev/null +++ b/play-services-pay/src/main/aidl/com/google/android/gms/pay/PushEmoneyCardRequest.aidl @@ -0,0 +1,3 @@ +package com.google.android.gms.pay; + +parcelable PushEmoneyCardRequest; \ No newline at end of file diff --git a/play-services-pay/src/main/aidl/com/google/android/gms/pay/SavePassesRequest.aidl b/play-services-pay/src/main/aidl/com/google/android/gms/pay/SavePassesRequest.aidl new file mode 100644 index 0000000000..af8c464793 --- /dev/null +++ b/play-services-pay/src/main/aidl/com/google/android/gms/pay/SavePassesRequest.aidl @@ -0,0 +1,3 @@ +package com.google.android.gms.pay; + +parcelable SavePassesRequest; \ No newline at end of file diff --git a/play-services-pay/src/main/aidl/com/google/android/gms/pay/SyncBundleRequest.aidl b/play-services-pay/src/main/aidl/com/google/android/gms/pay/SyncBundleRequest.aidl new file mode 100644 index 0000000000..112095437f --- /dev/null +++ b/play-services-pay/src/main/aidl/com/google/android/gms/pay/SyncBundleRequest.aidl @@ -0,0 +1,3 @@ +package com.google.android.gms.pay; + +parcelable SyncBundleRequest; \ No newline at end of file diff --git a/play-services-pay/src/main/aidl/com/google/android/gms/pay/internal/IPayServiceCallbacks.aidl b/play-services-pay/src/main/aidl/com/google/android/gms/pay/internal/IPayServiceCallbacks.aidl new file mode 100644 index 0000000000..9d93117945 --- /dev/null +++ b/play-services-pay/src/main/aidl/com/google/android/gms/pay/internal/IPayServiceCallbacks.aidl @@ -0,0 +1,21 @@ +package com.google.android.gms.pay.internal; + +import android.app.PendingIntent; +import com.google.android.gms.common.api.Status; +import com.google.android.gms.pay.GetWalletStatusResponse; + + +interface IPayServiceCallbacks { + void onStatusResult(in Status status, in byte[] bArr) = 14; + + void onSavePasses(in Status status) = 17; + + void onGetPayApiAvailabilityStatus(in Status status, int i) = 19; + + void onGetPendingIntent(in Status status, in PendingIntent pendingIntent) = 3; + + void onError(in Status status) = 1; + + void onGetWalletStatus(in Status status, in GetWalletStatusResponse getWalletStatusResponse) = 21; + +} \ No newline at end of file diff --git a/play-services-pay/src/main/aidl/com/google/android/gms/pay/internal/IThirdPartyPayService.aidl b/play-services-pay/src/main/aidl/com/google/android/gms/pay/internal/IThirdPartyPayService.aidl new file mode 100644 index 0000000000..3d8b61e8df --- /dev/null +++ b/play-services-pay/src/main/aidl/com/google/android/gms/pay/internal/IThirdPartyPayService.aidl @@ -0,0 +1,24 @@ +package com.google.android.gms.pay.internal; + +import com.google.android.gms.pay.GetPayApiAvailabilityStatusRequest; +import com.google.android.gms.pay.internal.IPayServiceCallbacks; +import com.google.android.gms.pay.SavePassesRequest; +import com.google.android.gms.pay.SyncBundleRequest; +import com.google.android.gms.pay.CheckReadinessForEmoneyRequest; +import com.google.android.gms.pay.GetMdocCredentialRequest; +import com.google.android.gms.pay.GetPendingIntentForWalletOnWearRequest; +import com.google.android.gms.pay.NotifyCardTapEventRequest; +import com.google.android.gms.pay.PushEmoneyCardRequest; +import com.google.android.gms.pay.NotifyEmoneyCardStatusUpdateRequest; + +interface IThirdPartyPayService { + void getPayApiAvailabilityStatus(in GetPayApiAvailabilityStatusRequest request, in IPayServiceCallbacks callback) = 1; + void savePasses(in SavePassesRequest request, in IPayServiceCallbacks callback) = 2; + void syncBundle(in SyncBundleRequest request, in IPayServiceCallbacks callback) = 3; + void getPendingForWalletOnWear(in GetPendingIntentForWalletOnWearRequest request,in IPayServiceCallbacks callback) = 4; + void getMdocCredential(in GetMdocCredentialRequest request, in IPayServiceCallbacks callback) = 5; + void notifyCardTapEvent(in NotifyCardTapEventRequest request, in IPayServiceCallbacks callback) = 6; + void checkReadinessForEmoney(in CheckReadinessForEmoneyRequest request, in IPayServiceCallbacks callback) = 7; + void pushEmoneyCard(in PushEmoneyCardRequest request, in IPayServiceCallbacks callback) = 8; + void notifyEmoneyCardStatusUpdate(in NotifyEmoneyCardStatusUpdateRequest request, in IPayServiceCallbacks callback) = 9; +} \ No newline at end of file diff --git a/play-services-pay/src/main/java/com/google/android/gms/pay/CheckReadinessForEmoneyRequest.java b/play-services-pay/src/main/java/com/google/android/gms/pay/CheckReadinessForEmoneyRequest.java new file mode 100644 index 0000000000..7c250d4d73 --- /dev/null +++ b/play-services-pay/src/main/java/com/google/android/gms/pay/CheckReadinessForEmoneyRequest.java @@ -0,0 +1,28 @@ +package com.google.android.gms.pay; + +import android.os.Parcel; + +import com.google.android.gms.common.internal.safeparcel.AbstractSafeParcelable; +import com.google.android.gms.common.internal.safeparcel.SafeParcelable; +import com.google.android.gms.common.internal.safeparcel.SafeParcelableCreatorAndWriter; + +@SafeParcelable.Class +public class CheckReadinessForEmoneyRequest extends AbstractSafeParcelable { + @Field(1) + public String serviceProvider; + @Field(2) + public String accountName; + + @Constructor + public CheckReadinessForEmoneyRequest(@Param(1) String serviceProvider, @Param(2) String accountName) { + this.serviceProvider = serviceProvider; + this.accountName = accountName; + } + + @Override + public void writeToParcel(Parcel out, int flags) { + CREATOR.writeToParcel(this, out, flags); + } + + public static final SafeParcelableCreatorAndWriter CREATOR = findCreator(CheckReadinessForEmoneyRequest.class); +} diff --git a/play-services-pay/src/main/java/com/google/android/gms/pay/GetMdocCredentialRequest.java b/play-services-pay/src/main/java/com/google/android/gms/pay/GetMdocCredentialRequest.java new file mode 100644 index 0000000000..7ab743c2df --- /dev/null +++ b/play-services-pay/src/main/java/com/google/android/gms/pay/GetMdocCredentialRequest.java @@ -0,0 +1,36 @@ +package com.google.android.gms.pay; + +import android.os.Parcel; + +import com.google.android.gms.common.internal.safeparcel.AbstractSafeParcelable; +import com.google.android.gms.common.internal.safeparcel.SafeParcelable; +import com.google.android.gms.common.internal.safeparcel.SafeParcelableCreatorAndWriter; + +@SafeParcelable.Class +public class GetMdocCredentialRequest extends AbstractSafeParcelable { + @Field(1) + public String unknownFieldA; + @Field(2) + public byte[] unknownFieldB; + @Field(5) + public byte[] unknownFieldC; + + @Constructor + public GetMdocCredentialRequest(@Param(1) String unknownFieldA, @Param(2) byte[] unknownFieldB, @Param(5) byte[] unknownFieldC) { + this.unknownFieldA = unknownFieldA; + this.unknownFieldB = unknownFieldB; + this.unknownFieldC = unknownFieldC; + } + + @Constructor + public GetMdocCredentialRequest() { + + } + + @Override + public void writeToParcel(Parcel out, int flags) { + CREATOR.writeToParcel(this, out, flags); + } + + public static final SafeParcelableCreatorAndWriter CREATOR = findCreator(GetMdocCredentialRequest.class); +} diff --git a/play-services-pay/src/main/java/com/google/android/gms/pay/GetPayApiAvailabilityStatusRequest.java b/play-services-pay/src/main/java/com/google/android/gms/pay/GetPayApiAvailabilityStatusRequest.java new file mode 100644 index 0000000000..0c4fe9968c --- /dev/null +++ b/play-services-pay/src/main/java/com/google/android/gms/pay/GetPayApiAvailabilityStatusRequest.java @@ -0,0 +1,33 @@ +package com.google.android.gms.pay; + +import android.os.Parcel; + +import com.google.android.gms.common.internal.safeparcel.AbstractSafeParcelable; +import com.google.android.gms.common.internal.safeparcel.SafeParcelable; +import com.google.android.gms.common.internal.safeparcel.SafeParcelableCreatorAndWriter; + + +@SafeParcelable.Class +public class GetPayApiAvailabilityStatusRequest extends AbstractSafeParcelable { + @Field(1) + public int requestType; + + @Constructor + public GetPayApiAvailabilityStatusRequest(@Param(1) int requestType) { + this.requestType = requestType; + } + + @Override + public void writeToParcel(Parcel out, int flags) { + CREATOR.writeToParcel(this, out, flags); + } + + public static final SafeParcelableCreatorAndWriter CREATOR = findCreator(GetPayApiAvailabilityStatusRequest.class); + + @Override + public String toString() { + return "GetPayApiAvailabilityStatusRequest{" + + "requestType=" + requestType + + '}'; + } +} diff --git a/play-services-pay/src/main/java/com/google/android/gms/pay/GetPendingIntentForWalletOnWearRequest.java b/play-services-pay/src/main/java/com/google/android/gms/pay/GetPendingIntentForWalletOnWearRequest.java new file mode 100644 index 0000000000..0d0d1e5732 --- /dev/null +++ b/play-services-pay/src/main/java/com/google/android/gms/pay/GetPendingIntentForWalletOnWearRequest.java @@ -0,0 +1,28 @@ +package com.google.android.gms.pay; + +import android.os.Parcel; + +import com.google.android.gms.common.internal.safeparcel.AbstractSafeParcelable; +import com.google.android.gms.common.internal.safeparcel.SafeParcelable; +import com.google.android.gms.common.internal.safeparcel.SafeParcelableCreatorAndWriter; + +@SafeParcelable.Class +public class GetPendingIntentForWalletOnWearRequest extends AbstractSafeParcelable { + @Field(2) + public String wearNodeId; + @Field(3) + public int intentSource; + + @Constructor + public GetPendingIntentForWalletOnWearRequest(@Param(2) String wearNodeId, @Param(3) int intentSource) { + this.wearNodeId = wearNodeId; + this.intentSource = intentSource; + } + + @Override + public void writeToParcel(Parcel out, int flags) { + CREATOR.writeToParcel(this, out, flags); + } + + public static final SafeParcelableCreatorAndWriter CREATOR = findCreator(GetPendingIntentForWalletOnWearRequest.class); +} diff --git a/play-services-pay/src/main/java/com/google/android/gms/pay/GetWalletStatusResponse.java b/play-services-pay/src/main/java/com/google/android/gms/pay/GetWalletStatusResponse.java new file mode 100644 index 0000000000..fbb1c9caa4 --- /dev/null +++ b/play-services-pay/src/main/java/com/google/android/gms/pay/GetWalletStatusResponse.java @@ -0,0 +1,32 @@ +package com.google.android.gms.pay; + +import android.os.Parcel; + +import com.google.android.gms.common.internal.safeparcel.AbstractSafeParcelable; +import com.google.android.gms.common.internal.safeparcel.SafeParcelable; +import com.google.android.gms.common.internal.safeparcel.SafeParcelableCreatorAndWriter; + +@SafeParcelable.Class +public class GetWalletStatusResponse extends AbstractSafeParcelable { + @Field(1) + public boolean a; + @Field(2) + public int[] b; + + @Constructor + public GetWalletStatusResponse() { + } + + @Constructor + public GetWalletStatusResponse(@Param(1) boolean a, @Param(2) int[] b) { + this.a = a; + this.b = b; + } + + @Override + public void writeToParcel(Parcel out, int flags) { + CREATOR.writeToParcel(this, out, flags); + } + + public static final SafeParcelableCreatorAndWriter CREATOR = findCreator(GetWalletStatusResponse.class); +} diff --git a/play-services-pay/src/main/java/com/google/android/gms/pay/NotifyCardTapEventRequest.java b/play-services-pay/src/main/java/com/google/android/gms/pay/NotifyCardTapEventRequest.java new file mode 100644 index 0000000000..cd5db4901c --- /dev/null +++ b/play-services-pay/src/main/java/com/google/android/gms/pay/NotifyCardTapEventRequest.java @@ -0,0 +1,25 @@ +package com.google.android.gms.pay; + +import android.os.Parcel; + +import com.google.android.gms.common.internal.safeparcel.AbstractSafeParcelable; +import com.google.android.gms.common.internal.safeparcel.SafeParcelable; +import com.google.android.gms.common.internal.safeparcel.SafeParcelableCreatorAndWriter; + +@SafeParcelable.Class +public class NotifyCardTapEventRequest extends AbstractSafeParcelable { + @Field(1) + public String eventJson; + + @Constructor + public NotifyCardTapEventRequest(@Param(1) String eventJson) { + this.eventJson = eventJson; + } + + @Override + public void writeToParcel(Parcel out, int flags) { + CREATOR.writeToParcel(this, out, flags); + } + + public static final SafeParcelableCreatorAndWriter CREATOR = findCreator(NotifyCardTapEventRequest.class); +} diff --git a/play-services-pay/src/main/java/com/google/android/gms/pay/NotifyEmoneyCardStatusUpdateRequest.java b/play-services-pay/src/main/java/com/google/android/gms/pay/NotifyEmoneyCardStatusUpdateRequest.java new file mode 100644 index 0000000000..338b8cc736 --- /dev/null +++ b/play-services-pay/src/main/java/com/google/android/gms/pay/NotifyEmoneyCardStatusUpdateRequest.java @@ -0,0 +1,25 @@ +package com.google.android.gms.pay; + +import android.os.Parcel; + +import com.google.android.gms.common.internal.safeparcel.AbstractSafeParcelable; +import com.google.android.gms.common.internal.safeparcel.SafeParcelable; +import com.google.android.gms.common.internal.safeparcel.SafeParcelableCreatorAndWriter; + +@SafeParcelable.Class +public class NotifyEmoneyCardStatusUpdateRequest extends AbstractSafeParcelable { + @Field(1) + public String eMoneyCardStatusUpdateJson; + + @Constructor + public NotifyEmoneyCardStatusUpdateRequest(@Param(1) String eMoneyCardStatusUpdateJson) { + this.eMoneyCardStatusUpdateJson = eMoneyCardStatusUpdateJson; + } + + @Override + public void writeToParcel(Parcel out, int flags) { + CREATOR.writeToParcel(this, out, flags); + } + + public static final SafeParcelableCreatorAndWriter CREATOR = findCreator(NotifyEmoneyCardStatusUpdateRequest.class); +} diff --git a/play-services-pay/src/main/java/com/google/android/gms/pay/PushEmoneyCardRequest.java b/play-services-pay/src/main/java/com/google/android/gms/pay/PushEmoneyCardRequest.java new file mode 100644 index 0000000000..1ac76d79bd --- /dev/null +++ b/play-services-pay/src/main/java/com/google/android/gms/pay/PushEmoneyCardRequest.java @@ -0,0 +1,25 @@ +package com.google.android.gms.pay; + +import android.os.Parcel; + +import com.google.android.gms.common.internal.safeparcel.AbstractSafeParcelable; +import com.google.android.gms.common.internal.safeparcel.SafeParcelable; +import com.google.android.gms.common.internal.safeparcel.SafeParcelableCreatorAndWriter; + +@SafeParcelable.Class +public class PushEmoneyCardRequest extends AbstractSafeParcelable { + @Field(1) + public String eMoneyCardJson; + + @Constructor + public PushEmoneyCardRequest(@Param(1) String eMoneyCardJson) { + this.eMoneyCardJson = eMoneyCardJson; + } + + @Override + public void writeToParcel(Parcel out, int flags) { + CREATOR.writeToParcel(this, out, flags); + } + + public static final SafeParcelableCreatorAndWriter CREATOR = findCreator(PushEmoneyCardRequest.class); +} diff --git a/play-services-pay/src/main/java/com/google/android/gms/pay/SavePassesRequest.java b/play-services-pay/src/main/java/com/google/android/gms/pay/SavePassesRequest.java new file mode 100644 index 0000000000..a9521aa90e --- /dev/null +++ b/play-services-pay/src/main/java/com/google/android/gms/pay/SavePassesRequest.java @@ -0,0 +1,28 @@ +package com.google.android.gms.pay; + +import android.os.Parcel; + +import com.google.android.gms.common.internal.safeparcel.AbstractSafeParcelable; +import com.google.android.gms.common.internal.safeparcel.SafeParcelable; +import com.google.android.gms.common.internal.safeparcel.SafeParcelableCreatorAndWriter; + +@SafeParcelable.Class +public class SavePassesRequest extends AbstractSafeParcelable { + @Field(1) + public String passesJson; + @Field(2) + public String jwtToken; + + @Constructor + public SavePassesRequest(@Param(1) String passesJson, @Param(2) String jwtToken) { + this.passesJson = passesJson; + this.jwtToken = jwtToken; + } + + @Override + public void writeToParcel(Parcel out, int flags) { + CREATOR.writeToParcel(this, out, flags); + } + + public static final SafeParcelableCreatorAndWriter CREATOR = findCreator(SavePassesRequest.class); +} diff --git a/play-services-pay/src/main/java/com/google/android/gms/pay/SyncBundleRequest.java b/play-services-pay/src/main/java/com/google/android/gms/pay/SyncBundleRequest.java new file mode 100644 index 0000000000..53ddbd4d51 --- /dev/null +++ b/play-services-pay/src/main/java/com/google/android/gms/pay/SyncBundleRequest.java @@ -0,0 +1,25 @@ +package com.google.android.gms.pay; + +import android.os.Parcel; + +import com.google.android.gms.common.internal.safeparcel.AbstractSafeParcelable; +import com.google.android.gms.common.internal.safeparcel.SafeParcelable; +import com.google.android.gms.common.internal.safeparcel.SafeParcelableCreatorAndWriter; + +@SafeParcelable.Class +public class SyncBundleRequest extends AbstractSafeParcelable { + @Field(1) + public String unknownField; + + @Constructor + public SyncBundleRequest(@Param(1) String unknownField) { + this.unknownField = unknownField; + } + + @Override + public void writeToParcel(Parcel out, int flags) { + CREATOR.writeToParcel(this, out, flags); + } + + public static final SafeParcelableCreatorAndWriter CREATOR = findCreator(SyncBundleRequest.class); +}