Merge changes from topic "dumpDebugComponent"

* changes:
  nfc(api): Port over ComponentName#dumpDebug to internal util
  nfc(proto): Create library for nfc protos
This commit is contained in:
Roshan Pius
2023-02-28 03:26:08 +00:00
committed by Gerrit Code Review
4 changed files with 82 additions and 2 deletions

View File

@@ -660,7 +660,7 @@ public final class ApduServiceInfo implements Parcelable {
* @param proto the ProtoOutputStream to write to
*/
public void dumpDebug(ProtoOutputStream proto) {
getComponent().dumpDebug(proto, ApduServiceInfoProto.COMPONENT_NAME);
Utils.dumpDebugComponentName(getComponent(), proto, ApduServiceInfoProto.COMPONENT_NAME);
proto.write(ApduServiceInfoProto.DESCRIPTION, getDescription());
proto.write(ApduServiceInfoProto.ON_HOST, mOnHost);
if (!mOnHost) {

View File

@@ -340,7 +340,7 @@ public final class NfcFServiceInfo implements Parcelable {
* @param proto the ProtoOutputStream to write to
*/
public void dumpDebug(ProtoOutputStream proto) {
getComponent().dumpDebug(proto, NfcFServiceInfoProto.COMPONENT_NAME);
Utils.dumpDebugComponentName(getComponent(), proto, NfcFServiceInfoProto.COMPONENT_NAME);
proto.write(NfcFServiceInfoProto.DESCRIPTION, getDescription());
proto.write(NfcFServiceInfoProto.SYSTEM_CODE, getSystemCode());
proto.write(NfcFServiceInfoProto.NFCID2, getNfcid2());

View File

@@ -0,0 +1,37 @@
/*
* Copyright (C) 2023 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.nfc.cardemulation;
import android.annotation.NonNull;
import android.content.ComponentName;
import android.content.ComponentNameProto;
import android.util.proto.ProtoOutputStream;
/** @hide */
public final class Utils {
private Utils() {
}
/** Copied from {@link ComponentName#dumpDebug(ProtoOutputStream, long)} */
public static void dumpDebugComponentName(
@NonNull ComponentName componentName, @NonNull ProtoOutputStream proto, long fieldId) {
final long token = proto.start(fieldId);
proto.write(ComponentNameProto.PACKAGE_NAME, componentName.getPackageName());
proto.write(ComponentNameProto.CLASS_NAME, componentName.getClassName());
proto.end(token);
}
}

View File

@@ -0,0 +1,43 @@
//
// Copyright (C) 2023 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
package {
default_applicable_licenses: ["Android-Apache-2.0"],
}
filegroup {
name: "srcs_nfc_proto",
srcs: [
"*.proto",
],
}
// Will be statically linked by `framework-nfc`.
java_library {
name: "nfc-proto-java-gen",
installable: false,
proto: {
type: "stream",
include_dirs: [
"external/protobuf/src",
],
},
srcs: [
":srcs_nfc_proto",
],
sdk_version: "current",
min_sdk_version: "current",
}