3cd543fb85e917129a5d711b230d69e927f01e0e
Some of the AmbientDisplay preference controllers were crashing when their isAvailable methods were being called by their fragment's search index providers, which meant that the entire collection of non-indexable keys failed. Thus, all search results were showing up. In the case of a secondary user, they were able to see developer options which crashed settings when clicked. There are two issues addressed in this cl. 1. Fix the crashes so the non-indexable keys collection works 2. Contain each fragment's collection, so that if a fragment does crash, the damage is minimized. Part 1 is checking that the config in isAvailable is not null, and creating one if so. Part 2 is fixed by surrounding the collection of non-indexable keys in a try-catch, with an option in the catch to re-throw the error if a system property is set. Thus, in a new pre-submit instrumentation test, we can and docheck if any of the fragments crash when collecting non-indexable keys. Change-Id: I820bd9cb2649aa6faff7f82fcf575a62e41dc4fc Fixes: 77486668 Test: atest NonIndexableCrashTest, robotests
Description
No description provided
Languages
Java
89.8%
Kotlin
10.2%