Merge "Fix UiTranslationStateCallback crash due to null locales." into sc-dev

This commit is contained in:
Joanne Chung
2021-05-04 13:26:01 +00:00
committed by Android (Google) Code Review

View File

@@ -315,6 +315,8 @@ public final class UiTranslationManager {
private static class UiTranslationStateRemoteCallback extends IRemoteCallback.Stub { private static class UiTranslationStateRemoteCallback extends IRemoteCallback.Stub {
private final Executor mExecutor; private final Executor mExecutor;
private final UiTranslationStateCallback mCallback; private final UiTranslationStateCallback mCallback;
private ULocale mSourceLocale;
private ULocale mTargetLocale;
UiTranslationStateRemoteCallback(Executor executor, UiTranslationStateRemoteCallback(Executor executor,
UiTranslationStateCallback callback) { UiTranslationStateCallback callback) {
@@ -331,10 +333,12 @@ public final class UiTranslationManager {
int state = bundle.getInt(EXTRA_STATE); int state = bundle.getInt(EXTRA_STATE);
switch (state) { switch (state) {
case STATE_UI_TRANSLATION_STARTED: case STATE_UI_TRANSLATION_STARTED:
mSourceLocale = (ULocale) bundle.getSerializable(EXTRA_SOURCE_LOCALE);
mTargetLocale = (ULocale) bundle.getSerializable(EXTRA_TARGET_LOCALE);
mCallback.onStarted(mSourceLocale, mTargetLocale);
break;
case STATE_UI_TRANSLATION_RESUMED: case STATE_UI_TRANSLATION_RESUMED:
mCallback.onStarted( mCallback.onStarted(mSourceLocale, mTargetLocale);
(ULocale) bundle.getSerializable(EXTRA_SOURCE_LOCALE),
(ULocale) bundle.getSerializable(EXTRA_TARGET_LOCALE));
break; break;
case STATE_UI_TRANSLATION_PAUSED: case STATE_UI_TRANSLATION_PAUSED:
mCallback.onPaused(); mCallback.onPaused();