Merge "Don't cache results of permission check" into mnc-dev
diff --git a/res/values-ml-rIN/strings.xml b/res/values-ml-rIN/strings.xml
index d4b0396..def93a9 100644
--- a/res/values-ml-rIN/strings.xml
+++ b/res/values-ml-rIN/strings.xml
@@ -89,10 +89,10 @@
<string name="dialer_returnToInCallScreen" msgid="3719386377550913067">"വിളിച്ചുകൊണ്ടിരിക്കുന്ന കോളിലേക്ക് മടങ്ങുക"</string>
<string name="dialer_addAnotherCall" msgid="4205688819890074468">"കോൾ ചേർക്കുക"</string>
<string name="type_incoming" msgid="6502076603836088532">"ഇന്കമിംഗ് കോള്"</string>
- <string name="type_outgoing" msgid="343108709599392641">"ഔട്ട്ഗോയിംഗ് കോൾ"</string>
+ <string name="type_outgoing" msgid="343108709599392641">"വിളിച്ച കോൾ"</string>
<string name="type_missed" msgid="2720502601640509542">"മിസ്ഡ് കോൾ"</string>
<string name="type_incoming_video" msgid="82323391702796181">"ഇൻകമിംഗ് വീഡിയോ കോൾ"</string>
- <string name="type_outgoing_video" msgid="2858140021680755266">"ഔട്ട്ഗോയിംഗ് വീഡിയോ കോൾ"</string>
+ <string name="type_outgoing_video" msgid="2858140021680755266">"വിളിച്ച വീഡിയോ കോൾ"</string>
<string name="type_missed_video" msgid="954396897034220545">"വീഡിയോ കോൾ നഷ്ടമായി"</string>
<string name="type_voicemail" msgid="5153139450668549908">"വോയ്സ്മെയിൽ"</string>
<string name="actionIncomingCall" msgid="6028930669817038600">"ഇൻകമിംഗ് കോളുകൾ"</string>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index e80174f..90cf08b 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -62,7 +62,7 @@
<string name="call_log_item_count_and_date" msgid="7641933305703520787">"(<xliff:g id="COUNT">%1$d</xliff:g>) <xliff:g id="DATE">%2$s</xliff:g>"</string>
<string name="sms_disambig_title" msgid="5846266399240630846">"Выбор номера"</string>
<string name="call_disambig_title" msgid="4392886850104795739">"Выбор номера"</string>
- <string name="make_primary" msgid="5829291915305113983">"Запомнить выбранное"</string>
+ <string name="make_primary" msgid="5829291915305113983">"Запомнить выбор"</string>
<string name="description_search_button" msgid="3660807558587384889">"поиск"</string>
<string name="description_dial_button" msgid="1274091017188142646">"набор номера"</string>
<string name="description_digits_edittext" msgid="8760207516497016437">"набираемый номер"</string>
diff --git a/src/com/android/dialer/calllog/CallLogNotificationsService.java b/src/com/android/dialer/calllog/CallLogNotificationsService.java
index 9f48b09..9a67b61 100644
--- a/src/com/android/dialer/calllog/CallLogNotificationsService.java
+++ b/src/com/android/dialer/calllog/CallLogNotificationsService.java
@@ -79,7 +79,7 @@
return;
}
- if (!PermissionsUtil.hasPhonePermissions(this)) {
+ if (!PermissionsUtil.hasPermission(this, android.Manifest.permission.READ_CALL_LOG)) {
return;
}
diff --git a/src/com/android/dialer/calllog/DefaultVoicemailNotifier.java b/src/com/android/dialer/calllog/DefaultVoicemailNotifier.java
index 3d6eb0b..d0553b4 100644
--- a/src/com/android/dialer/calllog/DefaultVoicemailNotifier.java
+++ b/src/com/android/dialer/calllog/DefaultVoicemailNotifier.java
@@ -16,6 +16,9 @@
package com.android.dialer.calllog;
+import static android.Manifest.permission.READ_CALL_LOG;
+import static android.Manifest.permission.READ_CONTACTS;
+
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
@@ -32,6 +35,7 @@
import android.util.Log;
import com.android.common.io.MoreCloseables;
+import com.android.contacts.common.util.PermissionsUtil;
import com.android.dialer.DialtactsActivity;
import com.android.dialer.R;
import com.android.dialer.calllog.PhoneAccountUtils;
@@ -66,8 +70,8 @@
(NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
ContentResolver contentResolver = context.getContentResolver();
sInstance = new DefaultVoicemailNotifier(context, notificationManager,
- createNewCallsQuery(contentResolver),
- createNameLookupQuery(contentResolver));
+ createNewCallsQuery(context, contentResolver),
+ createNameLookupQuery(context, contentResolver));
}
return sInstance;
}
@@ -243,8 +247,9 @@
}
/** Create a new instance of {@link NewCallsQuery}. */
- public static NewCallsQuery createNewCallsQuery(ContentResolver contentResolver) {
- return new DefaultNewCallsQuery(contentResolver);
+ public static NewCallsQuery createNewCallsQuery(Context context,
+ ContentResolver contentResolver) {
+ return new DefaultNewCallsQuery(context.getApplicationContext(), contentResolver);
}
/**
@@ -270,13 +275,19 @@
private static final int TRANSCRIPTION_COLUMN_INDEX = 6;
private final ContentResolver mContentResolver;
+ private final Context mContext;
- private DefaultNewCallsQuery(ContentResolver contentResolver) {
+ private DefaultNewCallsQuery(Context context, ContentResolver contentResolver) {
+ mContext = context;
mContentResolver = contentResolver;
}
@Override
public NewCall[] query() {
+ if (!PermissionsUtil.hasPermission(mContext, READ_CALL_LOG)) {
+ Log.w(TAG, "No READ_CALL_LOG permission, returning null for calls lookup.");
+ return null;
+ }
final String selection = String.format("%s = 1 AND %s = ?", Calls.NEW, Calls.TYPE);
final String[] selectionArgs = new String[]{ Integer.toString(Calls.VOICEMAIL_TYPE) };
Cursor cursor = null;
@@ -326,8 +337,9 @@
}
/** Create a new instance of {@link NameLookupQuery}. */
- public static NameLookupQuery createNameLookupQuery(ContentResolver contentResolver) {
- return new DefaultNameLookupQuery(contentResolver);
+ public static NameLookupQuery createNameLookupQuery(Context context,
+ ContentResolver contentResolver) {
+ return new DefaultNameLookupQuery(context.getApplicationContext(), contentResolver);
}
/**
@@ -339,13 +351,19 @@
private static final int DISPLAY_NAME_COLUMN_INDEX = 0;
private final ContentResolver mContentResolver;
+ private final Context mContext;
- private DefaultNameLookupQuery(ContentResolver contentResolver) {
+ private DefaultNameLookupQuery(Context context, ContentResolver contentResolver) {
+ mContext = context;
mContentResolver = contentResolver;
}
@Override
public String query(String number) {
+ if (!PermissionsUtil.hasPermission(mContext, READ_CONTACTS)) {
+ Log.w(TAG, "No READ_CONTACTS permission, returning null for name lookup.");
+ return null;
+ }
Cursor cursor = null;
try {
cursor = mContentResolver.query(
diff --git a/src/com/android/dialer/settings/SoundSettingsFragment.java b/src/com/android/dialer/settings/SoundSettingsFragment.java
index c7bb2d3..7fc9394 100644
--- a/src/com/android/dialer/settings/SoundSettingsFragment.java
+++ b/src/com/android/dialer/settings/SoundSettingsFragment.java
@@ -51,6 +51,9 @@
private static final int NO_VIBRATION_FOR_CALLS = 0;
private static final int DO_VIBRATION_FOR_CALLS = 1;
+
+ private static final int DTMF_TONE_TYPE_NORMAL = 0;
+
private static final int SHOW_CARRIER_SETTINGS = 0;
private static final int HIDE_CARRIER_SETTINGS = 1;
@@ -112,7 +115,8 @@
mDtmfToneLength.setOnPreferenceChangeListener(this);
mDtmfToneLength.setValueIndex(
Settings.System.getInt(context.getContentResolver(),
- Settings.System.DTMF_TONE_WHEN_DIALING, PLAY_DTMF_TONE));
+ Settings.System.DTMF_TONE_TYPE_WHEN_DIALING,
+ DTMF_TONE_TYPE_NORMAL));
} else {
getPreferenceScreen().removePreference(mDtmfToneLength);
mDtmfToneLength = null;