diff --git a/googleplay-protobuf/build.rs b/googleplay-protobuf/build.rs index 478b460..c55d9c0 100644 --- a/googleplay-protobuf/build.rs +++ b/googleplay-protobuf/build.rs @@ -6,7 +6,7 @@ extern crate prost_build; fn main() { if !Path::new("src/googleplay.rs").exists() { - prost_build::compile_protos(&["protos/googleplay.proto"], + prost_build::compile_protos(&["protos/GooglePlay.proto"], &["protos/"]).unwrap(); let out_dir = env::var("OUT_DIR").unwrap(); diff --git a/googleplay-protobuf/protos/GooglePlay.proto b/googleplay-protobuf/protos/GooglePlay.proto new file mode 100644 index 0000000..8845166 --- /dev/null +++ b/googleplay-protobuf/protos/GooglePlay.proto @@ -0,0 +1,2187 @@ +syntax = "proto2"; + +option java_package = "com.aurora.gplayapi"; +option java_multiple_files = true; + +message AndroidAppDeliveryData { + optional int64 downloadSize = 1; + optional string sha1 = 2; + optional string downloadUrl = 3; + repeated AppFileMetadata additionalFile = 4; + repeated HttpCookie downloadAuthCookie = 5; + optional bool forwardLocked = 6; + optional int64 refundTimeout = 7; + optional bool serverInitiated = 8 [default = true]; + optional int64 postInstallRefundWindowMillis = 9; + optional bool immediateStartNeeded = 10; + optional AndroidAppPatchData patchData = 11; + optional EncryptionParams encryptionParams = 12; + optional string compressedDownloadUrl = 13; + optional int64 compressedSize = 14; + repeated SplitDeliveryData splitDeliveryData = 15; + optional int32 installLocation = 16; + optional int64 type = 17; + optional CompressedAppData compressedAppData = 18; + optional string sha256 = 19; +} + +message SplitDeliveryData { + optional string name = 1; + optional int64 downloadSize = 2; + optional int64 compressedSize = 3; + optional string sha1 = 4; + optional string downloadUrl = 5; + optional string compressedDownloadUrl = 6; + optional AndroidAppPatchData patchData = 7; + optional CompressedAppData compressedAppData = 8; + optional string sha256 = 9; +} + +message AndroidAppPatchData { + optional int32 baseVersionCode = 1; + optional string baseSha1 = 2; + optional string downloadUrl = 3; + optional int32 patchFormat = 4[default = 1]; + optional int64 maxPatchSize = 5; +} + +message CompressedAppData{ + optional int64 type = 1; + optional int64 size = 2; + optional string downloadUrl = 3; +} + +message AppFileMetadata { + optional int32 fileType = 1; + optional int32 versionCode = 2; + optional int64 size = 3; + optional string downloadUrl = 4; + optional AndroidAppPatchData patchData = 5; + optional int64 compressedSize = 6; + optional string compressedDownloadUrl = 7; + optional string sha1 = 8; +} + +message EncryptionParams { + optional int32 version = 1; + optional string encryptionKey = 2; + optional string hMacKey = 3; +} + +message HttpCookie { + optional string name = 1; + optional string value = 2; +} + +message Address { + optional string name = 1; + optional string addressLine1 = 2; + optional string addressLine2 = 3; + optional string city = 4; + optional string state = 5; + optional string postalCode = 6; + optional string postalCountry = 7; + optional string dependentLocality = 8; + optional string sortingCode = 9; + optional string languageCode = 10; + optional string phoneNumber = 11; + optional bool deprecatedIsReduced = 12; + optional string firstName = 13; + optional string lastName = 14; + optional string email = 15; +} + +message BrowseLink { + optional string name = 1; + optional string dataUrl = 3; + optional bytes serverLogsCookie = 4; + optional Image icon = 5; +} + +message BrowseResponse { + optional string contentsUrl = 1; + optional string promoUrl = 2; + repeated BrowseLink category = 3; + repeated BrowseLink breadcrumb = 4; + repeated QuickLink quickLink = 5; + optional bytes serverLogsCookie = 6; + optional string title = 7; + optional int32 backendId = 8; + optional BrowseTab browseTab = 9; + optional int32 landingTabIndex = 10; + optional int32 quickLinkTabIndex = 11; + optional int32 quickLinkFallbackTabIndex = 12; + optional bool isFamilySafe = 14; + optional string shareUrl = 18; +} + +message DirectPurchase { + optional string detailsUrl = 1; + optional string purchaseItemId = 2; + optional string parentItemId = 3; + optional int32 offerType = 4[default = 1]; +} + +message RedeemGiftCard { + optional string prefillCode = 1; + optional string partnerPayload = 2; +} + +message ResolvedLink { + optional string detailsUrl = 1; + optional string browseUrl = 2; + optional string searchUrl = 3; + optional DirectPurchase directPurchase = 4; + optional string homeUrl = 5; + optional RedeemGiftCard redeemGiftCard = 6; + optional bytes serverLogsCookie = 7; + optional DocId DocId = 8; + optional string wishlistUrl = 9; + optional int32 backend = 10; + optional string query = 11; + optional string myAccountUrl = 12; + optional HelpCenter helpCenter = 13; +} + +message HelpCenter { + optional string contextId = 1; +} + +message QuickLink { + optional string name = 1; + optional Image image = 2; + optional ResolvedLink link = 3; + optional bool displayRequired = 4; + optional bytes serverLogsCookie = 5; + optional int32 backendId = 6; + optional bool prismStyle = 7; +} + +message BrowseTab { + optional string title = 1; + optional bytes serverLogsCookie = 2; + optional string listUrl = 3; + repeated BrowseLink browseLink = 4; + repeated QuickLink quickLink = 5; + optional string quickLinkTitle = 6; + optional string categoriesTitle = 7; + optional int32 backendId = 8; + optional string highlightsBannerUrl = 9; +} + +message BuyResponse { + optional PurchaseNotificationResponse purchaseResponse = 1; + optional group CheckoutInfo = 2 { + optional LineItem item = 3; + repeated LineItem subItem = 4; + repeated group CheckoutOption = 5 { + optional string formOfPayment = 6; + optional string encodedAdjustedCart = 7; + optional string instrumentId = 15; + repeated LineItem item = 16; + repeated LineItem subItem = 17; + optional LineItem total = 18; + repeated string footerHtml = 19; + optional int32 instrumentFamily = 29; + repeated int32 deprecatedInstrumentInapplicableReason = 30; + optional bool selectedInstrument = 32; + optional LineItem summary = 33; + repeated string footnoteHtml = 35; + optional Instrument instrument = 43; + optional string purchaseCookie = 45; + repeated string disabledReason = 48; + } + optional string deprecatedCheckoutUrl = 10; + optional string addInstrumentUrl = 11; + repeated string footerHtml = 20; + repeated int32 eligibleInstrumentFamily = 31; + repeated string footnoteHtml = 36; + repeated Instrument eligibleInstrument = 44; + } + optional string continueViaUrl = 8; + optional string purchaseStatusUrl = 9; + optional string checkoutServiceId = 12; + optional bool checkoutTokenRequired = 13; + optional string baseCheckoutUrl = 14; + repeated string tosCheckboxHtml = 37; + optional int32 iabPermissionError = 38; + optional PurchaseStatusResponse purchaseStatusResponse = 39; + optional string purchaseCookie = 46; + optional Challenge challenge = 49; + optional string addInstrumentPromptHtml = 50; + optional string confirmButtonText = 51; + optional string permissionErrorTitleText = 52; + optional string permissionErrorMessageText = 53; + optional bytes serverLogsCookie = 54; + optional string encodedDeliveryToken = 55; + optional string unknownToken = 56; +} + +message LineItem { + optional string name = 1; + optional string description = 2; + optional Offer offer = 3; + optional Money amount = 4; +} + +message Money { + optional int64 micros = 1; + optional string currencyCode = 2; + optional string formattedAmount = 3; +} + +message PurchaseNotificationResponse { + optional int32 status = 1; + optional DebugInfo debugInfo = 2; + optional string localizedErrorMessage = 3; + optional string purchaseId = 4; +} + +message PurchaseStatusResponse { + optional int32 status = 1; + optional string statusMsg = 2; + optional string statusTitle = 3; + optional string briefMessage = 4; + optional string infoUrl = 5; + optional LibraryUpdate libraryUpdate = 6; + optional Instrument rejectedInstrument = 7; + optional AndroidAppDeliveryData appDeliveryData = 8; +} + +message PurchaseHistoryDetails { + optional int64 purchaseTimestampMillis = 2; + optional string purchaseDetailsHtml = 3; + optional Offer offer = 5; + optional string purchaseStatus = 6; + optional string titleBylineHtml = 7; + optional bytes clientRefundContext = 8; + optional Image purchaseDetailsImage = 9; +} + +message BillingProfileResponse { + optional int32 result = 1; + optional BillingProfile billingProfile = 2; + optional string userMessageHtml = 3; +} + +message CheckInstrumentResponse { + optional bool userHasValidInstrument = 1; + optional bool checkoutTokenRequired = 2; + repeated Instrument instrument = 4; + repeated Instrument eligibleInstrument = 5; +} + +message InstrumentSetupInfoResponse { + repeated InstrumentSetupInfo setupInfo = 1; + optional bool checkoutTokenRequired = 2; +} + +message RedeemGiftCardRequest { + optional string giftCardPin = 1; + optional Address address = 2; + repeated string acceptedLegalDocumentId = 3; + optional string checkoutToken = 4; +} + +message RedeemGiftCardResponse { + optional int32 result = 1; + optional string userMessageHtml = 2; + optional string balanceHtml = 3; + optional AddressChallenge addressChallenge = 4; + optional bool checkoutTokenRequired = 5; +} + +message UpdateInstrumentRequest { + optional Instrument instrument = 1; + optional string checkoutToken = 2; +} + +message UpdateInstrumentResponse { + optional int32 result = 1; + optional string instrumentId = 2; + optional string userMessageHtml = 3; + repeated InputValidationError errorInputField = 4; + optional bool checkoutTokenRequired = 5; + optional RedeemedPromoOffer redeemedOffer = 6; +} + +message InitiateAssociationResponse { + optional string userToken = 1; +} + +message VerifyAssociationResponse { + optional int32 status = 1; + optional Address billingAddress = 2; + optional CarrierTos carrierTos = 3; + optional string carrierErrorMessage = 4; +} + +message AddressChallenge { + optional string responseAddressParam = 1; + optional string responseCheckboxesParam = 2; + optional string title = 3; + optional string descriptionHtml = 4; + repeated FormCheckbox checkbox = 5; + optional Address address = 6; + repeated InputValidationError errorInputField = 7; + optional string errorHtml = 8; + repeated int32 requiredField = 9; + repeated Country supportedCountry = 10; +} + +message AuthenticationChallenge { + optional int32 authenticationType = 1; + optional string responseAuthenticationTypeParam = 2; + optional string responseRetryCountParam = 3; + optional string pinHeaderText = 4; + optional string pinDescriptionTextHtml = 5; + optional string gaiaHeaderText = 6; + optional string gaiaDescriptionTextHtml = 7; + optional string gaiaFooterTextHtml = 8; + optional FormCheckbox gaiaOptOutCheckbox = 9; + optional string gaiaOptOutDescriptionTextHtml = 10; +} + +message Challenge { + optional AddressChallenge addressChallenge = 1; + optional AuthenticationChallenge authenticationChallenge = 2; + optional WebViewChallenge webViewChallenge = 3; +} + +message Country { + optional string regionCode = 1; + optional string displayName = 2; +} + +message FormCheckbox { + optional string description = 1; + optional bool checked = 2; + optional bool required = 3; + optional string id = 4; +} + +message InputValidationError { + optional int32 inputField = 1; + optional string errorMessage = 2; +} + +message WebViewChallenge { + optional string startUrl = 1; + optional string targetUrlRegexp = 2; + optional string cancelButtonDisplayLabel = 3; + optional string responseTargetUrlParam = 4; + optional string cancelUrlRegexp = 5; + optional string title = 6; +} + +message AddCreditCardPromoOffer { + optional string headerText = 1; + optional string descriptionHtml = 2; + optional Image image = 3; + optional string introductoryTextHtml = 4; + optional string offerTitle = 5; + optional string noActionDescription = 6; + optional string termsAndConditionsHtml = 7; +} + +message AvailablePromoOffer { + optional AddCreditCardPromoOffer addCreditCardOffer = 1; +} + +message CheckPromoOfferResponse { + repeated AvailablePromoOffer availableOffer = 1; + optional RedeemedPromoOffer redeemedOffer = 2; + optional bool checkoutTokenRequired = 3; +} + +message RedeemedPromoOffer { + optional string headerText = 1; + optional string descriptionHtml = 2; + optional Image image = 3; +} + +message DocId { + optional string backendDocId = 1; + optional int32 type = 2[default = 1]; + optional int32 backend = 3; +} + +message Install { + optional fixed64 androidId = 1; + optional int32 version = 2; + optional bool bundled = 3; + optional bool pending = 4; + optional int64 lastUpdated = 5; +} + +message GroupLicenseKey { + optional fixed64 dasher_customer_id = 1; + optional DocId docId = 2; + optional int32 licensed_offer_type = 3 [default = 1]; + optional int32 type = 4; + optional int32 rental_period_days = 5; +} + +message LicenseTerms { + optional GroupLicenseKey groupLicenseKey = 1; +} + +message Offer { + optional int64 micros = 1; + optional string currencyCode = 2; + optional string formattedAmount = 3; + repeated Offer convertedPrice = 4; + optional bool checkoutFlowRequired = 5; + optional int64 fullPriceMicros = 6; + optional string formattedFullAmount = 7; + optional int32 offerType = 8[default = 1]; + optional RentalTerms rentalTerms = 9; + optional int64 onSaleDate = 10; + repeated string promotionLabel = 11; + optional SubscriptionTerms subscriptionTerms = 12; + optional string formattedName = 13; + optional string formattedDescription = 14; + optional bool preorder = 15; + optional int32 onSaleDateDisplayTimeZoneOffsetMillis = 16; + optional int32 licensedOfferType = 17; + optional SubscriptionContentTerms subscriptionContentTerms = 18; + optional string offerId = 19; + optional int64 preorderFulfillmentDisplayDate = 20; + optional LicenseTerms licenseTerms = 21; + optional bool sale = 22; + optional VoucherTerms voucherTerms = 23; + repeated OfferPayment offerPayment = 24; + optional bool repeatLastPayment = 25; + optional string buyButtonLabel = 26; + optional bool instantPurchaseEnabled = 27; + optional int64 saleEndTimestamp = 30; + optional string saleMessage = 31; +} + +message MonthAndDay { + optional uint32 month = 1; + optional uint32 day = 2; +} + +message OfferPaymentPeriod { + optional TimePeriod duration = 1; + optional MonthAndDay start = 2; + optional MonthAndDay end = 3; +} + +message OfferPaymentOverride { + optional int64 micros = 1; + optional MonthAndDay start = 2; + optional MonthAndDay end = 3; +} + +message OfferPayment { + optional int64 micros = 1; + optional string currencyCode = 2; + optional OfferPaymentPeriod offerPaymentPeriod = 3; + repeated OfferPaymentOverride offerPaymentOverride = 4; +} + +message VoucherTerms { +} + +message RentalTerms { + optional int32 dEPRECATEDGrantPeriodSeconds = 1; + optional int32 dEPRECATEDActivatePeriodSeconds = 2; + optional TimePeriod grantPeriod = 3; + optional TimePeriod activatePeriod = 4; +} + +message SignedData { + optional string signedData = 1; + optional string signature = 2; +} + +message SubscriptionContentTerms { + optional DocId requiredSubscription = 1; +} + +message GroupLicenseInfo { + optional int32 licensedOfferType = 1; + optional fixed64 gaiaGroupId = 2; +} + +message LicensedDocumentInfo { + repeated fixed64 gaiaGroupId = 1; +} + +message OwnershipInfo { + optional int64 initiationTimestamp = 1; + optional int64 validUntilTimestamp = 2; + optional bool autoRenewing = 3; + optional int64 refundTimeoutTimestamp = 4; + optional int64 postDeliveryRefundWindowMillis = 5; + optional SignedData developerPurchaseInfo = 6; + optional bool preOrdered = 7; + optional bool hidden = 8; + optional RentalTerms rentalTerms = 9; + optional GroupLicenseInfo groupLicenseInfo = 10; + optional LicensedDocumentInfo licensedDocumentInfo = 11; + optional int32 quantity = 12; + optional int64 libraryExpirationTimestamp = 14; +} + +message SubscriptionTerms { + optional TimePeriod recurringPeriod = 1; + optional TimePeriod trialPeriod = 2; +} + +message TimePeriod { + optional int32 unit = 1; + optional int32 count = 2; +} + +message BillingAddressSpec { + optional int32 billingAddressType = 1; + repeated int32 requiredField = 2; +} + +message BillingProfile { + repeated Instrument instrument = 1; + optional string selectedExternalInstrumentId = 2; + repeated BillingProfileOption billingProfileOption = 3; +} + +message BillingProfileOption { + optional int32 type = 1; + optional string displayTitle = 2; + optional string externalInstrumentId = 3; + optional TopupInfo topupInfo = 4; + optional CarrierBillingInstrumentStatus carrierBillingInstrumentStatus = 5; +} + +message CarrierBillingCredentials { + optional string value = 1; + optional int64 expiration = 2; +} + +message CarrierBillingInstrument { + optional string instrumentKey = 1; + optional string accountType = 2; + optional string currencyCode = 3; + optional int64 transactionLimit = 4; + optional string subscriberIdentifier = 5; + optional EncryptedSubscriberInfo encryptedSubscriberInfo = 6; + optional CarrierBillingCredentials credentials = 7; + optional CarrierTos acceptedCarrierTos = 8; +} + +message CarrierBillingInstrumentStatus { + optional CarrierTos carrierTos = 1; + optional bool associationRequired = 2; + optional bool passwordRequired = 3; + optional PasswordPrompt carrierPasswordPrompt = 4; + optional int32 apiVersion = 5; + optional string name = 6; + optional DeviceAssociation deviceAssociation = 7; + optional string carrierSupportPhoneNumber = 8; +} + +message CarrierTos { + optional CarrierTosEntry dcbTos = 1; + optional CarrierTosEntry piiTos = 2; + optional bool needsDcbTosAcceptance = 3; + optional bool needsPiiTosAcceptance = 4; +} + +message CarrierTosEntry { + optional string url = 1; + optional string version = 2; +} + +message CreditCardInstrument { + optional int32 type = 1; + optional string escrowHandle = 2; + optional string lastDigits = 3; + optional int32 expirationMonth = 4; + optional int32 expirationYear = 5; + repeated EfeParam escrowEfeParam = 6; +} + +message DeviceAssociation { + optional string userTokenRequestMessage = 1; + optional string userTokenRequestAddress = 2; +} + +message DisabledInfo { + optional int32 disabledReason = 1; + optional string disabledMessageHtml = 2; + optional string errorMessage = 3; +} + +message EfeParam { + optional int32 key = 1; + optional string value = 2; +} + +message Instrument { + optional string instrumentId = 1; + optional Address billingAddress = 2; + optional CreditCardInstrument creditCard = 3; + optional CarrierBillingInstrument carrierBilling = 4; + optional BillingAddressSpec billingAddressSpec = 5; + optional int32 instrumentFamily = 6; + optional CarrierBillingInstrumentStatus carrierBillingStatus = 7; + optional string displayTitle = 8; + optional TopupInfo topupInfoDeprecated = 9; + optional int32 version = 10; + optional StoredValueInstrument storedValue = 11; + repeated DisabledInfo disabledInfo = 12; +} + +message InstrumentSetupInfo { + optional int32 instrumentFamily = 1; + optional bool supported = 2; + optional AddressChallenge addressChallenge = 3; + optional Money balance = 4; + repeated string footerHtml = 5; +} + +message PasswordPrompt { + optional string prompt = 1; + optional string forgotPasswordUrl = 2; +} + +message StoredValueInstrument { + optional int32 type = 1; + optional Money balance = 2; + optional TopupInfo topupInfo = 3; +} + +message TopupInfo { + optional string optionsContainerDocIdDeprecated = 1; + optional string optionsListUrl = 2; + optional string subtitle = 3; + optional DocId optionsContainerDocId = 4; +} + +message ConsumePurchaseResponse { + optional LibraryUpdate libraryUpdate = 1; + optional int32 status = 2; +} + +message ContainerMetadata { + optional string browseUrl = 1; + optional string nextPageUrl = 2; + optional double relevance = 3; + optional int64 estimatedResults = 4; + optional string analyticsCookie = 5; + optional bool ordered = 6; + repeated ContainerView containerView = 7; + optional Image leftIcon = 8; +} + +message ContainerView { + optional bool selected = 1; + optional string title = 2; + optional string listUrl = 3; + optional bytes serverLogsCookie = 4; +} + +message FlagContentResponse { +} + +message ClientDownloadRequest { + message ApkInfo { + optional string packageName = 1; + optional int32 versionCode = 2; + } + message CertificateChain { + message Element { + optional bytes certificate = 1; + optional bool parsedSuccessfully = 2; + optional bytes subject = 3; + optional bytes issuer = 4; + optional bytes fingerprint = 5; + optional int64 expiryTime = 6; + optional int64 startTime = 7; + } + repeated Element element = 1; + } + message Digests { + optional bytes sha256 = 1; + optional bytes sha1 = 2; + optional bytes md5 = 3; + } + message Resource { + optional string url = 1; + optional int32 type = 2; + optional bytes remoteIp = 3; + optional string referrer = 4; + } + message SignatureInfo { + repeated CertificateChain certificateChain = 1; + optional bool trusted = 2; + } + optional string url = 1; + optional Digests digests = 2; + optional int64 length = 3; + repeated Resource resources = 4; + optional SignatureInfo signature = 5; + optional bool userInitiated = 6; + repeated string clientAsn = 8; + optional string fileBasename = 9; + optional int32 downloadType = 10; + optional string locale = 11; + optional ApkInfo apkInfo = 12; + optional fixed64 androidId = 13; + repeated string originatingPackages = 15; + optional SignatureInfo originatingSignature = 17; +} + +message ClientDownloadResponse { + message MoreInfo { + optional string description = 1; + optional string url = 2; + } + optional int32 verdict = 1; + optional MoreInfo moreInfo = 2; + optional bytes token = 3; +} + +message ClientDownloadStatsRequest { + optional int32 userDecision = 1; + optional bytes token = 2; +} + +message DebugInfo { + repeated string message = 1; + repeated group Timing = 2 { + optional string name = 3; + optional double timeInMs = 4; + } +} + +message DebugSettingsResponse { + optional string playCountryOverride = 1; + optional string playCountryDebugInfo = 2; +} + +message DeliveryResponse { + optional int32 status = 1[default = 1]; + optional AndroidAppDeliveryData appDeliveryData = 2; +} + +message BulkDetailsEntry { + optional Item item = 1; +} + +message BulkDetailsRequest { + repeated string DocId = 1; + optional bool includeChildDocs = 2[default = true]; + optional bool includeDetails = 3; + optional string sourcePackageName = 4; + repeated int32 installedVersionCode = 7; +} + +message BulkDetailsResponse { + repeated BulkDetailsEntry entry = 1; +} + +message DetailsResponse { + optional string analyticsCookie = 2; + optional Review userReview = 3; + optional Item item = 4; + optional string footerHtml = 5; + optional bytes serverLogsCookie = 6; + repeated DiscoveryBadge discoveryBadge = 7; + optional bool enableReviews = 8 [default = true]; + optional Features features = 12; + optional string detailsStreamUrl = 13; + optional string userReviewUrl = 14; + optional string postAcquireDetailsStreamUrl = 17; +} + +message DiscoveryBadge { + optional string label = 1; + optional Image image = 2; + optional int32 backgroundColor = 3; + optional DiscoveryBadgeLink badgeContainer1 = 4; + optional bytes serverLogsCookie = 5; + optional bool isPlusOne = 6; + optional float aggregateRating = 7; + optional int32 userStarRating = 8; + optional string downloadCount = 9; + optional string downloadUnits = 10; + optional string contentDescription = 11; + optional PlayerBadge playerBadge = 12; + optional bytes familyAgeRangeBadge = 13; + optional bytes familyCategoryBadge = 14; +} + +message PlayerBadge { + optional Image overlayIcon = 1; +} + +message DiscoveryBadgeLink { + optional Link link = 1; + optional string userReviewsUrl = 2; + optional string criticReviewsUrl = 3; +} + +message Features { + repeated Feature featurePresence = 1; + repeated Feature featureRating = 2; +} + +message Feature { + optional string label = 1; + optional string value = 3; +} + +message DeviceConfigurationProto { + optional int32 touchScreen = 1; + optional int32 keyboard = 2; + optional int32 navigation = 3; + optional int32 screenLayout = 4; + optional bool hasHardKeyboard = 5; + optional bool hasFiveWayNavigation = 6; + optional int32 screenDensity = 7; + optional int32 glEsVersion = 8; + repeated string systemSharedLibrary = 9; + repeated string systemAvailableFeature = 10; + repeated string nativePlatform = 11; + optional int32 screenWidth = 12; + optional int32 screenHeight = 13; + repeated string systemSupportedLocale = 14; + repeated string glExtension = 15; + optional int32 deviceClass = 16; + optional int32 maxApkDownloadSizeMb = 17[default = 50]; + optional int32 smallestScreenWidthDP = 18; + optional int32 lowRamDevice = 19[default = 0]; + optional int64 totalMemoryBytes = 20[default = 8354971648]; + optional int32 maxNumOf_CPUCores = 21[default = 8]; + repeated DeviceFeature deviceFeature = 26; + optional int32 unknown28 = 28[default = 0]; + optional int32 unknown30 = 30[default = 4]; +} + +message DeviceFeature{ + optional string name = 1; + optional int32 value = 2; +} + +message Document { + optional DocId DocId = 1; + optional DocId fetchDocId = 2; + optional DocId sampleDocId = 3; + optional string title = 4; + optional string url = 5; + repeated string snippet = 6; + optional Offer priceDeprecated = 7; + optional Availability availability = 9; + repeated Image image = 10; + repeated Document child = 11; + optional AggregateRating aggregateRating = 13; + repeated Offer offer = 14; + repeated TranslatedText translatedSnippet = 15; + repeated DocumentVariant documentVariant = 16; + repeated string categoryId = 17; + repeated Document decoration = 18; + repeated Document parent = 19; + optional string privacyPolicyUrl = 20; + optional string consumptionUrl = 21; + optional int32 estimatedNumChildren = 22; + optional string subtitle = 23; +} + +message DocumentVariant { + optional int32 variationType = 1; + optional Rule rule = 2; + optional string title = 3; + repeated string snippet = 4; + optional string recentChanges = 5; + repeated TranslatedText autoTranslation = 6; + repeated Offer offer = 7; + optional int64 channelId = 9; + repeated Document child = 10; + repeated Document decoration = 11; + repeated Image image = 12; + repeated string categoryId = 13; + optional string subtitle = 14; +} + +message SectionImage { + repeated ImageContainer imageContainer = 1; +} + +message ImageContainer { + optional Image image = 4; +} + +message Image { + optional int32 imageType = 1; + optional group Dimension = 2 { + optional int32 width = 3; + optional int32 height = 4; + optional int32 aspectRatio = 18; + } + optional string imageUrl = 5; + optional string altTextLocalized = 6; + optional string secureUrl = 7; + optional int32 positionInSequence = 8; + optional bool supportsFifeUrlOptions = 9; + optional group Citation = 10 { + optional string titleLocalized = 11; + optional string url = 12; + } + optional int32 durationSeconds = 14; + optional string fillColorRGB = 15; + optional bool autogen = 16; + optional Attribution attribution = 17; + optional string backgroundColorRgb = 19; + optional ImagePalette palette = 20; + optional int32 deviceClass = 21; + optional bool supportsFifeMonogramOption = 22; + optional string imageUrlAlt = 28; +} + +message Attribution { + optional string sourceTitle = 1; + optional string sourceUrl = 2; + optional string licenseTitle = 3; + optional string licenseUrl = 4; +} + +message ImagePalette { + optional string lightVibrantRGB = 1; + optional string vibrantRGB = 2; + optional string darkVibrantRGB = 3; + optional string lightMutedRGB = 4; + optional string mutedRGB = 5; + optional string darkMutedRGB = 6; +} + +message TranslatedText { + optional string text = 1; + optional string sourceLocale = 2; + optional string targetLocale = 3; +} + +message PlusOneData { + optional bool setByUser = 1; + optional int64 total = 2; + optional int64 circlesTotal = 3; + repeated PlusPerson circlesPeople = 4; +} + +message PlusPerson { + optional string displayName = 2; + optional string profileImageUrl = 4; +} + +message AppDetails { + optional string developerName = 1; + optional int32 majorVersionNumber = 2; + optional int32 versionCode = 3; + optional string versionString = 4; + optional string title = 5; + repeated string appCategory = 7; + optional int32 contentRating = 8; + optional int64 infoDownloadSize = 9; + repeated string permission = 10; + optional string developerEmail = 11; + optional string developerWebsite = 12; + optional string infoDownload = 13; + optional string packageName = 14; + optional string recentChangesHtml = 15; + optional string infoUpdatedOn = 16; + repeated FileMetadata file = 17; + optional string appType = 18; + repeated string certificateHash = 19; + optional bool variesWithDevice = 21 [default = true]; + repeated CertificateSet certificateSet = 22; + repeated string autoAcquireFreeAppIfHigherVersionAvailableTag = 23; + optional bool hasInstantLink = 24; + repeated string splitId = 25; + optional bool gamepadRequired = 26; + optional bool externallyHosted = 27; + optional bool everExternallyHosted = 28; + optional string installNotes = 30; + optional int32 installLocation = 31; + optional int32 targetSdkVersion = 32; + optional string hasPreregistrationPromoCode = 33; + optional Dependencies dependencies = 34; + optional TestingProgramInfo testingProgramInfo = 35; + optional EarlyAccessInfo earlyAccessInfo = 36; + optional EditorChoice editorChoice = 41; + optional string instantLink = 43; + optional string developerAddress = 45; + optional Publisher publisher = 46; + optional string categoryName = 48; + optional int64 downloadCount = 53; + optional string downloadLabelDisplay = 61; + optional string inAppProduct = 67; + optional string downloadLabelAbbreviated = 77; + optional string downloadLabel = 78; + optional Compatibility compatibility = 82; +} + +message Compatibility { + repeated ActiveDevice activeDevices = 1; +} + +message ActiveDevice { + optional string requiredOS = 1; + optional string name = 2; +} + +message ModifyLibrary{ + optional string id = 1; + optional string packageToAdd = 2; + optional string packageToRemove = 3; +} + +message Publisher{ + optional PublisherStream publisherStream = 2; +} + +message PublisherStream{ + optional string moreUrl = 3; + optional string query = 11; +} + +message EditorChoice{ + repeated string bulletins = 1; + optional string description = 2; + optional SubStream stream = 3; + optional string title = 4; + optional string subtitle = 5; +} + +message CertificateSet { + optional string certificateHash = 1; + optional string sha256 = 2; +} + +message Dependencies { + optional int32 unknown = 1; + optional int64 size = 2; + repeated Dependency dependency = 3; + optional int32 targetSdk = 4; + optional int32 unknown2 = 5; + repeated string splitApks = 11; + repeated LibraryDependency libraryDependency = 13; +} + +message Dependency { + optional string packageName = 1; + optional int32 version = 2; + optional int32 unknown4 = 4; +} + +message LibraryDependency { + optional string packageName = 1; + optional int32 versionCode = 2; +} + + +message TestingProgramInfo { + optional bool subscribed = 2; + optional bool subscribedAndInstalled = 3; + optional string email = 5; + optional string displayName = 7; + optional Image image = 6; +} + +message EarlyAccessInfo { + optional string email = 3; +} + +message DocumentDetails { + optional AppDetails appDetails = 1; + optional SubscriptionDetails subscriptionDetails = 7; +} + +message PatchDetails { + optional int32 baseVersionCode = 1; + optional int64 size = 2; +} + +message FileMetadata { + optional int32 fileType = 1; + optional int32 versionCode = 2; + optional int64 size = 3; + optional string splitId = 4; + optional int64 compressedSize = 5; + repeated PatchDetails patchDetails = 6; +} + +message SubscriptionDetails { + optional int32 subscriptionPeriod = 1; +} + +message Bucket { + optional bool multiCorpus = 2; + optional string title = 3; + optional string iconUrl = 4; + optional string fullContentsUrl = 5; + optional double relevance = 6; + optional int64 estimatedResults = 7; + optional string analyticsCookie = 8; + optional string fullContentsListUrl = 9; + optional string nextPageUrl = 10; + optional bool ordered = 11; +} + +message ListResponse { + repeated Bucket bucket = 1; + repeated Item item = 2; +} + +message Item { + optional string id = 1; + optional string subId = 2; + optional int32 type = 3; + optional int32 categoryId = 4; + optional string title = 5; + optional string creator = 6; + optional string descriptionHtml = 7; + repeated Offer offer = 8; + optional Availability availability = 9; + repeated Image image = 10; + repeated Item subItem = 11; + optional ContainerMetadata containerMetadata = 12; + optional DocumentDetails details = 13; + optional AggregateRating aggregateRating = 14; + optional Annotations annotations = 15; + optional string detailsUrl = 16; + optional string shareUrl = 17; + optional string reviewsUrl = 18; + optional string backendUrl = 19; + optional string purchaseDetailsUrl = 20; + optional bool detailsReusable = 21; + optional string subtitle = 22; + optional string translatedDescriptionHtml = 23; + optional bytes serverLogsCookie = 24; + optional AppInfo appInfo = 25; + optional bool mature = 26; + optional string promotionalDescription = 27; + optional bool availableForPreregistration = 29; + repeated ReviewTip tip = 30; + optional string reviewSnippetsUrl = 31; + optional bool forceShareability = 32; + optional bool useWishlistAsPrimaryAction = 33; + optional string reviewQuestionsUrl = 34; + optional string reviewSummaryUrl = 39; +} + +message AppInfo { + optional string title = 1; + repeated AppInfoSection section = 2; +} + +message AppInfoSection { + optional string label = 1; + optional AppInfoContainer container = 3; +} + +message AppInfoContainer { + optional Image image = 1; + optional string description = 2; +} + +message Annotations { + optional SectionMetaData sectionRelated = 1; + optional SectionMetaData sectionMoreBy = 2; + repeated Warning warning = 4; + optional SectionMetaData sectionBodyOfWork = 5; + optional SectionMetaData sectionCoreContent = 6; + optional OverlayMetaData overlayMetaData = 7; + repeated Badge badgeForCreator = 8; + repeated Badge infoBadge = 9; + optional AnnotationLink annotationLink = 10; + optional SectionMetaData sectionCrossSell = 11; + optional SectionMetaData sectionRelatedItemType = 12; + repeated PromotedDoc promotedDoc = 13; + optional string offerNote = 14; + optional string privacyPolicyUrl = 18; + optional SuggestionReasons suggestion_reasons = 19; + optional Warning optimalDeviceClassWarning = 20; + repeated BadgeContainer badgeContainer = 21; + optional SectionMetaData sectionSuggestForRating = 22; + optional SectionMetaData sectionPurchaseCrossSell = 24; + repeated OverflowLink overflowLink = 25; + optional string attributionHtml = 27; + optional PurchaseHistoryDetails purchaseHistoryDetails = 28; + optional Badge badgeForLegacyRating = 29; + repeated VoucherInfo voucherInfo = 30; + optional SectionMetaData sectionFeaturedApps = 32; + repeated SectionMetaData detailsPageCluster = 34; + optional VideoAnnotations videoAnnotations = 35; + optional SectionMetaData sectionPurchaseRelatedTopics = 36; + optional MySubscriptionDetails mySubscriptionDetails = 37; + optional MyRewardDetails myRewardDetails = 38; + repeated Badge featureBadge = 39; + optional Snippet snippet = 42; + optional string downloadsLabel = 48; + optional Badge badgeForRating = 50; + optional CategoryInfo categoryInfo = 53; + optional EditorReason reasons = 60; + optional Stream topChartStream = 65; + optional string categoryName = 66; + repeated Chip chip = 71; + repeated Badge displayBadge = 72; + optional string liveStreamUrl = 80; + optional string promotionStreamUrl = 85; + optional OverlayMetaData overlayMetaDataExtra = 91; + optional SectionImage sectionImage = 94; + optional SubStream categoryStream = 97; +} + +message EditorReason { + repeated string bulletin = 1; + optional string description = 2; +} + +message SectionMetaData { + optional string header = 1; + optional string listUrl = 2; + optional string browseUrl = 3; + optional string description = 4; +} + +message OverlayMetaData{ + optional OverlayHeader overlayHeader = 1; + optional OverlayTitle overlayTitle = 181; + optional OverlayDescription overlayDescription = 182; +} + +message OverlayHeader{ + +} + +message OverlayTitle{ + optional string title = 1; + optional CompositeImage compositeImage = 3; +} + +message CompositeImage{ + optional int32 type = 1; + optional string url = 5; + optional int32 typeAlt = 9; + optional string title = 24; + optional string urlAlt = 28; +} + +message OverlayDescription{ + optional string description = 2; +} + +message SuggestionReasons { + repeated Reason reason = 2; + optional Dismissal neutralDismissal = 4; + optional Dismissal positiveDismissal = 5; +} + +message Reason { + optional string descriptionHtml = 3; + optional ReasonPlusOne reasonPlusOne = 4; + optional ReasonReview reasonReview = 5; + optional Dismissal dismissal = 7; + optional ReasonUserAction reasonUserAction = 9; +} + +message ReasonPlusOne { + optional string localizedDescriptionHtml = 1; + repeated UserProfile userProfile = 3; +} + +message ReasonReview { + optional Review review = 1; +} + +message ReasonUserAction { + optional UserProfile userProfile = 1; + optional string localizedDescriptionHtml = 2; +} + +message Dismissal { + optional string url = 1; + optional string descriptionHtml = 2; +} + +message Snippet { + optional string snippetHtml = 1; +} + +message MyRewardDetails { + optional int64 expirationTimeMillis = 1; + optional string expirationDescription = 2; + optional string buttonLabel = 3; + optional Link linkAction = 4; +} + +message MySubscriptionDetails { + optional string subscriptionStatusHtml = 1; + optional string title = 2; + optional string titleByLineHtml = 3; + optional string formattedPrice = 4; + optional string priceByLineHtml = 5; + optional bool cancelSubscription = 6; + optional Link paymentDeclinedLearnMoreLink = 7; + optional bool inTrialPeriod = 8; + optional Image titleByLineIcon = 9; +} + +message VideoAnnotations { + optional bool bundle = 1; + optional string bundleContentListUrl = 2; + optional string extrasContentListUrl = 3; + optional string alsoAvailableInListUrl = 4; + repeated DocId bundleDocId = 5; +} + +message VoucherInfo { + optional Item item = 1; + repeated Offer offer = 2; +} + +message BadgeContainer { + optional string title = 1; + repeated Image image = 2; + repeated Badge badge = 3; +} + +message OverflowLink { + optional string title = 1; + optional Link link = 2; +} + +message PromotedDoc { + optional string title = 1; + optional string subtitle = 2; + repeated Image image = 3; + optional string description = 4; + optional string detailsUrl = 5; +} + +message Warning { + optional string localizedMessage = 1; +} + +message AnnotationLink { + optional string uri = 1; + optional ResolvedLink resolvedLink = 2; + optional int32 uriBackend = 3; +} + +message Rated { + optional string label = 1; + optional Image image = 2; + optional string learnMoreHtmlLink = 4; +} + +message Badge { + optional string major = 1; + optional Image image = 2; + optional string minor = 3; + optional string minorHtml = 4; + optional SubBadge subBadge = 6; + optional StreamLink link = 7; + optional string description = 8; + optional SubStream stream = 12; +} + +message SubBadge { + optional Image image = 1; + optional string description = 4; + optional StreamLink link = 5; +} + +message Stream{ + optional string title = 1; + optional SubStream stream = 2; + optional string subtitle = 3; +} + +message SubStream{ + optional StreamLink link = 2; +} + +message Link { + optional string uri = 1; + optional ResolvedLink resolvedLink = 2; + optional int32 uriBackend = 3; +} + +message StreamLink{ + optional string url = 1; + optional string streamUrl = 2; + optional string searchUrl = 3; + optional string subCategoryUrl = 5; + optional string searchQuery = 11; +} + +message Chip{ + optional string title = 1; + optional SubStream stream = 2; +} + +message CategoryInfo { + optional string category = 1; + optional string appCategory = 2; +} + +message EncryptedSubscriberInfo { + optional string data = 1; + optional string encryptedKey = 2; + optional string signature = 3; + optional string initVector = 4; + optional int32 googleKeyVersion = 5; + optional int32 carrierKeyVersion = 6; +} + +message Availability { + optional int32 restriction = 5; + optional int32 offerType = 6; + optional Rule rule = 7; + repeated group PerDeviceAvailabilityRestriction = 9 { + optional fixed64 androidId = 10; + optional int32 deviceRestriction = 11; + optional int64 channelId = 12; + optional FilterEvaluationInfo filterInfo = 15; + } + optional bool availableIfOwned = 13; + repeated Install install = 14; + optional FilterEvaluationInfo filterInfo = 16; + optional OwnershipInfo ownershipInfo = 17; + repeated AvailabilityProblem availabilityProblem = 18; + optional bool hidden = 21; +} + +message AvailabilityProblem { + optional int32 problemType = 1; + repeated string missingValue = 2; +} + +message FilterEvaluationInfo { + repeated RuleEvaluation ruleEvaluation = 1; +} + +message Rule { + optional bool negate = 1; + optional int32 operator = 2; + optional int32 key = 3; + repeated string stringArg = 4; + repeated int64 longArg = 5; + repeated double doubleArg = 6; + repeated Rule subRule = 7; + optional int32 responseCode = 8; + optional string comment = 9; + repeated fixed64 stringArgHash = 10; + repeated int32 constArg = 11; + optional int32 availabilityProblemType = 12; + optional bool includeMissingValues = 13; +} + +message RuleEvaluation { + optional Rule rule = 1; + repeated string actualStringValue = 2; + repeated int64 actualLongValue = 3; + repeated bool actualBoolValue = 4; + repeated double actualDoubleValue = 5; +} + +message LibraryAppDetails { + optional string certificateHash = 2; + optional int64 refundTimeoutTimestamp = 3; + optional int64 postDeliveryRefundWindowMillis = 4; +} + +message LibraryInAppDetails { + optional string signedPurchaseData = 1; + optional string signature = 2; +} + +message LibraryMutation { + optional DocId DocId = 1; + optional int32 offerType = 2; + optional int64 documentHash = 3; + optional bool deleted = 4; + optional LibraryAppDetails appDetails = 5; + optional LibrarySubscriptionDetails subscriptionDetails = 6; + optional LibraryInAppDetails inAppDetails = 7; +} + +message LibrarySubscriptionDetails { + optional int64 initiationTimestamp = 1; + optional int64 validUntilTimestamp = 2; + optional bool autoRenewing = 3; + optional int64 trialUntilTimestamp = 4; + optional string signedPurchaseData = 5; + optional string signature = 6; +} + +message LibraryUpdate { + optional int32 status = 1; + optional int32 corpus = 2; + optional bytes serverToken = 3; + repeated LibraryMutation mutation = 4; + optional bool hasMore = 5; + optional string libraryId = 6; +} + +message AndroidAppNotificationData { + optional int32 versionCode = 1; + optional string assetId = 2; +} + +message InAppNotificationData { + optional string checkoutOrderId = 1; + optional string inAppNotificationId = 2; +} + +message LibraryDirtyData { + optional int32 backend = 1; + optional string libraryId = 2; +} + +message Notification { + optional int32 notificationType = 1; + optional int64 timestamp = 3; + optional DocId DocId = 4; + optional string docTitle = 5; + optional string userEmail = 6; + optional AndroidAppNotificationData appData = 7; + optional AndroidAppDeliveryData appDeliveryData = 8; + optional PurchaseRemovalData purchaseRemovalData = 9; + optional UserNotificationData userNotificationData = 10; + optional InAppNotificationData inAppNotificationData = 11; + optional PurchaseDeclinedData purchaseDeclinedData = 12; + optional string notificationId = 13; + optional LibraryUpdate libraryUpdate = 14; + optional LibraryDirtyData libraryDirtyData = 15; +} + +message PurchaseDeclinedData { + optional int32 reason = 1; + optional bool showNotification = 2; +} + +message PurchaseRemovalData { + optional bool malicious = 1; +} + +message UserNotificationData { + optional string notificationTitle = 1; + optional string notificationText = 2; + optional string tickerText = 3; + optional string dialogTitle = 4; + optional string dialogText = 5; +} + +message AggregateRating { + optional int32 type = 1[default = 1]; + optional float starRating = 2; + optional uint64 ratingsCount = 3; + optional uint64 oneStarRatings = 4; + optional uint64 twoStarRatings = 5; + optional uint64 threeStarRatings = 6; + optional uint64 fourStarRatings = 7; + optional uint64 fiveStarRatings = 8; + optional uint64 thumbsUpCount = 9; + optional uint64 thumbsDownCount = 10; + optional uint64 commentCount = 11; + optional double bayesianMeanRating = 12; + repeated Tip tip = 13; + optional string ratingLabel = 17; + optional string ratingCountLabelAbbreviated = 18; + optional string ratingCountLabel = 19; +} + +message Tip { + optional string tipId = 1; + optional string text = 2; + optional int32 polarity = 3; + optional int64 reviewCount = 4; + optional string language = 5; + repeated string snippetReviewId = 6; +} + +message ReviewTip { + optional string tipUrl = 1; + optional string text = 2; + optional int32 polarity = 3; + optional int64 reviewCount = 4; +} + +message AcceptTosResponse { +} + +message CarrierBillingConfig { + optional string id = 1; + optional string name = 2; + optional int32 apiVersion = 3; + optional string provisioningUrl = 4; + optional string credentialsUrl = 5; + optional bool tosRequired = 6; + optional bool perTransactionCredentialsRequired = 7; + optional bool sendSubscriberIdWithCarrierBillingRequests = 8; +} + +message BillingConfig { + optional CarrierBillingConfig carrierBillingConfig = 1; + optional int32 maxIabApiVersion = 2; +} + +message CorpusMetadata { + optional int32 backend = 1; + optional string name = 2; + optional string landingUrl = 3; + optional string libraryName = 4; + optional string recsWidgetUrl = 6; + optional string shopName = 7; +} + +message Experiments { + repeated string experimentId = 1; +} + +message SelfUpdateConfig { + optional int32 latestClientVersionCode = 1; +} + +message TocResponse { + repeated CorpusMetadata corpus = 1; + optional int32 tosVersionDeprecated = 2; + optional string tosContent = 3; + optional string homeUrl = 4; + optional Experiments experiments = 5; + optional string tosCheckboxTextMarketingEmails = 6; + optional string tosToken = 7; + optional UserSettings userSettings = 8; + optional string iconOverrideUrl = 9; + optional SelfUpdateConfig selfUpdateConfig = 10; + optional bool requiresUploadDeviceConfig = 11; + optional BillingConfig billingConfig = 12; + optional string recsWidgetUrl = 13; + optional string socialHomeUrl = 15; + optional bool ageVerificationRequired = 16; + optional bool gPlusSignupEnabled = 17; + optional bool redeemEnabled = 18; + optional string helpUrl = 19; + optional int32 themeId = 20; + optional string entertainmentHomeUrl = 21; + optional string cookie = 22; +} + +message UserSettings { + optional bool tosCheckboxMarketingEmailsOptedIn = 1; + optional PrivacySetting privacySetting = 2; +} + +message PrivacySetting { + optional int32 type = 1; + optional int32 currentStatus = 2; + optional bool enabledByDefault = 3; +} + +message Payload { + optional ListResponse listResponse = 1; + optional DetailsResponse detailsResponse = 2; + optional ReviewResponse reviewResponse = 3; + optional BuyResponse buyResponse = 4; + optional SearchResponse searchResponse = 5; + optional TocResponse tocResponse = 6; + optional BrowseResponse browseResponse = 7; + optional PurchaseStatusResponse purchaseStatusResponse = 8; + optional string logResponse = 10; + optional string flagContentResponse = 13; + optional BulkDetailsResponse bulkDetailsResponse = 19; + optional DeliveryResponse deliveryResponse = 21; + optional AcceptTosResponse acceptTosResponse = 22; + optional CheckPromoOfferResponse checkPromoOfferResponse = 24; + optional InstrumentSetupInfoResponse instrumentSetupInfoResponse = 25; + optional AndroidCheckinResponse androidCheckinResponse = 26; + optional UploadDeviceConfigResponse uploadDeviceConfigResponse = 28; + optional SearchSuggestResponse searchSuggestResponse = 40; + optional ConsumePurchaseResponse consumePurchaseResponse = 30; + optional BillingProfileResponse billingProfileResponse = 31; + optional DebugSettingsResponse debugSettingsResponse = 34; + optional CheckIabPromoResponse checkIabPromoResponse = 35; + optional UserActivitySettingsResponse userActivitySettingsResponse = 36; + optional RecordUserActivityResponse recordUserActivityResponse = 37; + optional RedeemCodeResponse redeemCodeResponse = 38; + optional SelfUpdateResponse selfUpdateResponse = 39; + optional GetInitialInstrumentFlowStateResponse getInitialInstrumentFlowStateResponse = 41; + optional CreateInstrumentResponse createInstrumentResponse = 42; + optional ChallengeResponse challengeResponse = 43; + optional BackDeviceChoicesResponse backupDeviceChoicesResponse = 44; + optional BackupDocumentChoicesResponse backupDocumentChoicesResponse = 45; + optional EarlyUpdateResponse earlyUpdateResponse = 46; + optional PreloadsResponse preloadsResponse = 47; + optional MyAccountsResponse myAccountsResponse = 48; + optional ContentFilterResponse contentFilterResponse = 49; + optional ExperimentsResponse experimentsResponse = 50; + optional SurveyResponse surveyResponse = 51; + optional PingResponse pingResponse = 52; + optional UpdateUserSettingResponse updateUserSettingResponse = 53; + optional GetUserSettingsResponse getUserSettingsResponse = 54; + optional GetSharingSettingsResponse getSharingSettingsResponse = 56; + optional UpdateSharingSettingsResponse updateSharingSettingsResponse = 57; + optional ReviewSnippetsResponse reviewSnippetsResponse = 58; + optional DocumentSharingStateResponse documentSharingStateResponse = 59; + optional ModuleDeliveryResponse moduleDeliveryResponse = 70; + optional TestingProgramResponse testingProgramResponse = 80; + optional ReviewResponse reviewSummaryResponse = 129; +} + +message CheckIabPromoResponse { +} + +message UserActivitySettingsResponse { +} + +message RecordUserActivityResponse { +} + +message RedeemCodeResponse { +} + +message SelfUpdateResponse { +} + +message GetInitialInstrumentFlowStateResponse { +} + +message CreateInstrumentResponse { +} + +message ChallengeResponse { +} + +message BackDeviceChoicesResponse { +} + +message BackupDocumentChoicesResponse { +} + +message EarlyUpdateResponse { +} + +message PreloadsResponse { + optional Preload configPreload = 1; + message Preload { + optional DocId DocId = 1; + optional int32 versionCode = 2; + optional string title = 3; + optional Image icon = 4; + optional string deliveryToken = 5; + optional int32 installLocation = 6; + optional int64 size = 7; + } + repeated Preload appPreload = 2; +} + +message MyAccountsResponse { +} + +message ContentFilterResponse { +} + +message ExperimentsResponse { +} + +message SurveyResponse { +} + +message PingResponse { +} + +message UpdateUserSettingResponse { +} + +message GetUserSettingsResponse { +} + +message GetSharingSettingsResponse { +} + +message UpdateSharingSettingsResponse { +} + +message ReviewSnippetsResponse { +} + +message DocumentSharingStateResponse { +} + +message ModuleDeliveryResponse { +} + +message PreFetch { + optional string url = 1; + optional ResponseWrapper response = 2; + optional string etag = 3; + optional int64 ttl = 4; + optional int64 softTtl = 5; +} + +message ServerMetadata { + optional int64 latencyMillis = 1; +} + +message Targets { + repeated int64 targetId = 1; + optional bytes signature = 2; +} + +message ServerCookie { + optional int32 type = 1; + optional bytes token = 2; +} + +message ServerCookies { + repeated ServerCookie serverCookie = 1; +} + +message ResponseWrapper { + optional Payload payload = 1; + optional ServerCommands commands = 2; + repeated PreFetch preFetch = 3; + repeated Notification notification = 4; + optional ServerMetadata serverMetadata = 5; + optional Targets targets = 6; + optional ServerCookies serverCookies = 7; + optional bytes serverLogsCookie = 9; +} + +message ResponseWrapperApi { + optional PayloadApi payload = 1; +} + +message PayloadApi { + optional UserProfileResponse userProfileResponse = 5; +} + +message UserProfileResponse { + optional UserProfile userProfile = 1; +} + +message ServerCommands { + optional bool clearCache = 1; + optional string displayErrorMessage = 2; + optional string logErrorStacktrace = 3; +} + +message GetReviewsResponse { + repeated Review review = 1; + optional int64 matchingCount = 2; +} + +message Review { + optional string authorName = 1; + optional string url = 2; + optional string source = 3; + optional string version = 4; + optional int64 timestamp = 5; + optional int32 starRating = 6; + optional string title = 7; + optional string comment = 8; + optional string commentId = 9; + optional string deviceName = 19; + optional string replyText = 29; + optional int64 replyTimeStamp = 30; + optional ReviewAuthor author = 31; + optional UserProfile userProfile = 33; + optional Image sentiment = 34; + optional int32 helpfulCount = 35; + optional int64 thumbsUpCount = 38; +} + +message CriticReviewsResponse { + optional string title = 1; + optional Image image = 2; + optional uint32 totalNumReviews = 3; + optional uint32 percentFavorable = 4; + optional string sourceText = 5; + optional Link source = 6; + repeated Review review = 7; +} + +message ReviewAuthor { + optional string name = 2; + optional Image avatar = 5; +} + +message UserProfile { + optional string profileId = 1; + optional string personId = 2; + optional int32 profileType = 3; + optional int32 personType = 4; + optional string name = 5; + repeated Image image = 10; + optional string profileUrl = 19; + optional string profileDescription = 22; +} + +message ReviewResponse { + optional GetReviewsResponse userReviewsResponse = 1; + optional string nextPageUrl = 2; + optional Review userReview = 3; + optional string suggestionsListUrl = 4; + optional CriticReviewsResponse criticReviewsResponse = 5; +} + +message RelatedSearch { + optional string searchUrl = 1; + optional string header = 2; + optional int32 backendId = 3; + optional int32 docType = 4[default = 1]; + optional bool current = 5; +} + +message SearchResponse { + optional string originalQuery = 1; + optional string suggestedQuery = 2; + optional bool aggregateQuery = 3; + repeated Bucket bucket = 4; + repeated Item item = 5; + repeated RelatedSearch relatedSearch = 6; + optional bytes serverLogsCookie = 7; + optional bool fullPageReplaced = 8; + optional bool containsSnow = 9; + optional string nextPageUrl = 10; +} + +message SearchSuggestResponse { + repeated SearchSuggestEntry entry = 1; +} + +message SearchSuggestEntry { + optional int32 type = 1; + optional string suggestedQuery = 2; + optional ImageContainer imageContainer = 5; + message ImageContainer { + optional string imageUrl = 5; + } + optional string title = 6; + optional PackageNameContainer packageNameContainer = 8; + message PackageNameContainer { + optional string packageName = 1; + } +} + +message TestingProgramResponse { + optional TestingProgramResult result = 2; +} + +message TestingProgramResult { + optional TestingProgramDetails details = 4; +} + +message TestingProgramDetails { + optional bool subscribed = 2; + optional int64 id = 3; + optional bool unsubscribed = 4; +} + +message LogRequest { + optional int64 timestamp = 1; + optional string downloadConfirmationQuery = 2; +} + +message TestingProgramRequest { + optional string packageName = 1; + optional bool subscribe = 2; +} + +message UploadDeviceConfigRequest { + optional DeviceConfigurationProto deviceConfiguration = 1; + optional string manufacturer = 2; + optional string gcmRegistrationId = 3; +} + +message UploadDeviceConfigResponse { + optional string uploadDeviceConfigToken = 1; +} + +message AndroidCheckinRequest { + optional string imei = 1; + optional int64 id = 2[default = 0]; + optional string digest = 3; + optional AndroidCheckinProto checkin = 4; + optional string desiredBuild = 5; + optional string locale = 6; + optional int64 loggingId = 7; + optional string marketCheckin = 8; + repeated string macAddr = 9; + optional string meid = 10; + repeated string accountCookie = 11; + optional string timeZone = 12; + optional fixed64 securityToken = 13; + optional int32 version = 14; + repeated string otaCert = 15; + optional string serialNumber = 16; + optional string esn = 17; + optional DeviceConfigurationProto deviceConfiguration = 18; + repeated string macAddrType = 19; + optional int32 fragment = 20; + optional string userName = 21; + optional int32 userSerialNumber = 22; +} + +message AndroidCheckinResponse { + optional bool statsOk = 1; + repeated AndroidIntentProto intent = 2; + optional int64 timeMsec = 3; + optional string digest = 4; + repeated GservicesSetting setting = 5; + optional bool marketOk = 6; + optional fixed64 androidId = 7; + optional fixed64 securityToken = 8; + optional bool settingsDiff = 9; + repeated string deleteSetting = 10; + optional string deviceCheckinConsistencyToken = 12; +} + +message GservicesSetting { + optional bytes name = 1; + optional bytes value = 2; +} + +message AndroidBuildProto { + optional string id = 1; + optional string product = 2; + optional string carrier = 3; + optional string radio = 4; + optional string bootloader = 5; + optional string client = 6; + optional int64 timestamp = 7; + optional int32 googleServices = 8; + optional string device = 9; + optional int32 sdkVersion = 10; + optional string model = 11; + optional string manufacturer = 12; + optional string buildProduct = 13; + optional bool otaInstalled = 14; +} + +message AndroidCheckinProto { + optional AndroidBuildProto build = 1; + optional int64 lastCheckinMsec = 2; + repeated AndroidEventProto event = 3; + repeated AndroidStatisticProto stat = 4; + repeated string requestedGroup = 5; + optional string cellOperator = 6; + optional string simOperator = 7; + optional string roaming = 8; + optional int32 userNumber = 9; +} + +message AndroidEventProto { + optional string tag = 1; + optional string value = 2; + optional int64 timeMsec = 3; +} + +message AndroidIntentProto { + optional string action = 1; + optional string dataUri = 2; + optional string mimeType = 3; + optional string javaClass = 4; + repeated group Extra = 5 { + optional string name = 6; + optional string value = 7; + } +} + +message AndroidStatisticProto { + optional string tag = 1; + optional int32 count = 2; + optional float sum = 3; +} + +message ClientLibraryState { + optional int32 corpus = 1; + optional bytes serverToken = 2; + optional int64 hashCodeSum = 3; + optional int32 librarySize = 4; + optional string libraryId = 5; +} + +message AndroidDataUsageProto { + optional int32 version = 1; + optional int64 currentReportMsec = 2; + repeated KeyToPackageNameMapping keyToPackageNameMapping = 3; + repeated PayloadLevelAppStat payloadLevelAppStat = 4; + repeated IpLayerNetworkStat ipLayerNetworkStat = 5; +} + +message AndroidUsageStatsReport { + optional int64 androidId = 1; + optional int64 loggingId = 2; + optional UsageStatsExtensionProto usageStats = 3; +} + +message AppBucket { + optional int64 bucketStartMsec = 1; + optional int64 bucketDurationMsec = 2; + repeated StatCounters statCounters = 3; + optional int64 operationCount = 4; +} + +message CounterData { + optional int64 bytes = 1; + optional int64 packets = 2; +} + +message IpLayerAppStat { + optional int32 packageKey = 1; + optional int32 applicationTag = 2; + repeated AppBucket ipLayerAppBucket = 3; +} + +message IpLayerNetworkBucket { + optional int64 bucketStartMsec = 1; + optional int64 bucketDurationMsec = 2; + repeated StatCounters statCounters = 3; + optional int64 networkActiveDuration = 4; +} + +message IpLayerNetworkStat { + optional string networkDetails = 1; + optional int32 type = 2; + repeated IpLayerNetworkBucket ipLayerNetworkBucket = 3; + repeated IpLayerAppStat ipLayerAppStat = 4; +} + +message KeyToPackageNameMapping { + optional int32 packageKey = 1; + optional string uidName = 2; + repeated PackageInfo sharedPackage = 3; +} + +message PackageInfo { + optional string pkgName = 1; + optional int32 versionCode = 2; +} + +message PayloadLevelAppStat { + optional int32 packageKey = 1; + optional int32 applicationTag = 2; + repeated AppBucket payloadLevelAppBucket = 3; +} + +message StatCounters { + optional int32 networkProto = 1; + optional int32 direction = 2; + optional CounterData counterData = 3; + optional int32 fgBg = 4; +} + +message UsageStatsExtensionProto { + optional AndroidDataUsageProto dataUsage = 1; +} + +message ModifyLibraryRequest { + optional string libraryId = 1; + repeated string addPackageName = 2; + repeated string removePackageName = 3; +} diff --git a/googleplay-protobuf/protos/googleplay.proto b/googleplay-protobuf/protos/googleplay.proto deleted file mode 100644 index e9975e8..0000000 --- a/googleplay-protobuf/protos/googleplay.proto +++ /dev/null @@ -1,1277 +0,0 @@ -syntax = "proto2"; - -// Both sha1 and sha256 are encoded with base64 with URL and Filename Safe Alphabet with padding removed -message AndroidAppDeliveryData { - optional int64 downloadSize = 1; - optional string sha1 = 2; - optional string downloadUrl = 3; - repeated AppFileMetadata additionalFile = 4; - repeated HttpCookie downloadAuthCookie = 5; - optional bool forwardLocked = 6; - optional int64 refundTimeout = 7; - optional bool serverInitiated = 8; - optional int64 postInstallRefundWindowMillis = 9; - optional bool immediateStartNeeded = 10; - optional AndroidAppPatchData patchData = 11; - optional EncryptionParams encryptionParams = 12; - optional string downloadUrlGzipped = 13; - optional int64 downloadSizeGzipped = 14; - repeated Split split = 15; - optional string sha256 = 19; -} -message Split { - optional string name = 1; - optional int64 size = 2; - optional int64 sizeGzipped = 3; - optional string sha1 = 4; - optional string downloadUrl = 5; - optional string downloadUrlGzipped = 6; - optional string sha256 = 9; -} -message AndroidAppPatchData { - optional int32 baseVersionCode = 1; - optional string baseSha1 = 2; - optional string downloadUrl = 3; - optional int32 patchFormat = 4; - optional int64 maxPatchSize = 5; -} -message AppFileMetadata { - optional int32 fileType = 1; - optional int32 versionCode = 2; - optional int64 size = 3; - optional string downloadUrl = 4; - optional int64 sizeGzipped = 6; - optional string downloadUrlGzipped = 7; - optional string sha1 = 8; -} -message EncryptionParams { - optional int32 version = 1; - optional string encryptionKey = 2; - optional string hmacKey = 3; -} -message HttpCookie { - optional string name = 1; - optional string value = 2; -} -message Address { - optional string name = 1; - optional string addressLine1 = 2; - optional string addressLine2 = 3; - optional string city = 4; - optional string state = 5; - optional string postalCode = 6; - optional string postalCountry = 7; - optional string dependentLocality = 8; - optional string sortingCode = 9; - optional string languageCode = 10; - optional string phoneNumber = 11; - optional bool isReduced = 12; - optional string firstName = 13; - optional string lastName = 14; - optional string email = 15; -} -message BookAuthor { - optional string name = 1; - optional string deprecatedQuery = 2; - optional Docid docid = 3; -} -message BookDetails { - repeated BookSubject subject = 3; - optional string publisher = 4; - optional string publicationDate = 5; - optional string isbn = 6; - optional int32 numberOfPages = 7; - optional string subtitle = 8; - repeated BookAuthor author = 9; - optional string readerUrl = 10; - optional string downloadEpubUrl = 11; - optional string downloadPdfUrl = 12; - optional string acsEpubTokenUrl = 13; - optional string acsPdfTokenUrl = 14; - optional bool epubAvailable = 15; - optional bool pdfAvailable = 16; - optional string aboutTheAuthor = 17; - repeated group Identifier = 18 { - optional int32 type = 19; - optional string identifier = 20; - } -} -message BookSubject { - optional string name = 1; - optional string query = 2; - optional string subjectId = 3; -} -message BrowseLink { - optional string name = 1; - optional string dataUrl = 3; - optional Image icon = 5; - optional UnknownCategoryContainer unknownCategoryContainer = 4; -} -message UnknownCategoryContainer { - optional CategoryIdContainer categoryIdContainer = 5; -} -message CategoryIdContainer { - optional string categoryId = 4; -} -message BrowseResponse { - optional string contentsUrl = 1; - optional string promoUrl = 2; - repeated BrowseLink category = 3; - repeated BrowseLink breadcrumb = 4; - optional CategoryContainer categoryContainer = 9; -} -message CategoryContainer { - repeated BrowseLink category = 4; -} -message AddressChallenge { - optional string responseAddressParam = 1; - optional string responseCheckboxesParam = 2; - optional string title = 3; - optional string descriptionHtml = 4; - repeated FormCheckbox checkbox = 5; - optional Address address = 6; - repeated InputValidationError errorInputField = 7; - optional string errorHtml = 8; - repeated int32 requiredField = 9; -} -message AuthenticationChallenge { - optional int32 authenticationType = 1; - optional string responseAuthenticationTypeParam = 2; - optional string responseRetryCountParam = 3; - optional string pinHeaderText = 4; - optional string pinDescriptionTextHtml = 5; - optional string gaiaHeaderText = 6; - optional string gaiaDescriptionTextHtml = 7; -} -message BuyResponse { - optional PurchaseNotificationResponse purchaseResponse = 1; - optional group CheckoutInfo = 2 { - optional LineItem item = 3; - repeated LineItem subItem = 4; - repeated group CheckoutOption = 5 { - optional string formOfPayment = 6; - optional string encodedAdjustedCart = 7; - optional string instrumentId = 15; - repeated LineItem item = 16; - repeated LineItem subItem = 17; - optional LineItem total = 18; - repeated string footerHtml = 19; - optional int32 instrumentFamily = 29; - repeated int32 deprecatedInstrumentInapplicableReason = 30; - optional bool selectedInstrument = 32; - optional LineItem summary = 33; - repeated string footnoteHtml = 35; - optional Instrument instrument = 43; - optional string purchaseCookie = 45; - repeated string disabledReason = 48; - } - optional string deprecatedCheckoutUrl = 10; - optional string addInstrumentUrl = 11; - repeated string footerHtml = 20; - repeated int32 eligibleInstrumentFamily = 31; - repeated string footnoteHtml = 36; - repeated Instrument eligibleInstrument = 44; - } - optional string continueViaUrl = 8; - optional string purchaseStatusUrl = 9; - optional string checkoutServiceId = 12; - optional bool checkoutTokenRequired = 13; - optional string baseCheckoutUrl = 14; - repeated string tosCheckboxHtml = 37; - optional int32 iabPermissionError = 38; - optional PurchaseStatusResponse purchaseStatusResponse = 39; - optional string purchaseCookie = 46; - optional Challenge challenge = 49; - optional string downloadToken = 55; -} -message Challenge { - optional AddressChallenge addressChallenge = 1; - optional AuthenticationChallenge authenticationChallenge = 2; -} -message FormCheckbox { - optional string description = 1; - optional bool checked = 2; - optional bool required = 3; -} -message LineItem { - optional string name = 1; - optional string description = 2; - optional Offer offer = 3; - optional Money amount = 4; -} -message Money { - optional int64 micros = 1; - optional string currencyCode = 2; - optional string formattedAmount = 3; -} -message PurchaseNotificationResponse { - optional int32 status = 1; - optional DebugInfo debugInfo = 2; - optional string localizedErrorMessage = 3; - optional string purchaseId = 4; -} -message PurchaseStatusResponse { - optional int32 status = 1; - optional string statusMsg = 2; - optional string statusTitle = 3; - optional string briefMessage = 4; - optional string infoUrl = 5; - optional LibraryUpdate libraryUpdate = 6; - optional Instrument rejectedInstrument = 7; - optional AndroidAppDeliveryData appDeliveryData = 8; -} -message DeliveryResponse { - optional AndroidAppDeliveryData appDeliveryData = 2; -} - -message Docid { - optional string backendDocid = 1; - optional int32 type = 2; - optional int32 backend = 3; -} -message Install { - optional fixed64 androidId = 1; - optional int32 version = 2; - optional bool bundled = 3; -} -message Offer { - optional int64 micros = 1; - optional string currencyCode = 2; - optional string formattedAmount = 3; - repeated Offer convertedPrice = 4; - optional bool checkoutFlowRequired = 5; - optional int64 fullPriceMicros = 6; - optional string formattedFullAmount = 7; - optional int32 offerType = 8; - optional RentalTerms rentalTerms = 9; - optional int64 onSaleDate = 10; - repeated string promotionLabel = 11; - optional SubscriptionTerms subscriptionTerms = 12; - optional string formattedName = 13; - optional string formattedDescription = 14; - optional bool sale = 22; - optional string message = 26; - optional int64 saleEndTimestamp = 30; - optional string saleMessage = 31; -} -message OwnershipInfo { - optional int64 initiationTimestampMsec = 1; - optional int64 validUntilTimestampMsec = 2; - optional bool autoRenewing = 3; - optional int64 refundTimeoutTimestampMsec = 4; - optional int64 postDeliveryRefundWindowMsec = 5; -} -message RentalTerms { - optional int32 grantPeriodSeconds = 1; - optional int32 activatePeriodSeconds = 2; -} -message SubscriptionTerms { - optional TimePeriod recurringPeriod = 1; - optional TimePeriod trialPeriod = 2; -} -message TimePeriod { - optional int32 unit = 1; - optional int32 count = 2; -} -message BillingAddressSpec { - optional int32 billingAddressType = 1; - repeated int32 requiredField = 2; -} -message CarrierBillingCredentials { - optional string value = 1; - optional int64 expiration = 2; -} -message CarrierBillingInstrument { - optional string instrumentKey = 1; - optional string accountType = 2; - optional string currencyCode = 3; - optional int64 transactionLimit = 4; - optional string subscriberIdentifier = 5; - optional EncryptedSubscriberInfo encryptedSubscriberInfo = 6; - optional CarrierBillingCredentials credentials = 7; - optional CarrierTos acceptedCarrierTos = 8; -} -message CarrierBillingInstrumentStatus { - optional CarrierTos carrierTos = 1; - optional bool associationRequired = 2; - optional bool passwordRequired = 3; - optional PasswordPrompt carrierPasswordPrompt = 4; - optional int32 apiVersion = 5; - optional string name = 6; -} -message CarrierTos { - optional CarrierTosEntry dcbTos = 1; - optional CarrierTosEntry piiTos = 2; - optional bool needsDcbTosAcceptance = 3; - optional bool needsPiiTosAcceptance = 4; -} -message CarrierTosEntry { - optional string url = 1; - optional string version = 2; -} -message CreditCardInstrument { - optional int32 type = 1; - optional string escrowHandle = 2; - optional string lastDigits = 3; - optional int32 expirationMonth = 4; - optional int32 expirationYear = 5; - repeated EfeParam escrowEfeParam = 6; -} -message EfeParam { - optional int32 key = 1; - optional string value = 2; -} -message InputValidationError { - optional int32 inputField = 1; - optional string errorMessage = 2; -} -message Instrument { - optional string instrumentId = 1; - optional Address billingAddress = 2; - optional CreditCardInstrument creditCard = 3; - optional CarrierBillingInstrument carrierBilling = 4; - optional BillingAddressSpec billingAddressSpec = 5; - optional int32 instrumentFamily = 6; - optional CarrierBillingInstrumentStatus carrierBillingStatus = 7; - optional string displayTitle = 8; -} -message PasswordPrompt { - optional string prompt = 1; - optional string forgotPasswordUrl = 2; -} -message ContainerMetadata { - optional string browseUrl = 1; - optional string nextPageUrl = 2; - optional double relevance = 3; - optional int64 estimatedResults = 4; - optional string analyticsCookie = 5; - optional bool ordered = 6; -} - -message DebugInfo { - repeated string message = 1; - repeated group Timing = 2 { - optional string name = 3; - optional double timeInMs = 4; - } -} - -message BulkDetailsEntry { - optional DocV2 doc = 1; -} -message BulkDetailsRequest { - repeated string docid = 1; - optional bool includeChildDocs = 2; -} -message BulkDetailsResponse { - repeated BulkDetailsEntry entry = 1; -} -message DetailsResponse { - optional DocV1 docV1 = 1; - optional string analyticsCookie = 2; - optional Review userReview = 3; - optional DocV2 docV2 = 4; - optional string footerHtml = 5; - repeated Badge badge = 7; - optional Features features = 12; - optional string detailsStreamUrl = 13; - optional string userReviewUrl = 14; - optional string postAcquireDetailsStreamUrl = 17; -} -message Badge { - optional string label = 1; - optional Image image = 2; - optional BadgeContainer1 badgeContainer1 = 4; - optional string message = 11; -} -message BadgeContainer1 { - optional BadgeContainer2 badgeContainer2 = 1; -} -message BadgeContainer2 { - optional BadgeLinkContainer badgeLinkContainer = 2; -} -message BadgeLinkContainer { - optional string link = 2; -} -message Features { - repeated Feature featurePresence = 1; - repeated Feature featureRating = 2; -} -message Feature { - optional string label = 1; - optional string value = 3; -} -message DeviceConfigurationProto { - optional int32 touchScreen = 1; - optional int32 keyboard = 2; - optional int32 navigation = 3; - optional int32 screenLayout = 4; - optional bool hasHardKeyboard = 5; - optional bool hasFiveWayNavigation = 6; - optional int32 screenDensity = 7; - optional int32 glEsVersion = 8; - repeated string systemSharedLibrary = 9; - repeated string systemAvailableFeature = 10; - repeated string nativePlatform = 11; - optional int32 screenWidth = 12; - optional int32 screenHeight = 13; - repeated string systemSupportedLocale = 14; - repeated string glExtension = 15; - optional int32 deviceClass = 16; - optional int32 maxApkDownloadSizeMb = 17; -} -message Document { - optional Docid docid = 1; - optional Docid fetchDocid = 2; - optional Docid sampleDocid = 3; - optional string title = 4; - optional string url = 5; - repeated string snippet = 6; - optional Offer priceDeprecated = 7; - optional Availability availability = 9; - repeated Image image = 10; - repeated Document child = 11; - optional AggregateRating aggregateRating = 13; - repeated Offer offer = 14; - repeated TranslatedText translatedSnippet = 15; - repeated DocumentVariant documentVariant = 16; - repeated string categoryId = 17; - repeated Document decoration = 18; - repeated Document parent = 19; - optional string privacyPolicyUrl = 20; -} -message DocumentVariant { - optional int32 variationType = 1; - optional Rule rule = 2; - optional string title = 3; - repeated string snippet = 4; - optional string recentChanges = 5; - repeated TranslatedText autoTranslation = 6; - repeated Offer offer = 7; - optional int64 channelId = 9; - repeated Document child = 10; - repeated Document decoration = 11; -} -message Image { - optional int32 imageType = 1; - optional group Dimension = 2 { - optional int32 width = 3; - optional int32 height = 4; - } - optional string imageUrl = 5; - optional string altTextLocalized = 6; - optional string secureUrl = 7; - optional int32 positionInSequence = 8; - optional bool supportsFifeUrlOptions = 9; - optional group Citation = 10 { - optional string titleLocalized = 11; - optional string url = 12; - } - optional string color = 15; - optional int32 screenshotSetNumber = 21; -} -message TranslatedText { - optional string text = 1; - optional string sourceLocale = 2; - optional string targetLocale = 3; -} - -message PlusOneData { - optional bool setByUser = 1; - optional int64 total = 2; - optional int64 circlesTotal = 3; - repeated PlusPerson circlesPeople = 4; -} -message PlusPerson { - optional string displayName = 2; - optional string profileImageUrl = 4; -} - -message AlbumDetails { - optional string name = 1; - optional MusicDetails details = 2; - optional ArtistDetails displayArtist = 3; -} -message AppDetails { - optional string developerName = 1; - optional int32 majorVersionNumber = 2; - optional int32 versionCode = 3; - optional string versionString = 4; - optional string title = 5; - repeated string appCategory = 7; - optional int32 contentRating = 8; - optional int64 installationSize = 9; - repeated string permission = 10; - optional string developerEmail = 11; - optional string developerWebsite = 12; - optional string numDownloads = 13; - optional string packageName = 14; - optional string recentChangesHtml = 15; - optional string uploadDate = 16; - repeated FileMetadata file = 17; - optional string appType = 18; - optional bool unstable = 21; - optional bool hasInstantLink = 24; - optional string containsAds = 30; - optional Dependencies dependencies = 34; - optional TestingProgramInfo testingProgramInfo = 35; - optional EarlyAccessInfo earlyAccessInfo = 36; - optional string instantLink = 43; - optional string developerAddress = 45; -} -message Dependencies { - optional int32 unknown1 = 1; - optional int64 unknown2 = 2; - repeated Dependency dependency = 3; - optional int32 unknown3 = 4; -} -message Dependency { - optional string packageName = 1; - optional int32 version = 2; - optional int32 unknown4 = 4; -} -message TestingProgramInfo { - optional bool subscribed = 2; - optional bool subscribed1 = 3; - optional string testingProgramEmail = 5; -} -message EarlyAccessInfo { - optional string email = 3; -} -message ArtistDetails { - optional string detailsUrl = 1; - optional string name = 2; - optional ArtistExternalLinks externalLinks = 3; -} -message ArtistExternalLinks { - repeated string websiteUrl = 1; - optional string googlePlusProfileUrl = 2; - optional string youtubeChannelUrl = 3; -} -message DocumentDetails { - optional AppDetails appDetails = 1; - optional AlbumDetails albumDetails = 2; - optional ArtistDetails artistDetails = 3; - optional SongDetails songDetails = 4; - optional BookDetails bookDetails = 5; - optional VideoDetails videoDetails = 6; - optional SubscriptionDetails subscriptionDetails = 7; - optional MagazineDetails magazineDetails = 8; - optional TvShowDetails tvShowDetails = 9; - optional TvSeasonDetails tvSeasonDetails = 10; - optional TvEpisodeDetails tvEpisodeDetails = 11; -} -message FileMetadata { - optional int32 fileType = 1; - optional int32 versionCode = 2; - optional int64 size = 3; -} -message MagazineDetails { - optional string parentDetailsUrl = 1; - optional string deviceAvailabilityDescriptionHtml = 2; - optional string psvDescription = 3; - optional string deliveryFrequencyDescription = 4; -} -message MusicDetails { - optional int32 censoring = 1; - optional int32 durationSec = 2; - optional string originalReleaseDate = 3; - optional string label = 4; - repeated ArtistDetails artist = 5; - repeated string genre = 6; - optional string releaseDate = 7; - repeated int32 releaseType = 8; -} -message SongDetails { - optional string name = 1; - optional MusicDetails details = 2; - optional string albumName = 3; - optional int32 trackNumber = 4; - optional string previewUrl = 5; - optional ArtistDetails displayArtist = 6; -} -message SubscriptionDetails { - optional int32 subscriptionPeriod = 1; -} -message Trailer { - optional string trailerId = 1; - optional string title = 2; - optional string thumbnailUrl = 3; - optional string watchUrl = 4; - optional string duration = 5; -} -message TvEpisodeDetails { - optional string parentDetailsUrl = 1; - optional int32 episodeIndex = 2; - optional string releaseDate = 3; -} -message TvSeasonDetails { - optional string parentDetailsUrl = 1; - optional int32 seasonIndex = 2; - optional string releaseDate = 3; - optional string broadcaster = 4; -} -message TvShowDetails { - optional int32 seasonCount = 1; - optional int32 startYear = 2; - optional int32 endYear = 3; - optional string broadcaster = 4; -} -message VideoCredit { - optional int32 creditType = 1; - optional string credit = 2; - repeated string name = 3; -} -message VideoDetails { - repeated VideoCredit credit = 1; - optional string duration = 2; - optional string releaseDate = 3; - optional string contentRating = 4; - optional int64 likes = 5; - optional int64 dislikes = 6; - repeated string genre = 7; - repeated Trailer trailer = 8; - repeated VideoRentalTerm rentalTerm = 9; -} -message VideoRentalTerm { - optional int32 offerType = 1; - optional string offerAbbreviation = 2; - optional string rentalHeader = 3; - repeated group Term = 4 { - optional string header = 5; - optional string body = 6; - } -} -message Bucket { - repeated DocV1 document = 1; - optional bool multiCorpus = 2; - optional string title = 3; - optional string iconUrl = 4; - optional string fullContentsUrl = 5; - optional double relevance = 6; - optional int64 estimatedResults = 7; - optional string analyticsCookie = 8; - optional string fullContentsListUrl = 9; - optional string nextPageUrl = 10; - optional bool ordered = 11; -} -message ListResponse { - repeated Bucket bucket = 1; - repeated DocV2 doc = 2; -} -message DocV1 { - optional Document finskyDoc = 1; - optional string docid = 2; - optional string detailsUrl = 3; - optional string reviewsUrl = 4; - optional string relatedListUrl = 5; - optional string moreByListUrl = 6; - optional string shareUrl = 7; - optional string creator = 8; - optional DocumentDetails details = 9; - optional string descriptionHtml = 10; - optional string relatedBrowseUrl = 11; - optional string moreByBrowseUrl = 12; - optional string relatedHeader = 13; - optional string moreByHeader = 14; - optional string title = 15; - optional PlusOneData plusOneData = 16; - optional string warningMessage = 17; -} - -message DocV2 { - optional string docid = 1; - optional string backendDocid = 2; - optional int32 docType = 3; - optional int32 backendId = 4; - optional string title = 5; - optional string creator = 6; - optional string descriptionHtml = 7; - repeated Offer offer = 8; - optional Availability availability = 9; - repeated Image image = 10; - repeated DocV2 child = 11; - optional ContainerMetadata containerMetadata = 12; - optional DocumentDetails details = 13; - optional AggregateRating aggregateRating = 14; - optional RelatedLinks relatedLinks = 15; - optional string detailsUrl = 16; - optional string shareUrl = 17; - optional string reviewsUrl = 18; - optional string backendUrl = 19; - optional string purchaseDetailsUrl = 20; - optional bool detailsReusable = 21; - optional string subtitle = 22; - optional UnknownCategoryContainer unknownCategoryContainer = 24; - optional Unknown25 unknown25 = 25; - optional string descriptionShort = 27; - optional string reviewSnippetsUrl = 31; - optional string reviewQuestionsUrl = 34; -} -message Unknown25 { - repeated Unknown25Item item = 2; -} -message Unknown25Item { - optional string label = 1; - optional Unknown25Container container = 3; -} -message Unknown25Container { - optional string value = 2; -} -message RelatedLinks { - optional RelatedLinksUnknown1 unknown1 = 10; - optional string privacyPolicyUrl = 18; - optional RelatedLink youMightAlsoLike = 24; - optional Rated rated = 29; - repeated RelatedLink relatedLinks = 34; - optional CategoryInfo categoryInfo = 53; -} -message RelatedLinksUnknown1 { - optional RelatedLinksUnknown2 unknown2 = 2; -} -message RelatedLinksUnknown2 { - optional string homeUrl = 2; - optional string nextPageUrl = 3; -} -message Rated { - optional string label = 1; - optional Image image = 2; - optional string learnMoreHtmlLink = 4; -} -message RelatedLink { - optional string label = 1; - optional string url1 = 2; - optional string url2 = 3; -} -message CategoryInfo { - optional string appType = 1; - optional string appCategory = 2; -} -message EncryptedSubscriberInfo { - optional string data = 1; - optional string encryptedKey = 2; - optional string signature = 3; - optional string initVector = 4; - optional int32 googleKeyVersion = 5; - optional int32 carrierKeyVersion = 6; -} -message Availability { - optional int32 restriction = 5; - optional int32 offerType = 6; - optional Rule rule = 7; - repeated group PerDeviceAvailabilityRestriction = 9 { - optional fixed64 androidId = 10; - optional int32 deviceRestriction = 11; - optional int64 channelId = 12; - optional FilterEvaluationInfo filterInfo = 15; - } - optional bool availableIfOwned = 13; - repeated Install install = 14; - optional FilterEvaluationInfo filterInfo = 16; - optional OwnershipInfo ownershipInfo = 17; -} -message FilterEvaluationInfo { - repeated RuleEvaluation ruleEvaluation = 1; -} -message Rule { - optional bool negate = 1; - optional int32 operator = 2; - optional int32 key = 3; - repeated string stringArg = 4; - repeated int64 longArg = 5; - repeated double doubleArg = 6; - repeated Rule subrule = 7; - optional int32 responseCode = 8; - optional string comment = 9; - repeated fixed64 stringArgHash = 10; - repeated int32 constArg = 11; -} -message RuleEvaluation { - optional Rule rule = 1; - repeated string actualStringValue = 2; - repeated int64 actualLongValue = 3; - repeated bool actualBoolValue = 4; - repeated double actualDoubleValue = 5; -} -message LibraryAppDetails { - optional string certificateHash = 2; - optional int64 refundTimeoutTimestampMsec = 3; - optional int64 postDeliveryRefundWindowMsec = 4; -} -message LibraryInAppDetails { - optional string signedPurchaseData = 1; - optional string signature = 2; -} -message LibraryMutation { - optional Docid docid = 1; - optional int32 offerType = 2; - optional int64 documentHash = 3; - optional bool deleted = 4; - optional LibraryAppDetails appDetails = 5; - optional LibrarySubscriptionDetails subscriptionDetails = 6; - optional LibraryInAppDetails inAppDetails = 7; -} -message LibrarySubscriptionDetails { - optional int64 initiationTimestampMsec = 1; - optional int64 validUntilTimestampMsec = 2; - optional bool autoRenewing = 3; - optional int64 trialUntilTimestampMsec = 4; -} -message LibraryUpdate { - optional int32 status = 1; - optional int32 corpus = 2; - optional bytes serverToken = 3; - repeated LibraryMutation mutation = 4; - optional bool hasMore = 5; - optional string libraryId = 6; -} - -message AndroidAppNotificationData { - optional int32 versionCode = 1; - optional string assetId = 2; -} -message InAppNotificationData { - optional string checkoutOrderId = 1; - optional string inAppNotificationId = 2; -} -message LibraryDirtyData { - optional int32 backend = 1; -} -message Notification { - optional int32 notificationType = 1; - optional int64 timestamp = 3; - optional Docid docid = 4; - optional string docTitle = 5; - optional string userEmail = 6; - optional AndroidAppNotificationData appData = 7; - optional AndroidAppDeliveryData appDeliveryData = 8; - optional PurchaseRemovalData purchaseRemovalData = 9; - optional UserNotificationData userNotificationData = 10; - optional InAppNotificationData inAppNotificationData = 11; - optional PurchaseDeclinedData purchaseDeclinedData = 12; - optional string notificationId = 13; - optional LibraryUpdate libraryUpdate = 14; - optional LibraryDirtyData libraryDirtyData = 15; -} -message PurchaseDeclinedData { - optional int32 reason = 1; - optional bool showNotification = 2; -} -message PurchaseRemovalData { - optional bool malicious = 1; -} -message UserNotificationData { - optional string notificationTitle = 1; - optional string notificationText = 2; - optional string tickerText = 3; - optional string dialogTitle = 4; - optional string dialogText = 5; -} - -message AggregateRating { - optional int32 type = 1; - optional float starRating = 2; - optional uint64 ratingsCount = 3; - optional uint64 oneStarRatings = 4; - optional uint64 twoStarRatings = 5; - optional uint64 threeStarRatings = 6; - optional uint64 fourStarRatings = 7; - optional uint64 fiveStarRatings = 8; - optional uint64 thumbsUpCount = 9; - optional uint64 thumbsDownCount = 10; - optional uint64 commentCount = 11; - optional double bayesianMeanRating = 12; -} - -message AcceptTosResponse { -}message CarrierBillingConfig { - optional string id = 1; - optional string name = 2; - optional int32 apiVersion = 3; - optional string provisioningUrl = 4; - optional string credentialsUrl = 5; - optional bool tosRequired = 6; - optional bool perTransactionCredentialsRequired = 7; - optional bool sendSubscriberIdWithCarrierBillingRequests = 8; -} -message BillingConfig { - optional CarrierBillingConfig carrierBillingConfig = 1; - optional int32 maxIabApiVersion = 2; -} -message CorpusMetadata { - optional int32 backend = 1; - optional string name = 2; - optional string landingUrl = 3; - optional string libraryName = 4; - optional string recsWidgetUrl = 6; - optional string shopName = 7; -} -message Experiments { - repeated string experimentId = 1; -} -message SelfUpdateConfig { - optional int32 latestClientVersionCode = 1; -} -message TocResponse { - repeated CorpusMetadata corpus = 1; - optional int32 tosVersionDeprecated = 2; - optional string tosContent = 3; - optional string homeUrl = 4; - optional Experiments experiments = 5; - optional string tosCheckboxTextMarketingEmails = 6; - optional string tosToken = 7; - optional string iconOverrideUrl = 9; - optional SelfUpdateConfig selfUpdateConfig = 10; - optional bool requiresUploadDeviceConfig = 11; - optional BillingConfig billingConfig = 12; - optional string recsWidgetUrl = 13; - optional string socialHomeUrl = 15; - optional bool ageVerificationRequired = 16; - optional bool gplusSignupEnabled = 17; - optional bool redeemEnabled = 18; - optional string helpUrl = 19; - optional int32 themeId = 20; - optional string entertainmentHomeUrl = 21; - optional string cookie = 22; -} -message Payload { - optional ListResponse listResponse = 1; - optional DetailsResponse detailsResponse = 2; - optional ReviewResponse reviewResponse = 3; - optional BuyResponse buyResponse = 4; - optional SearchResponse searchResponse = 5; - optional TocResponse tocResponse = 6; - optional BrowseResponse browseResponse = 7; - optional PurchaseStatusResponse purchaseStatusResponse = 8; - optional string logResponse = 10; - optional string flagContentResponse = 13; - optional BulkDetailsResponse bulkDetailsResponse = 19; - optional DeliveryResponse deliveryResponse = 21; - optional AcceptTosResponse acceptTosResponse = 22; - optional AndroidCheckinResponse androidCheckinResponse = 26; - optional UploadDeviceConfigResponse uploadDeviceConfigResponse = 28; - optional SearchSuggestResponse searchSuggestResponse = 40; - optional TestingProgramResponse testingProgramResponse = 80; -} -message PreFetch { - optional string url = 1; - optional ResponseWrapper response = 2; - optional string etag = 3; - optional int64 ttl = 4; - optional int64 softTtl = 5; -} -message ServerMetadata { - optional int64 latencyMillis = 1; -} - -message Targets { - repeated int64 targetId = 1; - optional bytes signature = 2; -} - -message ServerCookie { - optional int32 type = 1; - optional bytes token = 2; -} -message ServerCookies { - repeated ServerCookie serverCookie = 1; -} -message ResponseWrapper { - optional Payload payload = 1; - optional ServerCommands commands = 2; - repeated PreFetch preFetch = 3; - repeated Notification notification = 4; - optional ServerMetadata serverMetadata = 5; - optional Targets targets = 6; - optional ServerCookies serverCookies = 7; - optional bytes serverLogsCookie = 9; -} -message ResponseWrapperApi { - optional PayloadApi payload = 1; -} -message PayloadApi { - optional UserProfileResponse userProfileResponse = 5; -} -message UserProfileResponse { - optional UserProfile userProfile = 1; -} -message ServerCommands { - optional bool clearCache = 1; - optional string displayErrorMessage = 2; - optional string logErrorStacktrace = 3; -} -message GetReviewsResponse { - repeated Review review = 1; - optional int64 matchingCount = 2; -} -message Review { - optional string authorName = 1; - optional string url = 2; - optional string source = 3; - optional string documentVersion = 4; - optional int64 timestampMsec = 5; - optional int32 starRating = 6; - optional string title = 7; - optional string comment = 8; - optional string commentId = 9; - optional string deviceName = 19; - optional string replyText = 29; - optional int64 replyTimestampMsec = 30; - optional ReviewAuthor author = 31; - optional UserProfile userProfile = 33; -} -message ReviewAuthor { - optional string name = 2; - optional Image avatar = 5; -} -message UserProfile { - optional string personIdString = 1; - optional string personId = 2; - optional int32 unknown1 = 3; - optional int32 unknown2 = 4; - optional string name = 5; - repeated Image image = 10; - optional string googlePlusUrl = 19; - optional string googlePlusTagline = 22; -} -message ReviewResponse { - optional GetReviewsResponse getResponse = 1; - optional string nextPageUrl = 2; - optional Review userReview = 3; -} - -message RelatedSearch { - optional string searchUrl = 1; - optional string header = 2; - optional int32 backendId = 3; - optional int32 docType = 4; - optional bool current = 5; -} -message SearchResponse { - optional string originalQuery = 1; - optional string suggestedQuery = 2; - optional bool aggregateQuery = 3; - repeated Bucket bucket = 4; - repeated DocV2 doc = 5; - repeated RelatedSearch relatedSearch = 6; - optional string nextPageUrl = 10; -} -message SearchSuggestResponse { - repeated SearchSuggestEntry entry = 1; -} -message SearchSuggestEntry { - optional int32 type = 1; - optional string suggestedQuery = 2; - optional ImageContainer imageContainer = 5; - message ImageContainer { - optional string imageUrl = 5; - } - optional string title = 6; - optional PackageNameContainer packageNameContainer = 8; - message PackageNameContainer { - optional string packageName = 1; - } -} -message TestingProgramResponse { - optional TestingProgramResult result = 2; -} -message TestingProgramResult { - optional TestingProgramDetails details = 4; -} -message TestingProgramDetails { - optional bool flag1 = 2; - optional int64 id = 3; - optional bool unsubscribed = 4; -} - -message LogRequest { - optional int64 timestamp = 1; - optional string downloadConfirmationQuery = 2; -} -message TestingProgramRequest { - optional string packageName = 1; - optional bool subscribe = 2; -} -message UploadDeviceConfigRequest { - optional DeviceConfigurationProto deviceConfiguration = 1; - optional string manufacturer = 2; - optional string gcmRegistrationId = 3; -} -message UploadDeviceConfigResponse { - optional string uploadDeviceConfigToken = 1; -} -message AndroidCheckinRequest { - optional string imei = 1; - optional int64 id = 2; - optional string digest = 3; - optional AndroidCheckinProto checkin = 4; - optional string desiredBuild = 5; - optional string locale = 6; - optional int64 loggingId = 7; - optional string marketCheckin = 8; - repeated string macAddr = 9; - optional string meid = 10; - repeated string accountCookie = 11; - optional string timeZone = 12; - optional fixed64 securityToken = 13; - optional int32 version = 14; - repeated string otaCert = 15; - optional string serialNumber = 16; - optional string esn = 17; - optional DeviceConfigurationProto deviceConfiguration = 18; - repeated string macAddrType = 19; - optional int32 fragment = 20; - optional string userName = 21; - optional int32 userSerialNumber = 22; -} -message AndroidCheckinResponse { - optional bool statsOk = 1; - repeated AndroidIntentProto intent = 2; - optional int64 timeMsec = 3; - optional string digest = 4; - repeated GservicesSetting setting = 5; - optional bool marketOk = 6; - optional fixed64 androidId = 7; - optional fixed64 securityToken = 8; - optional bool settingsDiff = 9; - repeated string deleteSetting = 10; - optional string deviceCheckinConsistencyToken = 12; -} -message GservicesSetting { - optional bytes name = 1; - optional bytes value = 2; -} -message AndroidBuildProto { - optional string id = 1; - optional string product = 2; - optional string carrier = 3; - optional string radio = 4; - optional string bootloader = 5; - optional string client = 6; - optional int64 timestamp = 7; - optional int32 googleServices = 8; - optional string device = 9; - optional int32 sdkVersion = 10; - optional string model = 11; - optional string manufacturer = 12; - optional string buildProduct = 13; - optional bool otaInstalled = 14; -} -message AndroidCheckinProto { - optional AndroidBuildProto build = 1; - optional int64 lastCheckinMsec = 2; - repeated AndroidEventProto event = 3; - repeated AndroidStatisticProto stat = 4; - repeated string requestedGroup = 5; - optional string cellOperator = 6; - optional string simOperator = 7; - optional string roaming = 8; - optional int32 userNumber = 9; -} -message AndroidEventProto { - optional string tag = 1; - optional string value = 2; - optional int64 timeMsec = 3; -} -message AndroidIntentProto { - optional string action = 1; - optional string dataUri = 2; - optional string mimeType = 3; - optional string javaClass = 4; - repeated group Extra = 5 { - optional string name = 6; - optional string value = 7; - } -} -message AndroidStatisticProto { - optional string tag = 1; - optional int32 count = 2; - optional float sum = 3; -} -message ClientLibraryState { - optional int32 corpus = 1; - optional bytes serverToken = 2; - optional int64 hashCodeSum = 3; - optional int32 librarySize = 4; - optional string libraryId = 5; -} -message AndroidDataUsageProto { - optional int32 version = 1; - optional int64 currentReportMsec = 2; - repeated KeyToPackageNameMapping keyToPackageNameMapping = 3; - repeated PayloadLevelAppStat payloadLevelAppStat = 4; - repeated IpLayerNetworkStat ipLayerNetworkStat = 5; -} -message AndroidUsageStatsReport { - optional int64 androidId = 1; - optional int64 loggingId = 2; - optional UsageStatsExtensionProto usageStats = 3; -} -message AppBucket { - optional int64 bucketStartMsec = 1; - optional int64 bucketDurationMsec = 2; - repeated StatCounters statCounters = 3; - optional int64 operationCount = 4; -} -message CounterData { - optional int64 bytes = 1; - optional int64 packets = 2; -} -message IpLayerAppStat { - optional int32 packageKey = 1; - optional int32 applicationTag = 2; - repeated AppBucket ipLayerAppBucket = 3; -} -message IpLayerNetworkBucket { - optional int64 bucketStartMsec = 1; - optional int64 bucketDurationMsec = 2; - repeated StatCounters statCounters = 3; - optional int64 networkActiveDuration = 4; -} -message IpLayerNetworkStat { - optional string networkDetails = 1; - optional int32 type = 2; - repeated IpLayerNetworkBucket ipLayerNetworkBucket = 3; - repeated IpLayerAppStat ipLayerAppStat = 4; -} -message KeyToPackageNameMapping { - optional int32 packageKey = 1; - optional string uidName = 2; - repeated PackageInfo sharedPackageList = 3; -} -message PackageInfo { - optional string pkgName = 1; - optional int32 versionCode = 2; -} -message PayloadLevelAppStat { - optional int32 packageKey = 1; - optional int32 applicationTag = 2; - repeated AppBucket payloadLevelAppBucket = 3; -} -message StatCounters { - optional int32 networkProto = 1; - optional int32 direction = 2; - optional CounterData counterData = 3; - optional int32 fgBg = 4; -} -message UsageStatsExtensionProto { - optional AndroidDataUsageProto dataUsage = 1; -} -message ModifyLibraryRequest { - optional string libraryId = 1; - repeated string addPackageName = 2; - repeated string removePackageName = 3; -} -message UrlRequestWrapper { - optional DeveloperAppsRequest developerAppsRequest = 49; -} -message DeveloperAppsRequest { - optional DeveloperIdContainer developerIdContainer1 = 1; - optional DeveloperIdContainer developerIdContainer2 = 2; - optional int32 unknownInt3 = 3; -} -message DeveloperIdContainer { - optional string developerId = 1; - optional int32 unknownInt2 = 2; - optional int32 unknownInt3 = 3; -} diff --git a/googleplay-protobuf/src/googleplay.rs b/googleplay-protobuf/src/googleplay.rs index ce6307a..12de6d8 100644 --- a/googleplay-protobuf/src/googleplay.rs +++ b/googleplay-protobuf/src/googleplay.rs @@ -1,2386 +1,3946 @@ -/// Both sha1 and sha256 are encoded with base64 with URL and Filename Safe Alphabet with padding removed +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct AndroidAppDeliveryData { - #[prost(int64, optional, tag="1")] + #[prost(int64, optional, tag = "1")] pub download_size: ::core::option::Option, - #[prost(string, optional, tag="2")] + #[prost(string, optional, tag = "2")] pub sha1: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="3")] + #[prost(string, optional, tag = "3")] pub download_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, repeated, tag="4")] + #[prost(message, repeated, tag = "4")] pub additional_file: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag="5")] + #[prost(message, repeated, tag = "5")] pub download_auth_cookie: ::prost::alloc::vec::Vec, - #[prost(bool, optional, tag="6")] + #[prost(bool, optional, tag = "6")] pub forward_locked: ::core::option::Option, - #[prost(int64, optional, tag="7")] + #[prost(int64, optional, tag = "7")] pub refund_timeout: ::core::option::Option, - #[prost(bool, optional, tag="8")] + #[prost(bool, optional, tag = "8", default = "true")] pub server_initiated: ::core::option::Option, - #[prost(int64, optional, tag="9")] + #[prost(int64, optional, tag = "9")] pub post_install_refund_window_millis: ::core::option::Option, - #[prost(bool, optional, tag="10")] + #[prost(bool, optional, tag = "10")] pub immediate_start_needed: ::core::option::Option, - #[prost(message, optional, tag="11")] + #[prost(message, optional, tag = "11")] pub patch_data: ::core::option::Option, - #[prost(message, optional, tag="12")] + #[prost(message, optional, tag = "12")] pub encryption_params: ::core::option::Option, - #[prost(string, optional, tag="13")] - pub download_url_gzipped: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int64, optional, tag="14")] - pub download_size_gzipped: ::core::option::Option, - #[prost(message, repeated, tag="15")] - pub split: ::prost::alloc::vec::Vec, - #[prost(string, optional, tag="19")] + #[prost(string, optional, tag = "13")] + pub compressed_download_url: ::core::option::Option<::prost::alloc::string::String>, + #[prost(int64, optional, tag = "14")] + pub compressed_size: ::core::option::Option, + #[prost(message, repeated, tag = "15")] + pub split_delivery_data: ::prost::alloc::vec::Vec, + #[prost(int32, optional, tag = "16")] + pub install_location: ::core::option::Option, + #[prost(int64, optional, tag = "17")] + pub r#type: ::core::option::Option, + #[prost(message, optional, tag = "18")] + pub compressed_app_data: ::core::option::Option, + #[prost(string, optional, tag = "19")] pub sha256: ::core::option::Option<::prost::alloc::string::String>, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct Split { - #[prost(string, optional, tag="1")] +pub struct SplitDeliveryData { + #[prost(string, optional, tag = "1")] pub name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int64, optional, tag="2")] - pub size: ::core::option::Option, - #[prost(int64, optional, tag="3")] - pub size_gzipped: ::core::option::Option, - #[prost(string, optional, tag="4")] + #[prost(int64, optional, tag = "2")] + pub download_size: ::core::option::Option, + #[prost(int64, optional, tag = "3")] + pub compressed_size: ::core::option::Option, + #[prost(string, optional, tag = "4")] pub sha1: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="5")] + #[prost(string, optional, tag = "5")] pub download_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="6")] - pub download_url_gzipped: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="9")] + #[prost(string, optional, tag = "6")] + pub compressed_download_url: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "7")] + pub patch_data: ::core::option::Option, + #[prost(message, optional, tag = "8")] + pub compressed_app_data: ::core::option::Option, + #[prost(string, optional, tag = "9")] pub sha256: ::core::option::Option<::prost::alloc::string::String>, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct AndroidAppPatchData { - #[prost(int32, optional, tag="1")] + #[prost(int32, optional, tag = "1")] pub base_version_code: ::core::option::Option, - #[prost(string, optional, tag="2")] + #[prost(string, optional, tag = "2")] pub base_sha1: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="3")] + #[prost(string, optional, tag = "3")] pub download_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int32, optional, tag="4")] + #[prost(int32, optional, tag = "4", default = "1")] pub patch_format: ::core::option::Option, - #[prost(int64, optional, tag="5")] + #[prost(int64, optional, tag = "5")] pub max_patch_size: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CompressedAppData { + #[prost(int64, optional, tag = "1")] + pub r#type: ::core::option::Option, + #[prost(int64, optional, tag = "2")] + pub size: ::core::option::Option, + #[prost(string, optional, tag = "3")] + pub download_url: ::core::option::Option<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct AppFileMetadata { - #[prost(int32, optional, tag="1")] + #[prost(int32, optional, tag = "1")] pub file_type: ::core::option::Option, - #[prost(int32, optional, tag="2")] + #[prost(int32, optional, tag = "2")] pub version_code: ::core::option::Option, - #[prost(int64, optional, tag="3")] + #[prost(int64, optional, tag = "3")] pub size: ::core::option::Option, - #[prost(string, optional, tag="4")] + #[prost(string, optional, tag = "4")] pub download_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int64, optional, tag="6")] - pub size_gzipped: ::core::option::Option, - #[prost(string, optional, tag="7")] - pub download_url_gzipped: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="8")] + #[prost(message, optional, tag = "5")] + pub patch_data: ::core::option::Option, + #[prost(int64, optional, tag = "6")] + pub compressed_size: ::core::option::Option, + #[prost(string, optional, tag = "7")] + pub compressed_download_url: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "8")] pub sha1: ::core::option::Option<::prost::alloc::string::String>, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct EncryptionParams { - #[prost(int32, optional, tag="1")] + #[prost(int32, optional, tag = "1")] pub version: ::core::option::Option, - #[prost(string, optional, tag="2")] + #[prost(string, optional, tag = "2")] pub encryption_key: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="3")] - pub hmac_key: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "3")] + pub h_mac_key: ::core::option::Option<::prost::alloc::string::String>, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct HttpCookie { - #[prost(string, optional, tag="1")] + #[prost(string, optional, tag = "1")] pub name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="2")] + #[prost(string, optional, tag = "2")] pub value: ::core::option::Option<::prost::alloc::string::String>, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Address { - #[prost(string, optional, tag="1")] + #[prost(string, optional, tag = "1")] pub name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="2")] + #[prost(string, optional, tag = "2")] pub address_line1: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="3")] + #[prost(string, optional, tag = "3")] pub address_line2: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="4")] + #[prost(string, optional, tag = "4")] pub city: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="5")] + #[prost(string, optional, tag = "5")] pub state: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="6")] + #[prost(string, optional, tag = "6")] pub postal_code: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="7")] + #[prost(string, optional, tag = "7")] pub postal_country: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="8")] + #[prost(string, optional, tag = "8")] pub dependent_locality: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="9")] + #[prost(string, optional, tag = "9")] pub sorting_code: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="10")] + #[prost(string, optional, tag = "10")] pub language_code: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="11")] + #[prost(string, optional, tag = "11")] pub phone_number: ::core::option::Option<::prost::alloc::string::String>, - #[prost(bool, optional, tag="12")] - pub is_reduced: ::core::option::Option, - #[prost(string, optional, tag="13")] + #[prost(bool, optional, tag = "12")] + pub deprecated_is_reduced: ::core::option::Option, + #[prost(string, optional, tag = "13")] pub first_name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="14")] + #[prost(string, optional, tag = "14")] pub last_name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="15")] + #[prost(string, optional, tag = "15")] pub email: ::core::option::Option<::prost::alloc::string::String>, } -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct BookAuthor { - #[prost(string, optional, tag="1")] - pub name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="2")] - pub deprecated_query: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag="3")] - pub docid: ::core::option::Option, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct BookDetails { - #[prost(message, repeated, tag="3")] - pub subject: ::prost::alloc::vec::Vec, - #[prost(string, optional, tag="4")] - pub publisher: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="5")] - pub publication_date: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="6")] - pub isbn: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int32, optional, tag="7")] - pub number_of_pages: ::core::option::Option, - #[prost(string, optional, tag="8")] - pub subtitle: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, repeated, tag="9")] - pub author: ::prost::alloc::vec::Vec, - #[prost(string, optional, tag="10")] - pub reader_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="11")] - pub download_epub_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="12")] - pub download_pdf_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="13")] - pub acs_epub_token_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="14")] - pub acs_pdf_token_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(bool, optional, tag="15")] - pub epub_available: ::core::option::Option, - #[prost(bool, optional, tag="16")] - pub pdf_available: ::core::option::Option, - #[prost(string, optional, tag="17")] - pub about_the_author: ::core::option::Option<::prost::alloc::string::String>, - #[prost(group, repeated, tag="18")] - pub identifier: ::prost::alloc::vec::Vec, -} -/// Nested message and enum types in `BookDetails`. -pub mod book_details { - #[derive(Clone, PartialEq, ::prost::Message)] - pub struct Identifier { - #[prost(int32, optional, tag="19")] - pub r#type: ::core::option::Option, - #[prost(string, optional, tag="20")] - pub identifier: ::core::option::Option<::prost::alloc::string::String>, - } -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct BookSubject { - #[prost(string, optional, tag="1")] - pub name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="2")] - pub query: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="3")] - pub subject_id: ::core::option::Option<::prost::alloc::string::String>, -} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct BrowseLink { - #[prost(string, optional, tag="1")] + #[prost(string, optional, tag = "1")] pub name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="3")] + #[prost(string, optional, tag = "3")] pub data_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag="5")] + #[prost(bytes = "vec", optional, tag = "4")] + pub server_logs_cookie: ::core::option::Option<::prost::alloc::vec::Vec>, + #[prost(message, optional, tag = "5")] pub icon: ::core::option::Option, - #[prost(message, optional, tag="4")] - pub unknown_category_container: ::core::option::Option, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct UnknownCategoryContainer { - #[prost(message, optional, tag="5")] - pub category_id_container: ::core::option::Option, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct CategoryIdContainer { - #[prost(string, optional, tag="4")] - pub category_id: ::core::option::Option<::prost::alloc::string::String>, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct BrowseResponse { - #[prost(string, optional, tag="1")] + #[prost(string, optional, tag = "1")] pub contents_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="2")] + #[prost(string, optional, tag = "2")] pub promo_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, repeated, tag="3")] + #[prost(message, repeated, tag = "3")] pub category: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag="4")] + #[prost(message, repeated, tag = "4")] pub breadcrumb: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag="9")] - pub category_container: ::core::option::Option, + #[prost(message, repeated, tag = "5")] + pub quick_link: ::prost::alloc::vec::Vec, + #[prost(bytes = "vec", optional, tag = "6")] + pub server_logs_cookie: ::core::option::Option<::prost::alloc::vec::Vec>, + #[prost(string, optional, tag = "7")] + pub title: ::core::option::Option<::prost::alloc::string::String>, + #[prost(int32, optional, tag = "8")] + pub backend_id: ::core::option::Option, + #[prost(message, optional, tag = "9")] + pub browse_tab: ::core::option::Option, + #[prost(int32, optional, tag = "10")] + pub landing_tab_index: ::core::option::Option, + #[prost(int32, optional, tag = "11")] + pub quick_link_tab_index: ::core::option::Option, + #[prost(int32, optional, tag = "12")] + pub quick_link_fallback_tab_index: ::core::option::Option, + #[prost(bool, optional, tag = "14")] + pub is_family_safe: ::core::option::Option, + #[prost(string, optional, tag = "18")] + pub share_url: ::core::option::Option<::prost::alloc::string::String>, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct CategoryContainer { - #[prost(message, repeated, tag="4")] - pub category: ::prost::alloc::vec::Vec, +pub struct DirectPurchase { + #[prost(string, optional, tag = "1")] + pub details_url: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "2")] + pub purchase_item_id: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "3")] + pub parent_item_id: ::core::option::Option<::prost::alloc::string::String>, + #[prost(int32, optional, tag = "4", default = "1")] + pub offer_type: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct AddressChallenge { - #[prost(string, optional, tag="1")] - pub response_address_param: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="2")] - pub response_checkboxes_param: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="3")] - pub title: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="4")] - pub description_html: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, repeated, tag="5")] - pub checkbox: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag="6")] - pub address: ::core::option::Option
, - #[prost(message, repeated, tag="7")] - pub error_input_field: ::prost::alloc::vec::Vec, - #[prost(string, optional, tag="8")] - pub error_html: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int32, repeated, packed="false", tag="9")] - pub required_field: ::prost::alloc::vec::Vec, +pub struct RedeemGiftCard { + #[prost(string, optional, tag = "1")] + pub prefill_code: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "2")] + pub partner_payload: ::core::option::Option<::prost::alloc::string::String>, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct AuthenticationChallenge { - #[prost(int32, optional, tag="1")] - pub authentication_type: ::core::option::Option, - #[prost(string, optional, tag="2")] - pub response_authentication_type_param: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="3")] - pub response_retry_count_param: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="4")] - pub pin_header_text: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="5")] - pub pin_description_text_html: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="6")] - pub gaia_header_text: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="7")] - pub gaia_description_text_html: ::core::option::Option<::prost::alloc::string::String>, +pub struct ResolvedLink { + #[prost(string, optional, tag = "1")] + pub details_url: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "2")] + pub browse_url: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "3")] + pub search_url: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "4")] + pub direct_purchase: ::core::option::Option, + #[prost(string, optional, tag = "5")] + pub home_url: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "6")] + pub redeem_gift_card: ::core::option::Option, + #[prost(bytes = "vec", optional, tag = "7")] + pub server_logs_cookie: ::core::option::Option<::prost::alloc::vec::Vec>, + #[prost(message, optional, tag = "8")] + pub doc_id: ::core::option::Option, + #[prost(string, optional, tag = "9")] + pub wishlist_url: ::core::option::Option<::prost::alloc::string::String>, + #[prost(int32, optional, tag = "10")] + pub backend: ::core::option::Option, + #[prost(string, optional, tag = "11")] + pub query: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "12")] + pub my_account_url: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "13")] + pub help_center: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct HelpCenter { + #[prost(string, optional, tag = "1")] + pub context_id: ::core::option::Option<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct QuickLink { + #[prost(string, optional, tag = "1")] + pub name: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "2")] + pub image: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub link: ::core::option::Option, + #[prost(bool, optional, tag = "4")] + pub display_required: ::core::option::Option, + #[prost(bytes = "vec", optional, tag = "5")] + pub server_logs_cookie: ::core::option::Option<::prost::alloc::vec::Vec>, + #[prost(int32, optional, tag = "6")] + pub backend_id: ::core::option::Option, + #[prost(bool, optional, tag = "7")] + pub prism_style: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BrowseTab { + #[prost(string, optional, tag = "1")] + pub title: ::core::option::Option<::prost::alloc::string::String>, + #[prost(bytes = "vec", optional, tag = "2")] + pub server_logs_cookie: ::core::option::Option<::prost::alloc::vec::Vec>, + #[prost(string, optional, tag = "3")] + pub list_url: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, repeated, tag = "4")] + pub browse_link: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "5")] + pub quick_link: ::prost::alloc::vec::Vec, + #[prost(string, optional, tag = "6")] + pub quick_link_title: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "7")] + pub categories_title: ::core::option::Option<::prost::alloc::string::String>, + #[prost(int32, optional, tag = "8")] + pub backend_id: ::core::option::Option, + #[prost(string, optional, tag = "9")] + pub highlights_banner_url: ::core::option::Option<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct BuyResponse { - #[prost(message, optional, tag="1")] + #[prost(message, optional, tag = "1")] pub purchase_response: ::core::option::Option, - #[prost(group, optional, tag="2")] + #[prost(group, optional, tag = "2")] pub checkoutinfo: ::core::option::Option, - #[prost(string, optional, tag="8")] + #[prost(string, optional, tag = "8")] pub continue_via_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="9")] + #[prost(string, optional, tag = "9")] pub purchase_status_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="12")] + #[prost(string, optional, tag = "12")] pub checkout_service_id: ::core::option::Option<::prost::alloc::string::String>, - #[prost(bool, optional, tag="13")] + #[prost(bool, optional, tag = "13")] pub checkout_token_required: ::core::option::Option, - #[prost(string, optional, tag="14")] + #[prost(string, optional, tag = "14")] pub base_checkout_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, repeated, tag="37")] + #[prost(string, repeated, tag = "37")] pub tos_checkbox_html: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(int32, optional, tag="38")] + #[prost(int32, optional, tag = "38")] pub iab_permission_error: ::core::option::Option, - #[prost(message, optional, tag="39")] + #[prost(message, optional, tag = "39")] pub purchase_status_response: ::core::option::Option, - #[prost(string, optional, tag="46")] + #[prost(string, optional, tag = "46")] pub purchase_cookie: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag="49")] + #[prost(message, optional, tag = "49")] pub challenge: ::core::option::Option, - #[prost(string, optional, tag="55")] - pub download_token: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "50")] + pub add_instrument_prompt_html: ::core::option::Option< + ::prost::alloc::string::String, + >, + #[prost(string, optional, tag = "51")] + pub confirm_button_text: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "52")] + pub permission_error_title_text: ::core::option::Option< + ::prost::alloc::string::String, + >, + #[prost(string, optional, tag = "53")] + pub permission_error_message_text: ::core::option::Option< + ::prost::alloc::string::String, + >, + #[prost(bytes = "vec", optional, tag = "54")] + pub server_logs_cookie: ::core::option::Option<::prost::alloc::vec::Vec>, + #[prost(string, optional, tag = "55")] + pub encoded_delivery_token: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "56")] + pub unknown_token: ::core::option::Option<::prost::alloc::string::String>, } /// Nested message and enum types in `BuyResponse`. pub mod buy_response { + #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct CheckoutInfo { - #[prost(message, optional, tag="3")] + #[prost(message, optional, tag = "3")] pub item: ::core::option::Option, - #[prost(message, repeated, tag="4")] + #[prost(message, repeated, tag = "4")] pub sub_item: ::prost::alloc::vec::Vec, - #[prost(group, repeated, tag="5")] + #[prost(group, repeated, tag = "5")] pub checkoutoption: ::prost::alloc::vec::Vec, - #[prost(string, optional, tag="10")] - pub deprecated_checkout_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="11")] + #[prost(string, optional, tag = "10")] + pub deprecated_checkout_url: ::core::option::Option< + ::prost::alloc::string::String, + >, + #[prost(string, optional, tag = "11")] pub add_instrument_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, repeated, tag="20")] + #[prost(string, repeated, tag = "20")] pub footer_html: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(int32, repeated, packed="false", tag="31")] + #[prost(int32, repeated, packed = "false", tag = "31")] pub eligible_instrument_family: ::prost::alloc::vec::Vec, - #[prost(string, repeated, tag="36")] + #[prost(string, repeated, tag = "36")] pub footnote_html: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(message, repeated, tag="44")] + #[prost(message, repeated, tag = "44")] pub eligible_instrument: ::prost::alloc::vec::Vec, } /// Nested message and enum types in `CheckoutInfo`. pub mod checkout_info { + #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct CheckoutOption { - #[prost(string, optional, tag="6")] + #[prost(string, optional, tag = "6")] pub form_of_payment: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="7")] - pub encoded_adjusted_cart: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="15")] + #[prost(string, optional, tag = "7")] + pub encoded_adjusted_cart: ::core::option::Option< + ::prost::alloc::string::String, + >, + #[prost(string, optional, tag = "15")] pub instrument_id: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, repeated, tag="16")] + #[prost(message, repeated, tag = "16")] pub item: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag="17")] + #[prost(message, repeated, tag = "17")] pub sub_item: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag="18")] + #[prost(message, optional, tag = "18")] pub total: ::core::option::Option, - #[prost(string, repeated, tag="19")] + #[prost(string, repeated, tag = "19")] pub footer_html: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(int32, optional, tag="29")] + #[prost(int32, optional, tag = "29")] pub instrument_family: ::core::option::Option, - #[prost(int32, repeated, packed="false", tag="30")] + #[prost(int32, repeated, packed = "false", tag = "30")] pub deprecated_instrument_inapplicable_reason: ::prost::alloc::vec::Vec, - #[prost(bool, optional, tag="32")] + #[prost(bool, optional, tag = "32")] pub selected_instrument: ::core::option::Option, - #[prost(message, optional, tag="33")] + #[prost(message, optional, tag = "33")] pub summary: ::core::option::Option, - #[prost(string, repeated, tag="35")] + #[prost(string, repeated, tag = "35")] pub footnote_html: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(message, optional, tag="43")] + #[prost(message, optional, tag = "43")] pub instrument: ::core::option::Option, - #[prost(string, optional, tag="45")] + #[prost(string, optional, tag = "45")] pub purchase_cookie: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, repeated, tag="48")] - pub disabled_reason: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(string, repeated, tag = "48")] + pub disabled_reason: ::prost::alloc::vec::Vec< + ::prost::alloc::string::String, + >, } } } -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Challenge { - #[prost(message, optional, tag="1")] - pub address_challenge: ::core::option::Option, - #[prost(message, optional, tag="2")] - pub authentication_challenge: ::core::option::Option, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct FormCheckbox { - #[prost(string, optional, tag="1")] - pub description: ::core::option::Option<::prost::alloc::string::String>, - #[prost(bool, optional, tag="2")] - pub checked: ::core::option::Option, - #[prost(bool, optional, tag="3")] - pub required: ::core::option::Option, -} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct LineItem { - #[prost(string, optional, tag="1")] + #[prost(string, optional, tag = "1")] pub name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="2")] + #[prost(string, optional, tag = "2")] pub description: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag="3")] + #[prost(message, optional, tag = "3")] pub offer: ::core::option::Option, - #[prost(message, optional, tag="4")] + #[prost(message, optional, tag = "4")] pub amount: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Money { - #[prost(int64, optional, tag="1")] + #[prost(int64, optional, tag = "1")] pub micros: ::core::option::Option, - #[prost(string, optional, tag="2")] + #[prost(string, optional, tag = "2")] pub currency_code: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="3")] + #[prost(string, optional, tag = "3")] pub formatted_amount: ::core::option::Option<::prost::alloc::string::String>, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct PurchaseNotificationResponse { - #[prost(int32, optional, tag="1")] + #[prost(int32, optional, tag = "1")] pub status: ::core::option::Option, - #[prost(message, optional, tag="2")] + #[prost(message, optional, tag = "2")] pub debug_info: ::core::option::Option, - #[prost(string, optional, tag="3")] + #[prost(string, optional, tag = "3")] pub localized_error_message: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="4")] + #[prost(string, optional, tag = "4")] pub purchase_id: ::core::option::Option<::prost::alloc::string::String>, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct PurchaseStatusResponse { - #[prost(int32, optional, tag="1")] + #[prost(int32, optional, tag = "1")] pub status: ::core::option::Option, - #[prost(string, optional, tag="2")] + #[prost(string, optional, tag = "2")] pub status_msg: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="3")] + #[prost(string, optional, tag = "3")] pub status_title: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="4")] + #[prost(string, optional, tag = "4")] pub brief_message: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="5")] + #[prost(string, optional, tag = "5")] pub info_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag="6")] + #[prost(message, optional, tag = "6")] pub library_update: ::core::option::Option, - #[prost(message, optional, tag="7")] + #[prost(message, optional, tag = "7")] pub rejected_instrument: ::core::option::Option, - #[prost(message, optional, tag="8")] + #[prost(message, optional, tag = "8")] pub app_delivery_data: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct DeliveryResponse { - #[prost(message, optional, tag="2")] - pub app_delivery_data: ::core::option::Option, +pub struct PurchaseHistoryDetails { + #[prost(int64, optional, tag = "2")] + pub purchase_timestamp_millis: ::core::option::Option, + #[prost(string, optional, tag = "3")] + pub purchase_details_html: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "5")] + pub offer: ::core::option::Option, + #[prost(string, optional, tag = "6")] + pub purchase_status: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "7")] + pub title_byline_html: ::core::option::Option<::prost::alloc::string::String>, + #[prost(bytes = "vec", optional, tag = "8")] + pub client_refund_context: ::core::option::Option<::prost::alloc::vec::Vec>, + #[prost(message, optional, tag = "9")] + pub purchase_details_image: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BillingProfileResponse { + #[prost(int32, optional, tag = "1")] + pub result: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub billing_profile: ::core::option::Option, + #[prost(string, optional, tag = "3")] + pub user_message_html: ::core::option::Option<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CheckInstrumentResponse { + #[prost(bool, optional, tag = "1")] + pub user_has_valid_instrument: ::core::option::Option, + #[prost(bool, optional, tag = "2")] + pub checkout_token_required: ::core::option::Option, + #[prost(message, repeated, tag = "4")] + pub instrument: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "5")] + pub eligible_instrument: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct InstrumentSetupInfoResponse { + #[prost(message, repeated, tag = "1")] + pub setup_info: ::prost::alloc::vec::Vec, + #[prost(bool, optional, tag = "2")] + pub checkout_token_required: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RedeemGiftCardRequest { + #[prost(string, optional, tag = "1")] + pub gift_card_pin: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "2")] + pub address: ::core::option::Option
, + #[prost(string, repeated, tag = "3")] + pub accepted_legal_document_id: ::prost::alloc::vec::Vec< + ::prost::alloc::string::String, + >, + #[prost(string, optional, tag = "4")] + pub checkout_token: ::core::option::Option<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RedeemGiftCardResponse { + #[prost(int32, optional, tag = "1")] + pub result: ::core::option::Option, + #[prost(string, optional, tag = "2")] + pub user_message_html: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "3")] + pub balance_html: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "4")] + pub address_challenge: ::core::option::Option, + #[prost(bool, optional, tag = "5")] + pub checkout_token_required: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct UpdateInstrumentRequest { + #[prost(message, optional, tag = "1")] + pub instrument: ::core::option::Option, + #[prost(string, optional, tag = "2")] + pub checkout_token: ::core::option::Option<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct UpdateInstrumentResponse { + #[prost(int32, optional, tag = "1")] + pub result: ::core::option::Option, + #[prost(string, optional, tag = "2")] + pub instrument_id: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "3")] + pub user_message_html: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, repeated, tag = "4")] + pub error_input_field: ::prost::alloc::vec::Vec, + #[prost(bool, optional, tag = "5")] + pub checkout_token_required: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub redeemed_offer: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct InitiateAssociationResponse { + #[prost(string, optional, tag = "1")] + pub user_token: ::core::option::Option<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct VerifyAssociationResponse { + #[prost(int32, optional, tag = "1")] + pub status: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub billing_address: ::core::option::Option
, + #[prost(message, optional, tag = "3")] + pub carrier_tos: ::core::option::Option, + #[prost(string, optional, tag = "4")] + pub carrier_error_message: ::core::option::Option<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AddressChallenge { + #[prost(string, optional, tag = "1")] + pub response_address_param: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "2")] + pub response_checkboxes_param: ::core::option::Option< + ::prost::alloc::string::String, + >, + #[prost(string, optional, tag = "3")] + pub title: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "4")] + pub description_html: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, repeated, tag = "5")] + pub checkbox: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "6")] + pub address: ::core::option::Option
, + #[prost(message, repeated, tag = "7")] + pub error_input_field: ::prost::alloc::vec::Vec, + #[prost(string, optional, tag = "8")] + pub error_html: ::core::option::Option<::prost::alloc::string::String>, + #[prost(int32, repeated, packed = "false", tag = "9")] + pub required_field: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "10")] + pub supported_country: ::prost::alloc::vec::Vec, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AuthenticationChallenge { + #[prost(int32, optional, tag = "1")] + pub authentication_type: ::core::option::Option, + #[prost(string, optional, tag = "2")] + pub response_authentication_type_param: ::core::option::Option< + ::prost::alloc::string::String, + >, + #[prost(string, optional, tag = "3")] + pub response_retry_count_param: ::core::option::Option< + ::prost::alloc::string::String, + >, + #[prost(string, optional, tag = "4")] + pub pin_header_text: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "5")] + pub pin_description_text_html: ::core::option::Option< + ::prost::alloc::string::String, + >, + #[prost(string, optional, tag = "6")] + pub gaia_header_text: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "7")] + pub gaia_description_text_html: ::core::option::Option< + ::prost::alloc::string::String, + >, + #[prost(string, optional, tag = "8")] + pub gaia_footer_text_html: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "9")] + pub gaia_opt_out_checkbox: ::core::option::Option, + #[prost(string, optional, tag = "10")] + pub gaia_opt_out_description_text_html: ::core::option::Option< + ::prost::alloc::string::String, + >, +} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct Docid { - #[prost(string, optional, tag="1")] - pub backend_docid: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int32, optional, tag="2")] +pub struct Challenge { + #[prost(message, optional, tag = "1")] + pub address_challenge: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub authentication_challenge: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub web_view_challenge: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Country { + #[prost(string, optional, tag = "1")] + pub region_code: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "2")] + pub display_name: ::core::option::Option<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FormCheckbox { + #[prost(string, optional, tag = "1")] + pub description: ::core::option::Option<::prost::alloc::string::String>, + #[prost(bool, optional, tag = "2")] + pub checked: ::core::option::Option, + #[prost(bool, optional, tag = "3")] + pub required: ::core::option::Option, + #[prost(string, optional, tag = "4")] + pub id: ::core::option::Option<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct InputValidationError { + #[prost(int32, optional, tag = "1")] + pub input_field: ::core::option::Option, + #[prost(string, optional, tag = "2")] + pub error_message: ::core::option::Option<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct WebViewChallenge { + #[prost(string, optional, tag = "1")] + pub start_url: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "2")] + pub target_url_regexp: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "3")] + pub cancel_button_display_label: ::core::option::Option< + ::prost::alloc::string::String, + >, + #[prost(string, optional, tag = "4")] + pub response_target_url_param: ::core::option::Option< + ::prost::alloc::string::String, + >, + #[prost(string, optional, tag = "5")] + pub cancel_url_regexp: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "6")] + pub title: ::core::option::Option<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AddCreditCardPromoOffer { + #[prost(string, optional, tag = "1")] + pub header_text: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "2")] + pub description_html: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "3")] + pub image: ::core::option::Option, + #[prost(string, optional, tag = "4")] + pub introductory_text_html: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "5")] + pub offer_title: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "6")] + pub no_action_description: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "7")] + pub terms_and_conditions_html: ::core::option::Option< + ::prost::alloc::string::String, + >, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AvailablePromoOffer { + #[prost(message, optional, tag = "1")] + pub add_credit_card_offer: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CheckPromoOfferResponse { + #[prost(message, repeated, tag = "1")] + pub available_offer: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "2")] + pub redeemed_offer: ::core::option::Option, + #[prost(bool, optional, tag = "3")] + pub checkout_token_required: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RedeemedPromoOffer { + #[prost(string, optional, tag = "1")] + pub header_text: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "2")] + pub description_html: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "3")] + pub image: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DocId { + #[prost(string, optional, tag = "1")] + pub backend_doc_id: ::core::option::Option<::prost::alloc::string::String>, + #[prost(int32, optional, tag = "2", default = "1")] pub r#type: ::core::option::Option, - #[prost(int32, optional, tag="3")] + #[prost(int32, optional, tag = "3")] pub backend: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Install { - #[prost(fixed64, optional, tag="1")] + #[prost(fixed64, optional, tag = "1")] pub android_id: ::core::option::Option, - #[prost(int32, optional, tag="2")] + #[prost(int32, optional, tag = "2")] pub version: ::core::option::Option, - #[prost(bool, optional, tag="3")] + #[prost(bool, optional, tag = "3")] pub bundled: ::core::option::Option, + #[prost(bool, optional, tag = "4")] + pub pending: ::core::option::Option, + #[prost(int64, optional, tag = "5")] + pub last_updated: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GroupLicenseKey { + #[prost(fixed64, optional, tag = "1")] + pub dasher_customer_id: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub doc_id: ::core::option::Option, + #[prost(int32, optional, tag = "3", default = "1")] + pub licensed_offer_type: ::core::option::Option, + #[prost(int32, optional, tag = "4")] + pub r#type: ::core::option::Option, + #[prost(int32, optional, tag = "5")] + pub rental_period_days: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct LicenseTerms { + #[prost(message, optional, tag = "1")] + pub group_license_key: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Offer { - #[prost(int64, optional, tag="1")] + #[prost(int64, optional, tag = "1")] pub micros: ::core::option::Option, - #[prost(string, optional, tag="2")] + #[prost(string, optional, tag = "2")] pub currency_code: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="3")] + #[prost(string, optional, tag = "3")] pub formatted_amount: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, repeated, tag="4")] + #[prost(message, repeated, tag = "4")] pub converted_price: ::prost::alloc::vec::Vec, - #[prost(bool, optional, tag="5")] + #[prost(bool, optional, tag = "5")] pub checkout_flow_required: ::core::option::Option, - #[prost(int64, optional, tag="6")] + #[prost(int64, optional, tag = "6")] pub full_price_micros: ::core::option::Option, - #[prost(string, optional, tag="7")] + #[prost(string, optional, tag = "7")] pub formatted_full_amount: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int32, optional, tag="8")] + #[prost(int32, optional, tag = "8", default = "1")] pub offer_type: ::core::option::Option, - #[prost(message, optional, tag="9")] + #[prost(message, optional, tag = "9")] pub rental_terms: ::core::option::Option, - #[prost(int64, optional, tag="10")] + #[prost(int64, optional, tag = "10")] pub on_sale_date: ::core::option::Option, - #[prost(string, repeated, tag="11")] + #[prost(string, repeated, tag = "11")] pub promotion_label: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(message, optional, tag="12")] + #[prost(message, optional, tag = "12")] pub subscription_terms: ::core::option::Option, - #[prost(string, optional, tag="13")] + #[prost(string, optional, tag = "13")] pub formatted_name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="14")] + #[prost(string, optional, tag = "14")] pub formatted_description: ::core::option::Option<::prost::alloc::string::String>, - #[prost(bool, optional, tag="22")] + #[prost(bool, optional, tag = "15")] + pub preorder: ::core::option::Option, + #[prost(int32, optional, tag = "16")] + pub on_sale_date_display_time_zone_offset_millis: ::core::option::Option, + #[prost(int32, optional, tag = "17")] + pub licensed_offer_type: ::core::option::Option, + #[prost(message, optional, tag = "18")] + pub subscription_content_terms: ::core::option::Option, + #[prost(string, optional, tag = "19")] + pub offer_id: ::core::option::Option<::prost::alloc::string::String>, + #[prost(int64, optional, tag = "20")] + pub preorder_fulfillment_display_date: ::core::option::Option, + #[prost(message, optional, tag = "21")] + pub license_terms: ::core::option::Option, + #[prost(bool, optional, tag = "22")] pub sale: ::core::option::Option, - #[prost(string, optional, tag="26")] - pub message: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int64, optional, tag="30")] + #[prost(message, optional, tag = "23")] + pub voucher_terms: ::core::option::Option, + #[prost(message, repeated, tag = "24")] + pub offer_payment: ::prost::alloc::vec::Vec, + #[prost(bool, optional, tag = "25")] + pub repeat_last_payment: ::core::option::Option, + #[prost(string, optional, tag = "26")] + pub buy_button_label: ::core::option::Option<::prost::alloc::string::String>, + #[prost(bool, optional, tag = "27")] + pub instant_purchase_enabled: ::core::option::Option, + #[prost(int64, optional, tag = "30")] pub sale_end_timestamp: ::core::option::Option, - #[prost(string, optional, tag="31")] + #[prost(string, optional, tag = "31")] pub sale_message: ::core::option::Option<::prost::alloc::string::String>, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct OwnershipInfo { - #[prost(int64, optional, tag="1")] - pub initiation_timestamp_msec: ::core::option::Option, - #[prost(int64, optional, tag="2")] - pub valid_until_timestamp_msec: ::core::option::Option, - #[prost(bool, optional, tag="3")] - pub auto_renewing: ::core::option::Option, - #[prost(int64, optional, tag="4")] - pub refund_timeout_timestamp_msec: ::core::option::Option, - #[prost(int64, optional, tag="5")] - pub post_delivery_refund_window_msec: ::core::option::Option, +pub struct MonthAndDay { + #[prost(uint32, optional, tag = "1")] + pub month: ::core::option::Option, + #[prost(uint32, optional, tag = "2")] + pub day: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct OfferPaymentPeriod { + #[prost(message, optional, tag = "1")] + pub duration: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub start: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub end: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct OfferPaymentOverride { + #[prost(int64, optional, tag = "1")] + pub micros: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub start: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub end: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct OfferPayment { + #[prost(int64, optional, tag = "1")] + pub micros: ::core::option::Option, + #[prost(string, optional, tag = "2")] + pub currency_code: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "3")] + pub offer_payment_period: ::core::option::Option, + #[prost(message, repeated, tag = "4")] + pub offer_payment_override: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct VoucherTerms {} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct RentalTerms { - #[prost(int32, optional, tag="1")] - pub grant_period_seconds: ::core::option::Option, - #[prost(int32, optional, tag="2")] - pub activate_period_seconds: ::core::option::Option, + #[prost(int32, optional, tag = "1")] + pub d_eprecated_grant_period_seconds: ::core::option::Option, + #[prost(int32, optional, tag = "2")] + pub d_eprecated_activate_period_seconds: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub grant_period: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub activate_period: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SignedData { + #[prost(string, optional, tag = "1")] + pub signed_data: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "2")] + pub signature: ::core::option::Option<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SubscriptionContentTerms { + #[prost(message, optional, tag = "1")] + pub required_subscription: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GroupLicenseInfo { + #[prost(int32, optional, tag = "1")] + pub licensed_offer_type: ::core::option::Option, + #[prost(fixed64, optional, tag = "2")] + pub gaia_group_id: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct LicensedDocumentInfo { + #[prost(fixed64, repeated, packed = "false", tag = "1")] + pub gaia_group_id: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct OwnershipInfo { + #[prost(int64, optional, tag = "1")] + pub initiation_timestamp: ::core::option::Option, + #[prost(int64, optional, tag = "2")] + pub valid_until_timestamp: ::core::option::Option, + #[prost(bool, optional, tag = "3")] + pub auto_renewing: ::core::option::Option, + #[prost(int64, optional, tag = "4")] + pub refund_timeout_timestamp: ::core::option::Option, + #[prost(int64, optional, tag = "5")] + pub post_delivery_refund_window_millis: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub developer_purchase_info: ::core::option::Option, + #[prost(bool, optional, tag = "7")] + pub pre_ordered: ::core::option::Option, + #[prost(bool, optional, tag = "8")] + pub hidden: ::core::option::Option, + #[prost(message, optional, tag = "9")] + pub rental_terms: ::core::option::Option, + #[prost(message, optional, tag = "10")] + pub group_license_info: ::core::option::Option, + #[prost(message, optional, tag = "11")] + pub licensed_document_info: ::core::option::Option, + #[prost(int32, optional, tag = "12")] + pub quantity: ::core::option::Option, + #[prost(int64, optional, tag = "14")] + pub library_expiration_timestamp: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct SubscriptionTerms { - #[prost(message, optional, tag="1")] + #[prost(message, optional, tag = "1")] pub recurring_period: ::core::option::Option, - #[prost(message, optional, tag="2")] + #[prost(message, optional, tag = "2")] pub trial_period: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct TimePeriod { - #[prost(int32, optional, tag="1")] + #[prost(int32, optional, tag = "1")] pub unit: ::core::option::Option, - #[prost(int32, optional, tag="2")] + #[prost(int32, optional, tag = "2")] pub count: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct BillingAddressSpec { - #[prost(int32, optional, tag="1")] + #[prost(int32, optional, tag = "1")] pub billing_address_type: ::core::option::Option, - #[prost(int32, repeated, packed="false", tag="2")] + #[prost(int32, repeated, packed = "false", tag = "2")] pub required_field: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BillingProfile { + #[prost(message, repeated, tag = "1")] + pub instrument: ::prost::alloc::vec::Vec, + #[prost(string, optional, tag = "2")] + pub selected_external_instrument_id: ::core::option::Option< + ::prost::alloc::string::String, + >, + #[prost(message, repeated, tag = "3")] + pub billing_profile_option: ::prost::alloc::vec::Vec, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BillingProfileOption { + #[prost(int32, optional, tag = "1")] + pub r#type: ::core::option::Option, + #[prost(string, optional, tag = "2")] + pub display_title: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "3")] + pub external_instrument_id: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "4")] + pub topup_info: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub carrier_billing_instrument_status: ::core::option::Option< + CarrierBillingInstrumentStatus, + >, +} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct CarrierBillingCredentials { - #[prost(string, optional, tag="1")] + #[prost(string, optional, tag = "1")] pub value: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int64, optional, tag="2")] + #[prost(int64, optional, tag = "2")] pub expiration: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct CarrierBillingInstrument { - #[prost(string, optional, tag="1")] + #[prost(string, optional, tag = "1")] pub instrument_key: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="2")] + #[prost(string, optional, tag = "2")] pub account_type: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="3")] + #[prost(string, optional, tag = "3")] pub currency_code: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int64, optional, tag="4")] + #[prost(int64, optional, tag = "4")] pub transaction_limit: ::core::option::Option, - #[prost(string, optional, tag="5")] + #[prost(string, optional, tag = "5")] pub subscriber_identifier: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag="6")] + #[prost(message, optional, tag = "6")] pub encrypted_subscriber_info: ::core::option::Option, - #[prost(message, optional, tag="7")] + #[prost(message, optional, tag = "7")] pub credentials: ::core::option::Option, - #[prost(message, optional, tag="8")] + #[prost(message, optional, tag = "8")] pub accepted_carrier_tos: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct CarrierBillingInstrumentStatus { - #[prost(message, optional, tag="1")] + #[prost(message, optional, tag = "1")] pub carrier_tos: ::core::option::Option, - #[prost(bool, optional, tag="2")] + #[prost(bool, optional, tag = "2")] pub association_required: ::core::option::Option, - #[prost(bool, optional, tag="3")] + #[prost(bool, optional, tag = "3")] pub password_required: ::core::option::Option, - #[prost(message, optional, tag="4")] + #[prost(message, optional, tag = "4")] pub carrier_password_prompt: ::core::option::Option, - #[prost(int32, optional, tag="5")] + #[prost(int32, optional, tag = "5")] pub api_version: ::core::option::Option, - #[prost(string, optional, tag="6")] + #[prost(string, optional, tag = "6")] pub name: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "7")] + pub device_association: ::core::option::Option, + #[prost(string, optional, tag = "8")] + pub carrier_support_phone_number: ::core::option::Option< + ::prost::alloc::string::String, + >, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct CarrierTos { - #[prost(message, optional, tag="1")] + #[prost(message, optional, tag = "1")] pub dcb_tos: ::core::option::Option, - #[prost(message, optional, tag="2")] + #[prost(message, optional, tag = "2")] pub pii_tos: ::core::option::Option, - #[prost(bool, optional, tag="3")] + #[prost(bool, optional, tag = "3")] pub needs_dcb_tos_acceptance: ::core::option::Option, - #[prost(bool, optional, tag="4")] + #[prost(bool, optional, tag = "4")] pub needs_pii_tos_acceptance: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct CarrierTosEntry { - #[prost(string, optional, tag="1")] + #[prost(string, optional, tag = "1")] pub url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="2")] + #[prost(string, optional, tag = "2")] pub version: ::core::option::Option<::prost::alloc::string::String>, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct CreditCardInstrument { - #[prost(int32, optional, tag="1")] + #[prost(int32, optional, tag = "1")] pub r#type: ::core::option::Option, - #[prost(string, optional, tag="2")] + #[prost(string, optional, tag = "2")] pub escrow_handle: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="3")] + #[prost(string, optional, tag = "3")] pub last_digits: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int32, optional, tag="4")] + #[prost(int32, optional, tag = "4")] pub expiration_month: ::core::option::Option, - #[prost(int32, optional, tag="5")] + #[prost(int32, optional, tag = "5")] pub expiration_year: ::core::option::Option, - #[prost(message, repeated, tag="6")] + #[prost(message, repeated, tag = "6")] pub escrow_efe_param: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DeviceAssociation { + #[prost(string, optional, tag = "1")] + pub user_token_request_message: ::core::option::Option< + ::prost::alloc::string::String, + >, + #[prost(string, optional, tag = "2")] + pub user_token_request_address: ::core::option::Option< + ::prost::alloc::string::String, + >, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DisabledInfo { + #[prost(int32, optional, tag = "1")] + pub disabled_reason: ::core::option::Option, + #[prost(string, optional, tag = "2")] + pub disabled_message_html: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "3")] + pub error_message: ::core::option::Option<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct EfeParam { - #[prost(int32, optional, tag="1")] + #[prost(int32, optional, tag = "1")] pub key: ::core::option::Option, - #[prost(string, optional, tag="2")] + #[prost(string, optional, tag = "2")] pub value: ::core::option::Option<::prost::alloc::string::String>, } -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct InputValidationError { - #[prost(int32, optional, tag="1")] - pub input_field: ::core::option::Option, - #[prost(string, optional, tag="2")] - pub error_message: ::core::option::Option<::prost::alloc::string::String>, -} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Instrument { - #[prost(string, optional, tag="1")] + #[prost(string, optional, tag = "1")] pub instrument_id: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag="2")] + #[prost(message, optional, tag = "2")] pub billing_address: ::core::option::Option
, - #[prost(message, optional, tag="3")] + #[prost(message, optional, tag = "3")] pub credit_card: ::core::option::Option, - #[prost(message, optional, tag="4")] + #[prost(message, optional, tag = "4")] pub carrier_billing: ::core::option::Option, - #[prost(message, optional, tag="5")] + #[prost(message, optional, tag = "5")] pub billing_address_spec: ::core::option::Option, - #[prost(int32, optional, tag="6")] + #[prost(int32, optional, tag = "6")] pub instrument_family: ::core::option::Option, - #[prost(message, optional, tag="7")] + #[prost(message, optional, tag = "7")] pub carrier_billing_status: ::core::option::Option, - #[prost(string, optional, tag="8")] + #[prost(string, optional, tag = "8")] pub display_title: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "9")] + pub topup_info_deprecated: ::core::option::Option, + #[prost(int32, optional, tag = "10")] + pub version: ::core::option::Option, + #[prost(message, optional, tag = "11")] + pub stored_value: ::core::option::Option, + #[prost(message, repeated, tag = "12")] + pub disabled_info: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct InstrumentSetupInfo { + #[prost(int32, optional, tag = "1")] + pub instrument_family: ::core::option::Option, + #[prost(bool, optional, tag = "2")] + pub supported: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub address_challenge: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub balance: ::core::option::Option, + #[prost(string, repeated, tag = "5")] + pub footer_html: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct PasswordPrompt { - #[prost(string, optional, tag="1")] + #[prost(string, optional, tag = "1")] pub prompt: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="2")] + #[prost(string, optional, tag = "2")] pub forgot_password_url: ::core::option::Option<::prost::alloc::string::String>, } +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct StoredValueInstrument { + #[prost(int32, optional, tag = "1")] + pub r#type: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub balance: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub topup_info: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct TopupInfo { + #[prost(string, optional, tag = "1")] + pub options_container_doc_id_deprecated: ::core::option::Option< + ::prost::alloc::string::String, + >, + #[prost(string, optional, tag = "2")] + pub options_list_url: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "3")] + pub subtitle: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "4")] + pub options_container_doc_id: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ConsumePurchaseResponse { + #[prost(message, optional, tag = "1")] + pub library_update: ::core::option::Option, + #[prost(int32, optional, tag = "2")] + pub status: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ContainerMetadata { - #[prost(string, optional, tag="1")] + #[prost(string, optional, tag = "1")] pub browse_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="2")] + #[prost(string, optional, tag = "2")] pub next_page_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(double, optional, tag="3")] + #[prost(double, optional, tag = "3")] pub relevance: ::core::option::Option, - #[prost(int64, optional, tag="4")] + #[prost(int64, optional, tag = "4")] pub estimated_results: ::core::option::Option, - #[prost(string, optional, tag="5")] + #[prost(string, optional, tag = "5")] pub analytics_cookie: ::core::option::Option<::prost::alloc::string::String>, - #[prost(bool, optional, tag="6")] + #[prost(bool, optional, tag = "6")] pub ordered: ::core::option::Option, + #[prost(message, repeated, tag = "7")] + pub container_view: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "8")] + pub left_icon: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ContainerView { + #[prost(bool, optional, tag = "1")] + pub selected: ::core::option::Option, + #[prost(string, optional, tag = "2")] + pub title: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "3")] + pub list_url: ::core::option::Option<::prost::alloc::string::String>, + #[prost(bytes = "vec", optional, tag = "4")] + pub server_logs_cookie: ::core::option::Option<::prost::alloc::vec::Vec>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct FlagContentResponse {} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ClientDownloadRequest { + #[prost(string, optional, tag = "1")] + pub url: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "2")] + pub digests: ::core::option::Option, + #[prost(int64, optional, tag = "3")] + pub length: ::core::option::Option, + #[prost(message, repeated, tag = "4")] + pub resources: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "5")] + pub signature: ::core::option::Option, + #[prost(bool, optional, tag = "6")] + pub user_initiated: ::core::option::Option, + #[prost(string, repeated, tag = "8")] + pub client_asn: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(string, optional, tag = "9")] + pub file_basename: ::core::option::Option<::prost::alloc::string::String>, + #[prost(int32, optional, tag = "10")] + pub download_type: ::core::option::Option, + #[prost(string, optional, tag = "11")] + pub locale: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "12")] + pub apk_info: ::core::option::Option, + #[prost(fixed64, optional, tag = "13")] + pub android_id: ::core::option::Option, + #[prost(string, repeated, tag = "15")] + pub originating_packages: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(message, optional, tag = "17")] + pub originating_signature: ::core::option::Option< + client_download_request::SignatureInfo, + >, +} +/// Nested message and enum types in `ClientDownloadRequest`. +pub mod client_download_request { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct ApkInfo { + #[prost(string, optional, tag = "1")] + pub package_name: ::core::option::Option<::prost::alloc::string::String>, + #[prost(int32, optional, tag = "2")] + pub version_code: ::core::option::Option, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct CertificateChain { + #[prost(message, repeated, tag = "1")] + pub element: ::prost::alloc::vec::Vec, + } + /// Nested message and enum types in `CertificateChain`. + pub mod certificate_chain { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct Element { + #[prost(bytes = "vec", optional, tag = "1")] + pub certificate: ::core::option::Option<::prost::alloc::vec::Vec>, + #[prost(bool, optional, tag = "2")] + pub parsed_successfully: ::core::option::Option, + #[prost(bytes = "vec", optional, tag = "3")] + pub subject: ::core::option::Option<::prost::alloc::vec::Vec>, + #[prost(bytes = "vec", optional, tag = "4")] + pub issuer: ::core::option::Option<::prost::alloc::vec::Vec>, + #[prost(bytes = "vec", optional, tag = "5")] + pub fingerprint: ::core::option::Option<::prost::alloc::vec::Vec>, + #[prost(int64, optional, tag = "6")] + pub expiry_time: ::core::option::Option, + #[prost(int64, optional, tag = "7")] + pub start_time: ::core::option::Option, + } + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct Digests { + #[prost(bytes = "vec", optional, tag = "1")] + pub sha256: ::core::option::Option<::prost::alloc::vec::Vec>, + #[prost(bytes = "vec", optional, tag = "2")] + pub sha1: ::core::option::Option<::prost::alloc::vec::Vec>, + #[prost(bytes = "vec", optional, tag = "3")] + pub md5: ::core::option::Option<::prost::alloc::vec::Vec>, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct Resource { + #[prost(string, optional, tag = "1")] + pub url: ::core::option::Option<::prost::alloc::string::String>, + #[prost(int32, optional, tag = "2")] + pub r#type: ::core::option::Option, + #[prost(bytes = "vec", optional, tag = "3")] + pub remote_ip: ::core::option::Option<::prost::alloc::vec::Vec>, + #[prost(string, optional, tag = "4")] + pub referrer: ::core::option::Option<::prost::alloc::string::String>, + } + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct SignatureInfo { + #[prost(message, repeated, tag = "1")] + pub certificate_chain: ::prost::alloc::vec::Vec, + #[prost(bool, optional, tag = "2")] + pub trusted: ::core::option::Option, + } +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ClientDownloadResponse { + #[prost(int32, optional, tag = "1")] + pub verdict: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub more_info: ::core::option::Option, + #[prost(bytes = "vec", optional, tag = "3")] + pub token: ::core::option::Option<::prost::alloc::vec::Vec>, +} +/// Nested message and enum types in `ClientDownloadResponse`. +pub mod client_download_response { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct MoreInfo { + #[prost(string, optional, tag = "1")] + pub description: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "2")] + pub url: ::core::option::Option<::prost::alloc::string::String>, + } } +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ClientDownloadStatsRequest { + #[prost(int32, optional, tag = "1")] + pub user_decision: ::core::option::Option, + #[prost(bytes = "vec", optional, tag = "2")] + pub token: ::core::option::Option<::prost::alloc::vec::Vec>, +} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct DebugInfo { - #[prost(string, repeated, tag="1")] + #[prost(string, repeated, tag = "1")] pub message: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(group, repeated, tag="2")] + #[prost(group, repeated, tag = "2")] pub timing: ::prost::alloc::vec::Vec, } /// Nested message and enum types in `DebugInfo`. pub mod debug_info { + #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Timing { - #[prost(string, optional, tag="3")] + #[prost(string, optional, tag = "3")] pub name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(double, optional, tag="4")] + #[prost(double, optional, tag = "4")] pub time_in_ms: ::core::option::Option, } } +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DebugSettingsResponse { + #[prost(string, optional, tag = "1")] + pub play_country_override: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "2")] + pub play_country_debug_info: ::core::option::Option<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DeliveryResponse { + #[prost(int32, optional, tag = "1", default = "1")] + pub status: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub app_delivery_data: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct BulkDetailsEntry { - #[prost(message, optional, tag="1")] - pub doc: ::core::option::Option, + #[prost(message, optional, tag = "1")] + pub item: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct BulkDetailsRequest { - #[prost(string, repeated, tag="1")] - pub docid: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(bool, optional, tag="2")] + #[prost(string, repeated, tag = "1")] + pub doc_id: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(bool, optional, tag = "2", default = "true")] pub include_child_docs: ::core::option::Option, + #[prost(bool, optional, tag = "3")] + pub include_details: ::core::option::Option, + #[prost(string, optional, tag = "4")] + pub source_package_name: ::core::option::Option<::prost::alloc::string::String>, + #[prost(int32, repeated, packed = "false", tag = "7")] + pub installed_version_code: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct BulkDetailsResponse { - #[prost(message, repeated, tag="1")] + #[prost(message, repeated, tag = "1")] pub entry: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct DetailsResponse { - #[prost(message, optional, tag="1")] - pub doc_v1: ::core::option::Option, - #[prost(string, optional, tag="2")] + #[prost(string, optional, tag = "2")] pub analytics_cookie: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag="3")] + #[prost(message, optional, tag = "3")] pub user_review: ::core::option::Option, - #[prost(message, optional, tag="4")] - pub doc_v2: ::core::option::Option, - #[prost(string, optional, tag="5")] + #[prost(message, optional, tag = "4")] + pub item: ::core::option::Option, + #[prost(string, optional, tag = "5")] pub footer_html: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, repeated, tag="7")] - pub badge: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag="12")] + #[prost(bytes = "vec", optional, tag = "6")] + pub server_logs_cookie: ::core::option::Option<::prost::alloc::vec::Vec>, + #[prost(message, repeated, tag = "7")] + pub discovery_badge: ::prost::alloc::vec::Vec, + #[prost(bool, optional, tag = "8", default = "true")] + pub enable_reviews: ::core::option::Option, + #[prost(message, optional, tag = "12")] pub features: ::core::option::Option, - #[prost(string, optional, tag="13")] + #[prost(string, optional, tag = "13")] pub details_stream_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="14")] + #[prost(string, optional, tag = "14")] pub user_review_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="17")] - pub post_acquire_details_stream_url: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "17")] + pub post_acquire_details_stream_url: ::core::option::Option< + ::prost::alloc::string::String, + >, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct Badge { - #[prost(string, optional, tag="1")] +pub struct DiscoveryBadge { + #[prost(string, optional, tag = "1")] pub label: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag="2")] + #[prost(message, optional, tag = "2")] pub image: ::core::option::Option, - #[prost(message, optional, tag="4")] - pub badge_container1: ::core::option::Option, - #[prost(string, optional, tag="11")] - pub message: ::core::option::Option<::prost::alloc::string::String>, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct BadgeContainer1 { - #[prost(message, optional, tag="1")] - pub badge_container2: ::core::option::Option, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct BadgeContainer2 { - #[prost(message, optional, tag="2")] - pub badge_link_container: ::core::option::Option, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct BadgeLinkContainer { - #[prost(string, optional, tag="2")] - pub link: ::core::option::Option<::prost::alloc::string::String>, -} + #[prost(int32, optional, tag = "3")] + pub background_color: ::core::option::Option, + #[prost(message, optional, tag = "4")] + pub badge_container1: ::core::option::Option, + #[prost(bytes = "vec", optional, tag = "5")] + pub server_logs_cookie: ::core::option::Option<::prost::alloc::vec::Vec>, + #[prost(bool, optional, tag = "6")] + pub is_plus_one: ::core::option::Option, + #[prost(float, optional, tag = "7")] + pub aggregate_rating: ::core::option::Option, + #[prost(int32, optional, tag = "8")] + pub user_star_rating: ::core::option::Option, + #[prost(string, optional, tag = "9")] + pub download_count: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "10")] + pub download_units: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "11")] + pub content_description: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "12")] + pub player_badge: ::core::option::Option, + #[prost(bytes = "vec", optional, tag = "13")] + pub family_age_range_badge: ::core::option::Option<::prost::alloc::vec::Vec>, + #[prost(bytes = "vec", optional, tag = "14")] + pub family_category_badge: ::core::option::Option<::prost::alloc::vec::Vec>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PlayerBadge { + #[prost(message, optional, tag = "1")] + pub overlay_icon: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DiscoveryBadgeLink { + #[prost(message, optional, tag = "1")] + pub link: ::core::option::Option, + #[prost(string, optional, tag = "2")] + pub user_reviews_url: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "3")] + pub critic_reviews_url: ::core::option::Option<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Features { - #[prost(message, repeated, tag="1")] + #[prost(message, repeated, tag = "1")] pub feature_presence: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag="2")] + #[prost(message, repeated, tag = "2")] pub feature_rating: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Feature { - #[prost(string, optional, tag="1")] + #[prost(string, optional, tag = "1")] pub label: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="3")] + #[prost(string, optional, tag = "3")] pub value: ::core::option::Option<::prost::alloc::string::String>, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct DeviceConfigurationProto { - #[prost(int32, optional, tag="1")] + #[prost(int32, optional, tag = "1")] pub touch_screen: ::core::option::Option, - #[prost(int32, optional, tag="2")] + #[prost(int32, optional, tag = "2")] pub keyboard: ::core::option::Option, - #[prost(int32, optional, tag="3")] + #[prost(int32, optional, tag = "3")] pub navigation: ::core::option::Option, - #[prost(int32, optional, tag="4")] + #[prost(int32, optional, tag = "4")] pub screen_layout: ::core::option::Option, - #[prost(bool, optional, tag="5")] + #[prost(bool, optional, tag = "5")] pub has_hard_keyboard: ::core::option::Option, - #[prost(bool, optional, tag="6")] + #[prost(bool, optional, tag = "6")] pub has_five_way_navigation: ::core::option::Option, - #[prost(int32, optional, tag="7")] + #[prost(int32, optional, tag = "7")] pub screen_density: ::core::option::Option, - #[prost(int32, optional, tag="8")] + #[prost(int32, optional, tag = "8")] pub gl_es_version: ::core::option::Option, - #[prost(string, repeated, tag="9")] + #[prost(string, repeated, tag = "9")] pub system_shared_library: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(string, repeated, tag="10")] - pub system_available_feature: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(string, repeated, tag="11")] + #[prost(string, repeated, tag = "10")] + pub system_available_feature: ::prost::alloc::vec::Vec< + ::prost::alloc::string::String, + >, + #[prost(string, repeated, tag = "11")] pub native_platform: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(int32, optional, tag="12")] + #[prost(int32, optional, tag = "12")] pub screen_width: ::core::option::Option, - #[prost(int32, optional, tag="13")] + #[prost(int32, optional, tag = "13")] pub screen_height: ::core::option::Option, - #[prost(string, repeated, tag="14")] - pub system_supported_locale: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(string, repeated, tag="15")] + #[prost(string, repeated, tag = "14")] + pub system_supported_locale: ::prost::alloc::vec::Vec< + ::prost::alloc::string::String, + >, + #[prost(string, repeated, tag = "15")] pub gl_extension: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(int32, optional, tag="16")] + #[prost(int32, optional, tag = "16")] pub device_class: ::core::option::Option, - #[prost(int32, optional, tag="17")] + #[prost(int32, optional, tag = "17", default = "50")] pub max_apk_download_size_mb: ::core::option::Option, + #[prost(int32, optional, tag = "18")] + pub smallest_screen_width_dp: ::core::option::Option, + #[prost(int32, optional, tag = "19", default = "0")] + pub low_ram_device: ::core::option::Option, + #[prost(int64, optional, tag = "20", default = "8354971648")] + pub total_memory_bytes: ::core::option::Option, + #[prost(int32, optional, tag = "21", default = "8")] + pub max_num_of_cpu_cores: ::core::option::Option, + #[prost(message, repeated, tag = "26")] + pub device_feature: ::prost::alloc::vec::Vec, + #[prost(int32, optional, tag = "28", default = "0")] + pub unknown28: ::core::option::Option, + #[prost(int32, optional, tag = "30", default = "4")] + pub unknown30: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DeviceFeature { + #[prost(string, optional, tag = "1")] + pub name: ::core::option::Option<::prost::alloc::string::String>, + #[prost(int32, optional, tag = "2")] + pub value: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Document { - #[prost(message, optional, tag="1")] - pub docid: ::core::option::Option, - #[prost(message, optional, tag="2")] - pub fetch_docid: ::core::option::Option, - #[prost(message, optional, tag="3")] - pub sample_docid: ::core::option::Option, - #[prost(string, optional, tag="4")] + #[prost(message, optional, tag = "1")] + pub doc_id: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub fetch_doc_id: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub sample_doc_id: ::core::option::Option, + #[prost(string, optional, tag = "4")] pub title: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="5")] + #[prost(string, optional, tag = "5")] pub url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, repeated, tag="6")] + #[prost(string, repeated, tag = "6")] pub snippet: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(message, optional, tag="7")] + #[prost(message, optional, tag = "7")] pub price_deprecated: ::core::option::Option, - #[prost(message, optional, tag="9")] + #[prost(message, optional, tag = "9")] pub availability: ::core::option::Option, - #[prost(message, repeated, tag="10")] + #[prost(message, repeated, tag = "10")] pub image: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag="11")] + #[prost(message, repeated, tag = "11")] pub child: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag="13")] + #[prost(message, optional, tag = "13")] pub aggregate_rating: ::core::option::Option, - #[prost(message, repeated, tag="14")] + #[prost(message, repeated, tag = "14")] pub offer: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag="15")] + #[prost(message, repeated, tag = "15")] pub translated_snippet: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag="16")] + #[prost(message, repeated, tag = "16")] pub document_variant: ::prost::alloc::vec::Vec, - #[prost(string, repeated, tag="17")] + #[prost(string, repeated, tag = "17")] pub category_id: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(message, repeated, tag="18")] + #[prost(message, repeated, tag = "18")] pub decoration: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag="19")] + #[prost(message, repeated, tag = "19")] pub parent: ::prost::alloc::vec::Vec, - #[prost(string, optional, tag="20")] + #[prost(string, optional, tag = "20")] pub privacy_policy_url: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "21")] + pub consumption_url: ::core::option::Option<::prost::alloc::string::String>, + #[prost(int32, optional, tag = "22")] + pub estimated_num_children: ::core::option::Option, + #[prost(string, optional, tag = "23")] + pub subtitle: ::core::option::Option<::prost::alloc::string::String>, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct DocumentVariant { - #[prost(int32, optional, tag="1")] + #[prost(int32, optional, tag = "1")] pub variation_type: ::core::option::Option, - #[prost(message, optional, tag="2")] + #[prost(message, optional, tag = "2")] pub rule: ::core::option::Option, - #[prost(string, optional, tag="3")] + #[prost(string, optional, tag = "3")] pub title: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, repeated, tag="4")] + #[prost(string, repeated, tag = "4")] pub snippet: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(string, optional, tag="5")] + #[prost(string, optional, tag = "5")] pub recent_changes: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, repeated, tag="6")] + #[prost(message, repeated, tag = "6")] pub auto_translation: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag="7")] + #[prost(message, repeated, tag = "7")] pub offer: ::prost::alloc::vec::Vec, - #[prost(int64, optional, tag="9")] + #[prost(int64, optional, tag = "9")] pub channel_id: ::core::option::Option, - #[prost(message, repeated, tag="10")] + #[prost(message, repeated, tag = "10")] pub child: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag="11")] + #[prost(message, repeated, tag = "11")] pub decoration: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "12")] + pub image: ::prost::alloc::vec::Vec, + #[prost(string, repeated, tag = "13")] + pub category_id: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(string, optional, tag = "14")] + pub subtitle: ::core::option::Option<::prost::alloc::string::String>, } +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SectionImage { + #[prost(message, repeated, tag = "1")] + pub image_container: ::prost::alloc::vec::Vec, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ImageContainer { + #[prost(message, optional, tag = "4")] + pub image: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Image { - #[prost(int32, optional, tag="1")] + #[prost(int32, optional, tag = "1")] pub image_type: ::core::option::Option, - #[prost(group, optional, tag="2")] + #[prost(group, optional, tag = "2")] pub dimension: ::core::option::Option, - #[prost(string, optional, tag="5")] + #[prost(string, optional, tag = "5")] pub image_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="6")] + #[prost(string, optional, tag = "6")] pub alt_text_localized: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="7")] + #[prost(string, optional, tag = "7")] pub secure_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int32, optional, tag="8")] + #[prost(int32, optional, tag = "8")] pub position_in_sequence: ::core::option::Option, - #[prost(bool, optional, tag="9")] + #[prost(bool, optional, tag = "9")] pub supports_fife_url_options: ::core::option::Option, - #[prost(group, optional, tag="10")] + #[prost(group, optional, tag = "10")] pub citation: ::core::option::Option, - #[prost(string, optional, tag="15")] - pub color: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int32, optional, tag="21")] - pub screenshot_set_number: ::core::option::Option, + #[prost(int32, optional, tag = "14")] + pub duration_seconds: ::core::option::Option, + #[prost(string, optional, tag = "15")] + pub fill_color_rgb: ::core::option::Option<::prost::alloc::string::String>, + #[prost(bool, optional, tag = "16")] + pub autogen: ::core::option::Option, + #[prost(message, optional, tag = "17")] + pub attribution: ::core::option::Option, + #[prost(string, optional, tag = "19")] + pub background_color_rgb: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "20")] + pub palette: ::core::option::Option, + #[prost(int32, optional, tag = "21")] + pub device_class: ::core::option::Option, + #[prost(bool, optional, tag = "22")] + pub supports_fife_monogram_option: ::core::option::Option, + #[prost(string, optional, tag = "28")] + pub image_url_alt: ::core::option::Option<::prost::alloc::string::String>, } /// Nested message and enum types in `Image`. pub mod image { + #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Dimension { - #[prost(int32, optional, tag="3")] + #[prost(int32, optional, tag = "3")] pub width: ::core::option::Option, - #[prost(int32, optional, tag="4")] + #[prost(int32, optional, tag = "4")] pub height: ::core::option::Option, + #[prost(int32, optional, tag = "18")] + pub aspect_ratio: ::core::option::Option, } + #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Citation { - #[prost(string, optional, tag="11")] + #[prost(string, optional, tag = "11")] pub title_localized: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="12")] + #[prost(string, optional, tag = "12")] pub url: ::core::option::Option<::prost::alloc::string::String>, } } +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Attribution { + #[prost(string, optional, tag = "1")] + pub source_title: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "2")] + pub source_url: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "3")] + pub license_title: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "4")] + pub license_url: ::core::option::Option<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ImagePalette { + #[prost(string, optional, tag = "1")] + pub light_vibrant_rgb: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "2")] + pub vibrant_rgb: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "3")] + pub dark_vibrant_rgb: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "4")] + pub light_muted_rgb: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "5")] + pub muted_rgb: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "6")] + pub dark_muted_rgb: ::core::option::Option<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct TranslatedText { - #[prost(string, optional, tag="1")] + #[prost(string, optional, tag = "1")] pub text: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="2")] + #[prost(string, optional, tag = "2")] pub source_locale: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="3")] + #[prost(string, optional, tag = "3")] pub target_locale: ::core::option::Option<::prost::alloc::string::String>, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct PlusOneData { - #[prost(bool, optional, tag="1")] + #[prost(bool, optional, tag = "1")] pub set_by_user: ::core::option::Option, - #[prost(int64, optional, tag="2")] + #[prost(int64, optional, tag = "2")] pub total: ::core::option::Option, - #[prost(int64, optional, tag="3")] + #[prost(int64, optional, tag = "3")] pub circles_total: ::core::option::Option, - #[prost(message, repeated, tag="4")] + #[prost(message, repeated, tag = "4")] pub circles_people: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct PlusPerson { - #[prost(string, optional, tag="2")] + #[prost(string, optional, tag = "2")] pub display_name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="4")] + #[prost(string, optional, tag = "4")] pub profile_image_url: ::core::option::Option<::prost::alloc::string::String>, } -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct AlbumDetails { - #[prost(string, optional, tag="1")] - pub name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag="2")] - pub details: ::core::option::Option, - #[prost(message, optional, tag="3")] - pub display_artist: ::core::option::Option, -} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct AppDetails { - #[prost(string, optional, tag="1")] + #[prost(string, optional, tag = "1")] pub developer_name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int32, optional, tag="2")] + #[prost(int32, optional, tag = "2")] pub major_version_number: ::core::option::Option, - #[prost(int32, optional, tag="3")] + #[prost(int32, optional, tag = "3")] pub version_code: ::core::option::Option, - #[prost(string, optional, tag="4")] + #[prost(string, optional, tag = "4")] pub version_string: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="5")] + #[prost(string, optional, tag = "5")] pub title: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, repeated, tag="7")] + #[prost(string, repeated, tag = "7")] pub app_category: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(int32, optional, tag="8")] + #[prost(int32, optional, tag = "8")] pub content_rating: ::core::option::Option, - #[prost(int64, optional, tag="9")] - pub installation_size: ::core::option::Option, - #[prost(string, repeated, tag="10")] + #[prost(int64, optional, tag = "9")] + pub info_download_size: ::core::option::Option, + #[prost(string, repeated, tag = "10")] pub permission: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(string, optional, tag="11")] + #[prost(string, optional, tag = "11")] pub developer_email: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="12")] + #[prost(string, optional, tag = "12")] pub developer_website: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="13")] - pub num_downloads: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="14")] + #[prost(string, optional, tag = "13")] + pub info_download: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "14")] pub package_name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="15")] + #[prost(string, optional, tag = "15")] pub recent_changes_html: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="16")] - pub upload_date: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, repeated, tag="17")] + #[prost(string, optional, tag = "16")] + pub info_updated_on: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, repeated, tag = "17")] pub file: ::prost::alloc::vec::Vec, - #[prost(string, optional, tag="18")] + #[prost(string, optional, tag = "18")] pub app_type: ::core::option::Option<::prost::alloc::string::String>, - #[prost(bool, optional, tag="21")] - pub unstable: ::core::option::Option, - #[prost(bool, optional, tag="24")] + #[prost(string, repeated, tag = "19")] + pub certificate_hash: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(bool, optional, tag = "21", default = "true")] + pub varies_with_device: ::core::option::Option, + #[prost(message, repeated, tag = "22")] + pub certificate_set: ::prost::alloc::vec::Vec, + #[prost(string, repeated, tag = "23")] + pub auto_acquire_free_app_if_higher_version_available_tag: ::prost::alloc::vec::Vec< + ::prost::alloc::string::String, + >, + #[prost(bool, optional, tag = "24")] pub has_instant_link: ::core::option::Option, - #[prost(string, optional, tag="30")] - pub contains_ads: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag="34")] + #[prost(string, repeated, tag = "25")] + pub split_id: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(bool, optional, tag = "26")] + pub gamepad_required: ::core::option::Option, + #[prost(bool, optional, tag = "27")] + pub externally_hosted: ::core::option::Option, + #[prost(bool, optional, tag = "28")] + pub ever_externally_hosted: ::core::option::Option, + #[prost(string, optional, tag = "30")] + pub install_notes: ::core::option::Option<::prost::alloc::string::String>, + #[prost(int32, optional, tag = "31")] + pub install_location: ::core::option::Option, + #[prost(int32, optional, tag = "32")] + pub target_sdk_version: ::core::option::Option, + #[prost(string, optional, tag = "33")] + pub has_preregistration_promo_code: ::core::option::Option< + ::prost::alloc::string::String, + >, + #[prost(message, optional, tag = "34")] pub dependencies: ::core::option::Option, - #[prost(message, optional, tag="35")] + #[prost(message, optional, tag = "35")] pub testing_program_info: ::core::option::Option, - #[prost(message, optional, tag="36")] + #[prost(message, optional, tag = "36")] pub early_access_info: ::core::option::Option, - #[prost(string, optional, tag="43")] + #[prost(message, optional, tag = "41")] + pub editor_choice: ::core::option::Option, + #[prost(string, optional, tag = "43")] pub instant_link: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="45")] + #[prost(string, optional, tag = "45")] pub developer_address: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "46")] + pub publisher: ::core::option::Option, + #[prost(string, optional, tag = "48")] + pub category_name: ::core::option::Option<::prost::alloc::string::String>, + #[prost(int64, optional, tag = "53")] + pub download_count: ::core::option::Option, + #[prost(string, optional, tag = "61")] + pub download_label_display: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "67")] + pub in_app_product: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "77")] + pub download_label_abbreviated: ::core::option::Option< + ::prost::alloc::string::String, + >, + #[prost(string, optional, tag = "78")] + pub download_label: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "82")] + pub compatibility: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Compatibility { + #[prost(message, repeated, tag = "1")] + pub active_devices: ::prost::alloc::vec::Vec, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ActiveDevice { + #[prost(string, optional, tag = "1")] + pub required_os: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "2")] + pub name: ::core::option::Option<::prost::alloc::string::String>, } +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ModifyLibrary { + #[prost(string, optional, tag = "1")] + pub id: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "2")] + pub package_to_add: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "3")] + pub package_to_remove: ::core::option::Option<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Publisher { + #[prost(message, optional, tag = "2")] + pub publisher_stream: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PublisherStream { + #[prost(string, optional, tag = "3")] + pub more_url: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "11")] + pub query: ::core::option::Option<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct EditorChoice { + #[prost(string, repeated, tag = "1")] + pub bulletins: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(string, optional, tag = "2")] + pub description: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "3")] + pub stream: ::core::option::Option, + #[prost(string, optional, tag = "4")] + pub title: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "5")] + pub subtitle: ::core::option::Option<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CertificateSet { + #[prost(string, optional, tag = "1")] + pub certificate_hash: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "2")] + pub sha256: ::core::option::Option<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Dependencies { - #[prost(int32, optional, tag="1")] - pub unknown1: ::core::option::Option, - #[prost(int64, optional, tag="2")] - pub unknown2: ::core::option::Option, - #[prost(message, repeated, tag="3")] + #[prost(int32, optional, tag = "1")] + pub unknown: ::core::option::Option, + #[prost(int64, optional, tag = "2")] + pub size: ::core::option::Option, + #[prost(message, repeated, tag = "3")] pub dependency: ::prost::alloc::vec::Vec, - #[prost(int32, optional, tag="4")] - pub unknown3: ::core::option::Option, + #[prost(int32, optional, tag = "4")] + pub target_sdk: ::core::option::Option, + #[prost(int32, optional, tag = "5")] + pub unknown2: ::core::option::Option, + #[prost(string, repeated, tag = "11")] + pub split_apks: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(message, repeated, tag = "13")] + pub library_dependency: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Dependency { - #[prost(string, optional, tag="1")] + #[prost(string, optional, tag = "1")] pub package_name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int32, optional, tag="2")] + #[prost(int32, optional, tag = "2")] pub version: ::core::option::Option, - #[prost(int32, optional, tag="4")] + #[prost(int32, optional, tag = "4")] pub unknown4: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct LibraryDependency { + #[prost(string, optional, tag = "1")] + pub package_name: ::core::option::Option<::prost::alloc::string::String>, + #[prost(int32, optional, tag = "2")] + pub version_code: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct TestingProgramInfo { - #[prost(bool, optional, tag="2")] + #[prost(bool, optional, tag = "2")] pub subscribed: ::core::option::Option, - #[prost(bool, optional, tag="3")] - pub subscribed1: ::core::option::Option, - #[prost(string, optional, tag="5")] - pub testing_program_email: ::core::option::Option<::prost::alloc::string::String>, + #[prost(bool, optional, tag = "3")] + pub subscribed_and_installed: ::core::option::Option, + #[prost(string, optional, tag = "5")] + pub email: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "7")] + pub display_name: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "6")] + pub image: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct EarlyAccessInfo { - #[prost(string, optional, tag="3")] + #[prost(string, optional, tag = "3")] pub email: ::core::option::Option<::prost::alloc::string::String>, } -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ArtistDetails { - #[prost(string, optional, tag="1")] - pub details_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="2")] - pub name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag="3")] - pub external_links: ::core::option::Option, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct ArtistExternalLinks { - #[prost(string, repeated, tag="1")] - pub website_url: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(string, optional, tag="2")] - pub google_plus_profile_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="3")] - pub youtube_channel_url: ::core::option::Option<::prost::alloc::string::String>, -} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct DocumentDetails { - #[prost(message, optional, tag="1")] + #[prost(message, optional, tag = "1")] pub app_details: ::core::option::Option, - #[prost(message, optional, tag="2")] - pub album_details: ::core::option::Option, - #[prost(message, optional, tag="3")] - pub artist_details: ::core::option::Option, - #[prost(message, optional, tag="4")] - pub song_details: ::core::option::Option, - #[prost(message, optional, tag="5")] - pub book_details: ::core::option::Option, - #[prost(message, optional, tag="6")] - pub video_details: ::core::option::Option, - #[prost(message, optional, tag="7")] + #[prost(message, optional, tag = "7")] pub subscription_details: ::core::option::Option, - #[prost(message, optional, tag="8")] - pub magazine_details: ::core::option::Option, - #[prost(message, optional, tag="9")] - pub tv_show_details: ::core::option::Option, - #[prost(message, optional, tag="10")] - pub tv_season_details: ::core::option::Option, - #[prost(message, optional, tag="11")] - pub tv_episode_details: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PatchDetails { + #[prost(int32, optional, tag = "1")] + pub base_version_code: ::core::option::Option, + #[prost(int64, optional, tag = "2")] + pub size: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct FileMetadata { - #[prost(int32, optional, tag="1")] + #[prost(int32, optional, tag = "1")] pub file_type: ::core::option::Option, - #[prost(int32, optional, tag="2")] + #[prost(int32, optional, tag = "2")] pub version_code: ::core::option::Option, - #[prost(int64, optional, tag="3")] + #[prost(int64, optional, tag = "3")] pub size: ::core::option::Option, + #[prost(string, optional, tag = "4")] + pub split_id: ::core::option::Option<::prost::alloc::string::String>, + #[prost(int64, optional, tag = "5")] + pub compressed_size: ::core::option::Option, + #[prost(message, repeated, tag = "6")] + pub patch_details: ::prost::alloc::vec::Vec, } -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MagazineDetails { - #[prost(string, optional, tag="1")] - pub parent_details_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="2")] - pub device_availability_description_html: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="3")] - pub psv_description: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="4")] - pub delivery_frequency_description: ::core::option::Option<::prost::alloc::string::String>, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct MusicDetails { - #[prost(int32, optional, tag="1")] - pub censoring: ::core::option::Option, - #[prost(int32, optional, tag="2")] - pub duration_sec: ::core::option::Option, - #[prost(string, optional, tag="3")] - pub original_release_date: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="4")] - pub label: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, repeated, tag="5")] - pub artist: ::prost::alloc::vec::Vec, - #[prost(string, repeated, tag="6")] - pub genre: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(string, optional, tag="7")] - pub release_date: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int32, repeated, packed="false", tag="8")] - pub release_type: ::prost::alloc::vec::Vec, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct SongDetails { - #[prost(string, optional, tag="1")] - pub name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag="2")] - pub details: ::core::option::Option, - #[prost(string, optional, tag="3")] - pub album_name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int32, optional, tag="4")] - pub track_number: ::core::option::Option, - #[prost(string, optional, tag="5")] - pub preview_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag="6")] - pub display_artist: ::core::option::Option, -} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct SubscriptionDetails { - #[prost(int32, optional, tag="1")] + #[prost(int32, optional, tag = "1")] pub subscription_period: ::core::option::Option, } -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct Trailer { - #[prost(string, optional, tag="1")] - pub trailer_id: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="2")] - pub title: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="3")] - pub thumbnail_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="4")] - pub watch_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="5")] - pub duration: ::core::option::Option<::prost::alloc::string::String>, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct TvEpisodeDetails { - #[prost(string, optional, tag="1")] - pub parent_details_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int32, optional, tag="2")] - pub episode_index: ::core::option::Option, - #[prost(string, optional, tag="3")] - pub release_date: ::core::option::Option<::prost::alloc::string::String>, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct TvSeasonDetails { - #[prost(string, optional, tag="1")] - pub parent_details_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int32, optional, tag="2")] - pub season_index: ::core::option::Option, - #[prost(string, optional, tag="3")] - pub release_date: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="4")] - pub broadcaster: ::core::option::Option<::prost::alloc::string::String>, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct TvShowDetails { - #[prost(int32, optional, tag="1")] - pub season_count: ::core::option::Option, - #[prost(int32, optional, tag="2")] - pub start_year: ::core::option::Option, - #[prost(int32, optional, tag="3")] - pub end_year: ::core::option::Option, - #[prost(string, optional, tag="4")] - pub broadcaster: ::core::option::Option<::prost::alloc::string::String>, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct VideoCredit { - #[prost(int32, optional, tag="1")] - pub credit_type: ::core::option::Option, - #[prost(string, optional, tag="2")] - pub credit: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, repeated, tag="3")] - pub name: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct VideoDetails { - #[prost(message, repeated, tag="1")] - pub credit: ::prost::alloc::vec::Vec, - #[prost(string, optional, tag="2")] - pub duration: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="3")] - pub release_date: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="4")] - pub content_rating: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int64, optional, tag="5")] - pub likes: ::core::option::Option, - #[prost(int64, optional, tag="6")] - pub dislikes: ::core::option::Option, - #[prost(string, repeated, tag="7")] - pub genre: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(message, repeated, tag="8")] - pub trailer: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag="9")] - pub rental_term: ::prost::alloc::vec::Vec, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct VideoRentalTerm { - #[prost(int32, optional, tag="1")] - pub offer_type: ::core::option::Option, - #[prost(string, optional, tag="2")] - pub offer_abbreviation: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="3")] - pub rental_header: ::core::option::Option<::prost::alloc::string::String>, - #[prost(group, repeated, tag="4")] - pub term: ::prost::alloc::vec::Vec, -} -/// Nested message and enum types in `VideoRentalTerm`. -pub mod video_rental_term { - #[derive(Clone, PartialEq, ::prost::Message)] - pub struct Term { - #[prost(string, optional, tag="5")] - pub header: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="6")] - pub body: ::core::option::Option<::prost::alloc::string::String>, - } -} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Bucket { - #[prost(message, repeated, tag="1")] - pub document: ::prost::alloc::vec::Vec, - #[prost(bool, optional, tag="2")] + #[prost(bool, optional, tag = "2")] pub multi_corpus: ::core::option::Option, - #[prost(string, optional, tag="3")] + #[prost(string, optional, tag = "3")] pub title: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="4")] + #[prost(string, optional, tag = "4")] pub icon_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="5")] + #[prost(string, optional, tag = "5")] pub full_contents_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(double, optional, tag="6")] + #[prost(double, optional, tag = "6")] pub relevance: ::core::option::Option, - #[prost(int64, optional, tag="7")] + #[prost(int64, optional, tag = "7")] pub estimated_results: ::core::option::Option, - #[prost(string, optional, tag="8")] + #[prost(string, optional, tag = "8")] pub analytics_cookie: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="9")] + #[prost(string, optional, tag = "9")] pub full_contents_list_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="10")] + #[prost(string, optional, tag = "10")] pub next_page_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(bool, optional, tag="11")] + #[prost(bool, optional, tag = "11")] pub ordered: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ListResponse { - #[prost(message, repeated, tag="1")] + #[prost(message, repeated, tag = "1")] pub bucket: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag="2")] - pub doc: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "2")] + pub item: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct DocV1 { - #[prost(message, optional, tag="1")] - pub finsky_doc: ::core::option::Option, - #[prost(string, optional, tag="2")] - pub docid: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="3")] - pub details_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="4")] - pub reviews_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="5")] - pub related_list_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="6")] - pub more_by_list_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="7")] - pub share_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="8")] - pub creator: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag="9")] - pub details: ::core::option::Option, - #[prost(string, optional, tag="10")] - pub description_html: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="11")] - pub related_browse_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="12")] - pub more_by_browse_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="13")] - pub related_header: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="14")] - pub more_by_header: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="15")] - pub title: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag="16")] - pub plus_one_data: ::core::option::Option, - #[prost(string, optional, tag="17")] - pub warning_message: ::core::option::Option<::prost::alloc::string::String>, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct DocV2 { - #[prost(string, optional, tag="1")] - pub docid: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="2")] - pub backend_docid: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int32, optional, tag="3")] - pub doc_type: ::core::option::Option, - #[prost(int32, optional, tag="4")] - pub backend_id: ::core::option::Option, - #[prost(string, optional, tag="5")] +pub struct Item { + #[prost(string, optional, tag = "1")] + pub id: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "2")] + pub sub_id: ::core::option::Option<::prost::alloc::string::String>, + #[prost(int32, optional, tag = "3")] + pub r#type: ::core::option::Option, + #[prost(int32, optional, tag = "4")] + pub category_id: ::core::option::Option, + #[prost(string, optional, tag = "5")] pub title: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="6")] + #[prost(string, optional, tag = "6")] pub creator: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="7")] + #[prost(string, optional, tag = "7")] pub description_html: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, repeated, tag="8")] + #[prost(message, repeated, tag = "8")] pub offer: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag="9")] + #[prost(message, optional, tag = "9")] pub availability: ::core::option::Option, - #[prost(message, repeated, tag="10")] + #[prost(message, repeated, tag = "10")] pub image: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag="11")] - pub child: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag="12")] + #[prost(message, repeated, tag = "11")] + pub sub_item: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "12")] pub container_metadata: ::core::option::Option, - #[prost(message, optional, tag="13")] + #[prost(message, optional, tag = "13")] pub details: ::core::option::Option, - #[prost(message, optional, tag="14")] + #[prost(message, optional, tag = "14")] pub aggregate_rating: ::core::option::Option, - #[prost(message, optional, tag="15")] - pub related_links: ::core::option::Option, - #[prost(string, optional, tag="16")] + #[prost(message, optional, tag = "15")] + pub annotations: ::core::option::Option, + #[prost(string, optional, tag = "16")] pub details_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="17")] + #[prost(string, optional, tag = "17")] pub share_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="18")] + #[prost(string, optional, tag = "18")] pub reviews_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="19")] + #[prost(string, optional, tag = "19")] pub backend_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="20")] + #[prost(string, optional, tag = "20")] pub purchase_details_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(bool, optional, tag="21")] + #[prost(bool, optional, tag = "21")] pub details_reusable: ::core::option::Option, - #[prost(string, optional, tag="22")] + #[prost(string, optional, tag = "22")] pub subtitle: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag="24")] - pub unknown_category_container: ::core::option::Option, - #[prost(message, optional, tag="25")] - pub unknown25: ::core::option::Option, - #[prost(string, optional, tag="27")] - pub description_short: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="31")] + #[prost(string, optional, tag = "23")] + pub translated_description_html: ::core::option::Option< + ::prost::alloc::string::String, + >, + #[prost(bytes = "vec", optional, tag = "24")] + pub server_logs_cookie: ::core::option::Option<::prost::alloc::vec::Vec>, + #[prost(message, optional, tag = "25")] + pub app_info: ::core::option::Option, + #[prost(bool, optional, tag = "26")] + pub mature: ::core::option::Option, + #[prost(string, optional, tag = "27")] + pub promotional_description: ::core::option::Option<::prost::alloc::string::String>, + #[prost(bool, optional, tag = "29")] + pub available_for_preregistration: ::core::option::Option, + #[prost(message, repeated, tag = "30")] + pub tip: ::prost::alloc::vec::Vec, + #[prost(string, optional, tag = "31")] pub review_snippets_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="34")] + #[prost(bool, optional, tag = "32")] + pub force_shareability: ::core::option::Option, + #[prost(bool, optional, tag = "33")] + pub use_wishlist_as_primary_action: ::core::option::Option, + #[prost(string, optional, tag = "34")] pub review_questions_url: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "39")] + pub review_summary_url: ::core::option::Option<::prost::alloc::string::String>, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct Unknown25 { - #[prost(message, repeated, tag="2")] - pub item: ::prost::alloc::vec::Vec, +pub struct AppInfo { + #[prost(string, optional, tag = "1")] + pub title: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, repeated, tag = "2")] + pub section: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct Unknown25Item { - #[prost(string, optional, tag="1")] +pub struct AppInfoSection { + #[prost(string, optional, tag = "1")] pub label: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag="3")] - pub container: ::core::option::Option, + #[prost(message, optional, tag = "3")] + pub container: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct Unknown25Container { - #[prost(string, optional, tag="2")] - pub value: ::core::option::Option<::prost::alloc::string::String>, +pub struct AppInfoContainer { + #[prost(message, optional, tag = "1")] + pub image: ::core::option::Option, + #[prost(string, optional, tag = "2")] + pub description: ::core::option::Option<::prost::alloc::string::String>, } -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct RelatedLinks { - #[prost(message, optional, tag="10")] - pub unknown1: ::core::option::Option, - #[prost(string, optional, tag="18")] +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Annotations { + #[prost(message, optional, tag = "1")] + pub section_related: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub section_more_by: ::core::option::Option, + #[prost(message, repeated, tag = "4")] + pub warning: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "5")] + pub section_body_of_work: ::core::option::Option, + #[prost(message, optional, tag = "6")] + pub section_core_content: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub overlay_meta_data: ::core::option::Option, + #[prost(message, repeated, tag = "8")] + pub badge_for_creator: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "9")] + pub info_badge: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "10")] + pub annotation_link: ::core::option::Option, + #[prost(message, optional, tag = "11")] + pub section_cross_sell: ::core::option::Option, + #[prost(message, optional, tag = "12")] + pub section_related_item_type: ::core::option::Option, + #[prost(message, repeated, tag = "13")] + pub promoted_doc: ::prost::alloc::vec::Vec, + #[prost(string, optional, tag = "14")] + pub offer_note: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "18")] pub privacy_policy_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag="24")] - pub you_might_also_like: ::core::option::Option, - #[prost(message, optional, tag="29")] - pub rated: ::core::option::Option, - #[prost(message, repeated, tag="34")] - pub related_links: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag="53")] + #[prost(message, optional, tag = "19")] + pub suggestion_reasons: ::core::option::Option, + #[prost(message, optional, tag = "20")] + pub optimal_device_class_warning: ::core::option::Option, + #[prost(message, repeated, tag = "21")] + pub badge_container: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "22")] + pub section_suggest_for_rating: ::core::option::Option, + #[prost(message, optional, tag = "24")] + pub section_purchase_cross_sell: ::core::option::Option, + #[prost(message, repeated, tag = "25")] + pub overflow_link: ::prost::alloc::vec::Vec, + #[prost(string, optional, tag = "27")] + pub attribution_html: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "28")] + pub purchase_history_details: ::core::option::Option, + #[prost(message, optional, tag = "29")] + pub badge_for_legacy_rating: ::core::option::Option, + #[prost(message, repeated, tag = "30")] + pub voucher_info: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "32")] + pub section_featured_apps: ::core::option::Option, + #[prost(message, repeated, tag = "34")] + pub details_page_cluster: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "35")] + pub video_annotations: ::core::option::Option, + #[prost(message, optional, tag = "36")] + pub section_purchase_related_topics: ::core::option::Option, + #[prost(message, optional, tag = "37")] + pub my_subscription_details: ::core::option::Option, + #[prost(message, optional, tag = "38")] + pub my_reward_details: ::core::option::Option, + #[prost(message, repeated, tag = "39")] + pub feature_badge: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "42")] + pub snippet: ::core::option::Option, + #[prost(string, optional, tag = "48")] + pub downloads_label: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "50")] + pub badge_for_rating: ::core::option::Option, + #[prost(message, optional, tag = "53")] pub category_info: ::core::option::Option, + #[prost(message, optional, tag = "60")] + pub reasons: ::core::option::Option, + #[prost(message, optional, tag = "65")] + pub top_chart_stream: ::core::option::Option, + #[prost(string, optional, tag = "66")] + pub category_name: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, repeated, tag = "71")] + pub chip: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "72")] + pub display_badge: ::prost::alloc::vec::Vec, + #[prost(string, optional, tag = "80")] + pub live_stream_url: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "85")] + pub promotion_stream_url: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "91")] + pub overlay_meta_data_extra: ::core::option::Option, + #[prost(message, optional, tag = "94")] + pub section_image: ::core::option::Option, + #[prost(message, optional, tag = "97")] + pub category_stream: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct EditorReason { + #[prost(string, repeated, tag = "1")] + pub bulletin: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, + #[prost(string, optional, tag = "2")] + pub description: ::core::option::Option<::prost::alloc::string::String>, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct RelatedLinksUnknown1 { - #[prost(message, optional, tag="2")] - pub unknown2: ::core::option::Option, +pub struct SectionMetaData { + #[prost(string, optional, tag = "1")] + pub header: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "2")] + pub list_url: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "3")] + pub browse_url: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "4")] + pub description: ::core::option::Option<::prost::alloc::string::String>, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct RelatedLinksUnknown2 { - #[prost(string, optional, tag="2")] - pub home_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="3")] - pub next_page_url: ::core::option::Option<::prost::alloc::string::String>, +pub struct OverlayMetaData { + #[prost(message, optional, tag = "1")] + pub overlay_header: ::core::option::Option, + #[prost(message, optional, tag = "181")] + pub overlay_title: ::core::option::Option, + #[prost(message, optional, tag = "182")] + pub overlay_description: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct OverlayHeader {} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct OverlayTitle { + #[prost(string, optional, tag = "1")] + pub title: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "3")] + pub composite_image: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CompositeImage { + #[prost(int32, optional, tag = "1")] + pub r#type: ::core::option::Option, + #[prost(string, optional, tag = "5")] + pub url: ::core::option::Option<::prost::alloc::string::String>, + #[prost(int32, optional, tag = "9")] + pub type_alt: ::core::option::Option, + #[prost(string, optional, tag = "24")] + pub title: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "28")] + pub url_alt: ::core::option::Option<::prost::alloc::string::String>, } +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct OverlayDescription { + #[prost(string, optional, tag = "2")] + pub description: ::core::option::Option<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SuggestionReasons { + #[prost(message, repeated, tag = "2")] + pub reason: ::prost::alloc::vec::Vec, + #[prost(message, optional, tag = "4")] + pub neutral_dismissal: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub positive_dismissal: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Reason { + #[prost(string, optional, tag = "3")] + pub description_html: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "4")] + pub reason_plus_one: ::core::option::Option, + #[prost(message, optional, tag = "5")] + pub reason_review: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub dismissal: ::core::option::Option, + #[prost(message, optional, tag = "9")] + pub reason_user_action: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ReasonPlusOne { + #[prost(string, optional, tag = "1")] + pub localized_description_html: ::core::option::Option< + ::prost::alloc::string::String, + >, + #[prost(message, repeated, tag = "3")] + pub user_profile: ::prost::alloc::vec::Vec, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ReasonReview { + #[prost(message, optional, tag = "1")] + pub review: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ReasonUserAction { + #[prost(message, optional, tag = "1")] + pub user_profile: ::core::option::Option, + #[prost(string, optional, tag = "2")] + pub localized_description_html: ::core::option::Option< + ::prost::alloc::string::String, + >, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Dismissal { + #[prost(string, optional, tag = "1")] + pub url: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "2")] + pub description_html: ::core::option::Option<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Snippet { + #[prost(string, optional, tag = "1")] + pub snippet_html: ::core::option::Option<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MyRewardDetails { + #[prost(int64, optional, tag = "1")] + pub expiration_time_millis: ::core::option::Option, + #[prost(string, optional, tag = "2")] + pub expiration_description: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "3")] + pub button_label: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "4")] + pub link_action: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MySubscriptionDetails { + #[prost(string, optional, tag = "1")] + pub subscription_status_html: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "2")] + pub title: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "3")] + pub title_by_line_html: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "4")] + pub formatted_price: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "5")] + pub price_by_line_html: ::core::option::Option<::prost::alloc::string::String>, + #[prost(bool, optional, tag = "6")] + pub cancel_subscription: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub payment_declined_learn_more_link: ::core::option::Option, + #[prost(bool, optional, tag = "8")] + pub in_trial_period: ::core::option::Option, + #[prost(message, optional, tag = "9")] + pub title_by_line_icon: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct VideoAnnotations { + #[prost(bool, optional, tag = "1")] + pub bundle: ::core::option::Option, + #[prost(string, optional, tag = "2")] + pub bundle_content_list_url: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "3")] + pub extras_content_list_url: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "4")] + pub also_available_in_list_url: ::core::option::Option< + ::prost::alloc::string::String, + >, + #[prost(message, repeated, tag = "5")] + pub bundle_doc_id: ::prost::alloc::vec::Vec, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct VoucherInfo { + #[prost(message, optional, tag = "1")] + pub item: ::core::option::Option, + #[prost(message, repeated, tag = "2")] + pub offer: ::prost::alloc::vec::Vec, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BadgeContainer { + #[prost(string, optional, tag = "1")] + pub title: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, repeated, tag = "2")] + pub image: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub badge: ::prost::alloc::vec::Vec, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct OverflowLink { + #[prost(string, optional, tag = "1")] + pub title: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "2")] + pub link: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PromotedDoc { + #[prost(string, optional, tag = "1")] + pub title: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "2")] + pub subtitle: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, repeated, tag = "3")] + pub image: ::prost::alloc::vec::Vec, + #[prost(string, optional, tag = "4")] + pub description: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "5")] + pub details_url: ::core::option::Option<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Warning { + #[prost(string, optional, tag = "1")] + pub localized_message: ::core::option::Option<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AnnotationLink { + #[prost(string, optional, tag = "1")] + pub uri: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "2")] + pub resolved_link: ::core::option::Option, + #[prost(int32, optional, tag = "3")] + pub uri_backend: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Rated { - #[prost(string, optional, tag="1")] + #[prost(string, optional, tag = "1")] pub label: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag="2")] + #[prost(message, optional, tag = "2")] pub image: ::core::option::Option, - #[prost(string, optional, tag="4")] + #[prost(string, optional, tag = "4")] pub learn_more_html_link: ::core::option::Option<::prost::alloc::string::String>, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct RelatedLink { - #[prost(string, optional, tag="1")] - pub label: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="2")] - pub url1: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="3")] - pub url2: ::core::option::Option<::prost::alloc::string::String>, +pub struct Badge { + #[prost(string, optional, tag = "1")] + pub major: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "2")] + pub image: ::core::option::Option, + #[prost(string, optional, tag = "3")] + pub minor: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "4")] + pub minor_html: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "6")] + pub sub_badge: ::core::option::Option, + #[prost(message, optional, tag = "7")] + pub link: ::core::option::Option, + #[prost(string, optional, tag = "8")] + pub description: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "12")] + pub stream: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SubBadge { + #[prost(message, optional, tag = "1")] + pub image: ::core::option::Option, + #[prost(string, optional, tag = "4")] + pub description: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "5")] + pub link: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Stream { + #[prost(string, optional, tag = "1")] + pub title: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "2")] + pub stream: ::core::option::Option, + #[prost(string, optional, tag = "3")] + pub subtitle: ::core::option::Option<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SubStream { + #[prost(message, optional, tag = "2")] + pub link: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Link { + #[prost(string, optional, tag = "1")] + pub uri: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "2")] + pub resolved_link: ::core::option::Option, + #[prost(int32, optional, tag = "3")] + pub uri_backend: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct StreamLink { + #[prost(string, optional, tag = "1")] + pub url: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "2")] + pub stream_url: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "3")] + pub search_url: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "5")] + pub sub_category_url: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "11")] + pub search_query: ::core::option::Option<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Chip { + #[prost(string, optional, tag = "1")] + pub title: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "2")] + pub stream: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct CategoryInfo { - #[prost(string, optional, tag="1")] - pub app_type: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="2")] + #[prost(string, optional, tag = "1")] + pub category: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "2")] pub app_category: ::core::option::Option<::prost::alloc::string::String>, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct EncryptedSubscriberInfo { - #[prost(string, optional, tag="1")] + #[prost(string, optional, tag = "1")] pub data: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="2")] + #[prost(string, optional, tag = "2")] pub encrypted_key: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="3")] + #[prost(string, optional, tag = "3")] pub signature: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="4")] + #[prost(string, optional, tag = "4")] pub init_vector: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int32, optional, tag="5")] + #[prost(int32, optional, tag = "5")] pub google_key_version: ::core::option::Option, - #[prost(int32, optional, tag="6")] + #[prost(int32, optional, tag = "6")] pub carrier_key_version: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Availability { - #[prost(int32, optional, tag="5")] + #[prost(int32, optional, tag = "5")] pub restriction: ::core::option::Option, - #[prost(int32, optional, tag="6")] + #[prost(int32, optional, tag = "6")] pub offer_type: ::core::option::Option, - #[prost(message, optional, tag="7")] + #[prost(message, optional, tag = "7")] pub rule: ::core::option::Option, - #[prost(group, repeated, tag="9")] - pub perdeviceavailabilityrestriction: ::prost::alloc::vec::Vec, - #[prost(bool, optional, tag="13")] + #[prost(group, repeated, tag = "9")] + pub perdeviceavailabilityrestriction: ::prost::alloc::vec::Vec< + availability::PerDeviceAvailabilityRestriction, + >, + #[prost(bool, optional, tag = "13")] pub available_if_owned: ::core::option::Option, - #[prost(message, repeated, tag="14")] + #[prost(message, repeated, tag = "14")] pub install: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag="16")] + #[prost(message, optional, tag = "16")] pub filter_info: ::core::option::Option, - #[prost(message, optional, tag="17")] + #[prost(message, optional, tag = "17")] pub ownership_info: ::core::option::Option, + #[prost(message, repeated, tag = "18")] + pub availability_problem: ::prost::alloc::vec::Vec, + #[prost(bool, optional, tag = "21")] + pub hidden: ::core::option::Option, } /// Nested message and enum types in `Availability`. pub mod availability { + #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct PerDeviceAvailabilityRestriction { - #[prost(fixed64, optional, tag="10")] + #[prost(fixed64, optional, tag = "10")] pub android_id: ::core::option::Option, - #[prost(int32, optional, tag="11")] + #[prost(int32, optional, tag = "11")] pub device_restriction: ::core::option::Option, - #[prost(int64, optional, tag="12")] + #[prost(int64, optional, tag = "12")] pub channel_id: ::core::option::Option, - #[prost(message, optional, tag="15")] + #[prost(message, optional, tag = "15")] pub filter_info: ::core::option::Option, } } +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct AvailabilityProblem { + #[prost(int32, optional, tag = "1")] + pub problem_type: ::core::option::Option, + #[prost(string, repeated, tag = "2")] + pub missing_value: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct FilterEvaluationInfo { - #[prost(message, repeated, tag="1")] + #[prost(message, repeated, tag = "1")] pub rule_evaluation: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Rule { - #[prost(bool, optional, tag="1")] + #[prost(bool, optional, tag = "1")] pub negate: ::core::option::Option, - #[prost(int32, optional, tag="2")] + #[prost(int32, optional, tag = "2")] pub operator: ::core::option::Option, - #[prost(int32, optional, tag="3")] + #[prost(int32, optional, tag = "3")] pub key: ::core::option::Option, - #[prost(string, repeated, tag="4")] + #[prost(string, repeated, tag = "4")] pub string_arg: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(int64, repeated, packed="false", tag="5")] + #[prost(int64, repeated, packed = "false", tag = "5")] pub long_arg: ::prost::alloc::vec::Vec, - #[prost(double, repeated, packed="false", tag="6")] + #[prost(double, repeated, packed = "false", tag = "6")] pub double_arg: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag="7")] - pub subrule: ::prost::alloc::vec::Vec, - #[prost(int32, optional, tag="8")] + #[prost(message, repeated, tag = "7")] + pub sub_rule: ::prost::alloc::vec::Vec, + #[prost(int32, optional, tag = "8")] pub response_code: ::core::option::Option, - #[prost(string, optional, tag="9")] + #[prost(string, optional, tag = "9")] pub comment: ::core::option::Option<::prost::alloc::string::String>, - #[prost(fixed64, repeated, packed="false", tag="10")] + #[prost(fixed64, repeated, packed = "false", tag = "10")] pub string_arg_hash: ::prost::alloc::vec::Vec, - #[prost(int32, repeated, packed="false", tag="11")] + #[prost(int32, repeated, packed = "false", tag = "11")] pub const_arg: ::prost::alloc::vec::Vec, + #[prost(int32, optional, tag = "12")] + pub availability_problem_type: ::core::option::Option, + #[prost(bool, optional, tag = "13")] + pub include_missing_values: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct RuleEvaluation { - #[prost(message, optional, tag="1")] + #[prost(message, optional, tag = "1")] pub rule: ::core::option::Option, - #[prost(string, repeated, tag="2")] + #[prost(string, repeated, tag = "2")] pub actual_string_value: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(int64, repeated, packed="false", tag="3")] + #[prost(int64, repeated, packed = "false", tag = "3")] pub actual_long_value: ::prost::alloc::vec::Vec, - #[prost(bool, repeated, packed="false", tag="4")] + #[prost(bool, repeated, packed = "false", tag = "4")] pub actual_bool_value: ::prost::alloc::vec::Vec, - #[prost(double, repeated, packed="false", tag="5")] + #[prost(double, repeated, packed = "false", tag = "5")] pub actual_double_value: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct LibraryAppDetails { - #[prost(string, optional, tag="2")] + #[prost(string, optional, tag = "2")] pub certificate_hash: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int64, optional, tag="3")] - pub refund_timeout_timestamp_msec: ::core::option::Option, - #[prost(int64, optional, tag="4")] - pub post_delivery_refund_window_msec: ::core::option::Option, + #[prost(int64, optional, tag = "3")] + pub refund_timeout_timestamp: ::core::option::Option, + #[prost(int64, optional, tag = "4")] + pub post_delivery_refund_window_millis: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct LibraryInAppDetails { - #[prost(string, optional, tag="1")] + #[prost(string, optional, tag = "1")] pub signed_purchase_data: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="2")] + #[prost(string, optional, tag = "2")] pub signature: ::core::option::Option<::prost::alloc::string::String>, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct LibraryMutation { - #[prost(message, optional, tag="1")] - pub docid: ::core::option::Option, - #[prost(int32, optional, tag="2")] + #[prost(message, optional, tag = "1")] + pub doc_id: ::core::option::Option, + #[prost(int32, optional, tag = "2")] pub offer_type: ::core::option::Option, - #[prost(int64, optional, tag="3")] + #[prost(int64, optional, tag = "3")] pub document_hash: ::core::option::Option, - #[prost(bool, optional, tag="4")] + #[prost(bool, optional, tag = "4")] pub deleted: ::core::option::Option, - #[prost(message, optional, tag="5")] + #[prost(message, optional, tag = "5")] pub app_details: ::core::option::Option, - #[prost(message, optional, tag="6")] + #[prost(message, optional, tag = "6")] pub subscription_details: ::core::option::Option, - #[prost(message, optional, tag="7")] + #[prost(message, optional, tag = "7")] pub in_app_details: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct LibrarySubscriptionDetails { - #[prost(int64, optional, tag="1")] - pub initiation_timestamp_msec: ::core::option::Option, - #[prost(int64, optional, tag="2")] - pub valid_until_timestamp_msec: ::core::option::Option, - #[prost(bool, optional, tag="3")] + #[prost(int64, optional, tag = "1")] + pub initiation_timestamp: ::core::option::Option, + #[prost(int64, optional, tag = "2")] + pub valid_until_timestamp: ::core::option::Option, + #[prost(bool, optional, tag = "3")] pub auto_renewing: ::core::option::Option, - #[prost(int64, optional, tag="4")] - pub trial_until_timestamp_msec: ::core::option::Option, + #[prost(int64, optional, tag = "4")] + pub trial_until_timestamp: ::core::option::Option, + #[prost(string, optional, tag = "5")] + pub signed_purchase_data: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "6")] + pub signature: ::core::option::Option<::prost::alloc::string::String>, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct LibraryUpdate { - #[prost(int32, optional, tag="1")] + #[prost(int32, optional, tag = "1")] pub status: ::core::option::Option, - #[prost(int32, optional, tag="2")] + #[prost(int32, optional, tag = "2")] pub corpus: ::core::option::Option, - #[prost(bytes="vec", optional, tag="3")] + #[prost(bytes = "vec", optional, tag = "3")] pub server_token: ::core::option::Option<::prost::alloc::vec::Vec>, - #[prost(message, repeated, tag="4")] + #[prost(message, repeated, tag = "4")] pub mutation: ::prost::alloc::vec::Vec, - #[prost(bool, optional, tag="5")] + #[prost(bool, optional, tag = "5")] pub has_more: ::core::option::Option, - #[prost(string, optional, tag="6")] + #[prost(string, optional, tag = "6")] pub library_id: ::core::option::Option<::prost::alloc::string::String>, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct AndroidAppNotificationData { - #[prost(int32, optional, tag="1")] + #[prost(int32, optional, tag = "1")] pub version_code: ::core::option::Option, - #[prost(string, optional, tag="2")] + #[prost(string, optional, tag = "2")] pub asset_id: ::core::option::Option<::prost::alloc::string::String>, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct InAppNotificationData { - #[prost(string, optional, tag="1")] + #[prost(string, optional, tag = "1")] pub checkout_order_id: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="2")] + #[prost(string, optional, tag = "2")] pub in_app_notification_id: ::core::option::Option<::prost::alloc::string::String>, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct LibraryDirtyData { - #[prost(int32, optional, tag="1")] + #[prost(int32, optional, tag = "1")] pub backend: ::core::option::Option, + #[prost(string, optional, tag = "2")] + pub library_id: ::core::option::Option<::prost::alloc::string::String>, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Notification { - #[prost(int32, optional, tag="1")] + #[prost(int32, optional, tag = "1")] pub notification_type: ::core::option::Option, - #[prost(int64, optional, tag="3")] + #[prost(int64, optional, tag = "3")] pub timestamp: ::core::option::Option, - #[prost(message, optional, tag="4")] - pub docid: ::core::option::Option, - #[prost(string, optional, tag="5")] + #[prost(message, optional, tag = "4")] + pub doc_id: ::core::option::Option, + #[prost(string, optional, tag = "5")] pub doc_title: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="6")] + #[prost(string, optional, tag = "6")] pub user_email: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag="7")] + #[prost(message, optional, tag = "7")] pub app_data: ::core::option::Option, - #[prost(message, optional, tag="8")] + #[prost(message, optional, tag = "8")] pub app_delivery_data: ::core::option::Option, - #[prost(message, optional, tag="9")] + #[prost(message, optional, tag = "9")] pub purchase_removal_data: ::core::option::Option, - #[prost(message, optional, tag="10")] + #[prost(message, optional, tag = "10")] pub user_notification_data: ::core::option::Option, - #[prost(message, optional, tag="11")] + #[prost(message, optional, tag = "11")] pub in_app_notification_data: ::core::option::Option, - #[prost(message, optional, tag="12")] + #[prost(message, optional, tag = "12")] pub purchase_declined_data: ::core::option::Option, - #[prost(string, optional, tag="13")] + #[prost(string, optional, tag = "13")] pub notification_id: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag="14")] + #[prost(message, optional, tag = "14")] pub library_update: ::core::option::Option, - #[prost(message, optional, tag="15")] + #[prost(message, optional, tag = "15")] pub library_dirty_data: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct PurchaseDeclinedData { - #[prost(int32, optional, tag="1")] + #[prost(int32, optional, tag = "1")] pub reason: ::core::option::Option, - #[prost(bool, optional, tag="2")] + #[prost(bool, optional, tag = "2")] pub show_notification: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct PurchaseRemovalData { - #[prost(bool, optional, tag="1")] + #[prost(bool, optional, tag = "1")] pub malicious: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct UserNotificationData { - #[prost(string, optional, tag="1")] + #[prost(string, optional, tag = "1")] pub notification_title: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="2")] + #[prost(string, optional, tag = "2")] pub notification_text: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="3")] + #[prost(string, optional, tag = "3")] pub ticker_text: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="4")] + #[prost(string, optional, tag = "4")] pub dialog_title: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="5")] + #[prost(string, optional, tag = "5")] pub dialog_text: ::core::option::Option<::prost::alloc::string::String>, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct AggregateRating { - #[prost(int32, optional, tag="1")] + #[prost(int32, optional, tag = "1", default = "1")] pub r#type: ::core::option::Option, - #[prost(float, optional, tag="2")] + #[prost(float, optional, tag = "2")] pub star_rating: ::core::option::Option, - #[prost(uint64, optional, tag="3")] + #[prost(uint64, optional, tag = "3")] pub ratings_count: ::core::option::Option, - #[prost(uint64, optional, tag="4")] + #[prost(uint64, optional, tag = "4")] pub one_star_ratings: ::core::option::Option, - #[prost(uint64, optional, tag="5")] + #[prost(uint64, optional, tag = "5")] pub two_star_ratings: ::core::option::Option, - #[prost(uint64, optional, tag="6")] + #[prost(uint64, optional, tag = "6")] pub three_star_ratings: ::core::option::Option, - #[prost(uint64, optional, tag="7")] + #[prost(uint64, optional, tag = "7")] pub four_star_ratings: ::core::option::Option, - #[prost(uint64, optional, tag="8")] + #[prost(uint64, optional, tag = "8")] pub five_star_ratings: ::core::option::Option, - #[prost(uint64, optional, tag="9")] + #[prost(uint64, optional, tag = "9")] pub thumbs_up_count: ::core::option::Option, - #[prost(uint64, optional, tag="10")] + #[prost(uint64, optional, tag = "10")] pub thumbs_down_count: ::core::option::Option, - #[prost(uint64, optional, tag="11")] + #[prost(uint64, optional, tag = "11")] pub comment_count: ::core::option::Option, - #[prost(double, optional, tag="12")] + #[prost(double, optional, tag = "12")] pub bayesian_mean_rating: ::core::option::Option, + #[prost(message, repeated, tag = "13")] + pub tip: ::prost::alloc::vec::Vec, + #[prost(string, optional, tag = "17")] + pub rating_label: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "18")] + pub rating_count_label_abbreviated: ::core::option::Option< + ::prost::alloc::string::String, + >, + #[prost(string, optional, tag = "19")] + pub rating_count_label: ::core::option::Option<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct Tip { + #[prost(string, optional, tag = "1")] + pub tip_id: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "2")] + pub text: ::core::option::Option<::prost::alloc::string::String>, + #[prost(int32, optional, tag = "3")] + pub polarity: ::core::option::Option, + #[prost(int64, optional, tag = "4")] + pub review_count: ::core::option::Option, + #[prost(string, optional, tag = "5")] + pub language: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, repeated, tag = "6")] + pub snippet_review_id: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ReviewTip { + #[prost(string, optional, tag = "1")] + pub tip_url: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "2")] + pub text: ::core::option::Option<::prost::alloc::string::String>, + #[prost(int32, optional, tag = "3")] + pub polarity: ::core::option::Option, + #[prost(int64, optional, tag = "4")] + pub review_count: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] -pub struct AcceptTosResponse { -} +pub struct AcceptTosResponse {} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct CarrierBillingConfig { - #[prost(string, optional, tag="1")] + #[prost(string, optional, tag = "1")] pub id: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="2")] + #[prost(string, optional, tag = "2")] pub name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int32, optional, tag="3")] + #[prost(int32, optional, tag = "3")] pub api_version: ::core::option::Option, - #[prost(string, optional, tag="4")] + #[prost(string, optional, tag = "4")] pub provisioning_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="5")] + #[prost(string, optional, tag = "5")] pub credentials_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(bool, optional, tag="6")] + #[prost(bool, optional, tag = "6")] pub tos_required: ::core::option::Option, - #[prost(bool, optional, tag="7")] + #[prost(bool, optional, tag = "7")] pub per_transaction_credentials_required: ::core::option::Option, - #[prost(bool, optional, tag="8")] + #[prost(bool, optional, tag = "8")] pub send_subscriber_id_with_carrier_billing_requests: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct BillingConfig { - #[prost(message, optional, tag="1")] + #[prost(message, optional, tag = "1")] pub carrier_billing_config: ::core::option::Option, - #[prost(int32, optional, tag="2")] + #[prost(int32, optional, tag = "2")] pub max_iab_api_version: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct CorpusMetadata { - #[prost(int32, optional, tag="1")] + #[prost(int32, optional, tag = "1")] pub backend: ::core::option::Option, - #[prost(string, optional, tag="2")] + #[prost(string, optional, tag = "2")] pub name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="3")] + #[prost(string, optional, tag = "3")] pub landing_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="4")] + #[prost(string, optional, tag = "4")] pub library_name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="6")] + #[prost(string, optional, tag = "6")] pub recs_widget_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="7")] + #[prost(string, optional, tag = "7")] pub shop_name: ::core::option::Option<::prost::alloc::string::String>, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Experiments { - #[prost(string, repeated, tag="1")] + #[prost(string, repeated, tag = "1")] pub experiment_id: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct SelfUpdateConfig { - #[prost(int32, optional, tag="1")] + #[prost(int32, optional, tag = "1")] pub latest_client_version_code: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct TocResponse { - #[prost(message, repeated, tag="1")] + #[prost(message, repeated, tag = "1")] pub corpus: ::prost::alloc::vec::Vec, - #[prost(int32, optional, tag="2")] + #[prost(int32, optional, tag = "2")] pub tos_version_deprecated: ::core::option::Option, - #[prost(string, optional, tag="3")] + #[prost(string, optional, tag = "3")] pub tos_content: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="4")] + #[prost(string, optional, tag = "4")] pub home_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag="5")] + #[prost(message, optional, tag = "5")] pub experiments: ::core::option::Option, - #[prost(string, optional, tag="6")] - pub tos_checkbox_text_marketing_emails: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="7")] + #[prost(string, optional, tag = "6")] + pub tos_checkbox_text_marketing_emails: ::core::option::Option< + ::prost::alloc::string::String, + >, + #[prost(string, optional, tag = "7")] pub tos_token: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="9")] + #[prost(message, optional, tag = "8")] + pub user_settings: ::core::option::Option, + #[prost(string, optional, tag = "9")] pub icon_override_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag="10")] + #[prost(message, optional, tag = "10")] pub self_update_config: ::core::option::Option, - #[prost(bool, optional, tag="11")] + #[prost(bool, optional, tag = "11")] pub requires_upload_device_config: ::core::option::Option, - #[prost(message, optional, tag="12")] + #[prost(message, optional, tag = "12")] pub billing_config: ::core::option::Option, - #[prost(string, optional, tag="13")] + #[prost(string, optional, tag = "13")] pub recs_widget_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="15")] + #[prost(string, optional, tag = "15")] pub social_home_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(bool, optional, tag="16")] + #[prost(bool, optional, tag = "16")] pub age_verification_required: ::core::option::Option, - #[prost(bool, optional, tag="17")] - pub gplus_signup_enabled: ::core::option::Option, - #[prost(bool, optional, tag="18")] + #[prost(bool, optional, tag = "17")] + pub g_plus_signup_enabled: ::core::option::Option, + #[prost(bool, optional, tag = "18")] pub redeem_enabled: ::core::option::Option, - #[prost(string, optional, tag="19")] + #[prost(string, optional, tag = "19")] pub help_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int32, optional, tag="20")] + #[prost(int32, optional, tag = "20")] pub theme_id: ::core::option::Option, - #[prost(string, optional, tag="21")] + #[prost(string, optional, tag = "21")] pub entertainment_home_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="22")] + #[prost(string, optional, tag = "22")] pub cookie: ::core::option::Option<::prost::alloc::string::String>, } +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct UserSettings { + #[prost(bool, optional, tag = "1")] + pub tos_checkbox_marketing_emails_opted_in: ::core::option::Option, + #[prost(message, optional, tag = "2")] + pub privacy_setting: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PrivacySetting { + #[prost(int32, optional, tag = "1")] + pub r#type: ::core::option::Option, + #[prost(int32, optional, tag = "2")] + pub current_status: ::core::option::Option, + #[prost(bool, optional, tag = "3")] + pub enabled_by_default: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Payload { - #[prost(message, optional, tag="1")] + #[prost(message, optional, tag = "1")] pub list_response: ::core::option::Option, - #[prost(message, optional, tag="2")] + #[prost(message, optional, tag = "2")] pub details_response: ::core::option::Option, - #[prost(message, optional, tag="3")] + #[prost(message, optional, tag = "3")] pub review_response: ::core::option::Option, - #[prost(message, optional, tag="4")] + #[prost(message, optional, tag = "4")] pub buy_response: ::core::option::Option, - #[prost(message, optional, tag="5")] + #[prost(message, optional, tag = "5")] pub search_response: ::core::option::Option, - #[prost(message, optional, tag="6")] + #[prost(message, optional, tag = "6")] pub toc_response: ::core::option::Option, - #[prost(message, optional, tag="7")] + #[prost(message, optional, tag = "7")] pub browse_response: ::core::option::Option, - #[prost(message, optional, tag="8")] + #[prost(message, optional, tag = "8")] pub purchase_status_response: ::core::option::Option, - #[prost(string, optional, tag="10")] + #[prost(string, optional, tag = "10")] pub log_response: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="13")] + #[prost(string, optional, tag = "13")] pub flag_content_response: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag="19")] + #[prost(message, optional, tag = "19")] pub bulk_details_response: ::core::option::Option, - #[prost(message, optional, tag="21")] + #[prost(message, optional, tag = "21")] pub delivery_response: ::core::option::Option, - #[prost(message, optional, tag="22")] + #[prost(message, optional, tag = "22")] pub accept_tos_response: ::core::option::Option, - #[prost(message, optional, tag="26")] + #[prost(message, optional, tag = "24")] + pub check_promo_offer_response: ::core::option::Option, + #[prost(message, optional, tag = "25")] + pub instrument_setup_info_response: ::core::option::Option< + InstrumentSetupInfoResponse, + >, + #[prost(message, optional, tag = "26")] pub android_checkin_response: ::core::option::Option, - #[prost(message, optional, tag="28")] - pub upload_device_config_response: ::core::option::Option, - #[prost(message, optional, tag="40")] + #[prost(message, optional, tag = "28")] + pub upload_device_config_response: ::core::option::Option< + UploadDeviceConfigResponse, + >, + #[prost(message, optional, tag = "40")] pub search_suggest_response: ::core::option::Option, - #[prost(message, optional, tag="80")] + #[prost(message, optional, tag = "30")] + pub consume_purchase_response: ::core::option::Option, + #[prost(message, optional, tag = "31")] + pub billing_profile_response: ::core::option::Option, + #[prost(message, optional, tag = "34")] + pub debug_settings_response: ::core::option::Option, + #[prost(message, optional, tag = "35")] + pub check_iab_promo_response: ::core::option::Option, + #[prost(message, optional, tag = "36")] + pub user_activity_settings_response: ::core::option::Option< + UserActivitySettingsResponse, + >, + #[prost(message, optional, tag = "37")] + pub record_user_activity_response: ::core::option::Option< + RecordUserActivityResponse, + >, + #[prost(message, optional, tag = "38")] + pub redeem_code_response: ::core::option::Option, + #[prost(message, optional, tag = "39")] + pub self_update_response: ::core::option::Option, + #[prost(message, optional, tag = "41")] + pub get_initial_instrument_flow_state_response: ::core::option::Option< + GetInitialInstrumentFlowStateResponse, + >, + #[prost(message, optional, tag = "42")] + pub create_instrument_response: ::core::option::Option, + #[prost(message, optional, tag = "43")] + pub challenge_response: ::core::option::Option, + #[prost(message, optional, tag = "44")] + pub backup_device_choices_response: ::core::option::Option< + BackDeviceChoicesResponse, + >, + #[prost(message, optional, tag = "45")] + pub backup_document_choices_response: ::core::option::Option< + BackupDocumentChoicesResponse, + >, + #[prost(message, optional, tag = "46")] + pub early_update_response: ::core::option::Option, + #[prost(message, optional, tag = "47")] + pub preloads_response: ::core::option::Option, + #[prost(message, optional, tag = "48")] + pub my_accounts_response: ::core::option::Option, + #[prost(message, optional, tag = "49")] + pub content_filter_response: ::core::option::Option, + #[prost(message, optional, tag = "50")] + pub experiments_response: ::core::option::Option, + #[prost(message, optional, tag = "51")] + pub survey_response: ::core::option::Option, + #[prost(message, optional, tag = "52")] + pub ping_response: ::core::option::Option, + #[prost(message, optional, tag = "53")] + pub update_user_setting_response: ::core::option::Option, + #[prost(message, optional, tag = "54")] + pub get_user_settings_response: ::core::option::Option, + #[prost(message, optional, tag = "56")] + pub get_sharing_settings_response: ::core::option::Option< + GetSharingSettingsResponse, + >, + #[prost(message, optional, tag = "57")] + pub update_sharing_settings_response: ::core::option::Option< + UpdateSharingSettingsResponse, + >, + #[prost(message, optional, tag = "58")] + pub review_snippets_response: ::core::option::Option, + #[prost(message, optional, tag = "59")] + pub document_sharing_state_response: ::core::option::Option< + DocumentSharingStateResponse, + >, + #[prost(message, optional, tag = "70")] + pub module_delivery_response: ::core::option::Option, + #[prost(message, optional, tag = "80")] pub testing_program_response: ::core::option::Option, + #[prost(message, optional, tag = "129")] + pub review_summary_response: ::core::option::Option, +} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CheckIabPromoResponse {} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct UserActivitySettingsResponse {} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RecordUserActivityResponse {} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct RedeemCodeResponse {} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SelfUpdateResponse {} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetInitialInstrumentFlowStateResponse {} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CreateInstrumentResponse {} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ChallengeResponse {} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BackDeviceChoicesResponse {} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct BackupDocumentChoicesResponse {} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct EarlyUpdateResponse {} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PreloadsResponse { + #[prost(message, optional, tag = "1")] + pub config_preload: ::core::option::Option, + #[prost(message, repeated, tag = "2")] + pub app_preload: ::prost::alloc::vec::Vec, +} +/// Nested message and enum types in `PreloadsResponse`. +pub mod preloads_response { + #[allow(clippy::derive_partial_eq_without_eq)] + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct Preload { + #[prost(message, optional, tag = "1")] + pub doc_id: ::core::option::Option, + #[prost(int32, optional, tag = "2")] + pub version_code: ::core::option::Option, + #[prost(string, optional, tag = "3")] + pub title: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "4")] + pub icon: ::core::option::Option, + #[prost(string, optional, tag = "5")] + pub delivery_token: ::core::option::Option<::prost::alloc::string::String>, + #[prost(int32, optional, tag = "6")] + pub install_location: ::core::option::Option, + #[prost(int64, optional, tag = "7")] + pub size: ::core::option::Option, + } } +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct MyAccountsResponse {} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ContentFilterResponse {} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ExperimentsResponse {} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct SurveyResponse {} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct PingResponse {} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct UpdateUserSettingResponse {} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetUserSettingsResponse {} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct GetSharingSettingsResponse {} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct UpdateSharingSettingsResponse {} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ReviewSnippetsResponse {} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct DocumentSharingStateResponse {} +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct ModuleDeliveryResponse {} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct PreFetch { - #[prost(string, optional, tag="1")] + #[prost(string, optional, tag = "1")] pub url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag="2")] + #[prost(message, optional, tag = "2")] pub response: ::core::option::Option, - #[prost(string, optional, tag="3")] + #[prost(string, optional, tag = "3")] pub etag: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int64, optional, tag="4")] + #[prost(int64, optional, tag = "4")] pub ttl: ::core::option::Option, - #[prost(int64, optional, tag="5")] + #[prost(int64, optional, tag = "5")] pub soft_ttl: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ServerMetadata { - #[prost(int64, optional, tag="1")] + #[prost(int64, optional, tag = "1")] pub latency_millis: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Targets { - #[prost(int64, repeated, packed="false", tag="1")] + #[prost(int64, repeated, packed = "false", tag = "1")] pub target_id: ::prost::alloc::vec::Vec, - #[prost(bytes="vec", optional, tag="2")] + #[prost(bytes = "vec", optional, tag = "2")] pub signature: ::core::option::Option<::prost::alloc::vec::Vec>, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ServerCookie { - #[prost(int32, optional, tag="1")] + #[prost(int32, optional, tag = "1")] pub r#type: ::core::option::Option, - #[prost(bytes="vec", optional, tag="2")] + #[prost(bytes = "vec", optional, tag = "2")] pub token: ::core::option::Option<::prost::alloc::vec::Vec>, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ServerCookies { - #[prost(message, repeated, tag="1")] + #[prost(message, repeated, tag = "1")] pub server_cookie: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ResponseWrapper { - #[prost(message, optional, tag="1")] + #[prost(message, optional, tag = "1")] pub payload: ::core::option::Option, - #[prost(message, optional, tag="2")] + #[prost(message, optional, tag = "2")] pub commands: ::core::option::Option, - #[prost(message, repeated, tag="3")] + #[prost(message, repeated, tag = "3")] pub pre_fetch: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag="4")] + #[prost(message, repeated, tag = "4")] pub notification: ::prost::alloc::vec::Vec, - #[prost(message, optional, tag="5")] + #[prost(message, optional, tag = "5")] pub server_metadata: ::core::option::Option, - #[prost(message, optional, tag="6")] + #[prost(message, optional, tag = "6")] pub targets: ::core::option::Option, - #[prost(message, optional, tag="7")] + #[prost(message, optional, tag = "7")] pub server_cookies: ::core::option::Option, - #[prost(bytes="vec", optional, tag="9")] + #[prost(bytes = "vec", optional, tag = "9")] pub server_logs_cookie: ::core::option::Option<::prost::alloc::vec::Vec>, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ResponseWrapperApi { - #[prost(message, optional, tag="1")] + #[prost(message, optional, tag = "1")] pub payload: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct PayloadApi { - #[prost(message, optional, tag="5")] + #[prost(message, optional, tag = "5")] pub user_profile_response: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct UserProfileResponse { - #[prost(message, optional, tag="1")] + #[prost(message, optional, tag = "1")] pub user_profile: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ServerCommands { - #[prost(bool, optional, tag="1")] + #[prost(bool, optional, tag = "1")] pub clear_cache: ::core::option::Option, - #[prost(string, optional, tag="2")] + #[prost(string, optional, tag = "2")] pub display_error_message: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="3")] + #[prost(string, optional, tag = "3")] pub log_error_stacktrace: ::core::option::Option<::prost::alloc::string::String>, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GetReviewsResponse { - #[prost(message, repeated, tag="1")] + #[prost(message, repeated, tag = "1")] pub review: ::prost::alloc::vec::Vec, - #[prost(int64, optional, tag="2")] + #[prost(int64, optional, tag = "2")] pub matching_count: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Review { - #[prost(string, optional, tag="1")] + #[prost(string, optional, tag = "1")] pub author_name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="2")] + #[prost(string, optional, tag = "2")] pub url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="3")] + #[prost(string, optional, tag = "3")] pub source: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="4")] - pub document_version: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int64, optional, tag="5")] - pub timestamp_msec: ::core::option::Option, - #[prost(int32, optional, tag="6")] + #[prost(string, optional, tag = "4")] + pub version: ::core::option::Option<::prost::alloc::string::String>, + #[prost(int64, optional, tag = "5")] + pub timestamp: ::core::option::Option, + #[prost(int32, optional, tag = "6")] pub star_rating: ::core::option::Option, - #[prost(string, optional, tag="7")] + #[prost(string, optional, tag = "7")] pub title: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="8")] + #[prost(string, optional, tag = "8")] pub comment: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="9")] + #[prost(string, optional, tag = "9")] pub comment_id: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="19")] + #[prost(string, optional, tag = "19")] pub device_name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="29")] + #[prost(string, optional, tag = "29")] pub reply_text: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int64, optional, tag="30")] - pub reply_timestamp_msec: ::core::option::Option, - #[prost(message, optional, tag="31")] + #[prost(int64, optional, tag = "30")] + pub reply_time_stamp: ::core::option::Option, + #[prost(message, optional, tag = "31")] pub author: ::core::option::Option, - #[prost(message, optional, tag="33")] + #[prost(message, optional, tag = "33")] pub user_profile: ::core::option::Option, + #[prost(message, optional, tag = "34")] + pub sentiment: ::core::option::Option, + #[prost(int32, optional, tag = "35")] + pub helpful_count: ::core::option::Option, + #[prost(int64, optional, tag = "38")] + pub thumbs_up_count: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, ::prost::Message)] +pub struct CriticReviewsResponse { + #[prost(string, optional, tag = "1")] + pub title: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "2")] + pub image: ::core::option::Option, + #[prost(uint32, optional, tag = "3")] + pub total_num_reviews: ::core::option::Option, + #[prost(uint32, optional, tag = "4")] + pub percent_favorable: ::core::option::Option, + #[prost(string, optional, tag = "5")] + pub source_text: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "6")] + pub source: ::core::option::Option, + #[prost(message, repeated, tag = "7")] + pub review: ::prost::alloc::vec::Vec, +} +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ReviewAuthor { - #[prost(string, optional, tag="2")] + #[prost(string, optional, tag = "2")] pub name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag="5")] + #[prost(message, optional, tag = "5")] pub avatar: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct UserProfile { - #[prost(string, optional, tag="1")] - pub person_id_string: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="2")] + #[prost(string, optional, tag = "1")] + pub profile_id: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "2")] pub person_id: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int32, optional, tag="3")] - pub unknown1: ::core::option::Option, - #[prost(int32, optional, tag="4")] - pub unknown2: ::core::option::Option, - #[prost(string, optional, tag="5")] + #[prost(int32, optional, tag = "3")] + pub profile_type: ::core::option::Option, + #[prost(int32, optional, tag = "4")] + pub person_type: ::core::option::Option, + #[prost(string, optional, tag = "5")] pub name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, repeated, tag="10")] + #[prost(message, repeated, tag = "10")] pub image: ::prost::alloc::vec::Vec, - #[prost(string, optional, tag="19")] - pub google_plus_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="22")] - pub google_plus_tagline: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "19")] + pub profile_url: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "22")] + pub profile_description: ::core::option::Option<::prost::alloc::string::String>, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ReviewResponse { - #[prost(message, optional, tag="1")] - pub get_response: ::core::option::Option, - #[prost(string, optional, tag="2")] + #[prost(message, optional, tag = "1")] + pub user_reviews_response: ::core::option::Option, + #[prost(string, optional, tag = "2")] pub next_page_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag="3")] + #[prost(message, optional, tag = "3")] pub user_review: ::core::option::Option, + #[prost(string, optional, tag = "4")] + pub suggestions_list_url: ::core::option::Option<::prost::alloc::string::String>, + #[prost(message, optional, tag = "5")] + pub critic_reviews_response: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct RelatedSearch { - #[prost(string, optional, tag="1")] + #[prost(string, optional, tag = "1")] pub search_url: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="2")] + #[prost(string, optional, tag = "2")] pub header: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int32, optional, tag="3")] + #[prost(int32, optional, tag = "3")] pub backend_id: ::core::option::Option, - #[prost(int32, optional, tag="4")] + #[prost(int32, optional, tag = "4", default = "1")] pub doc_type: ::core::option::Option, - #[prost(bool, optional, tag="5")] + #[prost(bool, optional, tag = "5")] pub current: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct SearchResponse { - #[prost(string, optional, tag="1")] + #[prost(string, optional, tag = "1")] pub original_query: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="2")] + #[prost(string, optional, tag = "2")] pub suggested_query: ::core::option::Option<::prost::alloc::string::String>, - #[prost(bool, optional, tag="3")] + #[prost(bool, optional, tag = "3")] pub aggregate_query: ::core::option::Option, - #[prost(message, repeated, tag="4")] + #[prost(message, repeated, tag = "4")] pub bucket: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag="5")] - pub doc: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag="6")] + #[prost(message, repeated, tag = "5")] + pub item: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "6")] pub related_search: ::prost::alloc::vec::Vec, - #[prost(string, optional, tag="10")] + #[prost(bytes = "vec", optional, tag = "7")] + pub server_logs_cookie: ::core::option::Option<::prost::alloc::vec::Vec>, + #[prost(bool, optional, tag = "8")] + pub full_page_replaced: ::core::option::Option, + #[prost(bool, optional, tag = "9")] + pub contains_snow: ::core::option::Option, + #[prost(string, optional, tag = "10")] pub next_page_url: ::core::option::Option<::prost::alloc::string::String>, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct SearchSuggestResponse { - #[prost(message, repeated, tag="1")] + #[prost(message, repeated, tag = "1")] pub entry: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct SearchSuggestEntry { - #[prost(int32, optional, tag="1")] + #[prost(int32, optional, tag = "1")] pub r#type: ::core::option::Option, - #[prost(string, optional, tag="2")] + #[prost(string, optional, tag = "2")] pub suggested_query: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag="5")] + #[prost(message, optional, tag = "5")] pub image_container: ::core::option::Option, - #[prost(string, optional, tag="6")] + #[prost(string, optional, tag = "6")] pub title: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag="8")] - pub package_name_container: ::core::option::Option, + #[prost(message, optional, tag = "8")] + pub package_name_container: ::core::option::Option< + search_suggest_entry::PackageNameContainer, + >, } /// Nested message and enum types in `SearchSuggestEntry`. pub mod search_suggest_entry { + #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ImageContainer { - #[prost(string, optional, tag="5")] + #[prost(string, optional, tag = "5")] pub image_url: ::core::option::Option<::prost::alloc::string::String>, } + #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct PackageNameContainer { - #[prost(string, optional, tag="1")] + #[prost(string, optional, tag = "1")] pub package_name: ::core::option::Option<::prost::alloc::string::String>, } } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct TestingProgramResponse { - #[prost(message, optional, tag="2")] + #[prost(message, optional, tag = "2")] pub result: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct TestingProgramResult { - #[prost(message, optional, tag="4")] + #[prost(message, optional, tag = "4")] pub details: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct TestingProgramDetails { - #[prost(bool, optional, tag="2")] - pub flag1: ::core::option::Option, - #[prost(int64, optional, tag="3")] + #[prost(bool, optional, tag = "2")] + pub subscribed: ::core::option::Option, + #[prost(int64, optional, tag = "3")] pub id: ::core::option::Option, - #[prost(bool, optional, tag="4")] + #[prost(bool, optional, tag = "4")] pub unsubscribed: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct LogRequest { - #[prost(int64, optional, tag="1")] + #[prost(int64, optional, tag = "1")] pub timestamp: ::core::option::Option, - #[prost(string, optional, tag="2")] - pub download_confirmation_query: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "2")] + pub download_confirmation_query: ::core::option::Option< + ::prost::alloc::string::String, + >, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct TestingProgramRequest { - #[prost(string, optional, tag="1")] + #[prost(string, optional, tag = "1")] pub package_name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(bool, optional, tag="2")] + #[prost(bool, optional, tag = "2")] pub subscribe: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct UploadDeviceConfigRequest { - #[prost(message, optional, tag="1")] + #[prost(message, optional, tag = "1")] pub device_configuration: ::core::option::Option, - #[prost(string, optional, tag="2")] + #[prost(string, optional, tag = "2")] pub manufacturer: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="3")] + #[prost(string, optional, tag = "3")] pub gcm_registration_id: ::core::option::Option<::prost::alloc::string::String>, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct UploadDeviceConfigResponse { - #[prost(string, optional, tag="1")] - pub upload_device_config_token: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "1")] + pub upload_device_config_token: ::core::option::Option< + ::prost::alloc::string::String, + >, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct AndroidCheckinRequest { - #[prost(string, optional, tag="1")] + #[prost(string, optional, tag = "1")] pub imei: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int64, optional, tag="2")] + #[prost(int64, optional, tag = "2", default = "0")] pub id: ::core::option::Option, - #[prost(string, optional, tag="3")] + #[prost(string, optional, tag = "3")] pub digest: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag="4")] + #[prost(message, optional, tag = "4")] pub checkin: ::core::option::Option, - #[prost(string, optional, tag="5")] + #[prost(string, optional, tag = "5")] pub desired_build: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="6")] + #[prost(string, optional, tag = "6")] pub locale: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int64, optional, tag="7")] + #[prost(int64, optional, tag = "7")] pub logging_id: ::core::option::Option, - #[prost(string, optional, tag="8")] + #[prost(string, optional, tag = "8")] pub market_checkin: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, repeated, tag="9")] + #[prost(string, repeated, tag = "9")] pub mac_addr: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(string, optional, tag="10")] + #[prost(string, optional, tag = "10")] pub meid: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, repeated, tag="11")] + #[prost(string, repeated, tag = "11")] pub account_cookie: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(string, optional, tag="12")] + #[prost(string, optional, tag = "12")] pub time_zone: ::core::option::Option<::prost::alloc::string::String>, - #[prost(fixed64, optional, tag="13")] + #[prost(fixed64, optional, tag = "13")] pub security_token: ::core::option::Option, - #[prost(int32, optional, tag="14")] + #[prost(int32, optional, tag = "14")] pub version: ::core::option::Option, - #[prost(string, repeated, tag="15")] + #[prost(string, repeated, tag = "15")] pub ota_cert: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(string, optional, tag="16")] + #[prost(string, optional, tag = "16")] pub serial_number: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="17")] + #[prost(string, optional, tag = "17")] pub esn: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, optional, tag="18")] + #[prost(message, optional, tag = "18")] pub device_configuration: ::core::option::Option, - #[prost(string, repeated, tag="19")] + #[prost(string, repeated, tag = "19")] pub mac_addr_type: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(int32, optional, tag="20")] + #[prost(int32, optional, tag = "20")] pub fragment: ::core::option::Option, - #[prost(string, optional, tag="21")] + #[prost(string, optional, tag = "21")] pub user_name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int32, optional, tag="22")] + #[prost(int32, optional, tag = "22")] pub user_serial_number: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct AndroidCheckinResponse { - #[prost(bool, optional, tag="1")] + #[prost(bool, optional, tag = "1")] pub stats_ok: ::core::option::Option, - #[prost(message, repeated, tag="2")] + #[prost(message, repeated, tag = "2")] pub intent: ::prost::alloc::vec::Vec, - #[prost(int64, optional, tag="3")] + #[prost(int64, optional, tag = "3")] pub time_msec: ::core::option::Option, - #[prost(string, optional, tag="4")] + #[prost(string, optional, tag = "4")] pub digest: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, repeated, tag="5")] + #[prost(message, repeated, tag = "5")] pub setting: ::prost::alloc::vec::Vec, - #[prost(bool, optional, tag="6")] + #[prost(bool, optional, tag = "6")] pub market_ok: ::core::option::Option, - #[prost(fixed64, optional, tag="7")] + #[prost(fixed64, optional, tag = "7")] pub android_id: ::core::option::Option, - #[prost(fixed64, optional, tag="8")] + #[prost(fixed64, optional, tag = "8")] pub security_token: ::core::option::Option, - #[prost(bool, optional, tag="9")] + #[prost(bool, optional, tag = "9")] pub settings_diff: ::core::option::Option, - #[prost(string, repeated, tag="10")] + #[prost(string, repeated, tag = "10")] pub delete_setting: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(string, optional, tag="12")] - pub device_checkin_consistency_token: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "12")] + pub device_checkin_consistency_token: ::core::option::Option< + ::prost::alloc::string::String, + >, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct GservicesSetting { - #[prost(bytes="vec", optional, tag="1")] + #[prost(bytes = "vec", optional, tag = "1")] pub name: ::core::option::Option<::prost::alloc::vec::Vec>, - #[prost(bytes="vec", optional, tag="2")] + #[prost(bytes = "vec", optional, tag = "2")] pub value: ::core::option::Option<::prost::alloc::vec::Vec>, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct AndroidBuildProto { - #[prost(string, optional, tag="1")] + #[prost(string, optional, tag = "1")] pub id: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="2")] + #[prost(string, optional, tag = "2")] pub product: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="3")] + #[prost(string, optional, tag = "3")] pub carrier: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="4")] + #[prost(string, optional, tag = "4")] pub radio: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="5")] + #[prost(string, optional, tag = "5")] pub bootloader: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="6")] + #[prost(string, optional, tag = "6")] pub client: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int64, optional, tag="7")] + #[prost(int64, optional, tag = "7")] pub timestamp: ::core::option::Option, - #[prost(int32, optional, tag="8")] + #[prost(int32, optional, tag = "8")] pub google_services: ::core::option::Option, - #[prost(string, optional, tag="9")] + #[prost(string, optional, tag = "9")] pub device: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int32, optional, tag="10")] + #[prost(int32, optional, tag = "10")] pub sdk_version: ::core::option::Option, - #[prost(string, optional, tag="11")] + #[prost(string, optional, tag = "11")] pub model: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="12")] + #[prost(string, optional, tag = "12")] pub manufacturer: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="13")] + #[prost(string, optional, tag = "13")] pub build_product: ::core::option::Option<::prost::alloc::string::String>, - #[prost(bool, optional, tag="14")] + #[prost(bool, optional, tag = "14")] pub ota_installed: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct AndroidCheckinProto { - #[prost(message, optional, tag="1")] + #[prost(message, optional, tag = "1")] pub build: ::core::option::Option, - #[prost(int64, optional, tag="2")] + #[prost(int64, optional, tag = "2")] pub last_checkin_msec: ::core::option::Option, - #[prost(message, repeated, tag="3")] + #[prost(message, repeated, tag = "3")] pub event: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag="4")] + #[prost(message, repeated, tag = "4")] pub stat: ::prost::alloc::vec::Vec, - #[prost(string, repeated, tag="5")] + #[prost(string, repeated, tag = "5")] pub requested_group: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(string, optional, tag="6")] + #[prost(string, optional, tag = "6")] pub cell_operator: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="7")] + #[prost(string, optional, tag = "7")] pub sim_operator: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="8")] + #[prost(string, optional, tag = "8")] pub roaming: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int32, optional, tag="9")] + #[prost(int32, optional, tag = "9")] pub user_number: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct AndroidEventProto { - #[prost(string, optional, tag="1")] + #[prost(string, optional, tag = "1")] pub tag: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="2")] + #[prost(string, optional, tag = "2")] pub value: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int64, optional, tag="3")] + #[prost(int64, optional, tag = "3")] pub time_msec: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct AndroidIntentProto { - #[prost(string, optional, tag="1")] + #[prost(string, optional, tag = "1")] pub action: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="2")] + #[prost(string, optional, tag = "2")] pub data_uri: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="3")] + #[prost(string, optional, tag = "3")] pub mime_type: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="4")] + #[prost(string, optional, tag = "4")] pub java_class: ::core::option::Option<::prost::alloc::string::String>, - #[prost(group, repeated, tag="5")] + #[prost(group, repeated, tag = "5")] pub extra: ::prost::alloc::vec::Vec, } /// Nested message and enum types in `AndroidIntentProto`. pub mod android_intent_proto { + #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct Extra { - #[prost(string, optional, tag="6")] + #[prost(string, optional, tag = "6")] pub name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, optional, tag="7")] + #[prost(string, optional, tag = "7")] pub value: ::core::option::Option<::prost::alloc::string::String>, } } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct AndroidStatisticProto { - #[prost(string, optional, tag="1")] + #[prost(string, optional, tag = "1")] pub tag: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int32, optional, tag="2")] + #[prost(int32, optional, tag = "2")] pub count: ::core::option::Option, - #[prost(float, optional, tag="3")] + #[prost(float, optional, tag = "3")] pub sum: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ClientLibraryState { - #[prost(int32, optional, tag="1")] + #[prost(int32, optional, tag = "1")] pub corpus: ::core::option::Option, - #[prost(bytes="vec", optional, tag="2")] + #[prost(bytes = "vec", optional, tag = "2")] pub server_token: ::core::option::Option<::prost::alloc::vec::Vec>, - #[prost(int64, optional, tag="3")] + #[prost(int64, optional, tag = "3")] pub hash_code_sum: ::core::option::Option, - #[prost(int32, optional, tag="4")] + #[prost(int32, optional, tag = "4")] pub library_size: ::core::option::Option, - #[prost(string, optional, tag="5")] + #[prost(string, optional, tag = "5")] pub library_id: ::core::option::Option<::prost::alloc::string::String>, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct AndroidDataUsageProto { - #[prost(int32, optional, tag="1")] + #[prost(int32, optional, tag = "1")] pub version: ::core::option::Option, - #[prost(int64, optional, tag="2")] + #[prost(int64, optional, tag = "2")] pub current_report_msec: ::core::option::Option, - #[prost(message, repeated, tag="3")] + #[prost(message, repeated, tag = "3")] pub key_to_package_name_mapping: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag="4")] + #[prost(message, repeated, tag = "4")] pub payload_level_app_stat: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag="5")] + #[prost(message, repeated, tag = "5")] pub ip_layer_network_stat: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct AndroidUsageStatsReport { - #[prost(int64, optional, tag="1")] + #[prost(int64, optional, tag = "1")] pub android_id: ::core::option::Option, - #[prost(int64, optional, tag="2")] + #[prost(int64, optional, tag = "2")] pub logging_id: ::core::option::Option, - #[prost(message, optional, tag="3")] + #[prost(message, optional, tag = "3")] pub usage_stats: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct AppBucket { - #[prost(int64, optional, tag="1")] + #[prost(int64, optional, tag = "1")] pub bucket_start_msec: ::core::option::Option, - #[prost(int64, optional, tag="2")] + #[prost(int64, optional, tag = "2")] pub bucket_duration_msec: ::core::option::Option, - #[prost(message, repeated, tag="3")] + #[prost(message, repeated, tag = "3")] pub stat_counters: ::prost::alloc::vec::Vec, - #[prost(int64, optional, tag="4")] + #[prost(int64, optional, tag = "4")] pub operation_count: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct CounterData { - #[prost(int64, optional, tag="1")] + #[prost(int64, optional, tag = "1")] pub bytes: ::core::option::Option, - #[prost(int64, optional, tag="2")] + #[prost(int64, optional, tag = "2")] pub packets: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct IpLayerAppStat { - #[prost(int32, optional, tag="1")] + #[prost(int32, optional, tag = "1")] pub package_key: ::core::option::Option, - #[prost(int32, optional, tag="2")] + #[prost(int32, optional, tag = "2")] pub application_tag: ::core::option::Option, - #[prost(message, repeated, tag="3")] + #[prost(message, repeated, tag = "3")] pub ip_layer_app_bucket: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct IpLayerNetworkBucket { - #[prost(int64, optional, tag="1")] + #[prost(int64, optional, tag = "1")] pub bucket_start_msec: ::core::option::Option, - #[prost(int64, optional, tag="2")] + #[prost(int64, optional, tag = "2")] pub bucket_duration_msec: ::core::option::Option, - #[prost(message, repeated, tag="3")] + #[prost(message, repeated, tag = "3")] pub stat_counters: ::prost::alloc::vec::Vec, - #[prost(int64, optional, tag="4")] + #[prost(int64, optional, tag = "4")] pub network_active_duration: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct IpLayerNetworkStat { - #[prost(string, optional, tag="1")] + #[prost(string, optional, tag = "1")] pub network_details: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int32, optional, tag="2")] + #[prost(int32, optional, tag = "2")] pub r#type: ::core::option::Option, - #[prost(message, repeated, tag="3")] + #[prost(message, repeated, tag = "3")] pub ip_layer_network_bucket: ::prost::alloc::vec::Vec, - #[prost(message, repeated, tag="4")] + #[prost(message, repeated, tag = "4")] pub ip_layer_app_stat: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct KeyToPackageNameMapping { - #[prost(int32, optional, tag="1")] + #[prost(int32, optional, tag = "1")] pub package_key: ::core::option::Option, - #[prost(string, optional, tag="2")] + #[prost(string, optional, tag = "2")] pub uid_name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(message, repeated, tag="3")] - pub shared_package_list: ::prost::alloc::vec::Vec, + #[prost(message, repeated, tag = "3")] + pub shared_package: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct PackageInfo { - #[prost(string, optional, tag="1")] + #[prost(string, optional, tag = "1")] pub pkg_name: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int32, optional, tag="2")] + #[prost(int32, optional, tag = "2")] pub version_code: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct PayloadLevelAppStat { - #[prost(int32, optional, tag="1")] + #[prost(int32, optional, tag = "1")] pub package_key: ::core::option::Option, - #[prost(int32, optional, tag="2")] + #[prost(int32, optional, tag = "2")] pub application_tag: ::core::option::Option, - #[prost(message, repeated, tag="3")] + #[prost(message, repeated, tag = "3")] pub payload_level_app_bucket: ::prost::alloc::vec::Vec, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct StatCounters { - #[prost(int32, optional, tag="1")] + #[prost(int32, optional, tag = "1")] pub network_proto: ::core::option::Option, - #[prost(int32, optional, tag="2")] + #[prost(int32, optional, tag = "2")] pub direction: ::core::option::Option, - #[prost(message, optional, tag="3")] + #[prost(message, optional, tag = "3")] pub counter_data: ::core::option::Option, - #[prost(int32, optional, tag="4")] + #[prost(int32, optional, tag = "4")] pub fg_bg: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct UsageStatsExtensionProto { - #[prost(message, optional, tag="1")] + #[prost(message, optional, tag = "1")] pub data_usage: ::core::option::Option, } +#[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, ::prost::Message)] pub struct ModifyLibraryRequest { - #[prost(string, optional, tag="1")] + #[prost(string, optional, tag = "1")] pub library_id: ::core::option::Option<::prost::alloc::string::String>, - #[prost(string, repeated, tag="2")] + #[prost(string, repeated, tag = "2")] pub add_package_name: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, - #[prost(string, repeated, tag="3")] + #[prost(string, repeated, tag = "3")] pub remove_package_name: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, } -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct UrlRequestWrapper { - #[prost(message, optional, tag="49")] - pub developer_apps_request: ::core::option::Option, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct DeveloperAppsRequest { - #[prost(message, optional, tag="1")] - pub developer_id_container1: ::core::option::Option, - #[prost(message, optional, tag="2")] - pub developer_id_container2: ::core::option::Option, - #[prost(int32, optional, tag="3")] - pub unknown_int3: ::core::option::Option, -} -#[derive(Clone, PartialEq, ::prost::Message)] -pub struct DeveloperIdContainer { - #[prost(string, optional, tag="1")] - pub developer_id: ::core::option::Option<::prost::alloc::string::String>, - #[prost(int32, optional, tag="2")] - pub unknown_int2: ::core::option::Option, - #[prost(int32, optional, tag="3")] - pub unknown_int3: ::core::option::Option, -}