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