diff options
| author | 2023-10-05 16:55:12 +0000 | |
|---|---|---|
| committer | 2023-10-05 16:55:12 +0000 | |
| commit | ed8ee2777a8a865a6428ea0efd85974f345746d2 (patch) | |
| tree | e5a5c3b119a589c022b33891584f84d8326969a9 | |
| parent | 0062109fe62f32fcb490d79222ec7dfbe84aa3dc (diff) | |
| parent | 7773a42b04a4882a8500c16623d2643c13735a99 (diff) | |
Merge "[SettingsProvider] clear binder identity when updating the ringtone cache" into udc-qpr-dev
| -rw-r--r-- | packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java index e45913c1eb21..b785d6f7f858 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java @@ -2034,12 +2034,14 @@ public class SettingsProvider extends ContentProvider { final Uri ringtoneUri = Uri.parse(value); // Stream selected ringtone into cache, so it's available for playback // when CE storage is still locked - try (InputStream in = openRingtone(getContext(), ringtoneUri); - OutputStream out = new FileOutputStream(cacheFile)) { - FileUtils.copy(in, out); - } catch (IOException e) { - Slog.w(LOG_TAG, "Failed to cache ringtone: " + e); - } + Binder.withCleanCallingIdentity(() -> { + try (InputStream in = openRingtone(getContext(), ringtoneUri); + OutputStream out = new FileOutputStream(cacheFile)) { + FileUtils.copy(in, out); + } catch (IOException e) { + Slog.w(LOG_TAG, "Failed to cache ringtone: " + e); + } + }); } return true; } |