⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 vcalparser.java

📁 goolge phone 目前没有开放的android 平台的源码
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
        ret = parseString(offset, "=", true);
        if(-1 != ret)
        {
            if(!flag)
                return -1;
            offset += ret;
            sum += ret;
        } else
        if(flag)
            return -1;
        ret = removeWs(offset);
        offset += ret;
        sum += ret;
        start = offset;
        ret = parsePValueVal(offset);
        if(-1 == ret)
            return -1;
        offset += ret;
        sum += ret;
        if(mBuilder != null)
            mBuilder.propertyParamValue(mBuffer.substring(start, offset));
        return sum;
    }

    private int parseParam2(int offset)
    {
        int ret = 0;
        int sum = 0;
        int start = offset;
        boolean flag = false;
        ret = parseString(offset, "ENCODING", true);
        if(-1 != ret)
        {
            offset += ret;
            sum += ret;
            flag = true;
        }
        if(flag && mBuilder != null)
            mBuilder.propertyParamType(mBuffer.substring(start, offset));
        ret = removeWs(offset);
        offset += ret;
        sum += ret;
        ret = parseString(offset, "=", true);
        if(-1 != ret)
        {
            if(!flag)
                return -1;
            offset += ret;
            sum += ret;
        } else
        if(flag)
            return -1;
        ret = removeWs(offset);
        offset += ret;
        sum += ret;
        start = offset;
        ret = parsePEncodingVal(offset);
        if(-1 == ret)
            return -1;
        offset += ret;
        sum += ret;
        if(mBuilder != null)
            mBuilder.propertyParamValue(mBuffer.substring(start, offset));
        return sum;
    }

    private int parseParam3(int offset)
    {
        int ret = 0;
        int sum = 0;
        int start = offset;
        ret = parseString(offset, "CHARSET", true);
        if(-1 == ret)
            return -1;
        offset += ret;
        sum += ret;
        if(mBuilder != null)
            mBuilder.propertyParamType(mBuffer.substring(start, offset));
        ret = removeWs(offset);
        offset += ret;
        sum += ret;
        ret = parseString(offset, "=", true);
        if(-1 == ret)
            return -1;
        offset += ret;
        sum += ret;
        ret = removeWs(offset);
        offset += ret;
        sum += ret;
        start = offset;
        ret = parseCharsetVal(offset);
        if(-1 == ret)
            return -1;
        offset += ret;
        sum += ret;
        if(mBuilder != null)
            mBuilder.propertyParamValue(mBuffer.substring(start, offset));
        return sum;
    }

    private int parseParam4(int offset)
    {
        int ret = 0;
        int sum = 0;
        int start = offset;
        ret = parseString(offset, "LANGUAGE", true);
        if(-1 == ret)
            return -1;
        offset += ret;
        sum += ret;
        if(mBuilder != null)
            mBuilder.propertyParamType(mBuffer.substring(start, offset));
        ret = removeWs(offset);
        offset += ret;
        sum += ret;
        ret = parseString(offset, "=", true);
        if(-1 == ret)
            return -1;
        offset += ret;
        sum += ret;
        ret = removeWs(offset);
        offset += ret;
        sum += ret;
        start = offset;
        ret = parseLangVal(offset);
        if(-1 == ret)
            return -1;
        offset += ret;
        sum += ret;
        if(mBuilder != null)
            mBuilder.propertyParamValue(mBuffer.substring(start, offset));
        return sum;
    }

    private int parseParam5(int offset)
    {
        int ret = 0;
        int sum = 0;
        int start = offset;
        ret = parseString(offset, "ROLE", true);
        if(-1 == ret)
            return -1;
        offset += ret;
        sum += ret;
        if(mBuilder != null)
            mBuilder.propertyParamType(mBuffer.substring(start, offset));
        ret = removeWs(offset);
        offset += ret;
        sum += ret;
        ret = parseString(offset, "=", true);
        if(-1 == ret)
            return -1;
        offset += ret;
        sum += ret;
        ret = removeWs(offset);
        offset += ret;
        sum += ret;
        start = offset;
        ret = parseRoleVal(offset);
        if(-1 == ret)
            return -1;
        offset += ret;
        sum += ret;
        if(mBuilder != null)
            mBuilder.propertyParamValue(mBuffer.substring(start, offset));
        return sum;
    }

    private int parseParam6(int offset)
    {
        int ret = 0;
        int sum = 0;
        int start = offset;
        ret = parseString(offset, "STATUS", true);
        if(-1 == ret)
            return -1;
        offset += ret;
        sum += ret;
        if(mBuilder != null)
            mBuilder.propertyParamType(mBuffer.substring(start, offset));
        ret = removeWs(offset);
        offset += ret;
        sum += ret;
        ret = parseString(offset, "=", true);
        if(-1 == ret)
            return -1;
        offset += ret;
        sum += ret;
        ret = removeWs(offset);
        offset += ret;
        sum += ret;
        start = offset;
        ret = parseStatuVal(offset);
        if(-1 == ret)
            return -1;
        offset += ret;
        sum += ret;
        if(mBuilder != null)
            mBuilder.propertyParamValue(mBuffer.substring(start, offset));
        return sum;
    }

    private int parseParam7(int offset)
    {
        int ret = 0;
        int sum = 0;
        int start = offset;
        ret = parseXWord(offset);
        if(-1 == ret)
            return -1;
        offset += ret;
        sum += ret;
        if(mBuilder != null)
            mBuilder.propertyParamType(mBuffer.substring(start, offset));
        ret = removeWs(offset);
        offset += ret;
        sum += ret;
        ret = parseString(offset, "=", true);
        if(-1 == ret)
            return -1;
        offset += ret;
        sum += ret;
        ret = removeWs(offset);
        offset += ret;
        sum += ret;
        start = offset;
        ret = parseWord(offset);
        if(-1 == ret)
            return -1;
        offset += ret;
        sum += ret;
        if(mBuilder != null)
            mBuilder.propertyParamValue(mBuffer.substring(start, offset));
        return sum;
    }

    private int parseKnownType(int offset)
    {
        int ret = 0;
        ret = parseString(offset, "WAVE", true);
        if(-1 != ret)
            return ret;
        ret = parseString(offset, "PCM", true);
        if(-1 != ret)
            return ret;
        ret = parseString(offset, "VCARD", true);
        if(-1 != ret)
            return ret;
        ret = parseXWord(offset);
        if(-1 != ret)
            return ret;
        else
            return -1;
    }

    private int parsePtypeval(int offset)
    {
        int ret = 0;
        ret = parseKnownType(offset);
        if(-1 != ret)
            return ret;
        ret = parseXWord(offset);
        if(-1 != ret)
            return ret;
        else
            return -1;
    }

    private int parseRoleVal(int offset)
    {
        int ret = 0;
        ret = parseString(offset, "ATTENDEE", true);
        if(-1 != ret)
            return ret;
        ret = parseString(offset, "ORGANIZER", true);
        if(-1 != ret)
            return ret;
        ret = parseString(offset, "OWNER", true);
        if(-1 != ret)
            return ret;
        ret = parseXWord(offset);
        if(-1 != ret)
            return ret;
        else
            return -1;
    }

    private int parseStatuVal(int offset)
    {
        int ret = 0;
        ret = parseString(offset, "ACCEPTED", true);
        if(-1 != ret)
            return ret;
        ret = parseString(offset, "NEED ACTION", true);
        if(-1 != ret)
            return ret;
        ret = parseString(offset, "TENTATIVE", true);
        if(-1 != ret)
            return ret;
        ret = parseString(offset, "CONFIRMED", true);
        if(-1 != ret)
            return ret;
        ret = parseString(offset, "DECLINED", true);
        if(-1 != ret)
            return ret;
        ret = parseString(offset, "COMPLETED", true);
        if(-1 != ret)
            return ret;
        ret = parseString(offset, "DELEGATED", true);
        if(-1 != ret)
            return ret;
        ret = parseXWord(offset);
        if(-1 != ret)
            return ret;
        else
            return -1;
    }

    private int valueFilter(String propName, ArrayList values)
    {
label0:
        {
            if(propName == null || propName.equals("") || values == null || values.isEmpty())
                return 1;
            if(!mSpecialValueSetMap.containsKey(propName))
                break label0;
            Iterator i$ = values.iterator();
            String value;
            do
            {
                if(!i$.hasNext())
                    break label0;
                value = (String)i$.next();
            } while(((HashSet)mSpecialValueSetMap.get(propName)).contains(value) || value.startsWith("X-"));
            return -1;
        }
        return 1;
    }

    private String exportEntpropValue(String propName, String str)
    {
        if(null == propName || null == str)
            return null;
        if("".equals(propName) || "".equals(str))
            return "";
        if(!mEscAllowedProps.contains(propName))
        {
            return str;
        } else
        {
            String tmp = str.replace("\\\\", "\n\r\n");
            tmp = tmp.replace("\\;", ";");
            tmp = tmp.replace("\\:", ":");
            tmp = tmp.replace("\\,", ",");
            tmp = tmp.replace("\n\r\n", "\\");
            return tmp;
        }
    }

    private static final HashSet mEvtPropNameGroup1 = new HashSet(Arrays.asList(new String[] {
        "ATTACH", "ATTENDEE", "DCREATED", "COMPLETED", "DESCRIPTION", "DUE", "DTEND", "EXRULE", "LAST-MODIFIED", "LOCATION", 
        "RNUM", "PRIORITY", "RELATED-TO", "RRULE", "SEQUENCE", "DTSTART", "SUMMARY", "TRANSP", "URL", "UID", 
        "CLASS", "STATUS"
    }));
    private static final HashSet mEvtPropNameGroup2 = new HashSet(Arrays.asList(new String[] {
        "AALARM", "CATEGORIES", "DALARM", "EXDATE", "MALARM", "PALARM", "RDATE", "RESOURCES"
    }));
    private static final HashSet mValueCAT;
    private static final HashSet mValueCLASS;
    private static final HashSet mValueRES;
    private static final HashSet mValueSTAT;
    private static final HashSet mEscAllowedProps = new HashSet(Arrays.asList(new String[] {
        "DESCRIPTION", "SUMMARY", "AALARM", "DALARM", "MALARM", "PALARM"
    }));
    private static final HashMap mSpecialValueSetMap;

    static 
    {
        mValueCAT = new HashSet(Arrays.asList(new String[] {
            "APPOINTMENT", "BUSINESS", "EDUCATION", "HOLIDAY", "MEETING", "MISCELLANEOUS", "PERSONAL", "PHONE CALL", "SICK DAY", "SPECIAL OCCASION", 
            "TRAVEL", "VACATION"
        }));
        mValueCLASS = new HashSet(Arrays.asList(new String[] {
            "PUBLIC", "PRIVATE", "CONFIDENTIAL"
        }));
        mValueRES = new HashSet(Arrays.asList(new String[] {
            "CATERING", "CHAIRS", "EASEL", "PROJECTOR", "VCR", "VEHICLE"
        }));
        mValueSTAT = new HashSet(Arrays.asList(new String[] {
            "ACCEPTED", "NEEDS ACTION", "SENT", "TENTATIVE", "CONFIRMED", "DECLINED", "COMPLETED", "DELEGATED"
        }));
        mSpecialValueSetMap = new HashMap();
        mSpecialValueSetMap.put("CATEGORIES", mValueCAT);
        mSpecialValueSetMap.put("CLASS", mValueCLASS);
        mSpecialValueSetMap.put("RESOURCES", mValueRES);
        mSpecialValueSetMap.put("STATUS", mValueSTAT);
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -