Catch exception when failing to create slice
- Created a non-generic exception type when failing SliceData.build() - Catch exception and log error instead of crash. - Added a presubmit test Fixes: 78347031 Test: robotests, atest Change-Id: I06e528cb5e1cd328f82f9561553f3c4b5b0bed26 Merged-In: I06e528cb5e1cd328f82f9561553f3c4b5b0bed26
This commit is contained in:
@@ -39,12 +39,12 @@ import android.util.Log;
|
||||
import android.util.Xml;
|
||||
import android.view.accessibility.AccessibilityManager;
|
||||
|
||||
import com.android.settings.accessibility.AccessibilitySlicePreferenceController;
|
||||
import com.android.settings.core.PreferenceXmlParserUtils;
|
||||
import com.android.settings.core.PreferenceXmlParserUtils.MetadataFlag;
|
||||
import com.android.internal.annotations.VisibleForTesting;
|
||||
import com.android.settings.R;
|
||||
import com.android.settings.accessibility.AccessibilitySettings;
|
||||
import com.android.settings.accessibility.AccessibilitySlicePreferenceController;
|
||||
import com.android.settings.core.PreferenceXmlParserUtils;
|
||||
import com.android.settings.core.PreferenceXmlParserUtils.MetadataFlag;
|
||||
import com.android.settings.dashboard.DashboardFragment;
|
||||
import com.android.settings.overlay.FeatureFactory;
|
||||
import com.android.settings.search.DatabaseIndexingUtils;
|
||||
@@ -215,6 +215,8 @@ class SliceDataConverter {
|
||||
|
||||
xmlSliceData.add(xmlSlice);
|
||||
}
|
||||
} catch (SliceData.InvalidSliceDataException e) {
|
||||
Log.w(TAG, "Invalid data when building SliceData for " + fragmentName, e);
|
||||
} catch (XmlPullParserException e) {
|
||||
Log.w(TAG, "XML Error parsing PreferenceScreen: ", e);
|
||||
} catch (IOException e) {
|
||||
@@ -267,8 +269,11 @@ class SliceDataConverter {
|
||||
.setTitle(title)
|
||||
.setIcon(iconResource)
|
||||
.setSliceType(SliceData.SliceType.SWITCH);
|
||||
|
||||
sliceData.add(sliceDataBuilder.build());
|
||||
try {
|
||||
sliceData.add(sliceDataBuilder.build());
|
||||
} catch (SliceData.InvalidSliceDataException e) {
|
||||
Log.w(TAG, "Invalid data when building a11y SliceData for " + flattenedName, e);
|
||||
}
|
||||
}
|
||||
|
||||
return sliceData;
|
||||
|
Reference in New Issue
Block a user