diff options
author | Sailesh Nepal <sail@google.com> | 2016-04-28 20:45:05 +0000 |
---|---|---|
committer | android-build-merger <android-build-merger@google.com> | 2016-04-28 20:45:05 +0000 |
commit | 83d13261badfbc03225e729291543759460cb4a8 (patch) | |
tree | 2ae91912a9753e2df9083317f547a5a644e1dfba /src | |
parent | 3e9c2b933a4f90419fed2b2f6aceee5c1303f6c4 (diff) | |
parent | e5634164a0e89568cd79868e6bdcbc5610dc78ea (diff) |
Merge "Cache call type icons" into nyc-dev
am: e5634164a0
* commit 'e5634164a0e89568cd79868e6bdcbc5610dc78ea':
Cache call type icons
Change-Id: I7cf4a33a18de4734075c3ba33c8752c5a81f03bf
Diffstat (limited to 'src')
-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); } } |