add FeatureFlag type to the dump / also sort them

Bug: 152660449

$ adb shell dumpsys activity service com.google.android.apps.nexuslauncher/com.android.quickstep.TouchInteractionService
SERVICE com.google.android.apps.nexuslauncher/com.android.quickstep.TouchInteractionService d4107aa pid=27740
  Client:
    DeviceFlags:
      APP_SEARCH_IMPROVEMENTS, defaultValue=true, mCurrentValue=true, mDefaultValueInCode=true
      ENABLE_HYBRID_HOTSEAT, defaultValue=false, mCurrentValue=false, mDefaultValueInCode=false
      ENABLE_SUGGESTED_ACTIONS_OVERVIEW, defaultValue=false, mCurrentValue=false, mDefaultValueInCode=false
      FOLDER_NAME_SUGGEST, defaultValue=true, mCurrentValue=true, mDefaultValueInCode=true
      HOTSEAT_MIGRATE_TO_FOLDER, defaultValue=false, mCurrentValue=false, mDefaultValueInCode=false
    DebugFlags:
      ADAPTIVE_ICON_WINDOW_ANIM, defaultValue=true, mCurrentValue=true
      ALWAYS_USE_HARDWARE_OPTIMIZATION_FOR_FOLDER_ANIMATIONS, defaultValue=false, mCurrentValue=false
      APPLY_CONFIG_AT_RUNTIME, defaultValue=true, mCurrentValue=true
      ASSISTANT_GIVES_LAUNCHER_FOCUS, defaultValue=false, mCurrentValue=false
      ENABLE_DATABASE_RESTORE, defaultValue=true, mCurrentValue=true
      ENABLE_DEEP_SHORTCUT_ICON_CACHE, defaultValue=true, mCurrentValue=true
      ENABLE_FIXED_ROTATION_TRANSFORM, defaultValue=true, mCurrentValue=true
      ENABLE_LAUNCHER_PREVIEW_IN_GRID_PICKER, defaultValue=true, mCurrentValue=true
      ENABLE_LSQ_VELOCITY_PROVIDER, defaultValue=true, mCurrentValue=true
      ENABLE_OVERVIEW_ACTIONS, defaultValue=true, mCurrentValue=false
      ENABLE_PREDICTION_DISMISS, defaultValue=false, mCurrentValue=false
      ENABLE_QUICK_CAPTURE_GESTURE, defaultValue=true, mCurrentValue=true
      ENABLE_QUICKSTEP_LIVE_TILE, defaultValue=false, mCurrentValue=false
      ENABLE_SELECT_MODE, defaultValue=true, mCurrentValue=true
      ENABLE_UNIVERSAL_SMARTSPACE, defaultValue=false, mCurrentValue=false
      FORCE_LOCAL_OVERSCROLL_PLUGIN, defaultValue=false, mCurrentValue=false
      KEYGUARD_ANIMATION, defaultValue=false, mCurrentValue=false
      MULTI_DB_GRID_MIRATION_ALGO, defaultValue=false, mCurrentValue=false
      PROMISE_APPS_IN_ALL_APPS, defaultValue=false, mCurrentValue=false
      PROMISE_APPS_NEW_INSTALLS, defaultValue=true, mCurrentValue=true
      QUICKSTEP_SPRINGS, defaultValue=true, mCurrentValue=true
      UNSTABLE_SPRINGS, defaultValue=false, mCurrentValue=false
      USE_SURFACE_VIEW_FOR_GRID_PREVIEW, defaultValue=true, mCurrentValue=true
    PluginManager:
      numEnabledPlugins=1
      numDisabledPlugins=0
      enabledPlugins=[ComponentInfo{com.android.launcher.plugins.AllAppsSearchPlugin/com.android.launcher.plugins.AllAppsSearch}]
      disabledPlugins=[]



Change-Id: Ifefc02683834e52e3b78f93861a90f97a72c01d8
diff --git a/src/com/android/launcher3/config/FeatureFlags.java b/src/com/android/launcher3/config/FeatureFlags.java
index bcd91da..2b91cb1 100644
--- a/src/com/android/launcher3/config/FeatureFlags.java
+++ b/src/com/android/launcher3/config/FeatureFlags.java
@@ -168,6 +168,7 @@
             for (DebugFlag flag : sDebugFlags) {
                 flag.initialize(context);
             }
+            sDebugFlags.sort((f1, f2) -> f1.key.compareToIgnoreCase(f2.key));
         }
     }
 
@@ -178,10 +179,20 @@
     }
 
     public static void dump(PrintWriter pw) {
-        pw.println("FeatureFlags:");
+        pw.println("DeviceFlags:");
         synchronized (sDebugFlags) {
             for (DebugFlag flag : sDebugFlags) {
-                pw.println("  " + flag.key + "=" + flag.get());
+                if (flag instanceof DeviceFlag) {
+                    pw.println("  " + flag.toString());
+                }
+            }
+        }
+        pw.println("DebugFlags:");
+        synchronized (sDebugFlags) {
+            for (DebugFlag flag : sDebugFlags) {
+                if (!(flag instanceof DeviceFlag)) {
+                    pw.println("  " + flag.toString());
+                }
             }
         }
     }
@@ -202,13 +213,11 @@
 
         @Override
         public String toString() {
-            return appendProps(new StringBuilder()
-                    .append(getClass().getSimpleName()).append('{'))
-                    .append('}').toString();
+            return appendProps(new StringBuilder()).toString();
         }
 
         protected StringBuilder appendProps(StringBuilder src) {
-            return src.append("key=").append(key).append(", defaultValue=").append(defaultValue);
+            return src.append(key).append(", defaultValue=").append(defaultValue);
         }
 
         public void addChangeListener(Context context, Runnable r) { }
@@ -240,8 +249,7 @@
 
         @Override
         protected StringBuilder appendProps(StringBuilder src) {
-            return super.appendProps(src).append(", mCurrentValue=").append(mCurrentValue)
-                    .append(", description=").append(description);
+            return super.appendProps(src).append(", mCurrentValue=").append(mCurrentValue);
         }
     }