diff --git a/services/translation/java/com/android/server/translation/TranslationManagerServiceImpl.java b/services/translation/java/com/android/server/translation/TranslationManagerServiceImpl.java index 5e13031763cd5..eafcef2f1d38a 100644 --- a/services/translation/java/com/android/server/translation/TranslationManagerServiceImpl.java +++ b/services/translation/java/com/android/server/translation/TranslationManagerServiceImpl.java @@ -191,25 +191,24 @@ final class TranslationManagerServiceImpl extends } } - private int getActivityUidByComponentName(Context context, ComponentName componentName, - int userId) { - int translationActivityUid = -1; + private int getAppUidByComponentName(Context context, ComponentName componentName, int userId) { + int translatedAppUid = -1; try { if (componentName != null) { - translationActivityUid = context.getPackageManager().getApplicationInfoAsUser( + translatedAppUid = context.getPackageManager().getApplicationInfoAsUser( componentName.getPackageName(), 0, userId).uid; } } catch (PackageManager.NameNotFoundException e) { Slog.d(TAG, "Cannot find packageManager for" + componentName); } - return translationActivityUid; + return translatedAppUid; } @GuardedBy("mLock") public void onTranslationFinishedLocked(boolean activityDestroyed, IBinder token, ComponentName componentName) { - final int translationActivityUid = - getActivityUidByComponentName(getContext(), componentName, getUserId()); + final int translatedAppUid = + getAppUidByComponentName(getContext(), componentName, getUserId()); final String packageName = componentName.getPackageName(); if (activityDestroyed) { // In the Activity destroy case, we only calls onTranslationFinished() in @@ -217,13 +216,13 @@ final class TranslationManagerServiceImpl extends // should remove the waiting callback to avoid callback twice. invokeCallbacks(STATE_UI_TRANSLATION_FINISHED, /* sourceSpec= */ null, /* targetSpec= */ null, - packageName, translationActivityUid); + packageName, translatedAppUid); mWaitingFinishedCallbackActivities.remove(token); } else { if (mWaitingFinishedCallbackActivities.contains(token)) { invokeCallbacks(STATE_UI_TRANSLATION_FINISHED, /* sourceSpec= */ null, /* targetSpec= */ null, - packageName, translationActivityUid); + packageName, translatedAppUid); mWaitingFinishedCallbackActivities.remove(token); } } @@ -260,20 +259,20 @@ final class TranslationManagerServiceImpl extends } ComponentName componentName = mActivityTaskManagerInternal.getActivityName(activityToken); - int translationActivityUid = - getActivityUidByComponentName(getContext(), componentName, getUserId()); + int translatedAppUid = + getAppUidByComponentName(getContext(), componentName, getUserId()); String packageName = componentName.getPackageName(); invokeCallbacksIfNecessaryLocked(state, sourceSpec, targetSpec, packageName, activityToken, - translationActivityUid); + translatedAppUid); updateActiveTranslationsLocked(state, sourceSpec, targetSpec, packageName, activityToken, - translationActivityUid); + translatedAppUid); } @GuardedBy("mLock") private void updateActiveTranslationsLocked(int state, TranslationSpec sourceSpec, TranslationSpec targetSpec, String packageName, IBinder activityToken, - int translationActivityUid) { + int translatedAppUid) { // We keep track of active translations and their state so that we can: // 1. Trigger callbacks that are registered after translation has started. // See registerUiTranslationStateCallbackLocked(). @@ -287,16 +286,16 @@ final class TranslationManagerServiceImpl extends activityToken.linkToDeath(this, /* flags= */ 0); } catch (RemoteException e) { Slog.w(TAG, "Failed to call linkToDeath for translated app with uid=" - + translationActivityUid + "; activity is already dead", e); + + translatedAppUid + "; activity is already dead", e); // Apps with registered callbacks were just notified that translation // started. We should let them know translation is finished too. invokeCallbacks(STATE_UI_TRANSLATION_FINISHED, sourceSpec, targetSpec, - packageName, translationActivityUid); + packageName, translatedAppUid); return; } mActiveTranslations.put(activityToken, - new ActiveTranslation(sourceSpec, targetSpec, translationActivityUid, + new ActiveTranslation(sourceSpec, targetSpec, translatedAppUid, packageName)); } break; @@ -326,15 +325,15 @@ final class TranslationManagerServiceImpl extends if (DEBUG) { Slog.d(TAG, - "Updating to translation state=" + state + " for activity with uid=" - + translationActivityUid + " packageName=" + packageName); + "Updating to translation state=" + state + " for app with uid=" + + translatedAppUid + " packageName=" + packageName); } } @GuardedBy("mLock") private void invokeCallbacksIfNecessaryLocked(int state, TranslationSpec sourceSpec, TranslationSpec targetSpec, String packageName, IBinder activityToken, - int translationActivityUid) { + int translatedAppUid) { boolean shouldInvokeCallbacks = true; int stateForCallbackInvocation = state; @@ -343,8 +342,8 @@ final class TranslationManagerServiceImpl extends if (state != STATE_UI_TRANSLATION_STARTED) { shouldInvokeCallbacks = false; Slog.w(TAG, - "Updating to translation state=" + state + " for activity with uid=" - + translationActivityUid + " packageName=" + packageName + "Updating to translation state=" + state + " for app with uid=" + + translatedAppUid + " packageName=" + packageName + " but no active translation was found for it"); } } else { @@ -408,13 +407,13 @@ final class TranslationManagerServiceImpl extends Slog.d(TAG, (shouldInvokeCallbacks ? "" : "NOT ") + "Invoking callbacks for translation state=" - + stateForCallbackInvocation + " for activity with uid=" - + translationActivityUid + " packageName=" + packageName); + + stateForCallbackInvocation + " for app with uid=" + translatedAppUid + + " packageName=" + packageName); } if (shouldInvokeCallbacks) { invokeCallbacks(stateForCallbackInvocation, sourceSpec, targetSpec, packageName, - translationActivityUid); + translatedAppUid); } } @@ -457,15 +456,14 @@ final class TranslationManagerServiceImpl extends private void invokeCallbacks( int state, TranslationSpec sourceSpec, TranslationSpec targetSpec, String packageName, - int translationActivityUid) { + int translatedAppUid) { Bundle result = createResultForCallback(state, sourceSpec, targetSpec, packageName); if (mCallbacks.getRegisteredCallbackCount() == 0) { return; } List enabledInputMethods = getEnabledInputMethods(); mCallbacks.broadcast((callback, uid) -> { - invokeCallback((int) uid, translationActivityUid, callback, result, - enabledInputMethods); + invokeCallback((int) uid, translatedAppUid, callback, result, enabledInputMethods); }); } @@ -488,9 +486,9 @@ final class TranslationManagerServiceImpl extends } private void invokeCallback( - int callbackSourceUid, int translationActivityUid, IRemoteCallback callback, + int callbackSourceUid, int translatedAppUid, IRemoteCallback callback, Bundle result, List enabledInputMethods) { - if (callbackSourceUid == translationActivityUid) { + if (callbackSourceUid == translatedAppUid) { // Invoke callback for the application being translated. try { callback.sendResult(result); @@ -532,25 +530,25 @@ final class TranslationManagerServiceImpl extends List enabledInputMethods = getEnabledInputMethods(); for (int i = 0; i < mActiveTranslations.size(); i++) { ActiveTranslation activeTranslation = mActiveTranslations.valueAt(i); - int activeTranslationUid = activeTranslation.translationActivityUid; + int translatedAppUid = activeTranslation.translatedAppUid; String packageName = activeTranslation.packageName; if (DEBUG) { Slog.d(TAG, "Triggering callback for sourceUid=" + sourceUid - + " for translated activity with uid=" + activeTranslationUid + + " for translated app with uid=" + translatedAppUid + "packageName=" + packageName + " isPaused=" + activeTranslation.isPaused); } Bundle startedResult = createResultForCallback(STATE_UI_TRANSLATION_STARTED, activeTranslation.sourceSpec, activeTranslation.targetSpec, packageName); - invokeCallback(sourceUid, activeTranslationUid, callback, startedResult, + invokeCallback(sourceUid, translatedAppUid, callback, startedResult, enabledInputMethods); if (activeTranslation.isPaused) { // Also send event so callback owners know that translation was started then paused. Bundle pausedResult = createResultForCallback(STATE_UI_TRANSLATION_PAUSED, activeTranslation.sourceSpec, activeTranslation.targetSpec, packageName); - invokeCallback(sourceUid, activeTranslationUid, callback, pausedResult, + invokeCallback(sourceUid, translatedAppUid, callback, pausedResult, enabledInputMethods); } } @@ -603,14 +601,14 @@ final class TranslationManagerServiceImpl extends public final TranslationSpec sourceSpec; public final TranslationSpec targetSpec; public final String packageName; - public final int translationActivityUid; + public final int translatedAppUid; public boolean isPaused = false; private ActiveTranslation(TranslationSpec sourceSpec, TranslationSpec targetSpec, - int translationActivityUid, String packageName) { + int translatedAppUid, String packageName) { this.sourceSpec = sourceSpec; this.targetSpec = targetSpec; - this.translationActivityUid = translationActivityUid; + this.translatedAppUid = translatedAppUid; this.packageName = packageName; } } @@ -629,7 +627,7 @@ final class TranslationManagerServiceImpl extends // Let apps with registered callbacks know about the activity's death. invokeCallbacks(STATE_UI_TRANSLATION_FINISHED, activeTranslation.sourceSpec, activeTranslation.targetSpec, activeTranslation.packageName, - activeTranslation.translationActivityUid); + activeTranslation.translatedAppUid); } } }