private Set<String> getIcons() { // Set<String> iconSet = new TreeSet<>(); // 字母顺序 Set<String> iconSet = new LinkedHashSet<>(); // 录入顺序 XmlResourceParser parser = getResources().getXml(R.xml.drawable); try { int event = parser.getEventType(); while (event != XmlPullParser.END_DOCUMENT) { if (event == XmlPullParser.START_TAG) { if (!"item".equals(parser.getName())) { event = parser.next(); continue; } iconSet.add(parser.getAttributeValue(null, "drawable")); } event = parser.next(); } } catch (Exception e) { e.printStackTrace(); } return iconSet; }
private void generateServicesMap(List<ResolveInfo> services, Map<String, AuthenticatorInfo> map, IAccountParser accountParser) { for (ResolveInfo info : services) { XmlResourceParser parser = accountParser.getParser(mContext, info.serviceInfo, AccountManager.AUTHENTICATOR_META_DATA_NAME); if (parser != null) { try { AttributeSet attributeSet = Xml.asAttributeSet(parser); int type; while ((type = parser.next()) != XmlPullParser.END_DOCUMENT && type != XmlPullParser.START_TAG) { // Nothing to do } if (AccountManager.AUTHENTICATOR_ATTRIBUTES_NAME.equals(parser.getName())) { AuthenticatorDescription desc = parseAuthenticatorDescription( accountParser.getResources(mContext, info.serviceInfo.applicationInfo), info.serviceInfo.packageName, attributeSet); if (desc != null) { map.put(desc.type, new AuthenticatorInfo(desc, info.serviceInfo)); } } } catch (Exception e) { e.printStackTrace(); } } } }
public KeyboardRow(final Resources res, final KeyboardParams params, final XmlPullParser parser, final int y) { mParams = params; final TypedArray keyboardAttr = res.obtainAttributes(Xml.asAttributeSet(parser), R.styleable.Keyboard); mRowHeight = (int)ResourceUtils.getDimensionOrFraction(keyboardAttr, R.styleable.Keyboard_rowHeight, params.mBaseHeight, params.mDefaultRowHeight); keyboardAttr.recycle(); final TypedArray keyAttr = res.obtainAttributes(Xml.asAttributeSet(parser), R.styleable.Keyboard_Key); mRowAttributesStack.push(new RowAttributes( keyAttr, params.mDefaultKeyWidth, params.mBaseWidth)); keyAttr.recycle(); mCurrentY = y; mCurrentX = 0.0f; }
private boolean init(@NonNull Resources resources) { try { XmlResourceParser parser = resources.getXml(R.xml.appfilter); int event = parser.getEventType(); while (event != XmlPullParser.END_DOCUMENT) { if (event == XmlPullParser.START_TAG) { if (!"item".equals(parser.getName())) { event = parser.next(); continue; } String drawable = parser.getAttributeValue(null, "drawable"); if (TextUtils.isEmpty(drawable)) { event = parser.next(); continue; } String component = parser.getAttributeValue(null, "component"); if (TextUtils.isEmpty(component)) { event = parser.next(); continue; } Matcher matcher = componentPattern.matcher(component); if (!matcher.matches()) { event = parser.next(); continue; } dataList.add(new Bean(matcher.group(1), matcher.group(2), drawable)); } event = parser.next(); } return true; } catch (Exception e) { e.printStackTrace(); } return false; }
private static ImportedServer parseServerSettings(XmlPullParser xpp, String endTag) throws XmlPullParserException, IOException { ImportedServer server = new ImportedServer(); server.type = xpp.getAttributeValue(null, SettingsExporter.TYPE_ATTRIBUTE); int eventType = xpp.next(); while (!(eventType == XmlPullParser.END_TAG && endTag.equals(xpp.getName()))) { if (eventType == XmlPullParser.START_TAG) { String element = xpp.getName(); if (SettingsExporter.HOST_ELEMENT.equals(element)) { server.host = getText(xpp); } else if (SettingsExporter.PORT_ELEMENT.equals(element)) { server.port = getText(xpp); } else if (SettingsExporter.CONNECTION_SECURITY_ELEMENT.equals(element)) { server.connectionSecurity = getText(xpp); } else if (SettingsExporter.AUTHENTICATION_TYPE_ELEMENT.equals(element)) { String text = getText(xpp); server.authenticationType = AuthType.valueOf(text); } else if (SettingsExporter.USERNAME_ELEMENT.equals(element)) { server.username = getText(xpp); } else if (SettingsExporter.CLIENT_CERTIFICATE_ALIAS_ELEMENT.equals(element)) { server.clientCertificateAlias = getText(xpp); } else if (SettingsExporter.PASSWORD_ELEMENT.equals(element)) { server.password = getText(xpp); } else if (SettingsExporter.EXTRA_ELEMENT.equals(element)) { server.extras = parseSettings(xpp, SettingsExporter.EXTRA_ELEMENT); } else { Timber.w("Unexpected start tag: %s", xpp.getName()); } } eventType = xpp.next(); } return server; }
private static List<ImportedFolder> parseFolders(XmlPullParser xpp) throws XmlPullParserException, IOException { List<ImportedFolder> folders = null; int eventType = xpp.next(); while (!(eventType == XmlPullParser.END_TAG && SettingsExporter.FOLDERS_ELEMENT.equals(xpp.getName()))) { if (eventType == XmlPullParser.START_TAG) { String element = xpp.getName(); if (SettingsExporter.FOLDER_ELEMENT.equals(element)) { if (folders == null) { folders = new ArrayList<>(); } ImportedFolder folder = parseFolder(xpp); folders.add(folder); } else { Timber.w("Unexpected start tag: %s", xpp.getName()); } } eventType = xpp.next(); } return folders; }
private static String f(XmlPullParser xmlPullParser) { String str = ""; int depth = xmlPullParser.getDepth(); while (true) { if (xmlPullParser.next() == 3 && xmlPullParser.getDepth() == depth) { return str; } str = str + xmlPullParser.getText(); } }
/*** * Public method that read information about theme settings from XML file * @param parser the current parser used to parse the XML file * @return ThemeSetting contains loaded settings * @throws XmlPullParserException * @throws IOException */ private ThemeSetting readThemeSetting(XmlPullParser parser) throws XmlPullParserException, IOException { parser.require(XmlPullParser.START_TAG, null, "themesetting"); ArrayMap<String, String> newValues = new ArrayMap<>(); while (parser.next() != XmlPullParser.END_TAG) { if (parser.getEventType() != XmlPullParser.START_TAG) { continue; } String name = parser.getName(); if (name.equals("font")) { newValues.put("font", readText(parser)); } else if (name.equals("palette")) { newValues.put("palette", readText(parser)); } else if (name.equals("highlight")) { newValues.put("highlight", readText(parser)); } } ThemeSetting themesetting = new ThemeSetting(); themesetting.changeSetting(newValues); return themesetting; }
/** * Parses the layout and returns the number of elements added on the homescreen. */ protected int parseLayout(int layoutId, ArrayList<Long> screenIds) throws XmlPullParserException, IOException { XmlResourceParser parser = mSourceRes.getXml(layoutId); beginDocument(parser, mRootTag); final int depth = parser.getDepth(); int type; HashMap<String, TagParser> tagParserMap = getLayoutElementsMap(); int count = 0; while (((type = parser.next()) != XmlPullParser.END_TAG || parser.getDepth() > depth) && type != XmlPullParser.END_DOCUMENT) { if (type != XmlPullParser.START_TAG) { continue; } count += parseAndAddNode(parser, tagParserMap, screenIds); } return count; }
private void parseKeyboardLayoutSetElement(final XmlPullParser parser) throws XmlPullParserException, IOException { final TypedArray a = mResources.obtainAttributes(Xml.asAttributeSet(parser), R.styleable.KeyboardLayoutSet_Element); try { XmlParseUtils.checkAttributeExists(a, R.styleable.KeyboardLayoutSet_Element_elementName, "elementName", TAG_ELEMENT, parser); XmlParseUtils.checkAttributeExists(a, R.styleable.KeyboardLayoutSet_Element_elementKeyboard, "elementKeyboard", TAG_ELEMENT, parser); XmlParseUtils.checkEndTag(TAG_ELEMENT, parser); final ElementParams elementParams = new ElementParams(); final int elementName = a.getInt( R.styleable.KeyboardLayoutSet_Element_elementName, 0); elementParams.mKeyboardXmlId = a.getResourceId( R.styleable.KeyboardLayoutSet_Element_elementKeyboard, 0); elementParams.mAllowRedundantMoreKeys = a.getBoolean( R.styleable.KeyboardLayoutSet_Element_allowRedundantMoreKeys, true); mParams.mKeyboardLayoutSetElementIdToParamsMap.put(elementName, elementParams); } finally { a.recycle(); } }
private List<Features> readFeatures(XmlPullParser parser) throws XmlPullParserException { final List<Features> result = new ArrayList<>(); try { parser.require(XmlPullParser.START_TAG, null, FEATURES); while(parser.next() != XmlPullParser.END_TAG){ if(parser.getEventType() != XmlPullParser.START_TAG){ continue; } String name = parser.getName(); if (name.equals(FEATURES)) { result.add(Features.valueOf(readText(parser))); } } } catch (IOException e) { e.printStackTrace(); } return result; }
private static void skip(final XmlPullParser parser) throws XmlPullParserException, IOException { if (parser.getEventType() != XmlPullParser.START_TAG) { throw new IllegalStateException(); } int depth = 1; while (depth != 0) { switch (parser.next()) { case XmlPullParser.END_TAG: depth--; break; case XmlPullParser.START_TAG: depth++; break; default: break; } } }
/** * Processes the task required in the grammar to the given tag type * * @param container the DSML container * @param tagType the tag type * @throws XmlPullParserException when an error occurs during the parsing */ private static void processTag( Dsmlv2Container container, int tagType ) throws XmlPullParserException { XmlPullParser xpp = container.getParser(); String tagName = Strings.lowerCase( xpp.getName() ); GrammarTransition transition = container.getTransition( container.getState(), new Tag( tagName, tagType ) ); if ( transition != null ) { container.setState( transition.getNextState() ); if ( transition.hasAction() ) { transition.getAction().action( container ); } } else { throw new XmlPullParserException( I18n.err( I18n.ERR_03036, new Tag( tagName, tagType ) ), xpp, null ); } }
@Override public Filter newFilter(XmlPullParser parser) throws IOException, XmlPullParserException { String typeString = parser.getAttributeValue(null, ATTR_TYPE); if (typeString == null) { throw new XmlPullParserException("type attribute must be specified for <sender>", parser, null); } if (typeString.equals(VAL_SYSTEM)) { return SYSTEM; } else if (typeString.equals(VAL_SIGNATURE)) { return SIGNATURE; } else if (typeString.equals(VAL_SYSTEM_OR_SIGNATURE)) { return SYSTEM_OR_SIGNATURE; } else if (typeString.equals(VAL_USER_ID)) { return USER_ID; } throw new XmlPullParserException( "Invalid type attribute for <sender>: " + typeString, parser, null); }
private Response.PropStat readPropStat(XmlPullParser parser) throws IOException, XmlPullParserException { Response.PropStat propstat = new Response.PropStat(); parser.require(XmlPullParser.START_TAG, ns, "propstat"); android.util.Log.d("PARSE", "readPropStat"); while (parser.next() != XmlPullParser.END_TAG) { android.util.Log.d("PARSE", "3eventtype=" + parser.getEventType()); if (parser.getEventType() != XmlPullParser.START_TAG) { continue; } String name = parser.getName(); android.util.Log.d("PARSE", "3name=" + name); if (name.equals("prop")) { propstat.prop = readProp(parser); } else if (name.equals("status")) { propstat.status = readText(parser); } else { skip(parser); } } return propstat; }
/** * {@inheritDoc} */ @Override public void action( Dsmlv2Container container ) throws XmlPullParserException { SearchRequestDsml searchRequestDecorator = ( SearchRequestDsml ) container.getBatchRequest().getCurrentRequest(); XmlPullParser xpp = container.getParser(); OrFilter filter = new OrFilter(); // Adding the filter to the Search Filter try { searchRequestDecorator.addCurrentFilter( filter ); } catch ( DecoderException de ) { throw new XmlPullParserException( de.getMessage(), xpp, de ); } }
private void handleEndTag(XmlPullParser xml) { String strNode = xml.getName(); if (strNode.equals(Constants.TAG_FEATURE)) { if (TextUtils.equals(Constants.CATEGORY_MODULE, mCategory)) { mModules.put(mApi, new PluginEntry(mApi, mPluginClass, mOnLoad, Constants.CATEGORY_MODULE)); } else if (TextUtils.equals(Constants.CATEGORY_COMPONENT, mCategory)) { mComponents.put(mApi, new PluginEntry(mApi, mPluginClass, mOnLoad, Constants.CATEGORY_COMPONENT)); } mService = ""; mPluginClass = ""; mInsideFeature = false; mOnLoad = false; mCategory = Constants.CATEGORY_MODULE; mApi = ""; mParamType = ""; } }
private KeyboardRow parseRowAttributes(final XmlPullParser parser) throws XmlPullParserException { final AttributeSet attr = Xml.asAttributeSet(parser); final TypedArray keyboardAttr = mResources.obtainAttributes(attr, R.styleable.Keyboard); try { if (keyboardAttr.hasValue(R.styleable.Keyboard_horizontalGap)) { throw new XmlParseUtils.IllegalAttribute(parser, TAG_ROW, "horizontalGap"); } if (keyboardAttr.hasValue(R.styleable.Keyboard_verticalGap)) { throw new XmlParseUtils.IllegalAttribute(parser, TAG_ROW, "verticalGap"); } return new KeyboardRow(mResources, mParams, parser, mCurrentY); } finally { keyboardAttr.recycle(); } }
@NonNull ArrayList<RssItem> parse(String stream) { ArrayList<RssItem> items = null; try { XmlPullParser parser = Xml.newPullParser(); parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, false); parser.setInput(new StringReader(stream)); parser.nextTag(); parser.require(XmlPullParser.START_TAG, null, TAG_RSS); items = readFeed(parser); } catch (@NonNull XmlPullParserException | IOException e) { Log.w(e.getMessage(), e); } finally { if (items == null) { items = new ArrayList<>(); } } return items; }
public Gpx2Fit(String name, InputStream in, Gpx2FitOptions options) throws Exception { mGpx2FitOptions = options; XmlPullParserFactory factory = XmlPullParserFactory.newInstance(); factory.setNamespaceAware(true); XmlPullParser parser = factory.newPullParser(); //parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, false); courseName = name; BufferedInputStream inputStream = new BufferedInputStream(in); inputStream.mark(64000); //FileInputStream in = new FileInputStream(file); try { parser.setInput(inputStream, null); parser.nextTag(); readGPX(parser); inputStream.close(); return; } catch (Exception e) { ns = HTTP_WWW_TOPOGRAFIX_COM_GPX_1_0; Log.debug("Ex {}", e); } inputStream.reset(); try { parser.setInput(inputStream, null); parser.nextTag(); readGPX(parser); } finally { inputStream.close(); } }
public static String getRequiredAttributeValue(XmlPullParser var0, String var1, String var2) throws IOException, XmlPullParserException { String var3 = var0.getAttributeValue(var1, var2); if(var3 == null) { throw new XmlPullParserException("required attribute " + var2 + " is not present"); } else { return var3; } }
/** * reads a String value from xml tag * * @param parser * @return * @throws IOException * @throws XmlPullParserException */ private String readText(XmlPullParser parser) throws IOException, XmlPullParserException { String result = ""; if (parser.next() == XmlPullParser.TEXT) { result = parser.getText(); parser.nextTag(); } return result; }
public void inflate(Resources r, AttributeSet attrs, Theme theme, XmlPullParser parser) { if (TypedArrayUtils.hasAttribute(parser, "pathData")) { TypedArray a = VectorDrawableCommon.obtainAttributes(r, theme, attrs, AndroidResources.styleable_VectorDrawableClipPath); updateStateFromTypedArray(a); a.recycle(); } }
private String readTrkName(XmlPullParser parser) throws IOException, XmlPullParserException { parser.require(XmlPullParser.START_TAG, ns, "name"); String txt = readText(parser); if (txt.length() > 15) txt = txt.substring(0, 15); parser.require(XmlPullParser.END_TAG, ns, "name"); return txt; }
private static Map<String, ImportedAccount> parseAccounts(XmlPullParser xpp, List<String> accountUuids, boolean overview) throws XmlPullParserException, IOException { Map<String, ImportedAccount> accounts = null; int eventType = xpp.next(); while (!(eventType == XmlPullParser.END_TAG && SettingsExporter.ACCOUNTS_ELEMENT.equals(xpp.getName()))) { if (eventType == XmlPullParser.START_TAG) { String element = xpp.getName(); if (SettingsExporter.ACCOUNT_ELEMENT.equals(element)) { if (accounts == null) { accounts = new HashMap<>(); } ImportedAccount account = parseAccount(xpp, accountUuids, overview); if (account == null) { // Do nothing - parseAccount() already logged a message } else if (!accounts.containsKey(account.uuid)) { accounts.put(account.uuid, account); } else { Timber.w("Duplicate account entries with UUID %s. Ignoring!", account.uuid); } } else { Timber.w("Unexpected start tag: %s", xpp.getName()); } } eventType = xpp.next(); } return accounts; }
private String readText(@NonNull XmlPullParser parser) throws IOException, XmlPullParserException { String result = ""; if (parser.next() == XmlPullParser.TEXT) { result = parser.getText(); parser.nextTag(); } return result; }
protected final boolean parseBoolean(XmlPullParser parser, String key, boolean defaultValue) { String value = parser.getAttributeValue(null, key); if (value != null) { return Boolean.parseBoolean(value); } else { return defaultValue; } }
private void updateStateFromTypedArray(TypedArray a, XmlPullParser parser) throws XmlPullParserException { VectorDrawableCompatState state = this.mVectorState; VPathRenderer pathRenderer = state.mVPathRenderer; state.mTintMode = parseTintModeCompat(TypedArrayUtils.getNamedInt(a, parser, "tintMode", 6, -1), Mode.SRC_IN); ColorStateList tint = a.getColorStateList(1); if (tint != null) { state.mTint = tint; } state.mAutoMirrored = TypedArrayUtils.getNamedBoolean(a, parser, "autoMirrored", 5, state.mAutoMirrored); pathRenderer.mViewportWidth = TypedArrayUtils.getNamedFloat(a, parser, "viewportWidth", 7, pathRenderer.mViewportWidth); pathRenderer.mViewportHeight = TypedArrayUtils.getNamedFloat(a, parser, "viewportHeight", 8, pathRenderer.mViewportHeight); if (pathRenderer.mViewportWidth <= 0.0f) { throw new XmlPullParserException(a.getPositionDescription() + "<vector> tag requires viewportWidth > 0"); } else if (pathRenderer.mViewportHeight <= 0.0f) { throw new XmlPullParserException(a.getPositionDescription() + "<vector> tag requires viewportHeight > 0"); } else { pathRenderer.mBaseWidth = a.getDimension(3, pathRenderer.mBaseWidth); pathRenderer.mBaseHeight = a.getDimension(2, pathRenderer.mBaseHeight); if (pathRenderer.mBaseWidth <= 0.0f) { throw new XmlPullParserException(a.getPositionDescription() + "<vector> tag requires width > 0"); } else if (pathRenderer.mBaseHeight <= 0.0f) { throw new XmlPullParserException(a.getPositionDescription() + "<vector> tag requires height > 0"); } else { pathRenderer.setAlpha(TypedArrayUtils.getNamedFloat(a, parser, "alpha", 4, pathRenderer.getAlpha())); String name = a.getString(0); if (name != null) { pathRenderer.mRootName = name; pathRenderer.mVGTargetsMap.put(name, pathRenderer); } } } }
private boolean parseCase(final XmlPullParser parser, final KeyboardRow row, final boolean skip) throws XmlPullParserException, IOException { final boolean selected = parseCaseCondition(parser); if (row == null) { // Processing Rows. parseKeyboardContent(parser, !selected || skip); } else { // Processing Keys. parseRowContent(parser, row, !selected || skip); } return selected; }
private static void readString(XmlPullParser parser) throws IOException, XmlPullParserException { parser.require(XmlPullParser.START_TAG, null, "string"); String stringName = parser.getAttributeValue(null, "name"); String value = getInnerXml(parser); parser.require(XmlPullParser.END_TAG, null, "string"); mStrings.put(stringName, value.replace("\\n", "\n")); }
private void handleStartTag(XmlPullParser xml) { String strNode = xml.getName(); if (strNode.equals("preference")) { String name = xml.getAttributeValue(null, "name").toLowerCase(Locale.ENGLISH); String value = xml.getAttributeValue(null, "value"); prefs.set(name, value); } }
@Override public long parseAndAdd(XmlResourceParser parser) throws XmlPullParserException, IOException { final String packageName = getAttributeValue(parser, ATTR_PACKAGE_NAME); final String className = getAttributeValue(parser, ATTR_CLASS_NAME); if (TextUtils.isEmpty(packageName) || TextUtils.isEmpty(className)) { return -1; } mValues.put(Favorites.SPANX, getAttributeValue(parser, ATTR_SPAN_X)); mValues.put(Favorites.SPANY, getAttributeValue(parser, ATTR_SPAN_Y)); mValues.put(Favorites.ITEM_TYPE, Favorites.ITEM_TYPE_APPWIDGET); // Read the extras Bundle extras = new Bundle(); int widgetDepth = parser.getDepth(); int type; while ((type = parser.next()) != XmlPullParser.END_TAG || parser.getDepth() > widgetDepth) { if (type != XmlPullParser.START_TAG) { continue; } if (TAG_EXTRA.equals(parser.getName())) { String key = getAttributeValue(parser, ATTR_KEY); String value = getAttributeValue(parser, ATTR_VALUE); if (key != null && value != null) { extras.putString(key, value); } else { throw new RuntimeException("Widget extras must have a key and value"); } } else { throw new RuntimeException("Widgets can contain only extras"); } } return verifyAndInsert(new ComponentName(packageName, className), extras); }
public void handleStartTag(XmlPullParser xml) { String strNode = xml.getName(); if (strNode.equals("feature")) { //Check for supported feature sets aka. plugins (Accelerometer, Geolocation, etc) //Set the bit for reading params insideFeature = true; service = xml.getAttributeValue(null, "name"); } else if (insideFeature && strNode.equals("param")) { paramType = xml.getAttributeValue(null, "name"); if (paramType.equals("service")) // check if it is using the older service param service = xml.getAttributeValue(null, "value"); else if (paramType.equals("package") || paramType.equals("android-package")) pluginClass = xml.getAttributeValue(null,"value"); else if (paramType.equals("onload")) onload = "true".equals(xml.getAttributeValue(null, "value")); } else if (strNode.equals("preference")) { String name = xml.getAttributeValue(null, "name").toLowerCase(Locale.ENGLISH); String value = xml.getAttributeValue(null, "value"); prefs.set(name, value); } else if (strNode.equals("content")) { String src = xml.getAttributeValue(null, "src"); if (src != null) { setStartUrl(src); } } }
private AdditionalData readAdditionalData(XmlPullParser parser) throws IOException, XmlPullParserException, DialException { AdditionalData data = null; parser.require(XmlPullParser.START_TAG, null, TAG_ADDITIONAL_DATA); AbsAdditionalDataParser addparser = additionnalDataParser.get(parser.getNamespace("ocast")); if(addparser != null) { data = new OcastAdditionalDataParser().parseAdditionalData(parser); } else { DialParserUtils.skip(parser); } parser.require(XmlPullParser.END_TAG, null, TAG_ADDITIONAL_DATA); return data; }
private int readIntAttribute(XmlPullParser parser, String attr, int defaultValue) { String valueString = parser.getAttributeValue(null, attr); if (valueString == null) return defaultValue; try { return Integer.parseInt(valueString); } catch (NumberFormatException nfe) { return defaultValue; } }
@SuppressLint("NewApi") @Override public Drawable createFromXmlInner(@NonNull Context context, @NonNull XmlPullParser parser, @NonNull AttributeSet attrs, @Nullable Resources.Theme theme) { try { return AnimatedVectorDrawableCompat .createFromXmlInner(context, context.getResources(), parser, attrs, theme); } catch (Exception e) { Log.e("AvdcInflateDelegate", "Exception while inflating <animated-vector>", e); return null; } }
private Cell readCell(XmlPullParser parser) throws XmlPullParserException, IOException { Cell cell = new Cell(); parser.require(XmlPullParser.START_TAG, ns, "cell"); while (parser.next() != XmlPullParser.END_TAG) { if (parser.getEventType() != XmlPullParser.START_TAG) { continue; } String name = parser.getName(); switch (name) { case "lat": cell.setLat(readDouble(parser)); break; case "lon": cell.setLon(readDouble(parser)); break; case "mcc": cell.setMCC(readInt(parser)); break; case "mnc": cell.setMNC(readInt(parser)); break; case "cellid": cell.setCID(readInt(parser)); break; case "lac": cell.setLAC(readInt(parser)); break; default: skip(parser); break; } } return cell; }
/** * {@inheritDoc} */ @Override public void action( Dsmlv2Container container ) throws XmlPullParserException { ExtendedResponseDsml extendedResponse = ( ExtendedResponseDsml ) container.getBatchResponse() .getCurrentResponse(); XmlPullParser xpp = container.getParser(); try { // We have to catch the type Attribute Value before going to the next Text node String typeValue = ParserUtils.getXsiTypeAttributeValue( xpp ); // Getting the value String nextText = xpp.nextText(); if ( ParserUtils.isBase64BinaryValue( xpp, typeValue ) ) { extendedResponse.setResponseValue( Base64.decode( nextText.trim().toCharArray() ) ); } else { extendedResponse.setResponseValue( Strings.getBytesUtf8( nextText.trim() ) ); } } catch ( IOException ioe ) { throw new XmlPullParserException( I18n.err( I18n.ERR_03008, ioe.getMessage() ), xpp, ioe ); } }