1f58e4c3c942033fce12b5f75f9e4d9e708c9ea6aAndy Huang/*
2f58e4c3c942033fce12b5f75f9e4d9e708c9ea6aAndy Huang * Copyright (C) 2014 The Android Open Source Project
3f58e4c3c942033fce12b5f75f9e4d9e708c9ea6aAndy Huang *
4f58e4c3c942033fce12b5f75f9e4d9e708c9ea6aAndy Huang * Licensed under the Apache License, Version 2.0 (the "License");
5f58e4c3c942033fce12b5f75f9e4d9e708c9ea6aAndy Huang * you may not use this file except in compliance with the License.
6f58e4c3c942033fce12b5f75f9e4d9e708c9ea6aAndy Huang * You may obtain a copy of the License at
7f58e4c3c942033fce12b5f75f9e4d9e708c9ea6aAndy Huang *
8f58e4c3c942033fce12b5f75f9e4d9e708c9ea6aAndy Huang *      http://www.apache.org/licenses/LICENSE-2.0
9f58e4c3c942033fce12b5f75f9e4d9e708c9ea6aAndy Huang *
10f58e4c3c942033fce12b5f75f9e4d9e708c9ea6aAndy Huang * Unless required by applicable law or agreed to in writing, software
11f58e4c3c942033fce12b5f75f9e4d9e708c9ea6aAndy Huang * distributed under the License is distributed on an "AS IS" BASIS,
12f58e4c3c942033fce12b5f75f9e4d9e708c9ea6aAndy Huang * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13f58e4c3c942033fce12b5f75f9e4d9e708c9ea6aAndy Huang * See the License for the specific language governing permissions and
14f58e4c3c942033fce12b5f75f9e4d9e708c9ea6aAndy Huang * limitations under the License.
15f58e4c3c942033fce12b5f75f9e4d9e708c9ea6aAndy Huang */
16c7849b23a73d699b5e7f199f0a3afce5b9dee7a6Martin Hibdonpackage com.android.mail.bitmap;
17c7849b23a73d699b5e7f199f0a3afce5b9dee7a6Martin Hibdon
18c7849b23a73d699b5e7f199f0a3afce5b9dee7a6Martin Hibdonimport android.content.res.Resources;
19c7849b23a73d699b5e7f199f0a3afce5b9dee7a6Martin Hibdonimport android.graphics.Bitmap;
20c7849b23a73d699b5e7f199f0a3afce5b9dee7a6Martin Hibdonimport android.graphics.BitmapFactory;
21c7849b23a73d699b5e7f199f0a3afce5b9dee7a6Martin Hibdonimport android.graphics.Canvas;
22c7849b23a73d699b5e7f199f0a3afce5b9dee7a6Martin Hibdon
232b806edc62eb8e83c77edc471fda4652281a15c4James Lemieuximport com.android.bitmap.BitmapCache;
24c7849b23a73d699b5e7f199f0a3afce5b9dee7a6Martin Hibdonimport com.android.mail.R;
252b806edc62eb8e83c77edc471fda4652281a15c4James Lemieux
26c12da4a53eee911765975f0d8afe62f749806b60Jin Cao/**
27c12da4a53eee911765975f0d8afe62f749806b60Jin Cao * A contact drawable with a set default avatar.
28c12da4a53eee911765975f0d8afe62f749806b60Jin Cao */
29c12da4a53eee911765975f0d8afe62f749806b60Jin Caopublic class AccountAvatarDrawable extends AbstractAvatarDrawable {
30c7849b23a73d699b5e7f199f0a3afce5b9dee7a6Martin Hibdon    private static Bitmap DEFAULT_AVATAR = null;
31c7849b23a73d699b5e7f199f0a3afce5b9dee7a6Martin Hibdon
32c7849b23a73d699b5e7f199f0a3afce5b9dee7a6Martin Hibdon    public AccountAvatarDrawable(final Resources res, final BitmapCache cache,
33c7849b23a73d699b5e7f199f0a3afce5b9dee7a6Martin Hibdon            final ContactResolver contactResolver) {
34c12da4a53eee911765975f0d8afe62f749806b60Jin Cao        super(res);
35c12da4a53eee911765975f0d8afe62f749806b60Jin Cao        setBitmapCache(cache);
36c12da4a53eee911765975f0d8afe62f749806b60Jin Cao        setContactResolver(contactResolver);
37c7849b23a73d699b5e7f199f0a3afce5b9dee7a6Martin Hibdon
38c7849b23a73d699b5e7f199f0a3afce5b9dee7a6Martin Hibdon        if (DEFAULT_AVATAR == null) {
39c7849b23a73d699b5e7f199f0a3afce5b9dee7a6Martin Hibdon            DEFAULT_AVATAR = BitmapFactory.decodeResource(res, R.drawable.avatar_placeholder_gray);
40c7849b23a73d699b5e7f199f0a3afce5b9dee7a6Martin Hibdon        }
41c7849b23a73d699b5e7f199f0a3afce5b9dee7a6Martin Hibdon    }
42c7849b23a73d699b5e7f199f0a3afce5b9dee7a6Martin Hibdon
43c7849b23a73d699b5e7f199f0a3afce5b9dee7a6Martin Hibdon    @Override
44c12da4a53eee911765975f0d8afe62f749806b60Jin Cao    protected void drawDefaultAvatar(Canvas canvas) {
45c12da4a53eee911765975f0d8afe62f749806b60Jin Cao        drawBitmap(DEFAULT_AVATAR, DEFAULT_AVATAR.getWidth(), DEFAULT_AVATAR.getHeight(),
46c12da4a53eee911765975f0d8afe62f749806b60Jin Cao                canvas);
47c7849b23a73d699b5e7f199f0a3afce5b9dee7a6Martin Hibdon    }
48c7849b23a73d699b5e7f199f0a3afce5b9dee7a6Martin Hibdon}
49c7849b23a73d699b5e7f199f0a3afce5b9dee7a6Martin Hibdon
50