blob: 1c4f44f23be09ffa6a1cdbcc2f2ab6558c93642d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
/*
* Copyright (C) 2011 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package com.android.dialer.calllog;
import android.content.res.Resources;
import android.provider.CallLog.Calls;
import com.android.dialer.R;
/**
* Helper class to perform operations related to call types.
*/
public class CallTypeHelper {
/** Name used to identify incoming calls. */
private final CharSequence mIncomingName;
/** Name used to identify outgoing calls. */
private final CharSequence mOutgoingName;
/** Name used to identify missed calls. */
private final CharSequence mMissedName;
/** Name used to identify voicemail calls. */
private final CharSequence mVoicemailName;
/** Color used to identify new missed calls. */
private final int mNewMissedColor;
/** Color used to identify new voicemail calls. */
private final int mNewVoicemailColor;
public CallTypeHelper(Resources resources) {
// Cache these values so that we do not need to look them up each time.
mIncomingName = resources.getString(R.string.type_incoming);
mOutgoingName = resources.getString(R.string.type_outgoing);
mMissedName = resources.getString(R.string.type_missed);
mVoicemailName = resources.getString(R.string.type_voicemail);
mNewMissedColor = resources.getColor(R.color.call_log_missed_call_highlight_color);
mNewVoicemailColor = resources.getColor(R.color.call_log_voicemail_highlight_color);
}
/** Returns the text used to represent the given call type. */
public CharSequence getCallTypeText(int callType) {
switch (callType) {
case Calls.INCOMING_TYPE:
return mIncomingName;
case Calls.OUTGOING_TYPE:
return mOutgoingName;
case Calls.MISSED_TYPE:
return mMissedName;
case Calls.VOICEMAIL_TYPE:
return mVoicemailName;
default:
return mMissedName;
}
}
/** Returns the color used to highlight the given call type, null if not highlight is needed. */
public Integer getHighlightedColor(int callType) {
switch (callType) {
case Calls.INCOMING_TYPE:
// New incoming calls are not highlighted.
return null;
case Calls.OUTGOING_TYPE:
// New outgoing calls are not highlighted.
return null;
case Calls.MISSED_TYPE:
return mNewMissedColor;
case Calls.VOICEMAIL_TYPE:
return mNewVoicemailColor;
default:
// Don't highlight calls of unknown types. They are treated as missed calls by
// the rest of the UI, but since they will never be marked as read by
// {@link CallLogQueryHandler}, just don't ever highlight them anyway.
return null;
}
}
public static boolean isMissedCallType(int callType) {
return (callType != Calls.INCOMING_TYPE && callType != Calls.OUTGOING_TYPE &&
callType != Calls.VOICEMAIL_TYPE);
}
}
|