From 3de110bbb7f30090b4eae0e4edbf97c5819c4658 Mon Sep 17 00:00:00 2001 From: Abodunrinwa Toki Date: Thu, 4 May 2017 16:29:04 +0100 Subject: [PATCH] Remove redundant TextClassificationService Text classification is now being done entirely in the app's proccess. See android.view.textclassifier.TextClassificationManager Reverts Ic428d00f291e268211866b3fc6b7acbc3eb04e1e Test: bit FrameworksCoreTests:android.view.textclassifier.TextClassificationManagerTest Fixes: 36852122 Change-Id: Iffff3ab6e7d3b761576eb6bdcd5032db34b7a1b2 --- Android.mk | 1 - core/java/android/content/Context.java | 1 + .../text/ITextClassificationService.aidl | 33 --------- .../text/TextClassificationService.java | 71 ------------------- .../java/com/android/server/SystemServer.java | 7 -- 5 files changed, 1 insertion(+), 112 deletions(-) delete mode 100644 core/java/android/text/ITextClassificationService.aidl delete mode 100644 services/core/java/com/android/server/text/TextClassificationService.java diff --git a/Android.mk b/Android.mk index e58f30661fbcc..8f99bc0cf95c9 100644 --- a/Android.mk +++ b/Android.mk @@ -322,7 +322,6 @@ LOCAL_SRC_FILES += \ core/java/android/service/chooser/IChooserTargetResult.aidl \ core/java/android/service/resolver/IResolverRankerService.aidl \ core/java/android/service/resolver/IResolverRankerResult.aidl \ - core/java/android/text/ITextClassificationService.aidl \ core/java/android/view/accessibility/IAccessibilityInteractionConnection.aidl\ core/java/android/view/accessibility/IAccessibilityInteractionConnectionCallback.aidl\ core/java/android/view/accessibility/IAccessibilityManager.aidl \ diff --git a/core/java/android/content/Context.java b/core/java/android/content/Context.java index bf7af2027b991..10594afc7f9d4 100644 --- a/core/java/android/content/Context.java +++ b/core/java/android/content/Context.java @@ -2891,6 +2891,7 @@ public abstract class Context { CLIPBOARD_SERVICE, INPUT_METHOD_SERVICE, TEXT_SERVICES_MANAGER_SERVICE, + TEXT_CLASSIFICATION_SERVICE, APPWIDGET_SERVICE, //@hide: VOICE_INTERACTION_MANAGER_SERVICE, //@hide: BACKUP_SERVICE, diff --git a/core/java/android/text/ITextClassificationService.aidl b/core/java/android/text/ITextClassificationService.aidl deleted file mode 100644 index a73dbf01a8e85..0000000000000 --- a/core/java/android/text/ITextClassificationService.aidl +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright (C) 2016 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package android.text; - -import android.os.ParcelFileDescriptor; - -/** - * Interface to the text classification service, which grants access to the text classification - * LSTM model file. - * {@hide} - */ -interface ITextClassificationService { - - /** - * Request a file descriptor with read-only access to the LSTM model file. - * This file descriptor should be closed after the client is done with it. - */ - ParcelFileDescriptor getModelFileFd(); -} diff --git a/services/core/java/com/android/server/text/TextClassificationService.java b/services/core/java/com/android/server/text/TextClassificationService.java deleted file mode 100644 index 9358238dd2f4b..0000000000000 --- a/services/core/java/com/android/server/text/TextClassificationService.java +++ /dev/null @@ -1,71 +0,0 @@ -/* - * Copyright (C) 2016 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.server.text; - -import android.content.Context; -import android.os.ParcelFileDescriptor; -import android.os.RemoteException; -import android.text.ITextClassificationService; -import android.util.Slog; - -import com.android.server.SystemService; - -import java.io.File; -import java.io.FileNotFoundException; -import java.io.IOException; - -/** - * Text classification service. - * This is used to provide access to the text classification LSTM model file. - */ -public class TextClassificationService extends ITextClassificationService.Stub { - - private static final String LOG_TAG = "TextClassificationService"; - - public static final class Lifecycle extends SystemService { - - private TextClassificationService mService; - - public Lifecycle(Context context) { - super(context); - mService = new TextClassificationService(); - } - - @Override - public void onStart() { - try { - publishBinderService(Context.TEXT_CLASSIFICATION_SERVICE, mService); - } catch (Throwable t) { - // Starting this service is not critical to the running of this device and should - // therefore not crash the device. If it fails, log the error and continue. - Slog.e(LOG_TAG, "Could not start the TextClassificationService.", t); - } - } - } - - @Override - public synchronized ParcelFileDescriptor getModelFileFd() throws RemoteException { - try { - return ParcelFileDescriptor.open( - new File("/etc/assistant/smart-selection.model"), - ParcelFileDescriptor.MODE_READ_ONLY); - } catch (Throwable t) { - Slog.e(LOG_TAG, "Error retrieving an fd to the text classification model file.", t); - throw new RemoteException(t.getMessage()); - } - } -} diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java index 978803dfb5e0a..0965f03c27e93 100644 --- a/services/java/com/android/server/SystemServer.java +++ b/services/java/com/android/server/SystemServer.java @@ -104,7 +104,6 @@ import com.android.server.soundtrigger.SoundTriggerService; import com.android.server.statusbar.StatusBarManagerService; import com.android.server.storage.DeviceStorageMonitorService; import com.android.server.telecom.TelecomLoaderService; -import com.android.server.text.TextClassificationService; import com.android.server.trust.TrustManagerService; import com.android.server.tv.TvInputManagerService; import com.android.server.tv.TvRemoteService; @@ -1042,12 +1041,6 @@ public final class SystemServer { traceEnd(); } - if (!disableNonCoreServices) { - traceBeginAndSlog("StartTextClassificationService"); - mSystemServiceManager.startService(TextClassificationService.Lifecycle.class); - traceEnd(); - } - if (!disableNetwork) { traceBeginAndSlog("StartNetworkScoreService"); try {