1f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin/*
2f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * Copyright (C) 2011 The Android Open Source Project
3f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin *
4f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * Licensed under the Apache License, Version 2.0 (the "License");
5f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * you may not use this file except in compliance with the License.
6f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * You may obtain a copy of the License at
7f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin *
8f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin *      http://www.apache.org/licenses/LICENSE-2.0
9f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin *
10f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * Unless required by applicable law or agreed to in writing, software
11f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * distributed under the License is distributed on an "AS IS" BASIS,
12f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * See the License for the specific language governing permissions and
14f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin * limitations under the License.
15f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin */
16f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin
17f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Linpackage com.android.gallery3d.data;
18f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin
1904a9a44fb85263c4590ca68f92adff6f9da360e9Ray Chenimport android.graphics.Rect;
2004a9a44fb85263c4590ca68f92adff6f9da360e9Ray Chen
21f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Linimport com.android.gallery3d.common.Utils;
22f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin
2304a9a44fb85263c4590ca68f92adff6f9da360e9Ray Chenimport java.util.StringTokenizer;
2404a9a44fb85263c4590ca68f92adff6f9da360e9Ray Chen
25f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Linpublic class Face implements Comparable<Face> {
26f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin    private String mName;
27f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin    private String mPersonId;
2804a9a44fb85263c4590ca68f92adff6f9da360e9Ray Chen    private Rect mPosition;
29f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin
3004a9a44fb85263c4590ca68f92adff6f9da360e9Ray Chen    public Face(String name, String personId, String rect) {
31f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin        mName = name;
32f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin        mPersonId = personId;
3304a9a44fb85263c4590ca68f92adff6f9da360e9Ray Chen        Utils.assertTrue(mName != null && mPersonId != null && rect != null);
3404a9a44fb85263c4590ca68f92adff6f9da360e9Ray Chen        StringTokenizer tokenizer = new StringTokenizer(rect);
3504a9a44fb85263c4590ca68f92adff6f9da360e9Ray Chen        mPosition = new Rect();
3604a9a44fb85263c4590ca68f92adff6f9da360e9Ray Chen        while (tokenizer.hasMoreElements()) {
3704a9a44fb85263c4590ca68f92adff6f9da360e9Ray Chen            mPosition.left = Integer.parseInt(tokenizer.nextToken());
3804a9a44fb85263c4590ca68f92adff6f9da360e9Ray Chen            mPosition.top = Integer.parseInt(tokenizer.nextToken());
3904a9a44fb85263c4590ca68f92adff6f9da360e9Ray Chen            mPosition.right = Integer.parseInt(tokenizer.nextToken());
4004a9a44fb85263c4590ca68f92adff6f9da360e9Ray Chen            mPosition.bottom = Integer.parseInt(tokenizer.nextToken());
4104a9a44fb85263c4590ca68f92adff6f9da360e9Ray Chen        }
4204a9a44fb85263c4590ca68f92adff6f9da360e9Ray Chen    }
4304a9a44fb85263c4590ca68f92adff6f9da360e9Ray Chen
4404a9a44fb85263c4590ca68f92adff6f9da360e9Ray Chen    public Rect getPosition() {
4504a9a44fb85263c4590ca68f92adff6f9da360e9Ray Chen        return mPosition;
4604a9a44fb85263c4590ca68f92adff6f9da360e9Ray Chen    }
4704a9a44fb85263c4590ca68f92adff6f9da360e9Ray Chen
4804a9a44fb85263c4590ca68f92adff6f9da360e9Ray Chen    public int getWidth() {
4904a9a44fb85263c4590ca68f92adff6f9da360e9Ray Chen        return mPosition.right - mPosition.left;
5004a9a44fb85263c4590ca68f92adff6f9da360e9Ray Chen    }
5104a9a44fb85263c4590ca68f92adff6f9da360e9Ray Chen
5204a9a44fb85263c4590ca68f92adff6f9da360e9Ray Chen    public int getHeight() {
5304a9a44fb85263c4590ca68f92adff6f9da360e9Ray Chen        return mPosition.bottom - mPosition.top;
54f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin    }
55f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin
56f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin    public String getName() {
57f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin        return mName;
58f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin    }
59f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin
60f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin    public String getPersonId() {
61f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin        return mPersonId;
62f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin    }
63f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin
64f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin    @Override
65f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin    public boolean equals(Object obj) {
66f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin        if (obj instanceof Face) {
67f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin            Face face = (Face) obj;
68f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin            return mPersonId.equals(face.mPersonId);
69f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin        }
70f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin        return false;
71f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin    }
72f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin
73f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin    public int compareTo(Face another) {
7404a9a44fb85263c4590ca68f92adff6f9da360e9Ray Chen        return mName.compareTo(another.mName);
75f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin    }
76f9a0a4306d589b4a4e20554fed512a603426bfa1Owen Lin}
77