summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorUsman Abdullah <uabdullah@google.com>2016-04-28 20:37:46 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2016-04-28 20:37:46 +0000
commite5634164a0e89568cd79868e6bdcbc5610dc78ea (patch)
tree08c2ab2a56350679ce74f91acee6fd328b9e9712 /src
parent36a1cc6c86f8e3658c8b45bfacb8f7ad07221912 (diff)
parent4ceb430d354d76f18b293faf87a92854e26a94b8 (diff)
Merge "Cache call type icons" into nyc-dev
Diffstat (limited to 'src')
-rw-r--r--src/com/android/dialer/calllog/CallTypeIconsView.java33
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);
}
}