package com.abbidot.baselibrary.constant

import androidx.annotation.StringDef

/**
 * 存储SharedPreferences的key，枚举常量
 */
@StringDef(
    MMKVKey.UserId,
    MMKVKey.Email,
    MMKVKey.UserName,
    MMKVKey.HeadUrl,
    MMKVKey.Phone,
    MMKVKey.Location,
    MMKVKey.Gender,
    MMKVKey.BirthdayDate,
    MMKVKey.PetSelectPosition,
    MMKVKey.Token,
    MMKVKey.LineSelectPosition,
    MMKVKey.isBindDevice,
    MMKVKey.isBindPet,
    MMKVKey.DebugIp,
    MMKVKey.FirstOpen,
    MMKVKey.FirstDeviceId,
    MMKVKey.FirstDeviceOutId,
    MMKVKey.FirstDeviceMac,
    MMKVKey.HeightUnit,
    MMKVKey.WeightUnit,
    MMKVKey.MeasureUnit,
    MMKVKey.ActivityGoal,
    MMKVKey.CountryCode,
    MMKVKey.MapShowDefaultLat,
    MMKVKey.MapShowDefaultLon,
    MMKVKey.MealType,
    MMKVKey.isExistNewInvite,
    MMKVKey.OnlyGoogleMap,
    MMKVKey.isGpsToGCJ02,
    MMKVKey.MapType,
    MMKVKey.ShowFence,
    MMKVKey.ShowDashedLine,
    MMKVKey.isCrash,
    MMKVKey.AvailableOrder,
    MMKVKey.isFirstCheckBleOpen,
    MMKVKey.Shared
)
@Retention(AnnotationRetention.SOURCE)
annotation class MMKVKey {
    companion object {
        //        const val SPName = "abbidot_sp"
        const val UserId = "userId"
        const val Token = "token"
        const val UserName = "username"
        const val Email = "email"
        const val HeadUrl = "imgurl"
        const val isBindDevice = "isBindDevice"
        const val isBindPet = "isBindPet"
        const val isExistNewInvite = "isExistNewInvite"
        const val Phone = "phone"
        const val ActivityGoal = "activityGoal"
        const val Location = "location"
        const val Gender = "gender"
        const val BirthdayDate = "birthdayDate"
        const val CountryCode = "countryCode"

        //首次绑定流程
        const val FirstDeviceId = "firstDeviceId"
        const val FirstDeviceOutId = "firstDeviceOutId"
        const val FirstDeviceMac = "firstDeviceMac"
        const val HeightUnit = "heightUnit"
        const val WeightUnit = "weightUnit"

        //1:Imperial 2:Metric
        const val MeasureUnit = "measureUnit"

        //保存首页弹窗选中的宠物下标
        const val PetSelectPosition = "petSelectPosition"

        //保存历史记录展示线还是点的类型
        const val LineSelectPosition = "lineSelectPosition"

        //国内外服务器端口切换
        const val DebugIp = "debugIp"

        //只使用谷歌地图
        const val OnlyGoogleMap = "onlyGoogleMap"
        //是否gps坐标转换火星坐标
        const val isGpsToGCJ02 = "gpsToGCJ02"
        const val MapShowDefaultLat = "mapDefaultLat"
        const val MapShowDefaultLon = "mapDefaultLon"

        //地图模式类型
        const val MapType = "mapType"

        //map页是否显示围栏
        const val ShowFence = "isShowFence"
        const val ShowDashedLine = "isShowDashedLine"

        //是首次打开APP
        const val FirstOpen = "firstOpen"

        //套餐类型
        const val MealType = "mealType"

        //套餐是否可用
        const val AvailableOrder = "availableOrder"

        //是否分享的
        const val Shared = "shared"
        const val isCrash = "isCrash"

        //首次检查蓝牙是否开关
        const val isFirstCheckBleOpen = "isFirstCheckBleOpen"
    }
}
