19f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller/*
29f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller * Copyright (C) 2015 The Android Open Source Project
39f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller *
49f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller * Licensed under the Apache License, Version 2.0 (the "License");
59f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller * you may not use this file except in compliance with the License.
69f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller * You may obtain a copy of the License at
79f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller *
89f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller *      http://www.apache.org/licenses/LICENSE-2.0
99f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller *
109f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller * Unless required by applicable law or agreed to in writing, software
119f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller * distributed under the License is distributed on an "AS IS" BASIS,
129f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
139f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller * See the License for the specific language governing permissions and
149f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller * limitations under the License.
159f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller */
16ebbf205bc6e8292f74d8fc4652c70274a445f907Jim Millerpackage android.hardware.fingerprint;
179f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller
189f0753f5a378fc80da86305b33244acc6fc53f01Jim Millerimport android.os.Parcel;
199f0753f5a378fc80da86305b33244acc6fc53f01Jim Millerimport android.os.Parcelable;
209f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller
219f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller/**
229f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller * Container for fingerprint metadata.
239f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller * @hide
249f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller */
259f0753f5a378fc80da86305b33244acc6fc53f01Jim Millerpublic final class Fingerprint implements Parcelable {
269f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller    private CharSequence mName;
279f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller    private int mGroupId;
289f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller    private int mFingerId;
299f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller    private long mDeviceId; // physical device this is associated with
309f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller
319f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller    public Fingerprint(CharSequence name, int groupId, int fingerId, long deviceId) {
329f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller        mName = name;
339f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller        mGroupId = groupId;
349f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller        mFingerId = fingerId;
359f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller        mDeviceId = deviceId;
369f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller    }
379f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller
389f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller    private Fingerprint(Parcel in) {
399f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller        mName = in.readString();
409f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller        mGroupId = in.readInt();
419f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller        mFingerId = in.readInt();
429f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller        mDeviceId = in.readLong();
439f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller    }
449f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller
459f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller    /**
469f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller     * Gets the human-readable name for the given fingerprint.
479f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller     * @return name given to finger
489f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller     */
499f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller    public CharSequence getName() { return mName; }
509f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller
519f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller    /**
529f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller     * Gets the device-specific finger id.  Used by Settings to map a name to a specific
539f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller     * fingerprint template.
549f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller     * @return device-specific id for this finger
559f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller     * @hide
569f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller     */
579f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller    public int getFingerId() { return mFingerId; }
589f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller
599f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller    /**
609f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller     * Gets the group id specified when the fingerprint was enrolled.
619f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller     * @return group id for the set of fingerprints this one belongs to.
629f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller     * @hide
639f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller     */
649f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller    public int getGroupId() { return mGroupId; }
659f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller
669f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller    /**
679f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller     * Device this fingerprint belongs to.
689f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller     * @hide
699f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller     */
709f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller    public long getDeviceId() { return mDeviceId; }
719f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller
729f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller    public int describeContents() {
739f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller        return 0;
749f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller    }
759f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller
769f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller    public void writeToParcel(Parcel out, int flags) {
779f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller        out.writeString(mName.toString());
789f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller        out.writeInt(mGroupId);
799f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller        out.writeInt(mFingerId);
809f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller        out.writeLong(mDeviceId);
819f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller    }
829f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller
839f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller    public static final Parcelable.Creator<Fingerprint> CREATOR
849f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller            = new Parcelable.Creator<Fingerprint>() {
859f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller        public Fingerprint createFromParcel(Parcel in) {
869f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller            return new Fingerprint(in);
879f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller        }
889f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller
899f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller        public Fingerprint[] newArray(int size) {
909f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller            return new Fingerprint[size];
919f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller        }
929f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller    };
939f0753f5a378fc80da86305b33244acc6fc53f01Jim Miller};