From 50f76874d9c55748203e905a41996e474f1dcbac Mon Sep 17 00:00:00 2001 From: Ahaan Ugale Date: Wed, 17 Mar 2021 00:52:09 -0700 Subject: [PATCH] Fix UiTranslationManager ErrorProne error. "Must store Binder.clearCallingIdentity() token as final variable.." Restoring identity isn't really needed here, but it's better to have to be defensive -- in case we do add something later for which the calling identity needs to be restored. Bug: 177500482 Bug: 182896753 Test: mmma frameworks/base/ RUN_ERROR_PRONE=true Change-Id: I72acc40f8776d46b3f875cde1759fe03a25e222b --- .../translation/UiTranslationManager.java | 41 ++++++++++--------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/core/java/android/view/translation/UiTranslationManager.java b/core/java/android/view/translation/UiTranslationManager.java index 9fba95f29bdc3..852ffe8303b13 100644 --- a/core/java/android/view/translation/UiTranslationManager.java +++ b/core/java/android/view/translation/UiTranslationManager.java @@ -404,26 +404,27 @@ public final class UiTranslationManager { @Override public void sendResult(Bundle bundle) { - Binder.clearCallingIdentity(); - mExecutor.execute(() -> { - int state = bundle.getInt(EXTRA_STATE); - switch (state) { - case STATE_UI_TRANSLATION_STARTED: - case STATE_UI_TRANSLATION_RESUMED: - mCallback.onStarted( - bundle.getString(EXTRA_SOURCE_LOCALE), - bundle.getString(EXTRA_TARGET_LOCALE)); - break; - case STATE_UI_TRANSLATION_PAUSED: - mCallback.onPaused(); - break; - case STATE_UI_TRANSLATION_FINISHED: - mCallback.onFinished(); - break; - default: - Log.wtf(TAG, "Unexpected translation state:" + state); - } - }); + Binder.withCleanCallingIdentity(() -> mExecutor.execute(() -> onStateChange(bundle))); + } + + private void onStateChange(Bundle bundle) { + int state = bundle.getInt(EXTRA_STATE); + switch (state) { + case STATE_UI_TRANSLATION_STARTED: + case STATE_UI_TRANSLATION_RESUMED: + mCallback.onStarted( + bundle.getString(EXTRA_SOURCE_LOCALE), + bundle.getString(EXTRA_TARGET_LOCALE)); + break; + case STATE_UI_TRANSLATION_PAUSED: + mCallback.onPaused(); + break; + case STATE_UI_TRANSLATION_FINISHED: + mCallback.onFinished(); + break; + default: + Log.wtf(TAG, "Unexpected translation state:" + state); + } } } }