Merge "Remove translation service feature." into sc-dev
diff --git a/core/api/current.txt b/core/api/current.txt
index aad6b37..e2bfda6 100644
--- a/core/api/current.txt
+++ b/core/api/current.txt
@@ -12733,7 +12733,6 @@
     field public static final String FEATURE_TOUCHSCREEN_MULTITOUCH = "android.hardware.touchscreen.multitouch";
     field public static final String FEATURE_TOUCHSCREEN_MULTITOUCH_DISTINCT = "android.hardware.touchscreen.multitouch.distinct";
     field public static final String FEATURE_TOUCHSCREEN_MULTITOUCH_JAZZHAND = "android.hardware.touchscreen.multitouch.jazzhand";
-    field public static final String FEATURE_TRANSLATION = "android.software.translation";
     field public static final String FEATURE_USB_ACCESSORY = "android.hardware.usb.accessory";
     field public static final String FEATURE_USB_HOST = "android.hardware.usb.host";
     field public static final String FEATURE_VERIFIED_BOOT = "android.software.verified_boot";
diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java
index 21de365..c45615d 100644
--- a/core/java/android/content/pm/PackageManager.java
+++ b/core/java/android/content/pm/PackageManager.java
@@ -3497,14 +3497,6 @@
 
     /**
      * Feature for {@link #getSystemAvailableFeatures} and {@link #hasSystemFeature}:
-     * The device supports translation of text-to-text in multiple languages via integration with
-     * the system {@link android.service.translation.TranslationService translation provider}.
-     */
-    @SdkConstant(SdkConstantType.FEATURE)
-    public static final String FEATURE_TRANSLATION = "android.software.translation";
-
-    /**
-     * Feature for {@link #getSystemAvailableFeatures} and {@link #hasSystemFeature}:
      * The device implements headtracking suitable for a VR device.
      */
     @SdkConstant(SdkConstantType.FEATURE)
diff --git a/core/java/android/view/translation/TranslationManager.java b/core/java/android/view/translation/TranslationManager.java
index b89488b..b61eab9 100644
--- a/core/java/android/view/translation/TranslationManager.java
+++ b/core/java/android/view/translation/TranslationManager.java
@@ -18,12 +18,10 @@
 
 import android.annotation.NonNull;
 import android.annotation.Nullable;
-import android.annotation.RequiresFeature;
 import android.annotation.SystemService;
 import android.annotation.WorkerThread;
 import android.app.PendingIntent;
 import android.content.Context;
-import android.content.pm.PackageManager;
 import android.os.Handler;
 import android.os.Looper;
 import android.os.RemoteException;
@@ -53,7 +51,6 @@
  * the server {@link android.service.translation.TranslationService} </p>
  */
 @SystemService(Context.TRANSLATION_MANAGER_SERVICE)
-@RequiresFeature(PackageManager.FEATURE_TRANSLATION)
 public final class TranslationManager {
 
     private static final String TAG = "TranslationManager";
diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java
index 47e72ba..912b8ca 100644
--- a/services/java/com/android/server/SystemServer.java
+++ b/services/java/com/android/server/SystemServer.java
@@ -2508,10 +2508,12 @@
         }
 
         // Translation manager service
-        if (mPackageManager.hasSystemFeature(PackageManager.FEATURE_TRANSLATION)) {
+        if (deviceHasConfigString(context, R.string.config_defaultTranslationService)) {
             t.traceBegin("StartTranslationManagerService");
             mSystemServiceManager.startService(TRANSLATION_MANAGER_SERVICE_CLASS);
             t.traceEnd();
+        } else {
+            Slog.d(TAG, "TranslationService not defined by OEM");
         }
 
         // NOTE: ClipboardService depends on ContentCapture and Autofill