/*
 * Copyright (c) 2015. Ncomz. All Rights Reserved
 */

package com.ntels.kneet.v3.common.gcm.service;

import android.content.Context;

import com.ntels.kneet.v3.common.gcm.support.BaseDefaultSharedPreferences;
public class GcmSharedPreferences extends BaseDefaultSharedPreferences {
    private static final String PROPERTY_REG_ID                     = "registration_id";
    private static final String PROPERTY_PUSH_DATE_ID               = "push_date";
    private static final String PROPERTY_THIS_MONTH_PUSH_RECEIVE_ID = "this_month_push_receive";
    private static final String PROPERTY_TERM_ID                    = "term_id";
    private static final String PROPERTY_UN_REG_YN                  = "un_reg_yn";

    public GcmSharedPreferences(Context $context) {
        super($context);
    }

    /**
     * <pre>
     * SharedPreferences에 GCM 등록 ID 저장
     * </pre>
     *
     * @param reg_id
     * @return void
     * @author Sangtae
     * @since 2014. 3. 8. 오후 3:05:46
     */
    public void setRegistrationID(String reg_id) {

        put(PROPERTY_REG_ID, reg_id);
    }

    /**
     * <pre>
     * SharedPreferences에 저장된 GCM 등록 ID 가져오기
     * </pre>
     *
     * @return String
     * @author Sangtae
     * @since 2014. 3. 8. 오후 3:06:51
     */
    public String getRegistrationID() {

        return get(PROPERTY_REG_ID);
    }

    /**
     * <pre>
     * GCM 등록 ID 존재 여부 확인
     * </pre>
     *
     * @return Boolean
     * @author Sangtae
     * @since 2014. 4. 11. 오전 10:04:37
     */
    public Boolean isRegistrationID() {

        if ( getRegistrationID() != null && getRegistrationID().length() > 0 ) {
            return true;
        } else {
            return false;
        }
    }

    /**
     * <pre>
     * 당월 PUsh 수신 일 저장
     * </pre>
     *
     * @param Date
     * @return void
     * @author Sangtae
     * @since 2014. 5. 15. 오전 11:13:25
     */
    public void setPushDate(String Date) {

        put(PROPERTY_PUSH_DATE_ID, Date);
    }

    /**
     * <pre>
     * 당월 Push 수신 일 반환 (Day 만 전달함)
     * </pre>
     *
     * @return String
     * @author Sangtae
     * @since 2014. 5. 15. 오전 11:12:14
     */
    public String getPushDate() {

        return get(PROPERTY_PUSH_DATE_ID);
    }

    /**
     * <pre>
     * 당월 Push 수신 여부 체크
     * </pre>
     *
     * @param Check
     * @return void
     * @author Sangtae
     * @since 2014. 5. 15. 오전 11:11:42
     */
    public void setThisMonthPushReceive(Boolean Check) {

        put(PROPERTY_THIS_MONTH_PUSH_RECEIVE_ID, Check);
    }

    /**
     * <pre>
     * 당월 Push 수신 여부 확인
     * </pre>
     *
     * @return void
     * @author Sangtae
     * @since 2014. 5. 15. 오전 11:11:57
     */
    public void isThisMonthPush() {

        get(PROPERTY_THIS_MONTH_PUSH_RECEIVE_ID, false);
    }

    public void setTermID(String term_id) {

        put(PROPERTY_TERM_ID, term_id);
    }

    public String getTermID() {

        return get(PROPERTY_TERM_ID);
    }

    public void setUnRegYN(String UnRegYN) {

        put(PROPERTY_UN_REG_YN, UnRegYN);
    }

    public String getUnRegYN() {

        return get(PROPERTY_UN_REG_YN);
    }

}
