Compare commits

...

7 Commits

33 changed files with 1755 additions and 65 deletions

View File

@ -1 +1 @@
docs/com/google
java

View File

@ -2,15 +2,22 @@
## How to get Protocol Buffer fields?
Check Google Play Store (`com.android.vending`) with JADX, with the last
working version (2016):
Check these with JADX, last working versions:
~~~
versionCode='80441400' versionName='6.1.14'
~~~
key | value
----------------|--------------------
package | com.android.vending
versionCode | 80441400
versionName | 6.1.14
key | value
------------|-----------------------
package | com.google.android.gsf
versionCode | 25
versionName | 7.1.2
- https://apkmirror.com/apk/google-inc/google-play-store
- https://github.com/MCMrARM/Google-Play-API/blob/master/proto/gsf.proto
- https://apkmirror.com/apk/google-inc/google-services-framework
## How to install Android App Bundle?

View File

@ -88,19 +88,21 @@ var Phone = Config{
// A Sleep is needed after this.
func (c Config) Checkin(native_platform string) (*Response, error) {
req_body := protobuf.Message{
// Checkin$AndroidCheckinRequest
4: protobuf.Message{ // checkin
// Logs$AndroidCheckinProto
1: protobuf.Message{ // build
// sdkVersion
// Logs$AndroidBuildProto
// multiple APK valid range 14 - 0x7FFF_FFFF
// single APK valid range 14 - 28
10: protobuf.Varint(28),
10: protobuf.Varint(28), // sdkVersion
},
18: protobuf.Varint(1), // voiceCapable
},
// version
// valid range 2 - 3
14: protobuf.Varint(3),
14: protobuf.Varint(3), // version
18: protobuf.Message{ // deviceConfiguration
// DeviceConfiguration
1: protobuf.Varint(c.Touch_Screen),
2: protobuf.Varint(c.Keyboard),
3: protobuf.Varint(c.Navigation),
@ -141,14 +143,6 @@ func (c Config) Checkin(native_platform string) (*Response, error) {
return &Response{res}, nil
}
type Device struct {
protobuf.Message
}
func (d Device) ID() (uint64, error) {
return d.Get_Fixed64(7)
}
type Native_Platform map[int64]string
var Platforms = Native_Platform{
@ -170,3 +164,13 @@ func (n Native_Platform) String() string {
}
return string(b)
}
// Checkin$AndroidCheckinResponse
type Device struct {
protobuf.Message
}
// AndroidId
func (d Device) ID() (uint64, error) {
return d.Get_Fixed64(7)
}

3
cmd/badging/readme.md Normal file
View File

@ -0,0 +1,3 @@
# Badging
https://developer.android.com/guide/topics/manifest/uses-feature-element

View File

@ -9,33 +9,6 @@ import (
"strconv"
)
type Delivery struct {
protobuf.Message
}
func (d Delivery) Additional_File() []File_Metadata {
var files []File_Metadata
// .additionalFile
for _, file := range d.Get_Messages(4) {
files = append(files, File_Metadata{file})
}
return files
}
// .downloadUrl
func (d Delivery) Download_URL() (string, error) {
return d.Get_String(3)
}
func (d Delivery) Split_Data() []Split_Data {
var splits []Split_Data
// .splitDeliveryData
for _, split := range d.Get_Messages(15) {
splits = append(splits, Split_Data{split})
}
return splits
}
type File struct {
Package_Name string
Version_Code uint64
@ -68,20 +41,6 @@ func (f File) OBB(file_type uint64) string {
return string(b)
}
type File_Metadata struct {
protobuf.Message
}
// .downloadUrl
func (f File_Metadata) Download_URL() (string, error) {
return f.Get_String(4)
}
// .fileType
func (f File_Metadata) File_Type() (uint64, error) {
return f.Get_Varint(1)
}
func (h Header) Delivery(app string, ver uint64) (*Delivery, error) {
req, err := http.NewRequest(
"GET", "https://play-fe.googleapis.com/fdfe/delivery", nil,
@ -131,16 +90,60 @@ func (h Header) Delivery(app string, ver uint64) (*Delivery, error) {
return &del, nil
}
// .downloadUrl
func (d Delivery) Download_URL() (string, error) {
return d.Get_String(3)
}
func (d Delivery) Split_Data() []Split_Data {
var splits []Split_Data
// .splitDeliveryData
for _, split := range d.Get_Messages(15) {
splits = append(splits, Split_Data{split})
}
return splits
}
// AndroidAppDeliveryData
type Delivery struct {
protobuf.Message
}
func (d Delivery) Additional_File() []App_File_Metadata {
var files []App_File_Metadata
// .additionalFile
for _, file := range d.Get_Messages(4) {
files = append(files, App_File_Metadata{file})
}
return files
}
// SplitDeliveryData
type Split_Data struct {
protobuf.Message
}
// .id
func (s Split_Data) ID() (string, error) {
return s.Get_String(1)
}
// .downloadUrl
func (s Split_Data) Download_URL() (string, error) {
return s.Get_String(5)
}
// .id
func (s Split_Data) ID() (string, error) {
return s.Get_String(1)
// AppFileMetadata
type App_File_Metadata struct {
protobuf.Message
}
// .fileType
func (a App_File_Metadata) File_Type() (uint64, error) {
return a.Get_Varint(1)
}
// .downloadUrl
func (a App_File_Metadata) Download_URL() (string, error) {
return a.Get_String(4)
}

View File

@ -171,8 +171,6 @@ func (h Header) Details(app string) (*Details, error) {
return &det, nil
}
///////////////
// .details.appDetails.installationSize
func (d Details) Installation_Size() (uint64, error) {
value, err := d.Get(13).Get(1).Get_Varint(9)
@ -190,3 +188,14 @@ func (d Details) File() []File_Metadata {
}
return files
}
// FileMetadata
// This is similar to AppFileMetadata, but notably field 4 is different.
type File_Metadata struct {
protobuf.Message
}
// .fileType
func (f File_Metadata) File_Type() (uint64, error) {
return f.Get_Varint(1)
}

629
java/Checkin$AndroidCheckinRequest.java vendored Normal file
View File

@ -0,0 +1,629 @@
package com.google.android.gsf.checkin.proto;
import com.google.protobuf.micro.CodedInputStreamMicro;
import com.google.protobuf.micro.CodedOutputStreamMicro;
import com.google.protobuf.micro.MessageMicro;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/* loaded from: classes.dex */
public final class Checkin$AndroidCheckinRequest extends MessageMicro {
private boolean hasCheckin;
private boolean hasDesiredBuild;
private boolean hasDeviceConfiguration;
private boolean hasDigest;
private boolean hasEsn;
private boolean hasFragment;
private boolean hasId;
private boolean hasImei;
private boolean hasLocale;
private boolean hasLoggingId;
private boolean hasMarketCheckin;
private boolean hasMeid;
private boolean hasSecurityToken;
private boolean hasSerialNumber;
private boolean hasTimeZone;
private boolean hasUserName;
private boolean hasUserSerialNumber;
private boolean hasVersion;
private String imei_ = "";
private String meid_ = "";
private List<String> macAddr_ = Collections.emptyList();
private List<String> macAddrType_ = Collections.emptyList();
private String serialNumber_ = "";
private String esn_ = "";
private long id_ = 0;
private long loggingId_ = 0;
private String digest_ = "";
private String locale_ = "";
private Logs$AndroidCheckinProto checkin_ = null;
private String desiredBuild_ = "";
private String marketCheckin_ = "";
private List<String> accountCookie_ = Collections.emptyList();
private String timeZone_ = "";
private long securityToken_ = 0;
private int version_ = 0;
private List<String> otaCert_ = Collections.emptyList();
private Config$DeviceConfigurationProto deviceConfiguration_ = null;
private int fragment_ = 0;
private String userName_ = "";
private int userSerialNumber_ = 0;
private int cachedSize = -1;
public String getImei() {
return this.imei_;
}
public boolean hasImei() {
return this.hasImei;
}
public Checkin$AndroidCheckinRequest setImei(String value) {
this.hasImei = true;
this.imei_ = value;
return this;
}
public String getMeid() {
return this.meid_;
}
public boolean hasMeid() {
return this.hasMeid;
}
public Checkin$AndroidCheckinRequest setMeid(String value) {
this.hasMeid = true;
this.meid_ = value;
return this;
}
public List<String> getMacAddrList() {
return this.macAddr_;
}
public Checkin$AndroidCheckinRequest addMacAddr(String value) {
if (value == null) {
throw new NullPointerException();
}
if (this.macAddr_.isEmpty()) {
this.macAddr_ = new ArrayList();
}
this.macAddr_.add(value);
return this;
}
public List<String> getMacAddrTypeList() {
return this.macAddrType_;
}
public Checkin$AndroidCheckinRequest addMacAddrType(String value) {
if (value == null) {
throw new NullPointerException();
}
if (this.macAddrType_.isEmpty()) {
this.macAddrType_ = new ArrayList();
}
this.macAddrType_.add(value);
return this;
}
public String getSerialNumber() {
return this.serialNumber_;
}
public boolean hasSerialNumber() {
return this.hasSerialNumber;
}
public Checkin$AndroidCheckinRequest setSerialNumber(String value) {
this.hasSerialNumber = true;
this.serialNumber_ = value;
return this;
}
public String getEsn() {
return this.esn_;
}
public boolean hasEsn() {
return this.hasEsn;
}
public Checkin$AndroidCheckinRequest setEsn(String value) {
this.hasEsn = true;
this.esn_ = value;
return this;
}
public long getId() {
return this.id_;
}
public boolean hasId() {
return this.hasId;
}
public Checkin$AndroidCheckinRequest setId(long value) {
this.hasId = true;
this.id_ = value;
return this;
}
public long getLoggingId() {
return this.loggingId_;
}
public boolean hasLoggingId() {
return this.hasLoggingId;
}
public Checkin$AndroidCheckinRequest setLoggingId(long value) {
this.hasLoggingId = true;
this.loggingId_ = value;
return this;
}
public String getDigest() {
return this.digest_;
}
public boolean hasDigest() {
return this.hasDigest;
}
public Checkin$AndroidCheckinRequest setDigest(String value) {
this.hasDigest = true;
this.digest_ = value;
return this;
}
public String getLocale() {
return this.locale_;
}
public boolean hasLocale() {
return this.hasLocale;
}
public Checkin$AndroidCheckinRequest setLocale(String value) {
this.hasLocale = true;
this.locale_ = value;
return this;
}
public boolean hasCheckin() {
return this.hasCheckin;
}
public Logs$AndroidCheckinProto getCheckin() {
return this.checkin_;
}
public Checkin$AndroidCheckinRequest setCheckin(Logs$AndroidCheckinProto value) {
if (value == null) {
throw new NullPointerException();
}
this.hasCheckin = true;
this.checkin_ = value;
return this;
}
public String getDesiredBuild() {
return this.desiredBuild_;
}
public boolean hasDesiredBuild() {
return this.hasDesiredBuild;
}
public Checkin$AndroidCheckinRequest setDesiredBuild(String value) {
this.hasDesiredBuild = true;
this.desiredBuild_ = value;
return this;
}
public String getMarketCheckin() {
return this.marketCheckin_;
}
public boolean hasMarketCheckin() {
return this.hasMarketCheckin;
}
public Checkin$AndroidCheckinRequest setMarketCheckin(String value) {
this.hasMarketCheckin = true;
this.marketCheckin_ = value;
return this;
}
public List<String> getAccountCookieList() {
return this.accountCookie_;
}
public Checkin$AndroidCheckinRequest addAccountCookie(String value) {
if (value == null) {
throw new NullPointerException();
}
if (this.accountCookie_.isEmpty()) {
this.accountCookie_ = new ArrayList();
}
this.accountCookie_.add(value);
return this;
}
public String getTimeZone() {
return this.timeZone_;
}
public boolean hasTimeZone() {
return this.hasTimeZone;
}
public Checkin$AndroidCheckinRequest setTimeZone(String value) {
this.hasTimeZone = true;
this.timeZone_ = value;
return this;
}
public long getSecurityToken() {
return this.securityToken_;
}
public boolean hasSecurityToken() {
return this.hasSecurityToken;
}
public Checkin$AndroidCheckinRequest setSecurityToken(long value) {
this.hasSecurityToken = true;
this.securityToken_ = value;
return this;
}
public int getVersion() {
return this.version_;
}
public boolean hasVersion() {
return this.hasVersion;
}
public Checkin$AndroidCheckinRequest setVersion(int value) {
this.hasVersion = true;
this.version_ = value;
return this;
}
public List<String> getOtaCertList() {
return this.otaCert_;
}
public int getOtaCertCount() {
return this.otaCert_.size();
}
public Checkin$AndroidCheckinRequest addOtaCert(String value) {
if (value == null) {
throw new NullPointerException();
}
if (this.otaCert_.isEmpty()) {
this.otaCert_ = new ArrayList();
}
this.otaCert_.add(value);
return this;
}
public boolean hasDeviceConfiguration() {
return this.hasDeviceConfiguration;
}
public Config$DeviceConfigurationProto getDeviceConfiguration() {
return this.deviceConfiguration_;
}
public Checkin$AndroidCheckinRequest setDeviceConfiguration(Config$DeviceConfigurationProto value) {
if (value == null) {
throw new NullPointerException();
}
this.hasDeviceConfiguration = true;
this.deviceConfiguration_ = value;
return this;
}
public int getFragment() {
return this.fragment_;
}
public boolean hasFragment() {
return this.hasFragment;
}
public Checkin$AndroidCheckinRequest setFragment(int value) {
this.hasFragment = true;
this.fragment_ = value;
return this;
}
public String getUserName() {
return this.userName_;
}
public boolean hasUserName() {
return this.hasUserName;
}
public Checkin$AndroidCheckinRequest setUserName(String value) {
this.hasUserName = true;
this.userName_ = value;
return this;
}
public int getUserSerialNumber() {
return this.userSerialNumber_;
}
public boolean hasUserSerialNumber() {
return this.hasUserSerialNumber;
}
public Checkin$AndroidCheckinRequest setUserSerialNumber(int value) {
this.hasUserSerialNumber = true;
this.userSerialNumber_ = value;
return this;
}
public final boolean isInitialized() {
if (this.hasCheckin && getCheckin().isInitialized()) {
return !hasDeviceConfiguration() || getDeviceConfiguration().isInitialized();
}
return false;
}
@Override // com.google.protobuf.micro.MessageMicro
public void writeTo(CodedOutputStreamMicro output) throws IOException {
if (hasImei()) {
output.writeString(1, getImei());
}
if (hasId()) {
output.writeInt64(2, getId());
}
if (hasDigest()) {
output.writeString(3, getDigest());
}
if (hasCheckin()) {
output.writeMessage(4, getCheckin());
}
if (hasDesiredBuild()) {
output.writeString(5, getDesiredBuild());
}
if (hasLocale()) {
output.writeString(6, getLocale());
}
if (hasLoggingId()) {
output.writeInt64(7, getLoggingId());
}
if (hasMarketCheckin()) {
output.writeString(8, getMarketCheckin());
}
for (String element : getMacAddrList()) {
output.writeString(9, element);
}
if (hasMeid()) {
output.writeString(10, getMeid());
}
for (String element2 : getAccountCookieList()) {
output.writeString(11, element2);
}
if (hasTimeZone()) {
output.writeString(12, getTimeZone());
}
if (hasSecurityToken()) {
output.writeFixed64(13, getSecurityToken());
}
if (hasVersion()) {
output.writeInt32(14, getVersion());
}
for (String element3 : getOtaCertList()) {
output.writeString(15, element3);
}
if (hasSerialNumber()) {
output.writeString(16, getSerialNumber());
}
if (hasEsn()) {
output.writeString(17, getEsn());
}
if (hasDeviceConfiguration()) {
output.writeMessage(18, getDeviceConfiguration());
}
for (String element4 : getMacAddrTypeList()) {
output.writeString(19, element4);
}
if (hasFragment()) {
output.writeInt32(20, getFragment());
}
if (hasUserName()) {
output.writeString(21, getUserName());
}
if (!hasUserSerialNumber()) {
return;
}
output.writeInt32(22, getUserSerialNumber());
}
@Override // com.google.protobuf.micro.MessageMicro
public int getCachedSize() {
if (this.cachedSize < 0) {
getSerializedSize();
}
return this.cachedSize;
}
@Override // com.google.protobuf.micro.MessageMicro
public int getSerializedSize() {
int size = 0;
if (hasImei()) {
size = CodedOutputStreamMicro.computeStringSize(1, getImei()) + 0;
}
if (hasId()) {
size += CodedOutputStreamMicro.computeInt64Size(2, getId());
}
if (hasDigest()) {
size += CodedOutputStreamMicro.computeStringSize(3, getDigest());
}
if (hasCheckin()) {
size += CodedOutputStreamMicro.computeMessageSize(4, getCheckin());
}
if (hasDesiredBuild()) {
size += CodedOutputStreamMicro.computeStringSize(5, getDesiredBuild());
}
if (hasLocale()) {
size += CodedOutputStreamMicro.computeStringSize(6, getLocale());
}
if (hasLoggingId()) {
size += CodedOutputStreamMicro.computeInt64Size(7, getLoggingId());
}
if (hasMarketCheckin()) {
size += CodedOutputStreamMicro.computeStringSize(8, getMarketCheckin());
}
int dataSize = 0;
for (String element : getMacAddrList()) {
dataSize += CodedOutputStreamMicro.computeStringSizeNoTag(element);
}
int size2 = size + dataSize + (getMacAddrList().size() * 1);
if (hasMeid()) {
size2 += CodedOutputStreamMicro.computeStringSize(10, getMeid());
}
int dataSize2 = 0;
for (String element2 : getAccountCookieList()) {
dataSize2 += CodedOutputStreamMicro.computeStringSizeNoTag(element2);
}
int size3 = size2 + dataSize2 + (getAccountCookieList().size() * 1);
if (hasTimeZone()) {
size3 += CodedOutputStreamMicro.computeStringSize(12, getTimeZone());
}
if (hasSecurityToken()) {
size3 += CodedOutputStreamMicro.computeFixed64Size(13, getSecurityToken());
}
if (hasVersion()) {
size3 += CodedOutputStreamMicro.computeInt32Size(14, getVersion());
}
int dataSize3 = 0;
for (String element3 : getOtaCertList()) {
dataSize3 += CodedOutputStreamMicro.computeStringSizeNoTag(element3);
}
int size4 = size3 + dataSize3 + (getOtaCertList().size() * 1);
if (hasSerialNumber()) {
size4 += CodedOutputStreamMicro.computeStringSize(16, getSerialNumber());
}
if (hasEsn()) {
size4 += CodedOutputStreamMicro.computeStringSize(17, getEsn());
}
if (hasDeviceConfiguration()) {
size4 += CodedOutputStreamMicro.computeMessageSize(18, getDeviceConfiguration());
}
int dataSize4 = 0;
for (String element4 : getMacAddrTypeList()) {
dataSize4 += CodedOutputStreamMicro.computeStringSizeNoTag(element4);
}
int size5 = size4 + dataSize4 + (getMacAddrTypeList().size() * 2);
if (hasFragment()) {
size5 += CodedOutputStreamMicro.computeInt32Size(20, getFragment());
}
if (hasUserName()) {
size5 += CodedOutputStreamMicro.computeStringSize(21, getUserName());
}
if (hasUserSerialNumber()) {
size5 += CodedOutputStreamMicro.computeInt32Size(22, getUserSerialNumber());
}
this.cachedSize = size5;
return size5;
}
@Override // com.google.protobuf.micro.MessageMicro
public Checkin$AndroidCheckinRequest mergeFrom(CodedInputStreamMicro input) throws IOException {
while (true) {
int tag = input.readTag();
switch (tag) {
case 0:
return this;
case 10:
setImei(input.readString());
break;
case 16:
setId(input.readInt64());
break;
case 26:
setDigest(input.readString());
break;
case 34:
Logs$AndroidCheckinProto value = new Logs$AndroidCheckinProto();
input.readMessage(value);
setCheckin(value);
break;
case 42:
setDesiredBuild(input.readString());
break;
case 50:
setLocale(input.readString());
break;
case 56:
setLoggingId(input.readInt64());
break;
case 66:
setMarketCheckin(input.readString());
break;
case 74:
addMacAddr(input.readString());
break;
case 82:
setMeid(input.readString());
break;
case 90:
addAccountCookie(input.readString());
break;
case 98:
setTimeZone(input.readString());
break;
case 105:
setSecurityToken(input.readFixed64());
break;
case 112:
setVersion(input.readInt32());
break;
case 122:
addOtaCert(input.readString());
break;
case 130:
setSerialNumber(input.readString());
break;
case 138:
setEsn(input.readString());
break;
case 146:
Config$DeviceConfigurationProto value2 = new Config$DeviceConfigurationProto();
input.readMessage(value2);
setDeviceConfiguration(value2);
break;
case 154:
addMacAddrType(input.readString());
break;
case 160:
setFragment(input.readInt32());
break;
case 170:
setUserName(input.readString());
break;
case 176:
setUserSerialNumber(input.readInt32());
break;
default:
if (parseUnknownField(input, tag)) {
break;
} else {
return this;
}
}
}
}
}

329
java/Checkin$AndroidCheckinResponse.java vendored Normal file
View File

@ -0,0 +1,329 @@
package com.google.android.gsf.checkin.proto;
import com.google.protobuf.micro.CodedInputStreamMicro;
import com.google.protobuf.micro.CodedOutputStreamMicro;
import com.google.protobuf.micro.MessageMicro;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/* loaded from: classes.dex */
public final class Checkin$AndroidCheckinResponse extends MessageMicro {
private boolean hasAndroidId;
private boolean hasDigest;
private boolean hasMarketOk;
private boolean hasSecurityToken;
private boolean hasSettingsDiff;
private boolean hasStatsOk;
private boolean hasTimeMsec;
private boolean statsOk_ = false;
private long timeMsec_ = 0;
private List<Logs$AndroidIntentProto> intent_ = Collections.emptyList();
private String digest_ = "";
private boolean settingsDiff_ = false;
private List<String> deleteSetting_ = Collections.emptyList();
private List<Checkin$GservicesSetting> setting_ = Collections.emptyList();
private boolean marketOk_ = false;
private long androidId_ = 0;
private long securityToken_ = 0;
private int cachedSize = -1;
public boolean getStatsOk() {
return this.statsOk_;
}
public boolean hasStatsOk() {
return this.hasStatsOk;
}
public Checkin$AndroidCheckinResponse setStatsOk(boolean value) {
this.hasStatsOk = true;
this.statsOk_ = value;
return this;
}
public long getTimeMsec() {
return this.timeMsec_;
}
public boolean hasTimeMsec() {
return this.hasTimeMsec;
}
public Checkin$AndroidCheckinResponse setTimeMsec(long value) {
this.hasTimeMsec = true;
this.timeMsec_ = value;
return this;
}
public List<Logs$AndroidIntentProto> getIntentList() {
return this.intent_;
}
public int getIntentCount() {
return this.intent_.size();
}
public Logs$AndroidIntentProto getIntent(int index) {
return this.intent_.get(index);
}
public Checkin$AndroidCheckinResponse addIntent(Logs$AndroidIntentProto value) {
if (value == null) {
throw new NullPointerException();
}
if (this.intent_.isEmpty()) {
this.intent_ = new ArrayList();
}
this.intent_.add(value);
return this;
}
public String getDigest() {
return this.digest_;
}
public boolean hasDigest() {
return this.hasDigest;
}
public Checkin$AndroidCheckinResponse setDigest(String value) {
this.hasDigest = true;
this.digest_ = value;
return this;
}
public boolean getSettingsDiff() {
return this.settingsDiff_;
}
public boolean hasSettingsDiff() {
return this.hasSettingsDiff;
}
public Checkin$AndroidCheckinResponse setSettingsDiff(boolean value) {
this.hasSettingsDiff = true;
this.settingsDiff_ = value;
return this;
}
public List<String> getDeleteSettingList() {
return this.deleteSetting_;
}
public int getDeleteSettingCount() {
return this.deleteSetting_.size();
}
public String getDeleteSetting(int index) {
return this.deleteSetting_.get(index);
}
public Checkin$AndroidCheckinResponse addDeleteSetting(String value) {
if (value == null) {
throw new NullPointerException();
}
if (this.deleteSetting_.isEmpty()) {
this.deleteSetting_ = new ArrayList();
}
this.deleteSetting_.add(value);
return this;
}
public List<Checkin$GservicesSetting> getSettingList() {
return this.setting_;
}
public int getSettingCount() {
return this.setting_.size();
}
public Checkin$GservicesSetting getSetting(int index) {
return this.setting_.get(index);
}
public Checkin$AndroidCheckinResponse addSetting(Checkin$GservicesSetting value) {
if (value == null) {
throw new NullPointerException();
}
if (this.setting_.isEmpty()) {
this.setting_ = new ArrayList();
}
this.setting_.add(value);
return this;
}
public boolean getMarketOk() {
return this.marketOk_;
}
public boolean hasMarketOk() {
return this.hasMarketOk;
}
public Checkin$AndroidCheckinResponse setMarketOk(boolean value) {
this.hasMarketOk = true;
this.marketOk_ = value;
return this;
}
public long getAndroidId() {
return this.androidId_;
}
public boolean hasAndroidId() {
return this.hasAndroidId;
}
public Checkin$AndroidCheckinResponse setAndroidId(long value) {
this.hasAndroidId = true;
this.androidId_ = value;
return this;
}
public long getSecurityToken() {
return this.securityToken_;
}
public boolean hasSecurityToken() {
return this.hasSecurityToken;
}
public Checkin$AndroidCheckinResponse setSecurityToken(long value) {
this.hasSecurityToken = true;
this.securityToken_ = value;
return this;
}
@Override // com.google.protobuf.micro.MessageMicro
public void writeTo(CodedOutputStreamMicro output) throws IOException {
if (hasStatsOk()) {
output.writeBool(1, getStatsOk());
}
for (Logs$AndroidIntentProto element : getIntentList()) {
output.writeMessage(2, element);
}
if (hasTimeMsec()) {
output.writeInt64(3, getTimeMsec());
}
if (hasDigest()) {
output.writeString(4, getDigest());
}
for (Checkin$GservicesSetting element2 : getSettingList()) {
output.writeMessage(5, element2);
}
if (hasMarketOk()) {
output.writeBool(6, getMarketOk());
}
if (hasAndroidId()) {
output.writeFixed64(7, getAndroidId());
}
if (hasSecurityToken()) {
output.writeFixed64(8, getSecurityToken());
}
if (hasSettingsDiff()) {
output.writeBool(9, getSettingsDiff());
}
for (String element3 : getDeleteSettingList()) {
output.writeString(10, element3);
}
}
@Override // com.google.protobuf.micro.MessageMicro
public int getCachedSize() {
if (this.cachedSize < 0) {
getSerializedSize();
}
return this.cachedSize;
}
@Override // com.google.protobuf.micro.MessageMicro
public int getSerializedSize() {
int size = 0;
if (hasStatsOk()) {
size = CodedOutputStreamMicro.computeBoolSize(1, getStatsOk()) + 0;
}
for (Logs$AndroidIntentProto element : getIntentList()) {
size += CodedOutputStreamMicro.computeMessageSize(2, element);
}
if (hasTimeMsec()) {
size += CodedOutputStreamMicro.computeInt64Size(3, getTimeMsec());
}
if (hasDigest()) {
size += CodedOutputStreamMicro.computeStringSize(4, getDigest());
}
for (Checkin$GservicesSetting element2 : getSettingList()) {
size += CodedOutputStreamMicro.computeMessageSize(5, element2);
}
if (hasMarketOk()) {
size += CodedOutputStreamMicro.computeBoolSize(6, getMarketOk());
}
if (hasAndroidId()) {
size += CodedOutputStreamMicro.computeFixed64Size(7, getAndroidId());
}
if (hasSecurityToken()) {
size += CodedOutputStreamMicro.computeFixed64Size(8, getSecurityToken());
}
if (hasSettingsDiff()) {
size += CodedOutputStreamMicro.computeBoolSize(9, getSettingsDiff());
}
int dataSize = 0;
for (String element3 : getDeleteSettingList()) {
dataSize += CodedOutputStreamMicro.computeStringSizeNoTag(element3);
}
int size2 = size + dataSize + (getDeleteSettingList().size() * 1);
this.cachedSize = size2;
return size2;
}
@Override // com.google.protobuf.micro.MessageMicro
public Checkin$AndroidCheckinResponse mergeFrom(CodedInputStreamMicro input) throws IOException {
while (true) {
int tag = input.readTag();
switch (tag) {
case 0:
return this;
case 8:
setStatsOk(input.readBool());
break;
case 18:
Logs$AndroidIntentProto value = new Logs$AndroidIntentProto();
input.readMessage(value);
addIntent(value);
break;
case 24:
setTimeMsec(input.readInt64());
break;
case 34:
setDigest(input.readString());
break;
case 42:
Checkin$GservicesSetting value2 = new Checkin$GservicesSetting();
input.readMessage(value2);
addSetting(value2);
break;
case 48:
setMarketOk(input.readBool());
break;
case 57:
setAndroidId(input.readFixed64());
break;
case 65:
setSecurityToken(input.readFixed64());
break;
case 72:
setSettingsDiff(input.readBool());
break;
case 82:
addDeleteSetting(input.readString());
break;
default:
if (parseUnknownField(input, tag)) {
break;
} else {
return this;
}
}
}
}
}

397
java/Logs$AndroidBuildProto.java vendored Normal file
View File

@ -0,0 +1,397 @@
package com.google.android.gsf.checkin.proto;
import com.google.protobuf.micro.CodedInputStreamMicro;
import com.google.protobuf.micro.CodedOutputStreamMicro;
import com.google.protobuf.micro.MessageMicro;
import java.io.IOException;
/* loaded from: classes.dex */
public final class Logs$AndroidBuildProto extends MessageMicro {
private boolean hasBootloader;
private boolean hasBuildProduct;
private boolean hasCarrier;
private boolean hasClient;
private boolean hasDevice;
private boolean hasGoogleServices;
private boolean hasId;
private boolean hasManufacturer;
private boolean hasModel;
private boolean hasOtaInstalled;
private boolean hasProduct;
private boolean hasRadio;
private boolean hasSdkVersion;
private boolean hasTimestamp;
private String id_ = "";
private String radio_ = "";
private String bootloader_ = "";
private String product_ = "";
private String carrier_ = "";
private String client_ = "";
private long timestamp_ = 0;
private int googleServices_ = 0;
private int sdkVersion_ = 0;
private String device_ = "";
private String model_ = "";
private String manufacturer_ = "";
private String buildProduct_ = "";
private boolean otaInstalled_ = false;
private int cachedSize = -1;
public String getId() {
return this.id_;
}
public boolean hasId() {
return this.hasId;
}
public Logs$AndroidBuildProto setId(String value) {
this.hasId = true;
this.id_ = value;
return this;
}
public String getRadio() {
return this.radio_;
}
public boolean hasRadio() {
return this.hasRadio;
}
public Logs$AndroidBuildProto setRadio(String value) {
this.hasRadio = true;
this.radio_ = value;
return this;
}
public String getBootloader() {
return this.bootloader_;
}
public boolean hasBootloader() {
return this.hasBootloader;
}
public Logs$AndroidBuildProto setBootloader(String value) {
this.hasBootloader = true;
this.bootloader_ = value;
return this;
}
public String getProduct() {
return this.product_;
}
public boolean hasProduct() {
return this.hasProduct;
}
public Logs$AndroidBuildProto setProduct(String value) {
this.hasProduct = true;
this.product_ = value;
return this;
}
public String getCarrier() {
return this.carrier_;
}
public boolean hasCarrier() {
return this.hasCarrier;
}
public Logs$AndroidBuildProto setCarrier(String value) {
this.hasCarrier = true;
this.carrier_ = value;
return this;
}
public String getClient() {
return this.client_;
}
public boolean hasClient() {
return this.hasClient;
}
public Logs$AndroidBuildProto setClient(String value) {
this.hasClient = true;
this.client_ = value;
return this;
}
public long getTimestamp() {
return this.timestamp_;
}
public boolean hasTimestamp() {
return this.hasTimestamp;
}
public Logs$AndroidBuildProto setTimestamp(long value) {
this.hasTimestamp = true;
this.timestamp_ = value;
return this;
}
public int getGoogleServices() {
return this.googleServices_;
}
public boolean hasGoogleServices() {
return this.hasGoogleServices;
}
public Logs$AndroidBuildProto setGoogleServices(int value) {
this.hasGoogleServices = true;
this.googleServices_ = value;
return this;
}
public int getSdkVersion() {
return this.sdkVersion_;
}
public boolean hasSdkVersion() {
return this.hasSdkVersion;
}
public Logs$AndroidBuildProto setSdkVersion(int value) {
this.hasSdkVersion = true;
this.sdkVersion_ = value;
return this;
}
public String getDevice() {
return this.device_;
}
public boolean hasDevice() {
return this.hasDevice;
}
public Logs$AndroidBuildProto setDevice(String value) {
this.hasDevice = true;
this.device_ = value;
return this;
}
public String getModel() {
return this.model_;
}
public boolean hasModel() {
return this.hasModel;
}
public Logs$AndroidBuildProto setModel(String value) {
this.hasModel = true;
this.model_ = value;
return this;
}
public String getManufacturer() {
return this.manufacturer_;
}
public boolean hasManufacturer() {
return this.hasManufacturer;
}
public Logs$AndroidBuildProto setManufacturer(String value) {
this.hasManufacturer = true;
this.manufacturer_ = value;
return this;
}
public String getBuildProduct() {
return this.buildProduct_;
}
public boolean hasBuildProduct() {
return this.hasBuildProduct;
}
public Logs$AndroidBuildProto setBuildProduct(String value) {
this.hasBuildProduct = true;
this.buildProduct_ = value;
return this;
}
public boolean getOtaInstalled() {
return this.otaInstalled_;
}
public boolean hasOtaInstalled() {
return this.hasOtaInstalled;
}
public Logs$AndroidBuildProto setOtaInstalled(boolean value) {
this.hasOtaInstalled = true;
this.otaInstalled_ = value;
return this;
}
@Override // com.google.protobuf.micro.MessageMicro
public void writeTo(CodedOutputStreamMicro output) throws IOException {
if (hasId()) {
output.writeString(1, getId());
}
if (hasProduct()) {
output.writeString(2, getProduct());
}
if (hasCarrier()) {
output.writeString(3, getCarrier());
}
if (hasRadio()) {
output.writeString(4, getRadio());
}
if (hasBootloader()) {
output.writeString(5, getBootloader());
}
if (hasClient()) {
output.writeString(6, getClient());
}
if (hasTimestamp()) {
output.writeInt64(7, getTimestamp());
}
if (hasGoogleServices()) {
output.writeInt32(8, getGoogleServices());
}
if (hasDevice()) {
output.writeString(9, getDevice());
}
if (hasSdkVersion()) {
output.writeInt32(10, getSdkVersion());
}
if (hasModel()) {
output.writeString(11, getModel());
}
if (hasManufacturer()) {
output.writeString(12, getManufacturer());
}
if (hasBuildProduct()) {
output.writeString(13, getBuildProduct());
}
if (!hasOtaInstalled()) {
return;
}
output.writeBool(14, getOtaInstalled());
}
@Override // com.google.protobuf.micro.MessageMicro
public int getCachedSize() {
if (this.cachedSize < 0) {
getSerializedSize();
}
return this.cachedSize;
}
@Override // com.google.protobuf.micro.MessageMicro
public int getSerializedSize() {
int size = 0;
if (hasId()) {
size = CodedOutputStreamMicro.computeStringSize(1, getId()) + 0;
}
if (hasProduct()) {
size += CodedOutputStreamMicro.computeStringSize(2, getProduct());
}
if (hasCarrier()) {
size += CodedOutputStreamMicro.computeStringSize(3, getCarrier());
}
if (hasRadio()) {
size += CodedOutputStreamMicro.computeStringSize(4, getRadio());
}
if (hasBootloader()) {
size += CodedOutputStreamMicro.computeStringSize(5, getBootloader());
}
if (hasClient()) {
size += CodedOutputStreamMicro.computeStringSize(6, getClient());
}
if (hasTimestamp()) {
size += CodedOutputStreamMicro.computeInt64Size(7, getTimestamp());
}
if (hasGoogleServices()) {
size += CodedOutputStreamMicro.computeInt32Size(8, getGoogleServices());
}
if (hasDevice()) {
size += CodedOutputStreamMicro.computeStringSize(9, getDevice());
}
if (hasSdkVersion()) {
size += CodedOutputStreamMicro.computeInt32Size(10, getSdkVersion());
}
if (hasModel()) {
size += CodedOutputStreamMicro.computeStringSize(11, getModel());
}
if (hasManufacturer()) {
size += CodedOutputStreamMicro.computeStringSize(12, getManufacturer());
}
if (hasBuildProduct()) {
size += CodedOutputStreamMicro.computeStringSize(13, getBuildProduct());
}
if (hasOtaInstalled()) {
size += CodedOutputStreamMicro.computeBoolSize(14, getOtaInstalled());
}
this.cachedSize = size;
return size;
}
@Override // com.google.protobuf.micro.MessageMicro
public Logs$AndroidBuildProto mergeFrom(CodedInputStreamMicro input) throws IOException {
while (true) {
int tag = input.readTag();
switch (tag) {
case 0:
return this;
case 10:
setId(input.readString());
break;
case 18:
setProduct(input.readString());
break;
case 26:
setCarrier(input.readString());
break;
case 34:
setRadio(input.readString());
break;
case 42:
setBootloader(input.readString());
break;
case 50:
setClient(input.readString());
break;
case 56:
setTimestamp(input.readInt64());
break;
case 64:
setGoogleServices(input.readInt32());
break;
case 74:
setDevice(input.readString());
break;
case 80:
setSdkVersion(input.readInt32());
break;
case 90:
setModel(input.readString());
break;
case 98:
setManufacturer(input.readString());
break;
case 106:
setBuildProduct(input.readString());
break;
case 112:
setOtaInstalled(input.readBool());
break;
default:
if (parseUnknownField(input, tag)) {
break;
} else {
return this;
}
}
}
}
}

308
java/Logs$AndroidCheckinProto.java vendored Normal file
View File

@ -0,0 +1,308 @@
package com.google.android.gsf.checkin.proto;
import com.google.protobuf.micro.CodedInputStreamMicro;
import com.google.protobuf.micro.CodedOutputStreamMicro;
import com.google.protobuf.micro.MessageMicro;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/* loaded from: classes.dex */
public final class Logs$AndroidCheckinProto extends MessageMicro {
private boolean hasBuild;
private boolean hasCellOperator;
private boolean hasLastCheckinMsec;
private boolean hasRoaming;
private boolean hasSimOperator;
private boolean hasUserNumber;
private Logs$AndroidBuildProto build_ = null;
private long lastCheckinMsec_ = 0;
private List<String> requestedGroup_ = Collections.emptyList();
private List<Logs$AndroidEventProto> event_ = Collections.emptyList();
private List<Logs$AndroidStatisticProto> stat_ = Collections.emptyList();
private String cellOperator_ = "";
private String simOperator_ = "";
private String roaming_ = "";
private int userNumber_ = 0;
private int cachedSize = -1;
public boolean hasBuild() {
return this.hasBuild;
}
public Logs$AndroidBuildProto getBuild() {
return this.build_;
}
public Logs$AndroidCheckinProto setBuild(Logs$AndroidBuildProto value) {
if (value == null) {
throw new NullPointerException();
}
this.hasBuild = true;
this.build_ = value;
return this;
}
public long getLastCheckinMsec() {
return this.lastCheckinMsec_;
}
public boolean hasLastCheckinMsec() {
return this.hasLastCheckinMsec;
}
public Logs$AndroidCheckinProto setLastCheckinMsec(long value) {
this.hasLastCheckinMsec = true;
this.lastCheckinMsec_ = value;
return this;
}
public List<String> getRequestedGroupList() {
return this.requestedGroup_;
}
public Logs$AndroidCheckinProto addRequestedGroup(String value) {
if (value == null) {
throw new NullPointerException();
}
if (this.requestedGroup_.isEmpty()) {
this.requestedGroup_ = new ArrayList();
}
this.requestedGroup_.add(value);
return this;
}
public List<Logs$AndroidEventProto> getEventList() {
return this.event_;
}
public int getEventCount() {
return this.event_.size();
}
public Logs$AndroidEventProto getEvent(int index) {
return this.event_.get(index);
}
public Logs$AndroidCheckinProto addEvent(Logs$AndroidEventProto value) {
if (value == null) {
throw new NullPointerException();
}
if (this.event_.isEmpty()) {
this.event_ = new ArrayList();
}
this.event_.add(value);
return this;
}
public List<Logs$AndroidStatisticProto> getStatList() {
return this.stat_;
}
public Logs$AndroidCheckinProto addStat(Logs$AndroidStatisticProto value) {
if (value == null) {
throw new NullPointerException();
}
if (this.stat_.isEmpty()) {
this.stat_ = new ArrayList();
}
this.stat_.add(value);
return this;
}
public String getCellOperator() {
return this.cellOperator_;
}
public boolean hasCellOperator() {
return this.hasCellOperator;
}
public Logs$AndroidCheckinProto setCellOperator(String value) {
this.hasCellOperator = true;
this.cellOperator_ = value;
return this;
}
public String getSimOperator() {
return this.simOperator_;
}
public boolean hasSimOperator() {
return this.hasSimOperator;
}
public Logs$AndroidCheckinProto setSimOperator(String value) {
this.hasSimOperator = true;
this.simOperator_ = value;
return this;
}
public String getRoaming() {
return this.roaming_;
}
public boolean hasRoaming() {
return this.hasRoaming;
}
public Logs$AndroidCheckinProto setRoaming(String value) {
this.hasRoaming = true;
this.roaming_ = value;
return this;
}
public int getUserNumber() {
return this.userNumber_;
}
public boolean hasUserNumber() {
return this.hasUserNumber;
}
public Logs$AndroidCheckinProto setUserNumber(int value) {
this.hasUserNumber = true;
this.userNumber_ = value;
return this;
}
public final boolean isInitialized() {
for (Logs$AndroidEventProto element : getEventList()) {
if (!element.isInitialized()) {
return false;
}
}
for (Logs$AndroidStatisticProto element2 : getStatList()) {
if (!element2.isInitialized()) {
return false;
}
}
return true;
}
@Override // com.google.protobuf.micro.MessageMicro
public void writeTo(CodedOutputStreamMicro output) throws IOException {
if (hasBuild()) {
output.writeMessage(1, getBuild());
}
if (hasLastCheckinMsec()) {
output.writeInt64(2, getLastCheckinMsec());
}
for (Logs$AndroidEventProto element : getEventList()) {
output.writeMessage(3, element);
}
for (Logs$AndroidStatisticProto element2 : getStatList()) {
output.writeMessage(4, element2);
}
for (String element3 : getRequestedGroupList()) {
output.writeString(5, element3);
}
if (hasCellOperator()) {
output.writeString(6, getCellOperator());
}
if (hasSimOperator()) {
output.writeString(7, getSimOperator());
}
if (hasRoaming()) {
output.writeString(8, getRoaming());
}
if (!hasUserNumber()) {
return;
}
output.writeInt32(9, getUserNumber());
}
@Override // com.google.protobuf.micro.MessageMicro
public int getCachedSize() {
if (this.cachedSize < 0) {
getSerializedSize();
}
return this.cachedSize;
}
@Override // com.google.protobuf.micro.MessageMicro
public int getSerializedSize() {
int size = 0;
if (hasBuild()) {
size = CodedOutputStreamMicro.computeMessageSize(1, getBuild()) + 0;
}
if (hasLastCheckinMsec()) {
size += CodedOutputStreamMicro.computeInt64Size(2, getLastCheckinMsec());
}
for (Logs$AndroidEventProto element : getEventList()) {
size += CodedOutputStreamMicro.computeMessageSize(3, element);
}
for (Logs$AndroidStatisticProto element2 : getStatList()) {
size += CodedOutputStreamMicro.computeMessageSize(4, element2);
}
int dataSize = 0;
for (String element3 : getRequestedGroupList()) {
dataSize += CodedOutputStreamMicro.computeStringSizeNoTag(element3);
}
int size2 = size + dataSize + (getRequestedGroupList().size() * 1);
if (hasCellOperator()) {
size2 += CodedOutputStreamMicro.computeStringSize(6, getCellOperator());
}
if (hasSimOperator()) {
size2 += CodedOutputStreamMicro.computeStringSize(7, getSimOperator());
}
if (hasRoaming()) {
size2 += CodedOutputStreamMicro.computeStringSize(8, getRoaming());
}
if (hasUserNumber()) {
size2 += CodedOutputStreamMicro.computeInt32Size(9, getUserNumber());
}
this.cachedSize = size2;
return size2;
}
@Override // com.google.protobuf.micro.MessageMicro
public Logs$AndroidCheckinProto mergeFrom(CodedInputStreamMicro input) throws IOException {
while (true) {
int tag = input.readTag();
switch (tag) {
case 0:
return this;
case 10:
Logs$AndroidBuildProto value = new Logs$AndroidBuildProto();
input.readMessage(value);
setBuild(value);
break;
case 16:
setLastCheckinMsec(input.readInt64());
break;
case 26:
Logs$AndroidEventProto value2 = new Logs$AndroidEventProto();
input.readMessage(value2);
addEvent(value2);
break;
case 34:
Logs$AndroidStatisticProto value3 = new Logs$AndroidStatisticProto();
input.readMessage(value3);
addStat(value3);
break;
case 42:
addRequestedGroup(input.readString());
break;
case 50:
setCellOperator(input.readString());
break;
case 58:
setSimOperator(input.readString());
break;
case 66:
setRoaming(input.readString());
break;
case 72:
setUserNumber(input.readInt32());
break;
default:
if (parseUnknownField(input, tag)) {
break;
} else {
return this;
}
}
}
}
}

View File

@ -2,4 +2,5 @@
~~~
com\google\android\finsky\protos
com\google\android\gsf\checkin\proto
~~~