diff --git a/android/src/main/java/com/facebook/flipper/plugins/inspector/InspectorValue.java b/android/src/main/java/com/facebook/flipper/plugins/inspector/InspectorValue.java index 0f6c66636..84b801ae0 100644 --- a/android/src/main/java/com/facebook/flipper/plugins/inspector/InspectorValue.java +++ b/android/src/main/java/com/facebook/flipper/plugins/inspector/InspectorValue.java @@ -9,6 +9,7 @@ package com.facebook.flipper.plugins.inspector; import com.facebook.flipper.core.FlipperObject; import com.facebook.flipper.core.FlipperValue; +import java.util.Set; public class InspectorValue implements FlipperValue { @@ -28,6 +29,7 @@ public class InspectorValue implements FlipperValue { public static final Type Boolean = new Type<>("boolean"); public static final Type Enum = new Type<>("enum"); public static final Type Color = new Type<>("color"); + public static final Type Picker = new Type<>("picker"); private final String mName; @@ -75,4 +77,35 @@ public class InspectorValue implements FlipperValue { .put("value", mValue) .build(); } + + public static final class Picker { + public final Set values; + public final String selected; + + public Picker(Set values, String selected) { + this.values = values; + this.selected = selected; + } + + @Override + public String toString() { + // FIXME(festevezga) - Manually rolled json, #noragrets + StringBuilder b = new StringBuilder(); + b.append("{ \"values\": "); + b.append("["); + int i = values.size(); + for (String value : values) { + b.append('"').append(value).append('"'); + i--; + if (i != 0) { + b.append(","); + } + } + b.append("]"); + b.append(", \"selected\": \""); + b.append(selected); + b.append("\"}"); + return b.toString(); + } + } }