1d0c8da65af3b67ba551a220ca40be31f644dfed6Chiao Cheng/* 2d0c8da65af3b67ba551a220ca40be31f644dfed6Chiao Cheng * Copyright (C) 2012 The Android Open Source Project 3d0c8da65af3b67ba551a220ca40be31f644dfed6Chiao Cheng * 4d0c8da65af3b67ba551a220ca40be31f644dfed6Chiao Cheng * Licensed under the Apache License, Version 2.0 (the "License"); 5d0c8da65af3b67ba551a220ca40be31f644dfed6Chiao Cheng * you may not use this file except in compliance with the License. 6d0c8da65af3b67ba551a220ca40be31f644dfed6Chiao Cheng * You may obtain a copy of the License at 7d0c8da65af3b67ba551a220ca40be31f644dfed6Chiao Cheng * 8d0c8da65af3b67ba551a220ca40be31f644dfed6Chiao Cheng * http://www.apache.org/licenses/LICENSE-2.0 9d0c8da65af3b67ba551a220ca40be31f644dfed6Chiao Cheng * 10d0c8da65af3b67ba551a220ca40be31f644dfed6Chiao Cheng * Unless required by applicable law or agreed to in writing, software 11d0c8da65af3b67ba551a220ca40be31f644dfed6Chiao Cheng * distributed under the License is distributed on an "AS IS" BASIS, 12d0c8da65af3b67ba551a220ca40be31f644dfed6Chiao Cheng * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13d0c8da65af3b67ba551a220ca40be31f644dfed6Chiao Cheng * See the License for the specific language governing permissions and 14d0c8da65af3b67ba551a220ca40be31f644dfed6Chiao Cheng * limitations under the License. 15d0c8da65af3b67ba551a220ca40be31f644dfed6Chiao Cheng */ 16d0c8da65af3b67ba551a220ca40be31f644dfed6Chiao Cheng 17d0c8da65af3b67ba551a220ca40be31f644dfed6Chiao Chengpackage com.android.contacts.common.widget; 18d0c8da65af3b67ba551a220ca40be31f644dfed6Chiao Cheng 19d0c8da65af3b67ba551a220ca40be31f644dfed6Chiao Chengimport android.content.Context; 20d0c8da65af3b67ba551a220ca40be31f644dfed6Chiao Chengimport android.util.AttributeSet; 21d0c8da65af3b67ba551a220ca40be31f644dfed6Chiao Chengimport android.widget.QuickContactBadge; 22d0c8da65af3b67ba551a220ca40be31f644dfed6Chiao Cheng 23d0c8da65af3b67ba551a220ca40be31f644dfed6Chiao Cheng/** 24d0c8da65af3b67ba551a220ca40be31f644dfed6Chiao Cheng * Custom {@link QuickContactBadge} that improves layouting performance. 25d0c8da65af3b67ba551a220ca40be31f644dfed6Chiao Cheng * 26d0c8da65af3b67ba551a220ca40be31f644dfed6Chiao Cheng * This improves the performance by not passing requestLayout() to its parent, taking advantage 27d0c8da65af3b67ba551a220ca40be31f644dfed6Chiao Cheng * of knowing that image size won't change once set. 28d0c8da65af3b67ba551a220ca40be31f644dfed6Chiao Cheng */ 29d0c8da65af3b67ba551a220ca40be31f644dfed6Chiao Chengpublic class LayoutSuppressingQuickContactBadge extends QuickContactBadge { 30d0c8da65af3b67ba551a220ca40be31f644dfed6Chiao Cheng 31d0c8da65af3b67ba551a220ca40be31f644dfed6Chiao Cheng public LayoutSuppressingQuickContactBadge(Context context, AttributeSet attrs) { 32d0c8da65af3b67ba551a220ca40be31f644dfed6Chiao Cheng super(context, attrs); 33d0c8da65af3b67ba551a220ca40be31f644dfed6Chiao Cheng } 34d0c8da65af3b67ba551a220ca40be31f644dfed6Chiao Cheng 35d0c8da65af3b67ba551a220ca40be31f644dfed6Chiao Cheng @Override 36d0c8da65af3b67ba551a220ca40be31f644dfed6Chiao Cheng public void requestLayout() { 37d0c8da65af3b67ba551a220ca40be31f644dfed6Chiao Cheng forceLayout(); 38d0c8da65af3b67ba551a220ca40be31f644dfed6Chiao Cheng } 39d0c8da65af3b67ba551a220ca40be31f644dfed6Chiao Cheng} 40