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

Commit 2bc9e139 authored by Android (Google) Code Review's avatar Android (Google) Code Review
Browse files

Merge change 841 into donut

* changes:
  TypedProperties: add getStringInfo() to help deal with null strings
parents 52a3cb53 4b0ebef1
Loading
Loading
Loading
Loading
+28 −0
Original line number Diff line number Diff line
@@ -683,4 +683,32 @@ public class TypedProperties extends HashMap<String, Object> {
    public String getString(String property) {
        return getString(property, "");
    }

    // Values returned by getStringInfo()
    public static final int STRING_TYPE_MISMATCH = -2;
    public static final int STRING_NOT_SET = -1;
    public static final int STRING_NULL = 0;
    public static final int STRING_SET = 1;

    /**
     * Provides string type information about a property.
     *
     * @param property the property to check
     * @return STRING_SET if the property is a string and is non-null.
     *         STRING_NULL if the property is a string and is null.
     *         STRING_NOT_SET if the property is not set (no type or value).
     *         STRING_TYPE_MISMATCH if the property is set but is not a string.
     */
    public int getStringInfo(String property) {
        Object value = super.get(property);
        if (value == null) {
            return STRING_NOT_SET;
        }
        if (value == NULL_STRING) {
            return STRING_NULL;
        } else if (value instanceof String) {
            return STRING_SET;
        }
        return STRING_TYPE_MISMATCH;
    }
}