项目:NanoIconPackLite
文件:LiteIconActivityV1.java
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;
}
项目:VirtualHook
文件:VAccountManagerService.java
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();
}
}
}
}
项目:AOSP-Kayboard-7.1.2
文件:KeyboardRow.java
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;
}
项目:NanoIconPack
文件:AppfilterReader.java
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;
}
项目:q-mail
文件:SettingsImporter.java
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;
}
项目:q-mail
文件:SettingsImporter.java
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();
}
}
项目:eBread
文件:SettingManager.java
/***
* 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;
}
项目:FlickLauncher
文件:AutoInstallsLayout.java
/**
* 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;
}
项目:simple-keyboard
文件:KeyboardLayoutSet.java
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",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,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;
}
}
}
项目:directory-ldap-api
文件:Dsmlv2Parser.java
/**
* 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,tagType ) ),xpp,null );
}
}
项目:IFWManager
文件:SenderFilter.java
@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,null);
}
项目:keepass2android
文件:PropfindXmlParser.java
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;
}
项目:directory-ldap-api
文件:Dsmlv2Grammar.java
/**
* {@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(),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,Constants.CATEGORY_COMPONENT));
}
mService = "";
mPluginClass = "";
mInsideFeature = false;
mOnLoad = false;
mCategory = Constants.CATEGORY_MODULE;
mApi = "";
mParamType = "";
}
}
项目:AOSP-Kayboard-7.1.2
文件:KeyboardBuilder.java
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,"verticalGap");
}
return new KeyboardRow(mResources,mParams,mCurrentY);
} finally {
keyboardAttr.recycle();
}
}
项目:simple-keyboard
文件:KeyboardBuilder.java
private KeyboardRow parseRowAttributes(final XmlPullParser parser)
throws XmlPullParserException {
final AttributeSet attr = Xml.asAttributeSet(parser);
final TypedArray keyboardAttr = mResources.obtainAttributes(attr,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,TAG_RSS);
items = readFeed(parser);
} catch (@NonNull XmlPullParserException | IOException e) {
Log.w(e.getMessage(),e);
} finally {
if (items == null) {
items = new ArrayList<>();
}
}
return items;
}
项目:gexporter
文件:Gpx2Fit.java
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();
}
}
项目:AndroidApktool
文件:XmlPullUtil.java
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();
}
}
项目:gexporter
文件:Gpx2Fit.java
private String readTrkName(XmlPullParser parser) throws IOException,XmlPullParserException {
parser.require(XmlPullParser.START_TAG,"name");
String txt = readText(parser);
if (txt.length() > 15)
txt = txt.substring(0,15);
parser.require(XmlPullParser.END_TAG,"name");
return txt;
}
项目:q-mail
文件:SettingsImporter.java
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;
}
项目:PlusGram
文件:SmoothStreamingManifestParser.java
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,"tintMode",6,-1),Mode.SRC_IN);
ColorStateList tint = a.getColorStateList(1);
if (tint != null) {
state.mTint = tint;
}
state.mAutoMirrored = TypedArrayUtils.getNamedBoolean(a,"autoMirrored",5,state.mAutoMirrored);
pathRenderer.mViewportWidth = TypedArrayUtils.getNamedFloat(a,"viewportWidth",7,pathRenderer.mViewportWidth);
pathRenderer.mViewportHeight = TypedArrayUtils.getNamedFloat(a,"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,"alpha",4,pathRenderer.getAlpha()));
String name = a.getString(0);
if (name != null) {
pathRenderer.mRootName = name;
pathRenderer.mVGTargetsMap.put(name,pathRenderer);
}
}
}
}
项目:simple-keyboard
文件:KeyboardBuilder.java
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;
}
项目:referendum_1o_android
文件:StringsManager.java
private static void readString(XmlPullParser parser) throws IOException,"string");
String stringName = parser.getAttributeValue(null,"name");
String value = getInnerXml(parser);
parser.require(XmlPullParser.END_TAG,"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);
}
}
项目:LaunchEnr
文件:AutoInstallsLayout.java
@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,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);
}
}
}
public void handleStartTag(XmlPullParser xml) {
String strNode = xml.getName();
if (strNode.equals("feature")) {
//Check for supported feature sets aka. plugins (Accelerometer,"src");
if (src != null) {
setStartUrl(src);
}
}
}
项目:OCast-Java
文件:DialServiceParser.java
private AdditionalData readAdditionalData(XmlPullParser parser) throws IOException,XmlPullParserException,DialException {
AdditionalData data = null;
parser.require(XmlPullParser.START_TAG,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,TAG_ADDITIONAL_DATA);
return data;
}
项目:container
文件:VUserManagerService.java
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;
}
}
项目:Android-skin-support
文件:SkinCompatDrawableManager.java
@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(),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,"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;
}
项目:directory-ldap-api
文件:Dsmlv2ResponseGrammar.java
/**
* {@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() ),ioe );
}
}