package com.pr0gramm.app.services.config;

import android.support.annotation.Keep;

import org.immutables.gson.Gson;
import org.immutables.value.Value;

/**
 */
@Value.Immutable
@Gson.TypeAdapters
public abstract class Config {
    @Value.Default
    public boolean extraCategories() {
        return true;
    }

    @Value.Default
    public long maxUploadSizeNormal() {
        return 6 * 1024 * 1024;
    }

    @Value.Default
    public long maxUploadSizePremium() {
        return 12 * 1024 * 1024;
    }

    @Value.Default
    public boolean searchUsingTagService() {
        return false;
    }

    @Value.Default
    public boolean secretSanta() {
        return false;
    }

    @Value.Default
    public AdType adType() {
        return AdType.NONE;
    }

    @Keep
    public enum AdType {
        NONE, FEED, MAIN;
    }
}

package com.pr0gramm.app.services.config;

import org.immutables.gson.Gson;
import org.immutables.value.Value;

/**
 */
@Value.Immutable
@Gson.TypeAdapters
public abstract class Config {
    @Value.Default
    public boolean extraCategories() {
        return true;
    }

    @Value.Default
    public long maxUploadSizeNormal() {
        return 6 * 1024 * 1024;
    }

    @Value.Default
    public long maxUploadSizePremium() {
        return 12 * 1024 * 1024;
    }

    @Value.Default
    public boolean searchUsingTagService() {
        return false;
    }

    @Value.Default
    public boolean secretSanta() {
        return false;
    }

    @Value.Default
    public AdType adType() {
        return AdType.NONE;
    }

    public enum AdType {
        NONE, FEED, MAIN;
    }
}

--- 
+++ 
@@ -1,4 +1,6 @@
 package com.pr0gramm.app.services.config;
+
+import android.support.annotation.Keep;
 
 import org.immutables.gson.Gson;
 import org.immutables.value.Value;
@@ -38,6 +40,7 @@
         return AdType.NONE;
     }
 
+    @Keep
     public enum AdType {
         NONE, FEED, MAIN;
     }
Add @Keep annotation to not over-optimize my enums!
