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