Fix crash from Settings Search

Security Settings was returning a search indexable
resource without an xml resource (in this case id = 0).

Settings search did not handle this exception and crashed.
This patch catches the exception, and adds a TODO to fix
the indexing in security settings.

Change-Id: Ic7f05c98d99cc45fbebbdc672c7e346c27daa0f0
Fixes: 67967367
Test: robotests
This commit is contained in:
Matthew Fritze
2017-10-19 10:38:08 -07:00
parent ccee4218ea
commit 9c3c7d8ccd
3 changed files with 18 additions and 2 deletions

View File

@@ -19,6 +19,7 @@ package com.android.settings.search.indexing;
import android.annotation.Nullable;
import android.content.Context;
import android.content.res.Resources;
import android.content.res.XmlResourceParser;
import android.provider.SearchIndexableData;
import android.provider.SearchIndexableResource;
@@ -307,9 +308,11 @@ public class IndexDataConverter {
resourceIndexData.add(headerBuilder.build(mContext));
}
} catch (XmlPullParserException e) {
throw new RuntimeException("Error parsing PreferenceScreen", e);
Log.w(LOG_TAG, "XML Error parsing PreferenceScreen: ", e);
} catch (IOException e) {
throw new RuntimeException("Error parsing PreferenceScreen", e);
Log.w(LOG_TAG, "IO Error parsing PreferenceScreen: " , e);
} catch (Resources.NotFoundException e ) {
Log.w(LOG_TAG, "Resoucre not found error parsing PreferenceScreen: ", e);
} finally {
if (parser != null) parser.close();
}