Add support for running apps with uid/gid AID_LOG by specifying android.uid.log in the manifest

This is needed to allow the BugReportService to start the dumpstate service.

Change-Id: I12cab23767c919592da102c654b6b80416717661
Signed-off-by: Mike Lockwood <lockwood@android.com>
diff --git a/core/java/android/os/Process.java b/core/java/android/os/Process.java
index 980cff3..699ddb2 100644
--- a/core/java/android/os/Process.java
+++ b/core/java/android/os/Process.java
@@ -74,6 +74,12 @@
     public static final int SHELL_UID = 2000;
 
     /**
+     * Defines the UID/GID for the log group.
+     * @hide
+     */
+    public static final int LOG_UID = 1007;
+
+    /**
      * Defines the UID/GID for the WIFI supplicant process.
      * @hide
      */
diff --git a/services/java/com/android/server/PackageManagerService.java b/services/java/com/android/server/PackageManagerService.java
index 14cd7a8..82cf1bc 100644
--- a/services/java/com/android/server/PackageManagerService.java
+++ b/services/java/com/android/server/PackageManagerService.java
@@ -112,6 +112,7 @@
 
     private static final boolean MULTIPLE_APPLICATION_UIDS = true;
     private static final int RADIO_UID = Process.PHONE_UID;
+    private static final int LOG_UID = Process.LOG_UID;
     private static final int FIRST_APPLICATION_UID =
         Process.FIRST_APPLICATION_UID;
     private static final int MAX_APPLICATION_UIDS = 1000;
@@ -364,6 +365,10 @@
                 MULTIPLE_APPLICATION_UIDS
                         ? RADIO_UID : FIRST_APPLICATION_UID,
                 ApplicationInfo.FLAG_SYSTEM);
+        mSettings.addSharedUserLP("android.uid.log",
+                MULTIPLE_APPLICATION_UIDS
+                        ? LOG_UID : FIRST_APPLICATION_UID,
+                ApplicationInfo.FLAG_SYSTEM);
 
         String separateProcesses = SystemProperties.get("debug.separate_processes");
         if (separateProcesses != null && separateProcesses.length() > 0) {