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