aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--AndroidManifest.xml3
-rw-r--r--res/values-da/strings.xml2
-rw-r--r--res/values-hi/strings.xml2
-rw-r--r--res/values-mr/strings.xml2
-rw-r--r--res/values-ta/strings.xml2
-rw-r--r--res/values-te/strings.xml20
-rw-r--r--src/com/android/providers/contacts/ContactsProvider2.java13
-rw-r--r--src/com/android/providers/contacts/VoicemailNotifier.java19
-rw-r--r--src/com/android/providers/contacts/debug/ContactsDumpActivity.java7
9 files changed, 54 insertions, 16 deletions
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 9542e6d9..6cb5337d 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -4,6 +4,8 @@
android:sharedUserLabel="@string/sharedUserLabel">
<uses-permission android:name="android.permission.BIND_DIRECTORY_SEARCH" />
+ <!-- For sending voicemail intents -->
+ <uses-permission android:name="android.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.GET_ACCOUNTS_PRIVILEGED" />
<uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />
@@ -18,6 +20,7 @@
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.USE_RESERVED_DISK" />
<uses-permission android:name="android.permission.READ_DEVICE_CONFIG" />
+ <uses-permission android:name="android.permission.HIDE_NON_SYSTEM_OVERLAY_WINDOWS" />
<permission
android:name="android.permission.SEND_CALL_LOG_CHANGE"
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index af92fe79..1b8b54e4 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -26,7 +26,7 @@
<string name="local_invisible_directory" msgid="705244318477396120">"Andre"</string>
<string name="voicemail_from_column" msgid="435732568832121444">"Telefonsvarerbesked fra "</string>
<string name="debug_dump_title" msgid="4916885724165570279">"Kopiér database med kontakter"</string>
- <string name="debug_dump_database_message" msgid="406438635002392290">"Du er ved at 1) lave en kopi af din database, som indeholder alle oplysninger om dine kontakter og alle opkaldslister, til det interne lager, og 2) sende den som mail. Husk at slette kopien, så snart du har kopieret den fra enheden, eller mailen er modtaget."</string>
+ <string name="debug_dump_database_message" msgid="406438635002392290">"Du er ved at 1) lave en kopi af din database, som indeholder alle oplysninger om dine kontakter og al opkaldshistorik, til det interne lager, og 2) sende den som mail. Husk at slette kopien, så snart du har kopieret den fra enheden, eller mailen er modtaget."</string>
<string name="debug_dump_delete_button" msgid="7832879421132026435">"Slet nu"</string>
<string name="debug_dump_start_button" msgid="2837506913757600001">"Start"</string>
<string name="debug_dump_email_sender_picker" msgid="3534420908672176460">"Vælg et program, for at sende din fil"</string>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 478e5ce5..8ce3b7d0 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -19,7 +19,7 @@
<string name="sharedUserLabel" msgid="8024311725474286801">"Android Core Apps"</string>
<string name="app_label" msgid="3389954322874982620">"संपर्क मेमोरी"</string>
<string name="provider_label" msgid="6012150850819899907">"संपर्क"</string>
- <string name="upgrade_out_of_memory_notification_ticker" msgid="7638747231223520477">"संपर्क अपग्रेड के लिए ज़्यादा मेमोरी की आवश्यकता होती है."</string>
+ <string name="upgrade_out_of_memory_notification_ticker" msgid="7638747231223520477">"संपर्क अपग्रेड के लिए ज़्यादा स्टोरेज की आवश्यकता होती है."</string>
<string name="upgrade_out_of_memory_notification_title" msgid="8888171924684998531">"संपर्कों के लिए मेमोरी अपग्रेड करना"</string>
<string name="upgrade_out_of_memory_notification_text" msgid="2581831842693151968">"अपग्रेड पूरा करने के लिए टैप करें."</string>
<string name="default_directory" msgid="93961630309570294">"संपर्क"</string>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index cb75f204..59246564 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -28,7 +28,7 @@
<string name="debug_dump_title" msgid="4916885724165570279">"संपर्क डेटाबेस कॉपी करा"</string>
<string name="debug_dump_database_message" msgid="406438635002392290">"तुम्ही 1) आपल्‍या डेटाबेसची प्रत बनवणार आहात जिच्‍यामध्‍ये सर्व संपर्कांसंबंधी माहिती आणि अंतर्गत संचयनावरील कॉल लॉग समाविष्‍ट असतात आणि 2) ती ईमेल करणार आहात. तुम्ही डिव्‍हाइसवरून यशस्‍वीरित्‍या प्रत कॉपी केल्‍यानंतर किंवा ईमेल प्राप्त केल्‍यानंतर लगेच ती हटविण्‍याचे लक्षात ठेवा."</string>
<string name="debug_dump_delete_button" msgid="7832879421132026435">"आता हटवा"</string>
- <string name="debug_dump_start_button" msgid="2837506913757600001">"प्रारंभ करा"</string>
+ <string name="debug_dump_start_button" msgid="2837506913757600001">"सुरू करा"</string>
<string name="debug_dump_email_sender_picker" msgid="3534420908672176460">"तुमची फाइल पाठविण्‍यासाठी एक प्रोग्राम निवडा"</string>
<string name="debug_dump_email_subject" msgid="108188398416385976">"संपर्क Db संलग्‍न केला"</string>
<string name="debug_dump_email_body" msgid="4577749800871444318">"संलग्‍न केलेला माझ्‍या सर्व संपर्क माहितीसह माझा संपर्क डेटाबेस आहे. काळजीपूर्वक हाताळणी करा."</string>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index c6e25390..4b7bd769 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -29,7 +29,7 @@
<string name="debug_dump_database_message" msgid="406438635002392290">"நீங்கள் செய்யக்கூடியவை 1) தொடர்புகள் தொடர்பான எல்லா தகவலும், அழைப்பின் எல்லா பதிவையும் உள்ளடக்கும் உங்கள் தரவுத்தளத்தை அகச் சேமிப்பிடத்தில் நகலெடுக்கலாம், பின்னர் 2) அதை மின்னஞ்சல் செய்யலாம். அதைச் சாதனத்திலிருந்து வெற்றிகரமாக நகலெடுத்தவுடன் அல்லது மின்னஞ்சலைப் பெற்றவுடன் அதன் நகலை மறக்காமல் நீக்கிவிடவும் செய்யலாம்."</string>
<string name="debug_dump_delete_button" msgid="7832879421132026435">"இப்போதே நீக்கு"</string>
<string name="debug_dump_start_button" msgid="2837506913757600001">"தொடங்கு"</string>
- <string name="debug_dump_email_sender_picker" msgid="3534420908672176460">"உங்கள் கோப்பை அனுப்ப நிரலைத் தேர்வுசெய்யவும்"</string>
+ <string name="debug_dump_email_sender_picker" msgid="3534420908672176460">"உங்கள் ஃபைலை அனுப்ப நிரலைத் தேர்வுசெய்யவும்"</string>
<string name="debug_dump_email_subject" msgid="108188398416385976">"தொடர்புகளின் Db இணைக்கப்பட்டுள்ளது"</string>
<string name="debug_dump_email_body" msgid="4577749800871444318">"இணைப்பில் எனது எல்லா தொடர்புகளின் தகவல் உள்ள எனது தொடர்புகளின் தரவுத்தளம் உள்ளது. அதைக் கவனமாக கையாளவும்."</string>
</resources>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index d6cbf41b..81a54d9d 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -16,20 +16,20 @@
<resources xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
- <string name="sharedUserLabel" msgid="8024311725474286801">"Android ప్రధాన అనువర్తనాలు"</string>
- <string name="app_label" msgid="3389954322874982620">"పరిచయాల నిల్వ"</string>
- <string name="provider_label" msgid="6012150850819899907">"పరిచయాలు"</string>
- <string name="upgrade_out_of_memory_notification_ticker" msgid="7638747231223520477">"పరిచయాల అప్‌గ్రేడ్‌కు మరింత మెమరీ అవసరం."</string>
- <string name="upgrade_out_of_memory_notification_title" msgid="8888171924684998531">"పరిచయాల కోసం నిల్వను అప్‌గ్రేడ్ చేస్తోంది"</string>
+ <string name="sharedUserLabel" msgid="8024311725474286801">"Android ప్రధాన యాప్‌లు"</string>
+ <string name="app_label" msgid="3389954322874982620">"కాంటాక్ట్‌ల స్టోరేజ్"</string>
+ <string name="provider_label" msgid="6012150850819899907">"కాంటాక్ట్‌లు"</string>
+ <string name="upgrade_out_of_memory_notification_ticker" msgid="7638747231223520477">"కాంటాక్ట్‌ల అప్‌గ్రేడ్‌కు మరింత మెమరీ అవసరం."</string>
+ <string name="upgrade_out_of_memory_notification_title" msgid="8888171924684998531">"కాంటాక్ట్‌ల కోసం స్టోరేజ్‌ను అప్‌గ్రేడ్ చేస్తోంది"</string>
<string name="upgrade_out_of_memory_notification_text" msgid="2581831842693151968">"అప్‌గ్రేడ్‌ను పూర్తి చేయడానికి నొక్కండి."</string>
- <string name="default_directory" msgid="93961630309570294">"పరిచయాలు"</string>
+ <string name="default_directory" msgid="93961630309570294">"కాంటాక్ట్‌లు"</string>
<string name="local_invisible_directory" msgid="705244318477396120">"ఇతరం"</string>
<string name="voicemail_from_column" msgid="435732568832121444">"దీని నుండి వాయిస్ మెయిల్ "</string>
- <string name="debug_dump_title" msgid="4916885724165570279">"పరిచయాల డేటాబేస్‌ను కాపీ చేయి"</string>
- <string name="debug_dump_database_message" msgid="406438635002392290">"మీరు 1) అన్ని పరిచయాలకు సంబంధించిన సమాచారాన్ని మరియు మొత్తం కాల్ లాగ్‌ను కలిగి ఉండే మీ డేటాబేస్ యొక్క నకలును అంతర్గత నిల్వలో రూపొందించి 2) దాన్ని ఇమెయిల్ చేయబోతున్నారు. మీరు దాన్ని పరికరం నుండి విజయవంతంగా కాపీ చేసిన తర్వాత లేదా ఇమెయిల్‌ను స్వీకరించిన తర్వాత కాపీని తొలగించడం మర్చిపోవద్దు."</string>
+ <string name="debug_dump_title" msgid="4916885724165570279">"కాంటాక్ట్‌ల డేటాబేస్‌ను కాపీ చేయండి"</string>
+ <string name="debug_dump_database_message" msgid="406438635002392290">"మీరు 1) అన్ని కాంటాక్ట్‌లకు సంబంధించిన సమాచారాన్ని మరియు మొత్తం కాల్ లాగ్‌ను కలిగి ఉండే మీ డేటాబేస్ యొక్క కాపీని అంతర్గత స్టోరేజ్‌లో రూపొందించి 2) దాన్ని ఇమెయిల్ చేయబోతున్నారు. మీరు దాన్ని పరికరం నుండి విజయవంతంగా కాపీ చేసిన తర్వాత లేదా ఈమెయిల్‌ను స్వీకరించిన తర్వాత కాపీని తొలగించడం మర్చిపోవద్దు."</string>
<string name="debug_dump_delete_button" msgid="7832879421132026435">"ఇప్పుడే తొలగించు"</string>
<string name="debug_dump_start_button" msgid="2837506913757600001">"ప్రారంభించు"</string>
<string name="debug_dump_email_sender_picker" msgid="3534420908672176460">"మీ పైల్‌ను పంపడానికి ప్రోగ్రామ్‌ను ఎంచుకోండి"</string>
- <string name="debug_dump_email_subject" msgid="108188398416385976">"పరిచయాల Db జోడించబడింది"</string>
- <string name="debug_dump_email_body" msgid="4577749800871444318">"జోడింపు నా అన్ని పరిచయాల సమాచారాన్ని కలిగి ఉన్న నా పరిచయాల డేటాబేస్. జాగ్రత్తగా వ్యవహరించండి."</string>
+ <string name="debug_dump_email_subject" msgid="108188398416385976">"కాంటాక్ట్‌ల Db జోడించబడింది"</string>
+ <string name="debug_dump_email_body" msgid="4577749800871444318">"జోడింపు నా అన్ని కాంటాక్ట్‌ల సమాచారాన్ని కలిగి ఉన్న నా కాంటాక్ట్‌ల డేటాబేస్. జాగ్రత్తగా వ్యవహరించండి."</string>
</resources>
diff --git a/src/com/android/providers/contacts/ContactsProvider2.java b/src/com/android/providers/contacts/ContactsProvider2.java
index 5159fb94..3a0f7db8 100644
--- a/src/com/android/providers/contacts/ContactsProvider2.java
+++ b/src/com/android/providers/contacts/ContactsProvider2.java
@@ -5548,6 +5548,17 @@ public class ContactsProvider2 extends AbstractContactsProvider
return null;
}
+ if (cursor.getCount() > 0) {
+ final int callingUid = Binder.getCallingUid();
+ final String directoryAuthority = directoryInfo.authority;
+ if (VERBOSE_LOGGING) {
+ Log.v(TAG, "Making authority " + directoryAuthority
+ + " visible to UID " + callingUid);
+ }
+ getContext().getPackageManager().grantImplicitAccess(
+ callingUid, directoryAuthority);
+ }
+
// Load the cursor contents into a memory cursor (backed by a cursor window) and close the
// underlying cursor.
try {
@@ -8628,7 +8639,7 @@ public class ContactsProvider2 extends AbstractContactsProvider
case RAW_CONTACTS_ID_DISPLAY_PHOTO: {
long rawContactId = Long.parseLong(uri.getPathSegments().get(1));
- boolean writeable = !mode.equals("r");
+ boolean writeable = mode.contains("w");
// Find the primary photo data record for this raw contact.
SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
diff --git a/src/com/android/providers/contacts/VoicemailNotifier.java b/src/com/android/providers/contacts/VoicemailNotifier.java
index 159cec73..b4033eac 100644
--- a/src/com/android/providers/contacts/VoicemailNotifier.java
+++ b/src/com/android/providers/contacts/VoicemailNotifier.java
@@ -1,5 +1,6 @@
package com.android.providers.contacts;
+import android.app.BroadcastOptions;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
@@ -27,6 +28,12 @@ public class VoicemailNotifier {
private final String TAG = "VoicemailNotifier";
+ /**
+ * Grant recipients of new voicemail broadcasts a 10sec allowlist so they can start a background
+ * service to do VVM processing.
+ */
+ private final long VOICEMAIL_ALLOW_LIST_DURATION_MILLIS = 10000;
+
private final Context mContext;
private final Uri mBaseUri;
@@ -85,7 +92,17 @@ public class VoicemailNotifier {
intent.putExtra(VoicemailContract.EXTRA_SELF_CHANGE,
callingPackages.contains(component.getPackageName()));
}
- mContext.sendBroadcast(intent);
+ if (intentAction.equals(VoicemailContract.ACTION_NEW_VOICEMAIL)) {
+ BroadcastOptions bopts = BroadcastOptions.makeBasic();
+ bopts.setTemporaryAppWhitelistDuration(VOICEMAIL_ALLOW_LIST_DURATION_MILLIS);
+ Log.i(TAG, String.format("sendNotification: allowMillis=%d, pkg=%s",
+ VOICEMAIL_ALLOW_LIST_DURATION_MILLIS, component.getPackageName()));
+ mContext.sendBroadcast(intent, android.Manifest.permission.READ_VOICEMAIL,
+ bopts.toBundle());
+ } else {
+ mContext.sendBroadcast(intent);
+ }
+
Log.v(TAG, String.format("Sent intent. act:%s, url:%s, comp:%s," +
" self_change:%s", intent.getAction(), intent.getData(),
component.getClassName(),
diff --git a/src/com/android/providers/contacts/debug/ContactsDumpActivity.java b/src/com/android/providers/contacts/debug/ContactsDumpActivity.java
index 359f3f8b..725b5bfc 100644
--- a/src/com/android/providers/contacts/debug/ContactsDumpActivity.java
+++ b/src/com/android/providers/contacts/debug/ContactsDumpActivity.java
@@ -66,6 +66,13 @@ public class ContactsDumpActivity extends Activity implements OnClickListener {
}
@Override
+ protected void onStart() {
+ super.onStart();
+ getWindow().addSystemFlags(android.view.WindowManager.LayoutParams
+ .SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
+ }
+
+ @Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.confirm: