mirror of
https://github.com/TeamVanced/VancedMicroG
synced 2025-02-02 14:07:32 +01:00
Update Log events
This commit is contained in:
parent
7f5440d36e
commit
351a4b8615
@ -16,10 +16,89 @@
|
|||||||
|
|
||||||
package com.google.android.gms.clearcut;
|
package com.google.android.gms.clearcut;
|
||||||
|
|
||||||
|
import android.util.Base64;
|
||||||
|
|
||||||
|
import com.google.android.gms.playlog.internal.PlayLoggerContext;
|
||||||
|
|
||||||
import org.microg.safeparcel.AutoSafeParcelable;
|
import org.microg.safeparcel.AutoSafeParcelable;
|
||||||
|
import org.microg.safeparcel.SafeParceled;
|
||||||
|
|
||||||
|
import java.nio.ByteBuffer;
|
||||||
|
import java.nio.CharBuffer;
|
||||||
|
import java.nio.charset.Charset;
|
||||||
|
import java.nio.charset.CharsetDecoder;
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
public class LogEventParcelable extends AutoSafeParcelable {
|
public class LogEventParcelable extends AutoSafeParcelable {
|
||||||
// TODO
|
@SafeParceled(1)
|
||||||
|
private int versionCode = 1;
|
||||||
|
|
||||||
|
@SafeParceled(2)
|
||||||
|
public final PlayLoggerContext context;
|
||||||
|
|
||||||
|
@SafeParceled(3)
|
||||||
|
public final byte[] bytes;
|
||||||
|
|
||||||
|
@SafeParceled(4)
|
||||||
|
public final int[] testCodes;
|
||||||
|
|
||||||
|
@SafeParceled(5)
|
||||||
|
public final String[] mendelPackages;
|
||||||
|
|
||||||
|
@SafeParceled(6)
|
||||||
|
public final int[] experimentIds;
|
||||||
|
|
||||||
|
@SafeParceled(7)
|
||||||
|
public final byte[][] experimentTokens;
|
||||||
|
|
||||||
|
@SafeParceled(8)
|
||||||
|
public final boolean addPhenotypeExperimentTokens;
|
||||||
|
|
||||||
|
private LogEventParcelable() {
|
||||||
|
context = null;
|
||||||
|
bytes = null;
|
||||||
|
testCodes = experimentIds = null;
|
||||||
|
mendelPackages = null;
|
||||||
|
experimentTokens = null;
|
||||||
|
addPhenotypeExperimentTokens = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
public LogEventParcelable(PlayLoggerContext context, byte[] bytes, int[] testCodes, String[] mendelPackages, int[] experimentIds, byte[][] experimentTokens, boolean addPhenotypeExperimentTokens) {
|
||||||
|
this.context = context;
|
||||||
|
this.bytes = bytes;
|
||||||
|
this.testCodes = testCodes;
|
||||||
|
this.mendelPackages = mendelPackages;
|
||||||
|
this.experimentIds = experimentIds;
|
||||||
|
this.experimentTokens = experimentTokens;
|
||||||
|
this.addPhenotypeExperimentTokens = addPhenotypeExperimentTokens;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
final StringBuilder sb = new StringBuilder("LogEventParcelable[")
|
||||||
|
.append(versionCode).append(", ").append(context)
|
||||||
|
.append(", LogEventBytes: ").append(getBytesAsString());
|
||||||
|
if (testCodes != null) sb.append(", TestCodes: ").append(Arrays.toString(testCodes));
|
||||||
|
if (mendelPackages != null)
|
||||||
|
sb.append(", MendelPackages: ").append(Arrays.toString(mendelPackages));
|
||||||
|
if (experimentIds != null)
|
||||||
|
sb.append(", ExperimentIds: ").append(Arrays.toString(experimentIds));
|
||||||
|
if (experimentTokens != null)
|
||||||
|
sb.append(", ExperimentTokens: ").append(Arrays.toString(experimentTokens));
|
||||||
|
return sb.append(", AddPhenotypeExperimentTokens: ").append(addPhenotypeExperimentTokens)
|
||||||
|
.append(']').toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
private String getBytesAsString() {
|
||||||
|
if (bytes == null) return "null";
|
||||||
|
try {
|
||||||
|
CharsetDecoder d = Charset.forName("US-ASCII").newDecoder();
|
||||||
|
CharBuffer r = d.decode(ByteBuffer.wrap(bytes));
|
||||||
|
return r.toString();
|
||||||
|
} catch (Exception e) {
|
||||||
|
return Base64.encodeToString(bytes, Base64.NO_WRAP);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public static final Creator<LogEventParcelable> CREATOR = new AutoCreator<LogEventParcelable>(LogEventParcelable.class);
|
public static final Creator<LogEventParcelable> CREATOR = new AutoCreator<LogEventParcelable>(LogEventParcelable.class);
|
||||||
}
|
}
|
||||||
|
@ -27,6 +27,9 @@ public class PlayLoggerContext extends AutoSafeParcelable {
|
|||||||
@SafeParceled(2)
|
@SafeParceled(2)
|
||||||
public final String packageName;
|
public final String packageName;
|
||||||
|
|
||||||
|
@SafeParceled(3)
|
||||||
|
public final int packageVersionCode;
|
||||||
|
|
||||||
@SafeParceled(4)
|
@SafeParceled(4)
|
||||||
public final int logSource;
|
public final int logSource;
|
||||||
|
|
||||||
@ -42,31 +45,56 @@ public class PlayLoggerContext extends AutoSafeParcelable {
|
|||||||
@SafeParceled(8)
|
@SafeParceled(8)
|
||||||
public final String logSourceName;
|
public final String logSourceName;
|
||||||
|
|
||||||
|
@SafeParceled(9)
|
||||||
|
public final boolean isAnonymous;
|
||||||
|
|
||||||
|
@SafeParceled(10)
|
||||||
|
public final int qosTier;
|
||||||
|
|
||||||
private PlayLoggerContext() {
|
private PlayLoggerContext() {
|
||||||
packageName = uploadAccount = logSourceName = null;
|
packageName = uploadAccount = logSourceName = null;
|
||||||
logSource = loggingId = -1;
|
qosTier = packageVersionCode = logSource = loggingId = -1;
|
||||||
logAndroidId = false;
|
isAnonymous = logAndroidId = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public PlayLoggerContext(String packageName, int logSource, String uploadAccount, int loggingId, String logSourceName) {
|
public PlayLoggerContext(String packageName, int packageVersionCode, int logSource, String uploadAccount, int loggingId, boolean logAndroidId) {
|
||||||
this.packageName = packageName;
|
this.packageName = packageName;
|
||||||
|
this.packageVersionCode = packageVersionCode;
|
||||||
this.logSource = logSource;
|
this.logSource = logSource;
|
||||||
|
this.logSourceName = null;
|
||||||
this.uploadAccount = uploadAccount;
|
this.uploadAccount = uploadAccount;
|
||||||
this.loggingId = loggingId;
|
this.loggingId = loggingId;
|
||||||
|
this.logAndroidId = logAndroidId;
|
||||||
|
this.isAnonymous = false;
|
||||||
|
this.qosTier = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public PlayLoggerContext(String packageName, int packageVersionCode, int logSource, String logSourceName, String uploadAccount, int loggingId, boolean isAnonymous, int qosTier) {
|
||||||
|
this.packageName = packageName;
|
||||||
|
this.packageVersionCode = packageVersionCode;
|
||||||
|
this.logSource = logSource;
|
||||||
this.logSourceName = logSourceName;
|
this.logSourceName = logSourceName;
|
||||||
this.logAndroidId = true;
|
this.uploadAccount = uploadAccount;
|
||||||
|
this.loggingId = loggingId;
|
||||||
|
this.logAndroidId = !isAnonymous;
|
||||||
|
this.isAnonymous = isAnonymous;
|
||||||
|
this.qosTier = qosTier;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String toString() {
|
public String toString() {
|
||||||
return "PlayLoggerContext{" +
|
final StringBuilder sb = new StringBuilder("PlayLoggerContext[").append(versionCode);
|
||||||
"packageName='" + packageName + '\'' +
|
sb.append(", package=").append(packageName);
|
||||||
", logSource=" + logSource +
|
sb.append(", packageVersionCode=").append(packageVersionCode);
|
||||||
", uploadAccount='" + uploadAccount + '\'' +
|
sb.append(", logSource=").append(logSource);
|
||||||
", loggingId=" + loggingId +
|
sb.append(", uploadAccount=").append(uploadAccount);
|
||||||
", logAndroidId=" + logAndroidId +
|
sb.append(", loggingId=").append(loggingId);
|
||||||
", logSourceName='" + logSourceName + '\'' +
|
sb.append(", logAndroidId=").append(logAndroidId);
|
||||||
'}';
|
sb.append(", logSourceName=").append(logSourceName);
|
||||||
|
sb.append(", isAnonymous=").append(isAnonymous);
|
||||||
|
sb.append(", qosTier=").append(qosTier);
|
||||||
|
sb.append(']');
|
||||||
|
return sb.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static Creator<PlayLoggerContext> CREATOR = new AutoCreator<PlayLoggerContext>(PlayLoggerContext.class);
|
public static Creator<PlayLoggerContext> CREATOR = new AutoCreator<PlayLoggerContext>(PlayLoggerContext.class);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user