1 /* 2 * Copyright (C) 2020 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package android.hardware.biometrics; 18 19 import android.annotation.NonNull; 20 import android.os.Parcel; 21 import android.os.Parcelable; 22 23 /** 24 * The internal class for storing the component info for a subsystem of the biometric sensor, 25 * as defined in {@link android.hardware.biometrics.common.ComponentInfo}. 26 * @hide 27 */ 28 public class ComponentInfoInternal implements Parcelable { 29 30 @NonNull public final String componentId; 31 @NonNull public final String hardwareVersion; 32 @NonNull public final String firmwareVersion; 33 @NonNull public final String serialNumber; 34 @NonNull public final String softwareVersion; 35 36 /** 37 * Constructs a {@link ComponentInfoInternal} from another instance. 38 * @hide 39 */ from(@onNull ComponentInfoInternal comp)40 public static ComponentInfoInternal from(@NonNull ComponentInfoInternal comp) { 41 return new ComponentInfoInternal(comp.componentId, comp.hardwareVersion, 42 comp.firmwareVersion, comp.serialNumber, comp.softwareVersion); 43 } 44 45 /** 46 * @hide 47 */ ComponentInfoInternal(@onNull String componentId, @NonNull String hardwareVersion, @NonNull String firmwareVersion, @NonNull String serialNumber, @NonNull String softwareVersion)48 public ComponentInfoInternal(@NonNull String componentId, @NonNull String hardwareVersion, 49 @NonNull String firmwareVersion, @NonNull String serialNumber, 50 @NonNull String softwareVersion) { 51 this.componentId = componentId; 52 this.hardwareVersion = hardwareVersion; 53 this.firmwareVersion = firmwareVersion; 54 this.serialNumber = serialNumber; 55 this.softwareVersion = softwareVersion; 56 } 57 ComponentInfoInternal(Parcel in)58 protected ComponentInfoInternal(Parcel in) { 59 componentId = in.readString(); 60 hardwareVersion = in.readString(); 61 firmwareVersion = in.readString(); 62 serialNumber = in.readString(); 63 softwareVersion = in.readString(); 64 } 65 66 public static final Creator<ComponentInfoInternal> CREATOR = 67 new Creator<ComponentInfoInternal>() { 68 @Override 69 public ComponentInfoInternal createFromParcel(Parcel in) { 70 return new ComponentInfoInternal(in); 71 } 72 73 @Override 74 public ComponentInfoInternal[] newArray(int size) { 75 return new ComponentInfoInternal[size]; 76 } 77 }; 78 79 @Override describeContents()80 public int describeContents() { 81 return 0; 82 } 83 84 @Override writeToParcel(Parcel dest, int flags)85 public void writeToParcel(Parcel dest, int flags) { 86 dest.writeString(componentId); 87 dest.writeString(hardwareVersion); 88 dest.writeString(firmwareVersion); 89 dest.writeString(serialNumber); 90 dest.writeString(softwareVersion); 91 } 92 93 @Override toString()94 public String toString() { 95 return "ComponentId: " + componentId 96 + ", HardwareVersion: " + hardwareVersion 97 + ", FirmwareVersion: " + firmwareVersion 98 + ", SerialNumber " + serialNumber 99 + ", SoftwareVersion: " + softwareVersion; 100 } 101 } 102