Files
frameworks_base/graphics/java/android/graphics/GraphicsProtos.java
Alec Mouri 204b5e15d3 Remove exposed hidden apis in Point.java
Point is moving into the UI/graphics module, so hidden apis need to be
cleaned up:
* printShortString is now publicly exposed and renamed to Point#dump, to
mirror already public APIs such as TokenWatcher#dump
* The two convert methods have very few users and their implementations
are both trivial and only rely on the existing public API, so they are
in-lined directly in the callers.
* Introduce a GraphicsProtos utility class living outside of the module
that just converts Graphics parcelables into protobuf objects. Currently
WindowManager and the view system dump protobuf representations for
debugging. Accordingly GraphicsProtos is a hidden public class, as the
protobuf representation of the graphics classes are not publicly
exposed and should be considered an implementation detail of the system.

Bug: 152804266
Test: boots, builds
Change-Id: I5e25dbbe47b3c690d7d763a0082beb8d8a9c86d3
2020-04-07 10:56:26 -07:00

49 lines
1.6 KiB
Java

/*
* Copyright 2020 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.graphics;
import android.annotation.NonNull;
import android.util.proto.ProtoOutputStream;
/**
* Utility class for creating protos from parcelable Graphics classes.
*
* @hide
*/
public final class GraphicsProtos {
/** GraphicsProtos can never be an instance */
private GraphicsProtos() {}
/**
* Write to a protocol buffer output stream.
* Protocol buffer message definition at {@link android.graphics.PointProto}
*
* @param point Point to serialize into a protocol buffer
* @param protoOutputStream Stream to write the Point object to.
* @param fieldId Field Id of the Point as defined in the parent message
* @hide
*/
public static void dumpPointProto(
@NonNull Point point, @NonNull ProtoOutputStream protoOutputStream, long fieldId) {
final long token = protoOutputStream.start(fieldId);
protoOutputStream.write(PointProto.X, point.x);
protoOutputStream.write(PointProto.Y, point.y);
protoOutputStream.end(token);
}
}