diff options
| author | 2017-12-05 02:34:41 +0000 | |
|---|---|---|
| committer | 2017-12-05 02:34:41 +0000 | |
| commit | a6c6c4f5d3eeb56a6140724f8b3e0517df64fa46 (patch) | |
| tree | 21505b32ad9adf1f2eb647d884f3a5808a825efb | |
| parent | 5e3d66e78be0266e8e45390fe43ae2e7f74b7271 (diff) | |
| parent | 7e717e09cd3923f613a24c79358e900278ec6a2d (diff) | |
Merge "Frameworks: Silently ignore InterruptedException"
am: 7e717e09cd
Change-Id: I75da071918e7fc2e547df4e4d75121806c730ca2
| -rw-r--r-- | core/java/android/app/SharedPreferencesImpl.java | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/core/java/android/app/SharedPreferencesImpl.java b/core/java/android/app/SharedPreferencesImpl.java index b18666613ea6..6dca4004cb46 100644 --- a/core/java/android/app/SharedPreferencesImpl.java +++ b/core/java/android/app/SharedPreferencesImpl.java @@ -217,10 +217,15 @@ final class SharedPreferencesImpl implements SharedPreferences { } private @GuardedBy("mLock") Map<String, Object> getLoaded() { - try { - return mMap.get(); - } catch (InterruptedException | ExecutionException e) { - throw new IllegalStateException(e); + // For backwards compatibility, we need to ignore any interrupts. b/70122540. + for (;;) { + try { + return mMap.get(); + } catch (ExecutionException e) { + throw new IllegalStateException(e); + } catch (InterruptedException e) { + // Ignore and try again. + } } } private @GuardedBy("mLock") Map<String, Object> getLoadedWithBlockGuard() { |