Resources + LayoutInflater: throw same Exceptions as on AOSP

This commit is contained in:
Julian Winkler
2023-09-01 12:39:20 +02:00
parent f968bcd7c4
commit c6b98b14f8
4 changed files with 21 additions and 9 deletions

View File

@@ -572,7 +572,7 @@ public final class AssetManager {
* @param fileName The name of the file to retrieve.
*/
public final XmlResourceParser openXmlResourceParser(int cookie,
String fileName) throws /*IO*/ Exception {
String fileName) throws IOException {
/* XmlBlock block = openXmlBlockAsset(cookie, fileName);
XmlResourceParser rp = block.newParser();
block.close();

View File

@@ -940,7 +940,7 @@ public class Resources {
*
* @see #getXml
*/
public XmlResourceParser getLayout(int id) throws /*NotFound*/ Exception {
public XmlResourceParser getLayout(int id) throws NotFoundException {
return loadXmlResourceParser(id, "layout");
}
@@ -2280,7 +2280,7 @@ public class Resources {
}
/*package*/ XmlResourceParser loadXmlResourceParser(int id, String type)
throws /*NotFound*/ Exception {
throws NotFoundException {
synchronized (mAccessLock) {
TypedValue value = mTmpValue;
if (value == null) {
@@ -2297,8 +2297,12 @@ public class Resources {
}
/*package*/ XmlResourceParser loadXmlResourceParser(String file, int id,
int assetCookie, String type) throws /*NotFound*/ Exception {
return mAssets.openXmlResourceParser(assetCookie, file);
int assetCookie, String type) throws NotFoundException {
try {
return mAssets.openXmlResourceParser(assetCookie, file);
} catch (IOException e) {
throw new RuntimeException(e);
}
/* if (id != 0) {
try {
// These may be compiled...

View File

@@ -82,15 +82,19 @@ public class LayoutInflater {
return view;
}
public View inflate(int resource, ViewGroup root) throws Exception {
public View inflate(int resource, ViewGroup root) {
return inflate(resource, root, root != null);
}
public View inflate(int layoutResID, ViewGroup root, boolean attachToRoot) throws Exception {
public View inflate(int layoutResID, ViewGroup root, boolean attachToRoot) {
XmlResourceParser xpp = Context.this_application.getResources().getLayout(layoutResID);
return inflate(xpp, root, attachToRoot);
try {
return inflate(xpp, root, attachToRoot);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
public View inflate(XmlPullParser parser, ViewGroup root, boolean attachToRoot) throws Exception {

View File

@@ -115,7 +115,11 @@ public class ViewGroup extends View implements ViewParent, ViewManager {
protected native void native_removeView(long widget, long child);
public View getChildAt(int index) {
return children.get(index);
try {
return children.get(index);
} catch (IndexOutOfBoundsException e) {
return null;
}
}
public int indexOfChild(View child) {