android-prefs icon indicating copy to clipboard operation
android-prefs copied to clipboard

[feature] Support custom annotations

Open wrozwad opened this issue 8 years ago • 0 comments

It'll be nice to support field annotations like IntDef annotations.

Eg. I want that this field

@Navigation.NavSection
@DefaultInt(Navigatory.DEFAULT_NAV_SECTION) //DEFAULT_NAV_SECTION == 666
Integer currentNavItem;

will generate

@Navigation.NavSection
public Integer getCurrentNavItem() {
    if (!contains("currentNavItem")) return 666; //btw - is this line necessary?
    return getInt("currentNavItem", 666);
}

public boolean containsCurrentNavItem() {
    return contains("currentNavItem");
}

public SharedPrefs putCurrentNavItem(@Navigation.NavSection Integer currentNavItem) {
    edit().putCurrentNavItem(currentNavItem).apply();
    return this;
}

public SharedPrefs removeCurrentNavItem() {
    edit().remove("currentNavItem").apply();
    return this;
}

wrozwad avatar Sep 13 '16 13:09 wrozwad