Skip to content

Commit

Permalink
Complete the implementation of AuditApiService numbered 154 in GmsSer…
Browse files Browse the repository at this point in the history
…vice
  • Loading branch information
DaVinci9196 authored and ale5000-git committed Jan 29, 2024
1 parent 337eef9 commit a2f9adf
Show file tree
Hide file tree
Showing 6 changed files with 116 additions and 1 deletion.
2 changes: 2 additions & 0 deletions play-services-api/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -41,4 +41,6 @@ android {
dependencies {
api project(':play-services-base')
api project(':play-services-phenotype')

annotationProcessor project(':safe-parcel-processor')
}
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.audit;

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

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

import com.google.android.gms.common.api.internal.IStatusCallback;
import com.google.android.gms.audit.LogAuditRecordsRequest;

interface IAuditService {
void logAuditRecords(in LogAuditRecordsRequest logAuditRecordsRequest, IStatusCallback callback);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
/*
* SPDX-FileCopyrightText: 2023 microG Project Team
* SPDX-License-Identifier: Apache-2.0
*/

package com.google.android.gms.audit;

import android.os.Parcel;

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 org.microg.gms.utils.ToStringHelper;

@SafeParcelable.Class
public class LogAuditRecordsRequest extends AbstractSafeParcelable {
@Field(1)
public int writeMode;
@Field(2)
public int componentId;
@Field(3)
public String accountName;
@Field(4)
public byte[][] auditRecords;
@Field(5)
public byte[] traceToken;
@Field(6)
public byte[] auditToken;

@NonNull
@Override
public String toString() {
return ToStringHelper.name("LogAuditRecordsRequest")
.field("writeMode", writeMode)
.field("componentId", componentId)
.field("accountName", accountName)
.field("auditRecords", auditRecords)
.field("traceToken", traceToken)
.field("auditToken", auditToken)
.end();
}

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

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

}
7 changes: 6 additions & 1 deletion play-services-core/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -846,6 +846,12 @@
</intent-filter>
</service>

<service android:name="com.google.android.gms.audit.internal.AuditApiService">
<intent-filter>
<action android:name="com.google.android.gms.audit.service.START" />
</intent-filter>
</service>

<service android:name="org.microg.gms.DummyService">
<intent-filter>
<action android:name="com.google.android.contextmanager.service.ContextManagerService.START" />
Expand All @@ -858,7 +864,6 @@
<action android:name="com.google.android.gms.appusage.service.START" />
<action android:name="com.google.android.gms.asterism.service.START" />
<action android:name="com.google.android.gms.audiomodem.service.AudioModemService.START" />
<action android:name="com.google.android.gms.audit.service.START" />
<action android:name="com.google.android.gms.auth.account.authapi.START" />
<action android:name="com.google.android.gms.auth.account.authenticator.auto.service.START" />
<action android:name="com.google.android.gms.auth.account.authenticator.chromeos.START" />
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
/*
* SPDX-FileCopyrightText: 2023 microG Project Team
* SPDX-License-Identifier: Apache-2.0
*/

package com.google.android.gms.audit.internal

import android.util.Log
import com.google.android.gms.audit.LogAuditRecordsRequest
import com.google.android.gms.common.ConnectionResult
import com.google.android.gms.common.api.Status
import com.google.android.gms.common.api.internal.IStatusCallback
import com.google.android.gms.common.internal.GetServiceRequest
import com.google.android.gms.common.internal.IGmsCallbacks
import org.microg.gms.BaseService
import org.microg.gms.common.GmsService

private const val TAG = "AuditApiService"

class AuditApiService : BaseService(TAG, GmsService.AUDIT) {
override fun handleServiceRequest(callback: IGmsCallbacks, request: GetServiceRequest, service: GmsService) {
callback.onPostInitComplete(ConnectionResult.SUCCESS, AuditApiServiceImpl().asBinder(), null)
}

}

class AuditApiServiceImpl : IAuditService.Stub() {

override fun logAuditRecords(logAuditRecordsRequest: LogAuditRecordsRequest?, callback: IStatusCallback) {
Log.d(TAG, "method 'logAuditRecords' not fully implemented, only return Status.SUCCESS")
callback.onResult(Status.SUCCESS)
}

}

0 comments on commit a2f9adf

Please sign in to comment.