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