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

Commit dc1c7737 authored by Dave Mankoff's avatar Dave Mankoff Committed by Automerger Merge Worker
Browse files

Merge changes from topic "b279054964-flag-api-udc-qpr-dev" into udc-qpr-dev am: 44f28146

parents f1537f53 44f28146
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -43,4 +43,10 @@ public class BooleanFlag extends BooleanFlagBase {
    public Boolean getDefault() {
        return mDefault;
    }

    @Override
    public BooleanFlag defineMetaData(String label, String description, String categoryName) {
        super.defineMetaData(label, description, categoryName);
        return this;
    }
}
+28 −0
Original line number Diff line number Diff line
@@ -22,6 +22,9 @@ abstract class BooleanFlagBase implements Flag<Boolean> {

    private final String mNamespace;
    private final String mName;
    private String mLabel;
    private String mDescription;
    private String mCategoryName;

    /**
     * @param namespace A namespace for this flag. See {@link android.provider.DeviceConfig}.
@@ -30,6 +33,7 @@ abstract class BooleanFlagBase implements Flag<Boolean> {
    BooleanFlagBase(String namespace, String name) {
        mNamespace = namespace;
        mName = name;
        mLabel = name;
    }

    public abstract Boolean getDefault();
@@ -46,6 +50,30 @@ abstract class BooleanFlagBase implements Flag<Boolean> {
        return mName;
    }

    @Override
    public BooleanFlagBase defineMetaData(String label, String description, String categoryName) {
        mLabel = label;
        mDescription = description;
        mCategoryName = categoryName;
        return this;
    }

    @Override
    @NonNull
    public String getLabel() {
        return mLabel;
    }

    @Override
    public String getDescription() {
        return mDescription;
    }

    @Override
    public String getCategoryName() {
        return mCategoryName;
    }

    @Override
    @NonNull
    public String toString() {
+6 −0
Original line number Diff line number Diff line
@@ -41,4 +41,10 @@ public class DynamicBooleanFlag extends BooleanFlagBase implements DynamicFlag<B
    public Boolean getDefault() {
        return mDefault;
    }

    @Override
    public DynamicBooleanFlag defineMetaData(String label, String description, String categoryName) {
        super.defineMetaData(label, description, categoryName);
        return this;
    }
}
+37 −0
Original line number Diff line number Diff line
@@ -42,4 +42,41 @@ public interface Flag<T> {
    default boolean isDynamic() {
        return false;
    }

    /**
     * Add human-readable details to the flag. Flag client's are not required to set this.
     *
     * See {@link #getLabel()}, {@link #getDescription()}, and {@link #getCategoryName()}.
     *
     * @return Returns `this`, to make a fluent api.
     */
    Flag<T> defineMetaData(String label, String description, String categoryName);

    /**
     * A human-readable name for the flag. Defaults to {@link #getName()}
     *
     * See {@link #defineMetaData(String, String, String)}
     */
    @NonNull
    default String getLabel() {
        return getName();
    }

    /**
     * A human-readable description for the flag. Defaults to null if unset.
     *
     * See {@link #defineMetaData(String, String, String)}
     */
    default String getDescription() {
        return null;
    }

    /**
     * A human-readable category name for the flag. Defaults to null if unset.
     *
     * See {@link #defineMetaData(String, String, String)}
     */
    default String getCategoryName() {
        return null;
    }
}
+6 −0
Original line number Diff line number Diff line
@@ -40,4 +40,10 @@ public final class FusedOffFlag extends BooleanFlagBase {
    public Boolean getDefault() {
        return false;
    }

    @Override
    public FusedOffFlag defineMetaData(String label, String description, String categoryName) {
        super.defineMetaData(label, description, categoryName);
        return this;
    }
}
Loading