Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a81e906a authored by Dennis Shen's avatar Dennis Shen Committed by Android (Google) Code Review
Browse files

Merge "Update aconfig dump to sort by package name" into main

parents fa0fe0d4 524e7ef6
Loading
Loading
Loading
Loading
+19 −3
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ import android.app.ActivityManager;
import android.content.AttributionSource;
import android.content.IContentProvider;
import android.os.Binder;
import android.os.Build;
import android.os.Bundle;
import android.os.ParcelFileDescriptor;
import android.os.Process;
@@ -219,14 +220,29 @@ public final class DeviceConfigService extends Binder {
        return lines;
      }

      private static void log(String msg) {
        if (Build.IS_DEBUGGABLE) {
            Slog.wtf(TAG, msg);
        } else {
            Slog.e(TAG, msg);
        }
      }

      public static List<String> listAllAconfigFlags(IContentProvider provider) {
        HashMap<String, String> allFlags = getAllFlags(provider);
        HashSet<String> aconfigFlagNames = getAconfigFlagNamesInDeviceConfig();
        final ArrayList<String> lines = new ArrayList<>();
        for (String key : aconfigFlagNames) {
          String val = allFlags.get(key);
        for (String aconfigFlag : aconfigFlagNames) {
          String val = allFlags.get(aconfigFlag);
          if (val != null) {
            lines.add(key + "=" + val);
            int idx = aconfigFlag.indexOf("/");
            if (idx == -1 || idx == aconfigFlag.length() - 1 || idx == 0) {
              log("invalid flag entry in device config: " + aconfigFlag);
              continue;
            }
            String aconfigFlagNameByPackage = aconfigFlag.substring(idx+1);
            String namespace = aconfigFlag.substring(0, idx);
            lines.add(aconfigFlagNameByPackage + " " + namespace + "=" + val);
          }
        }
        Collections.sort(lines);