Loading api/system-current.txt +2 −0 Original line number Diff line number Diff line Loading @@ -6962,9 +6962,11 @@ package android.service.textclassifier { method @Deprecated public final android.view.textclassifier.TextClassifier getLocalTextClassifier(); method @Nullable public final android.os.IBinder onBind(android.content.Intent); method @MainThread public abstract void onClassifyText(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.TextClassification.Request, @NonNull android.os.CancellationSignal, @NonNull android.service.textclassifier.TextClassifierService.Callback<android.view.textclassifier.TextClassification>); method public void onConnected(); method @MainThread public void onCreateTextClassificationSession(@NonNull android.view.textclassifier.TextClassificationContext, @NonNull android.view.textclassifier.TextClassificationSessionId); method @MainThread public void onDestroyTextClassificationSession(@NonNull android.view.textclassifier.TextClassificationSessionId); method @MainThread public void onDetectLanguage(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.TextLanguage.Request, @NonNull android.os.CancellationSignal, @NonNull android.service.textclassifier.TextClassifierService.Callback<android.view.textclassifier.TextLanguage>); method public void onDisconnected(); method @MainThread public abstract void onGenerateLinks(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.TextLinks.Request, @NonNull android.os.CancellationSignal, @NonNull android.service.textclassifier.TextClassifierService.Callback<android.view.textclassifier.TextLinks>); method @Deprecated @MainThread public void onSelectionEvent(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.SelectionEvent); method @MainThread public void onSuggestConversationActions(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.ConversationActions.Request, @NonNull android.os.CancellationSignal, @NonNull android.service.textclassifier.TextClassifierService.Callback<android.view.textclassifier.ConversationActions>); Loading core/java/android/service/textclassifier/ITextClassifierService.aidl +2 −0 Original line number Diff line number Diff line Loading @@ -74,4 +74,6 @@ oneway interface ITextClassifierService { in TextClassificationSessionId sessionId, in ConversationActions.Request request, in ITextClassifierCallback callback); void onConnectedStateChanged(int connected); } core/java/android/service/textclassifier/TextClassifierService.java +41 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package android.service.textclassifier; import android.Manifest; import android.annotation.IntDef; import android.annotation.MainThread; import android.annotation.NonNull; import android.annotation.Nullable; Loading Loading @@ -51,6 +52,8 @@ import android.view.textclassifier.TextSelection; import com.android.internal.util.Preconditions; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; Loading Loading @@ -98,6 +101,18 @@ public abstract class TextClassifierService extends Service { public static final String SERVICE_INTERFACE = "android.service.textclassifier.TextClassifierService"; /** @hide **/ public static final int CONNECTED = 0; /** @hide **/ public static final int DISCONNECTED = 1; /** @hide */ @IntDef(value = { CONNECTED, DISCONNECTED }) @Retention(RetentionPolicy.SOURCE) public @interface ConnectionState{} /** @hide **/ private static final String KEY_RESULT = "key_result"; Loading Loading @@ -195,6 +210,12 @@ public abstract class TextClassifierService extends Service { mMainThreadHandler.post( () -> TextClassifierService.this.onDestroyTextClassificationSession(sessionId)); } @Override public void onConnectedStateChanged(@ConnectionState int connected) { mMainThreadHandler.post(connected == CONNECTED ? TextClassifierService.this::onConnected : TextClassifierService.this::onDisconnected); } }; @Nullable Loading @@ -206,6 +227,26 @@ public abstract class TextClassifierService extends Service { return null; } @Override public boolean onUnbind(@NonNull Intent intent) { onDisconnected(); return super.onUnbind(intent); } /** * Called when the Android system connects to service. */ public void onConnected() { } /** * Called when the Android system disconnects from the service. * * <p> At this point this service may no longer be an active {@link TextClassifierService}. */ public void onDisconnected() { } /** * Returns suggested text selection start and end indices, recognized entity types, and their * associated confidence scores. The entity types are ordered from highest to lowest scoring. Loading services/core/java/com/android/server/textclassifier/TextClassificationManagerService.java +10 −0 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ import android.os.UserHandle; import android.service.textclassifier.ITextClassifierCallback; import android.service.textclassifier.ITextClassifierService; import android.service.textclassifier.TextClassifierService; import android.service.textclassifier.TextClassifierService.ConnectionState; import android.util.ArrayMap; import android.util.Slog; import android.util.SparseArray; Loading Loading @@ -129,6 +130,10 @@ public final class TextClassificationManagerService extends ITextClassifierServi mLock = new Object(); } @Override public void onConnectedStateChanged(@ConnectionState int connected) { } @Override public void onSuggestSelection( @Nullable TextClassificationSessionId sessionId, Loading Loading @@ -579,6 +584,11 @@ public final class TextClassificationManagerService extends ITextClassifierServi @Override public void onServiceConnected(ComponentName name, IBinder service) { init(ITextClassifierService.Stub.asInterface(service)); try { mService.onConnectedStateChanged(TextClassifierService.CONNECTED); } catch (RemoteException e) { Slog.e(LOG_TAG, "error in onConnectedStateChanged"); } } @Override Loading Loading
api/system-current.txt +2 −0 Original line number Diff line number Diff line Loading @@ -6962,9 +6962,11 @@ package android.service.textclassifier { method @Deprecated public final android.view.textclassifier.TextClassifier getLocalTextClassifier(); method @Nullable public final android.os.IBinder onBind(android.content.Intent); method @MainThread public abstract void onClassifyText(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.TextClassification.Request, @NonNull android.os.CancellationSignal, @NonNull android.service.textclassifier.TextClassifierService.Callback<android.view.textclassifier.TextClassification>); method public void onConnected(); method @MainThread public void onCreateTextClassificationSession(@NonNull android.view.textclassifier.TextClassificationContext, @NonNull android.view.textclassifier.TextClassificationSessionId); method @MainThread public void onDestroyTextClassificationSession(@NonNull android.view.textclassifier.TextClassificationSessionId); method @MainThread public void onDetectLanguage(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.TextLanguage.Request, @NonNull android.os.CancellationSignal, @NonNull android.service.textclassifier.TextClassifierService.Callback<android.view.textclassifier.TextLanguage>); method public void onDisconnected(); method @MainThread public abstract void onGenerateLinks(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.TextLinks.Request, @NonNull android.os.CancellationSignal, @NonNull android.service.textclassifier.TextClassifierService.Callback<android.view.textclassifier.TextLinks>); method @Deprecated @MainThread public void onSelectionEvent(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.SelectionEvent); method @MainThread public void onSuggestConversationActions(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.ConversationActions.Request, @NonNull android.os.CancellationSignal, @NonNull android.service.textclassifier.TextClassifierService.Callback<android.view.textclassifier.ConversationActions>); Loading
core/java/android/service/textclassifier/ITextClassifierService.aidl +2 −0 Original line number Diff line number Diff line Loading @@ -74,4 +74,6 @@ oneway interface ITextClassifierService { in TextClassificationSessionId sessionId, in ConversationActions.Request request, in ITextClassifierCallback callback); void onConnectedStateChanged(int connected); }
core/java/android/service/textclassifier/TextClassifierService.java +41 −0 Original line number Diff line number Diff line Loading @@ -17,6 +17,7 @@ package android.service.textclassifier; import android.Manifest; import android.annotation.IntDef; import android.annotation.MainThread; import android.annotation.NonNull; import android.annotation.Nullable; Loading Loading @@ -51,6 +52,8 @@ import android.view.textclassifier.TextSelection; import com.android.internal.util.Preconditions; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; Loading Loading @@ -98,6 +101,18 @@ public abstract class TextClassifierService extends Service { public static final String SERVICE_INTERFACE = "android.service.textclassifier.TextClassifierService"; /** @hide **/ public static final int CONNECTED = 0; /** @hide **/ public static final int DISCONNECTED = 1; /** @hide */ @IntDef(value = { CONNECTED, DISCONNECTED }) @Retention(RetentionPolicy.SOURCE) public @interface ConnectionState{} /** @hide **/ private static final String KEY_RESULT = "key_result"; Loading Loading @@ -195,6 +210,12 @@ public abstract class TextClassifierService extends Service { mMainThreadHandler.post( () -> TextClassifierService.this.onDestroyTextClassificationSession(sessionId)); } @Override public void onConnectedStateChanged(@ConnectionState int connected) { mMainThreadHandler.post(connected == CONNECTED ? TextClassifierService.this::onConnected : TextClassifierService.this::onDisconnected); } }; @Nullable Loading @@ -206,6 +227,26 @@ public abstract class TextClassifierService extends Service { return null; } @Override public boolean onUnbind(@NonNull Intent intent) { onDisconnected(); return super.onUnbind(intent); } /** * Called when the Android system connects to service. */ public void onConnected() { } /** * Called when the Android system disconnects from the service. * * <p> At this point this service may no longer be an active {@link TextClassifierService}. */ public void onDisconnected() { } /** * Returns suggested text selection start and end indices, recognized entity types, and their * associated confidence scores. The entity types are ordered from highest to lowest scoring. Loading
services/core/java/com/android/server/textclassifier/TextClassificationManagerService.java +10 −0 Original line number Diff line number Diff line Loading @@ -30,6 +30,7 @@ import android.os.UserHandle; import android.service.textclassifier.ITextClassifierCallback; import android.service.textclassifier.ITextClassifierService; import android.service.textclassifier.TextClassifierService; import android.service.textclassifier.TextClassifierService.ConnectionState; import android.util.ArrayMap; import android.util.Slog; import android.util.SparseArray; Loading Loading @@ -129,6 +130,10 @@ public final class TextClassificationManagerService extends ITextClassifierServi mLock = new Object(); } @Override public void onConnectedStateChanged(@ConnectionState int connected) { } @Override public void onSuggestSelection( @Nullable TextClassificationSessionId sessionId, Loading Loading @@ -579,6 +584,11 @@ public final class TextClassificationManagerService extends ITextClassifierServi @Override public void onServiceConnected(ComponentName name, IBinder service) { init(ITextClassifierService.Stub.asInterface(service)); try { mService.onConnectedStateChanged(TextClassifierService.CONNECTED); } catch (RemoteException e) { Slog.e(LOG_TAG, "error in onConnectedStateChanged"); } } @Override Loading