Skip to content

Commit

Permalink
Merge branch 'microg:master' into patch-work-account
Browse files Browse the repository at this point in the history
  • Loading branch information
ale5000-git authored Feb 20, 2024
2 parents 8c58400 + df6f331 commit 3f9235d
Show file tree
Hide file tree
Showing 21 changed files with 575 additions and 65 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
/*
* SPDX-FileCopyrightText: 2023 microG Project Team
* SPDX-License-Identifier: Apache-2.0
*/

package com.google.android.gms.common.data;

parcelable BitmapTeleporter;
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
/*
* SPDX-FileCopyrightText: 2023 microG Project Team
* SPDX-License-Identifier: Apache-2.0
*/

package com.google.android.gms.feedback;

parcelable ErrorReport;
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
/*
* SPDX-FileCopyrightText: 2023 microG Project Team
* SPDX-License-Identifier: Apache-2.0
*/

package com.google.android.gms.feedback;

parcelable FileTeleporter;
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
/*
* SPDX-FileCopyrightText: 2023 microG Project Team
* SPDX-License-Identifier: Apache-2.0
*/

package com.google.android.gms.feedback;

parcelable LogOptions;
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
/*
* SPDX-FileCopyrightText: 2023 microG Project Team
* SPDX-License-Identifier: Apache-2.0
*/

package com.google.android.gms.feedback;

parcelable ThemeSettings;
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
/*
* SPDX-FileCopyrightText: 2023 microG Project Team
* SPDX-License-Identifier: Apache-2.0
*/

package com.google.android.gms.feedback.internal;

interface IFeedbackCallbacks {
void onServiceDestroy();
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
/*
* SPDX-FileCopyrightText: 2023 microG Project Team
* SPDX-License-Identifier: Apache-2.0
*/

package com.google.android.gms.feedback.internal;

import com.google.android.gms.feedback.FeedbackOptions;
import android.os.IBinder;
import android.os.IInterface;
import android.os.Parcel;
import com.google.android.gms.googlehelp.GoogleHelp;
import com.google.android.gms.feedback.ErrorReport;
import android.content.Context;
import android.os.Bundle;
import android.content.Intent;


interface IFeedbackService {

boolean startFeedbackFlow(in ErrorReport errorReport) = 0;

boolean silentSendFeedback(in ErrorReport errorReport) = 2;

void saveFeedbackDataAsync(in Bundle bundle, long id) = 3;

void saveFeedbackDataAsyncWithOption(in FeedbackOptions options, in Bundle bundle, long id) = 4;

void startFeedbackFlowAsync(in ErrorReport errorReport, long id) = 5;

boolean isValidConfiguration(in FeedbackOptions options) = 6;

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
/*
* SPDX-FileCopyrightText: 2023 microG Project Team
* SPDX-License-Identifier: Apache-2.0
*/

package com.google.android.gms.common.data;

import android.graphics.Bitmap;
import android.os.Parcel;
import android.os.ParcelFileDescriptor;
import android.util.Log;

import androidx.annotation.NonNull;

import com.google.android.gms.common.internal.safeparcel.AbstractSafeParcelable;
import com.google.android.gms.common.internal.safeparcel.SafeParcelable;
import com.google.android.gms.common.internal.safeparcel.SafeParcelableCreatorAndWriter;

import java.io.Closeable;
import java.io.DataInputStream;
import java.io.File;
import java.io.IOException;
import java.nio.ByteBuffer;

@SafeParcelable.Class
public class BitmapTeleporter extends AbstractSafeParcelable {

@Field(1)
public int versionCode;
@Field(2)
public ParcelFileDescriptor fileDescriptor;
@Field(3)
public int status;
public boolean isParceled;
public Bitmap targetBitmap;
public File targetDirectory;

public BitmapTeleporter() {
}

public BitmapTeleporter(int version, ParcelFileDescriptor parcelFileDescriptor, int status) {
this.versionCode = version;
this.fileDescriptor = parcelFileDescriptor;
this.status = status;
this.targetBitmap = null;
this.isParceled = false;
}

public BitmapTeleporter(Bitmap bitmap) {
this.versionCode = 1;
this.fileDescriptor = null;
this.status = 0;
this.targetBitmap = bitmap;
this.isParceled = true;
}

public final Bitmap createTargetBitmap() {
if (!this.isParceled) {
ParcelFileDescriptor parcelFileDescriptor = this.fileDescriptor;
if (parcelFileDescriptor == null) {
throw new NullPointerException("null reference");
}
DataInputStream dataInputStream = new DataInputStream(new ParcelFileDescriptor.AutoCloseInputStream(parcelFileDescriptor));
try {
try {
byte[] bArr = new byte[dataInputStream.readInt()];
int readInt = dataInputStream.readInt();
int readInt2 = dataInputStream.readInt();
Bitmap.Config valueOf = Bitmap.Config.valueOf(dataInputStream.readUTF());
dataInputStream.read(bArr);
close(dataInputStream);
ByteBuffer wrap = ByteBuffer.wrap(bArr);
Bitmap createBitmap = Bitmap.createBitmap(readInt, readInt2, valueOf);
createBitmap.copyPixelsFromBuffer(wrap);
this.targetBitmap = createBitmap;
this.isParceled = true;
} catch (IOException e) {
throw new IllegalStateException("Could not read from parcel file descriptor", e);
}
} catch (Throwable th) {
close(dataInputStream);
throw th;
}
}
return this.targetBitmap;
}

public final void setTargetDirectory(File file) {
if (file == null) {
throw new NullPointerException("Cannot set null temp directory");
}
this.targetDirectory = file;
}

private static void close(Closeable closeable) {
try {
closeable.close();
} catch (IOException e) {
Log.w("BitmapTeleporter", "Could not close stream", e);
}
}

@Override
public void writeToParcel(@NonNull Parcel dest, int flags) {
CREATOR.writeToParcel(this, dest, flags);
}

public static final SafeParcelableCreatorAndWriter<BitmapTeleporter> CREATOR = findCreator(BitmapTeleporter.class);

}
Original file line number Diff line number Diff line change
Expand Up @@ -7,29 +7,87 @@

import android.app.ApplicationErrorReport;
import android.graphics.Bitmap;
import org.microg.safeparcel.AutoSafeParcelable;
import android.graphics.RectF;
import android.os.Bundle;
import android.os.Parcel;

public class ErrorReport extends AutoSafeParcelable {
import androidx.annotation.NonNull;

import com.google.android.gms.common.data.BitmapTeleporter;
import com.google.android.gms.common.internal.safeparcel.AbstractSafeParcelable;
import com.google.android.gms.common.internal.safeparcel.SafeParcelable;
import com.google.android.gms.common.internal.safeparcel.SafeParcelableCreatorAndWriter;

import java.util.List;

@SafeParcelable.Class
public class ErrorReport extends AbstractSafeParcelable {
@Field(2)
public ApplicationErrorReport applicationErrorReport;
@Field(3)
public String feedbackMsg;
@Field(4)
public int unknownInt4;
public int versionCode;
@Field(5)
public String versionName;
@Field(6)
public String mobileDevice;
@Field(7)
public String mobileDisplay;
@Field(8)
public String mobileType;
@Field(9)
public String mobileModel;
@Field(10)
public String mobileProduct;
@Field(11)
public String mobileFingerprint;
@Field(12)
public int unknownInt12;
public int mobileSdkInt;
@Field(13)
public String mobileRelease;
@Field(14)
public String mobileIncremental;
@Field(15)
public String mobileCodeName;
@Field(16)
public String mobileBoard;
@Field(17)
public String mobileBrand;
@Field(18)
public String[] unknownStringArray18;
@Field(19)
public String[] unknownStringArray19;
@Field(20)
public String[] unknownStringArray20;
@Field(21)
public String unknownString21;
@Field(22)
public String screenshotImgSrc;
@Field(23)
public byte[] screenshotImgData;
@Field(24)
public int unknownInt24;
public int screenshotHeight;
@Field(25)
public int unknownInt25;
public int screenshotWidth;
@Field(26)
public int unknownInt26;
public int phoneType;
@Field(27)
public int unknownInt27;
public int networkType;
@Field(28)
public String networkOperatorName;
@Field(29)
public String email;
@Field(30)
public String languageTag;
@Field(31)
public Bundle bundle;
@Field(32)
public boolean unknownBool32;
public boolean isFixedUri;
@Field(33)
public int unknownInt33;
public int mobileCountryCode;
@Field(34)
public int unknownInt34;
public int mobileNetworkCode;
@Field(35)
public boolean unknownBool35;
@Field(36)
Expand All @@ -46,6 +104,20 @@ public class ErrorReport extends AutoSafeParcelable {
public String stackTrace;
@Field(42)
public String exceptionMessage;
@Field(43)
public String unknownString43;
@Field(44)
public String unknownString44;
@Field(45)
public String packageName;
@Field(46)
public BitmapTeleporter bitmapTeleporter;
@Field(47)
public String unknownString47;
@Field(48)
public FileTeleporter[] files;
@Field(49)
public String[] unknownByteArray49;
@Field(50)
public boolean unknownBool50;
@Field(51)
Expand All @@ -54,21 +126,38 @@ public class ErrorReport extends AutoSafeParcelable {
public ThemeSettings themeSettings;
@Field(53)
public LogOptions logOptions;
@Field(54)
public String unknownString54;
@Field(55)
public boolean unknownBool55;
@Field(56)
public Bundle bundleText;
@Field(57)
public List<RectF> rectFS;
@Field(58)
public boolean unknownBool58;
@Field(59)
public Bitmap unknownBitmap59;
public Bitmap bitmap;
@Field(60)
public String unknownString60;
@Field(61)
public List<String> camList;
@Field(62)
public int unknownInt62;
@Field(63)
public int unknownInt63;
@Field(67)
public boolean unknownBool67;
@Field(68)
public boolean unknownBool68;
public static final Creator<ErrorReport> CREATOR = findCreator(ErrorReport.class);
@Field(64)
public String[] unknownStringArray64;
@Field(65)
public String[] unknownStringArray65;
@Field(66)
public String[] unknownStringArray66;

public static final SafeParcelableCreatorAndWriter<ErrorReport> CREATOR = findCreator(ErrorReport.class);

@Override
public void writeToParcel(@NonNull Parcel dest, int flags) {
CREATOR.writeToParcel(this, dest, flags);
}

}
Loading

0 comments on commit 3f9235d

Please sign in to comment.