Merge "Use try-with-resources to avoid accidentaly leaking unclosed objects." am: 943c640df3 am: 7d07b0141a
Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2545531 Change-Id: Ib413266f6080e4ad5bec6d683dc5daac2229cd2f Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -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();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user