Print out shared app gids correctly

For applications that share resources across users such as
forward-locked applications, print out their group name correctly.

Change-Id: I06ee0b67e4325cfa415ffd7a03e301700399a66d
diff --git a/libc/bionic/stubs.cpp b/libc/bionic/stubs.cpp
index fb1a8e4..1cab7d3 100644
--- a/libc/bionic/stubs.cpp
+++ b/libc/bionic/stubs.cpp
@@ -266,18 +266,19 @@
 
 static void print_app_name_from_appid_userid(const uid_t appid,
     const uid_t userid, char* buffer, const int bufferlen) {
-  if (appid < AID_ISOLATED_START) {
-    if (appid < AID_APP) {
-      for (size_t n = 0; n < android_id_count; n++) {
-        if (android_ids[n].aid == appid) {
-          snprintf(buffer, bufferlen, "u%u_%s", userid, android_ids[n].name);
-          return;
-        }
+  if (appid >= AID_ISOLATED_START) {
+    snprintf(buffer, bufferlen, "u%u_i%u", userid, appid - AID_ISOLATED_START);
+  } else if (userid == 0 && appid >= AID_SHARED_GID_START) {
+    snprintf(buffer, bufferlen, "all_a%u", appid - AID_SHARED_GID_START);
+  } else if (appid < AID_APP) {
+    for (size_t n = 0; n < android_id_count; n++) {
+      if (android_ids[n].aid == appid) {
+        snprintf(buffer, bufferlen, "u%u_%s", userid, android_ids[n].name);
+        return;
       }
     }
-    snprintf(buffer, bufferlen, "u%u_a%u", userid, appid - AID_APP);
   } else {
-    snprintf(buffer, bufferlen, "u%u_i%u", userid, appid - AID_ISOLATED_START);
+    snprintf(buffer, bufferlen, "u%u_a%u", userid, appid - AID_APP);
   }
 }