diff options
author | Usman Abdullah <uabdullah@google.com> | 2016-04-28 20:47:52 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2016-04-28 20:47:52 +0000 |
commit | 91e928cffb0ac82849dd89e7251e04dbb3b9a697 (patch) | |
tree | 2ae91912a9753e2df9083317f547a5a644e1dfba /src/com/android/dialer | |
parent | 5dd7e55b337bc55c5e0794028db80dafc90007cb (diff) | |
parent | 83d13261badfbc03225e729291543759460cb4a8 (diff) |
Merge "Cache call type icons" into nyc-dev am: e5634164a0
am: 83d13261ba
* commit '83d13261badfbc03225e729291543759460cb4a8':
Cache call type icons
Change-Id: Ib32a5dc8a0f41bcf12b3b62d150324a63a826d92
Diffstat (limited to 'src/com/android/dialer')
-rw-r--r-- | src/com/android/dialer/calllog/CallTypeIconsView.java | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/src/com/android/dialer/calllog/CallTypeIconsView.java b/src/com/android/dialer/calllog/CallTypeIconsView.java index cfd8f9748..14748433c 100644 --- a/src/com/android/dialer/calllog/CallTypeIconsView.java +++ b/src/com/android/dialer/calllog/CallTypeIconsView.java @@ -42,17 +42,20 @@ import java.util.List; public class CallTypeIconsView extends View { private List<Integer> mCallTypes = Lists.newArrayListWithCapacity(3); private boolean mShowVideo = false; - private Resources mResources; private int mWidth; private int mHeight; + private static Resources sResources; + public CallTypeIconsView(Context context) { this(context, null); } public CallTypeIconsView(Context context, AttributeSet attrs) { super(context, attrs); - mResources = new Resources(context); + if (sResources == null) { + sResources = new Resources(context); + } } public void clear() { @@ -66,7 +69,7 @@ public class CallTypeIconsView extends View { mCallTypes.add(callType); final Drawable drawable = getCallTypeDrawable(callType); - mWidth += drawable.getIntrinsicWidth() + mResources.iconMargin; + mWidth += drawable.getIntrinsicWidth() + sResources.iconMargin; mHeight = Math.max(mHeight, drawable.getIntrinsicHeight()); invalidate(); } @@ -79,8 +82,8 @@ public class CallTypeIconsView extends View { public void setShowVideo(boolean showVideo) { mShowVideo = showVideo; if (showVideo) { - mWidth += mResources.videoCall.getIntrinsicWidth(); - mHeight = Math.max(mHeight, mResources.videoCall.getIntrinsicHeight()); + mWidth += sResources.videoCall.getIntrinsicWidth(); + mHeight = Math.max(mHeight, sResources.videoCall.getIntrinsicHeight()); invalidate(); } } @@ -107,21 +110,21 @@ public class CallTypeIconsView extends View { private Drawable getCallTypeDrawable(int callType) { switch (callType) { case AppCompatConstants.CALLS_INCOMING_TYPE: - return mResources.incoming; + return sResources.incoming; case AppCompatConstants.CALLS_OUTGOING_TYPE: - return mResources.outgoing; + return sResources.outgoing; case AppCompatConstants.CALLS_MISSED_TYPE: - return mResources.missed; + return sResources.missed; case AppCompatConstants.CALLS_VOICEMAIL_TYPE: - return mResources.voicemail; + return sResources.voicemail; case AppCompatConstants.CALLS_BLOCKED_TYPE: - return mResources.blocked; + return sResources.blocked; default: // It is possible for users to end up with calls with unknown call types in their // call history, possibly due to 3rd party call log implementations (e.g. to // distinguish between rejected and missed calls). Instead of crashing, just // assume that all unknown call types are missed calls. - return mResources.missed; + return sResources.missed; } } @@ -138,14 +141,14 @@ public class CallTypeIconsView extends View { final int right = left + drawable.getIntrinsicWidth(); drawable.setBounds(left, 0, right, drawable.getIntrinsicHeight()); drawable.draw(canvas); - left = right + mResources.iconMargin; + left = right + sResources.iconMargin; } // If showing the video call icon, draw it scaled appropriately. if (mShowVideo) { - final Drawable drawable = mResources.videoCall; - final int right = left + mResources.videoCall.getIntrinsicWidth(); - drawable.setBounds(left, 0, right, mResources.videoCall.getIntrinsicHeight()); + final Drawable drawable = sResources.videoCall; + final int right = left + sResources.videoCall.getIntrinsicWidth(); + drawable.setBounds(left, 0, right, sResources.videoCall.getIntrinsicHeight()); drawable.draw(canvas); } } |