Suppress location information for non-active users.
Specifically, don't allow call backs for LISTEN_CELL_LOCATION and
LISTEN_CELL_INFO.
Bug: 7087342
Change-Id: Ida7f60b5bde3f28264dcb454b38fcfb1f1616d11
diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java
index 90783b7..6ab5ff5 100644
--- a/services/java/com/android/server/SystemServer.java
+++ b/services/java/com/android/server/SystemServer.java
@@ -149,6 +149,7 @@
NetworkTimeUpdateService networkTimeUpdater = null;
CommonTimeManagementService commonTimeMgmtService = null;
InputManagerService inputManager = null;
+ TelephonyRegistry telephonyRegistry = null;
// Create a shared handler thread for UI within the system server.
// This thread is used by at least the following components:
@@ -219,7 +220,8 @@
ServiceManager.addService(Context.DISPLAY_SERVICE, display, true);
Slog.i(TAG, "Telephony Registry");
- ServiceManager.addService("telephony.registry", new TelephonyRegistry(context));
+ telephonyRegistry = new TelephonyRegistry(context);
+ ServiceManager.addService("telephony.registry", telephonyRegistry);
Slog.i(TAG, "Scheduling Policy");
ServiceManager.addService(Context.SCHEDULING_POLICY_SERVICE,
@@ -845,6 +847,7 @@
final StatusBarManagerService statusBarF = statusBar;
final DreamManagerService dreamyF = dreamy;
final InputManagerService inputManagerF = inputManager;
+ final TelephonyRegistry telephonyRegistryF = telephonyRegistry;
// We now tell the activity manager it is okay to run third party
// code. It will call back into us once it has gotten to the state
@@ -972,6 +975,11 @@
} catch (Throwable e) {
reportWtf("making InputManagerService ready", e);
}
+ try {
+ if (telephonyRegistryF != null) telephonyRegistryF.systemReady();
+ } catch (Throwable e) {
+ reportWtf("making TelephonyRegistry ready", e);
+ }
}
});