Make TelephonyProvider a singleton across users
Messaging apps need to access it from secondary users
Bug: 18194892
Change-Id: Ia7401c287f4b920ac4de5102f33ded22bbf0f5b9
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index c1c2795..f1cd72b 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -32,6 +32,7 @@
<provider android:name="TelephonyProvider"
android:authorities="telephony"
android:exported="true"
+ android:singleUser="true"
android:multiprocess="false" />
<!-- This is a singleton provider that is used by all users.
diff --git a/src/com/android/providers/telephony/TelephonyProvider.java b/src/com/android/providers/telephony/TelephonyProvider.java
index 5c7948f..e7b96d4 100644
--- a/src/com/android/providers/telephony/TelephonyProvider.java
+++ b/src/com/android/providers/telephony/TelephonyProvider.java
@@ -35,6 +35,7 @@
import android.net.Uri;
import android.os.Binder;
import android.os.Environment;
+import android.os.UserHandle;
import android.provider.Telephony;
import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
@@ -884,7 +885,8 @@
}
if (notify) {
- getContext().getContentResolver().notifyChange(Telephony.Carriers.CONTENT_URI, null);
+ getContext().getContentResolver().notifyChange(Telephony.Carriers.CONTENT_URI, null,
+ true, UserHandle.USER_ALL);
}
return result;
@@ -997,7 +999,8 @@
}
if (count > 0) {
- getContext().getContentResolver().notifyChange(Telephony.Carriers.CONTENT_URI, null);
+ getContext().getContentResolver().notifyChange(Telephony.Carriers.CONTENT_URI, null,
+ true, UserHandle.USER_ALL);
}
return count;
@@ -1110,11 +1113,11 @@
switch (uriType) {
case URL_SIMINFO:
getContext().getContentResolver().notifyChange(
- SubscriptionManager.CONTENT_URI, null);
+ SubscriptionManager.CONTENT_URI, null, true, UserHandle.USER_ALL);
break;
default:
getContext().getContentResolver().notifyChange(
- Telephony.Carriers.CONTENT_URI, null);
+ Telephony.Carriers.CONTENT_URI, null, true, UserHandle.USER_ALL);
}
}