Merge "Use try-with-resources to avoid accidentaly leaking unclosed objects."

This commit is contained in:
Treehugger Robot
2023-04-24 13:45:15 +00:00
committed by Gerrit Code Review

View File

@@ -96,31 +96,30 @@ public final class WallpaperInfo implements Parcelable {
throws XmlPullParserException, IOException { throws XmlPullParserException, IOException {
mService = service; mService = service;
ServiceInfo si = service.serviceInfo; ServiceInfo si = service.serviceInfo;
final PackageManager pm = context.getPackageManager(); final PackageManager pm = context.getPackageManager();
XmlResourceParser parser = null; try (XmlResourceParser parser = si.loadXmlMetaData(pm,
try { WallpaperService.SERVICE_META_DATA)) {
parser = si.loadXmlMetaData(pm, WallpaperService.SERVICE_META_DATA);
if (parser == null) { if (parser == null) {
throw new XmlPullParserException("No " throw new XmlPullParserException("No "
+ WallpaperService.SERVICE_META_DATA + " meta-data"); + WallpaperService.SERVICE_META_DATA + " meta-data");
} }
Resources res = pm.getResourcesForApplication(si.applicationInfo); Resources res = pm.getResourcesForApplication(si.applicationInfo);
AttributeSet attrs = Xml.asAttributeSet(parser); AttributeSet attrs = Xml.asAttributeSet(parser);
int type; int type;
while ((type=parser.next()) != XmlPullParser.END_DOCUMENT while ((type = parser.next()) != XmlPullParser.END_DOCUMENT
&& type != XmlPullParser.START_TAG) { && type != XmlPullParser.START_TAG) {
} }
String nodeName = parser.getName(); String nodeName = parser.getName();
if (!"wallpaper".equals(nodeName)) { if (!"wallpaper".equals(nodeName)) {
throw new XmlPullParserException( throw new XmlPullParserException(
"Meta-data does not start with wallpaper tag"); "Meta-data does not start with wallpaper tag");
} }
TypedArray sa = res.obtainAttributes(attrs, TypedArray sa = res.obtainAttributes(attrs,
com.android.internal.R.styleable.Wallpaper); com.android.internal.R.styleable.Wallpaper);
mSettingsActivityName = sa.getString( mSettingsActivityName = sa.getString(
@@ -159,8 +158,6 @@ public final class WallpaperInfo implements Parcelable {
} catch (NameNotFoundException e) { } catch (NameNotFoundException e) {
throw new XmlPullParserException( throw new XmlPullParserException(
"Unable to create context for: " + si.packageName); "Unable to create context for: " + si.packageName);
} finally {
if (parser != null) parser.close();
} }
} }