package com.datarecovery.master.module.homepage;

import androidx.annotation.DrawableRes;
import androidx.annotation.IntDef;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

public class FunctionBean {

    public static final int IMG_RECOVERY = 1;
    public static final int FILE_RECOVERY = 2;
    public static final int VIDEO_RECOVERY = 3;
    public static final int AUDIO_RECOVERY = 4;
    public static final int IMG_CLEARING = 5;
    public static final int BACKUP_HELPER = 6;

    private final int functionId;
    private final String functionName;
    private final String functionDesc;
    @DrawableRes
    private final int functionIcon;
    @DrawableRes
    private final int functionBg;

    public FunctionBean(@FunctionId int functionId, String functionName, String functionDesc, int functionIcon, int functionBg) {
        this.functionId = functionId;
        this.functionName = functionName;
        this.functionDesc = functionDesc;
        this.functionIcon = functionIcon;
        this.functionBg = functionBg;
    }

    @FunctionId
    public int getFunctionId() {
        return functionId;
    }

    public String getFunctionName() {
        return functionName;
    }

    public String getFunctionDesc() {
        return functionDesc;
    }

    public int getFunctionIcon() {
        return functionIcon;
    }

    public int getFunctionBg() {
        return functionBg;
    }

    @IntDef({IMG_RECOVERY, FILE_RECOVERY, VIDEO_RECOVERY, AUDIO_RECOVERY, IMG_CLEARING, BACKUP_HELPER})
    @Retention(RetentionPolicy.SOURCE)
    public @interface FunctionId {
    }
}
