summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Song Chun Fan <schfan@google.com> 2023-10-05 16:55:12 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2023-10-05 16:55:12 +0000
commited8ee2777a8a865a6428ea0efd85974f345746d2 (patch)
treee5a5c3b119a589c022b33891584f84d8326969a9
parent0062109fe62f32fcb490d79222ec7dfbe84aa3dc (diff)
parent7773a42b04a4882a8500c16623d2643c13735a99 (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.java14
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;
}