Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d38b8882 authored by Joanne Chung's avatar Joanne Chung Committed by Android (Google) Code Review
Browse files

Merge "Log the error of TCS, TCMS and SysTC."

parents eec430b4 0b7c2c41
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -460,6 +460,7 @@ public abstract class TextClassifierService extends Service {
                return;
            }
            try {
                Slog.w(LOG_TAG, "Request fail: " + error);
                callback.onFailure();
            } catch (RemoteException e) {
                Slog.d(LOG_TAG, "Error calling callback");
+1 −1
Original line number Diff line number Diff line
@@ -309,7 +309,7 @@ public final class SystemTextClassifier implements TextClassifier {
        }

        public void onFailure() {
            Log.e(LOG_TAG, "Request failed.", null);
            Log.e(LOG_TAG, "Request failed at " + mName, null);
            mLatch.countDown();
        }

+23 −12
Original line number Diff line number Diff line
@@ -142,11 +142,12 @@ public final class TextClassificationManagerService extends ITextClassifierServi
        synchronized (mLock) {
            UserState userState = getUserStateLocked(userId);
            if (!userState.bindLocked()) {
                Slog.d(LOG_TAG, "Unable to bind TextClassifierService at suggestSelection.");
                callback.onFailure();
            } else if (userState.isBoundLocked()) {
                userState.mService.onSuggestSelection(sessionId, request, callback);
            } else {
                userState.mPendingRequests.add(new PendingRequest(
                userState.mPendingRequests.add(new PendingRequest("suggestSelection",
                        () -> onSuggestSelection(sessionId, request, callback),
                        callback::onFailure, callback.asBinder(), this, userState));
            }
@@ -166,11 +167,12 @@ public final class TextClassificationManagerService extends ITextClassifierServi
        synchronized (mLock) {
            UserState userState = getUserStateLocked(userId);
            if (!userState.bindLocked()) {
                Slog.d(LOG_TAG, "Unable to bind TextClassifierService at classifyText.");
                callback.onFailure();
            } else if (userState.isBoundLocked()) {
                userState.mService.onClassifyText(sessionId, request, callback);
            } else {
                userState.mPendingRequests.add(new PendingRequest(
                userState.mPendingRequests.add(new PendingRequest("classifyText",
                        () -> onClassifyText(sessionId, request, callback),
                        callback::onFailure, callback.asBinder(), this, userState));
            }
@@ -190,11 +192,12 @@ public final class TextClassificationManagerService extends ITextClassifierServi
        synchronized (mLock) {
            UserState userState = getUserStateLocked(userId);
            if (!userState.bindLocked()) {
                Slog.d(LOG_TAG, "Unable to bind TextClassifierService at generateLinks.");
                callback.onFailure();
            } else if (userState.isBoundLocked()) {
                userState.mService.onGenerateLinks(sessionId, request, callback);
            } else {
                userState.mPendingRequests.add(new PendingRequest(
                userState.mPendingRequests.add(new PendingRequest("generateLinks",
                        () -> onGenerateLinks(sessionId, request, callback),
                        callback::onFailure, callback.asBinder(), this, userState));
            }
@@ -214,7 +217,7 @@ public final class TextClassificationManagerService extends ITextClassifierServi
            if (userState.isBoundLocked()) {
                userState.mService.onSelectionEvent(sessionId, event);
            } else {
                userState.mPendingRequests.add(new PendingRequest(
                userState.mPendingRequests.add(new PendingRequest("selectionEvent",
                        () -> onSelectionEvent(sessionId, event),
                        null /* onServiceFailure */, null /* binder */, this, userState));
            }
@@ -238,7 +241,7 @@ public final class TextClassificationManagerService extends ITextClassifierServi
            if (userState.isBoundLocked()) {
                userState.mService.onTextClassifierEvent(sessionId, event);
            } else {
                userState.mPendingRequests.add(new PendingRequest(
                userState.mPendingRequests.add(new PendingRequest("textClassifierEvent",
                        () -> onTextClassifierEvent(sessionId, event),
                        null /* onServiceFailure */, null /* binder */, this, userState));
            }
@@ -258,11 +261,12 @@ public final class TextClassificationManagerService extends ITextClassifierServi
        synchronized (mLock) {
            UserState userState = getUserStateLocked(userId);
            if (!userState.bindLocked()) {
                Slog.d(LOG_TAG, "Unable to bind TextClassifierService at detectLanguage.");
                callback.onFailure();
            } else if (userState.isBoundLocked()) {
                userState.mService.onDetectLanguage(sessionId, request, callback);
            } else {
                userState.mPendingRequests.add(new PendingRequest(
                userState.mPendingRequests.add(new PendingRequest("detectLanguage",
                        () -> onDetectLanguage(sessionId, request, callback),
                        callback::onFailure, callback.asBinder(), this, userState));
            }
@@ -282,11 +286,13 @@ public final class TextClassificationManagerService extends ITextClassifierServi
        synchronized (mLock) {
            UserState userState = getUserStateLocked(userId);
            if (!userState.bindLocked()) {
                Slog.d(LOG_TAG,
                        "Unable to bind TextClassifierService at suggestConversationActions.");
                callback.onFailure();
            } else if (userState.isBoundLocked()) {
                userState.mService.onSuggestConversationActions(sessionId, request, callback);
            } else {
                userState.mPendingRequests.add(new PendingRequest(
                userState.mPendingRequests.add(new PendingRequest("suggestConversationActions",
                        () -> onSuggestConversationActions(sessionId, request, callback),
                        callback::onFailure, callback.asBinder(), this, userState));
            }
@@ -309,7 +315,7 @@ public final class TextClassificationManagerService extends ITextClassifierServi
                        classificationContext, sessionId);
                mSessionUserIds.put(sessionId, userId);
            } else {
                userState.mPendingRequests.add(new PendingRequest(
                userState.mPendingRequests.add(new PendingRequest("createTextClassificationSession",
                        () -> onCreateTextClassificationSession(classificationContext, sessionId),
                        null /* onServiceFailure */, null /* binder */, this, userState));
            }
@@ -332,7 +338,8 @@ public final class TextClassificationManagerService extends ITextClassifierServi
                userState.mService.onDestroyTextClassificationSession(sessionId);
                mSessionUserIds.remove(sessionId);
            } else {
                userState.mPendingRequests.add(new PendingRequest(
                userState.mPendingRequests.add(
                        new PendingRequest("destroyTextClassificationSession",
                                () -> onDestroyTextClassificationSession(sessionId),
                                null /* onServiceFailure */, null /* binder */, this, userState));
            }
@@ -379,6 +386,7 @@ public final class TextClassificationManagerService extends ITextClassifierServi

    private static final class PendingRequest implements IBinder.DeathRecipient {

        @Nullable private final String mName;
        @Nullable private final IBinder mBinder;
        @NonNull private final Runnable mRequest;
        @Nullable private final Runnable mOnServiceFailure;
@@ -394,11 +402,12 @@ public final class TextClassificationManagerService extends ITextClassifierServi
         * @param service
         * @param owningUser
         */
        PendingRequest(
        PendingRequest(@Nullable String name,
                @NonNull ThrowingRunnable request, @Nullable ThrowingRunnable onServiceFailure,
                @Nullable IBinder binder,
                TextClassificationManagerService service,
                UserState owningUser) {
            mName = name;
            mRequest =
                    logOnFailure(Preconditions.checkNotNull(request), "handling pending request");
            mOnServiceFailure =
@@ -499,6 +508,8 @@ public final class TextClassificationManagerService extends ITextClassifierServi
                    request.mRequest.run();
                } else {
                    if (request.mOnServiceFailure != null) {
                        Slog.d(LOG_TAG, "Unable to bind TextClassifierService for PendingRequest "
                                + request.mName);
                        request.mOnServiceFailure.run();
                    }
                }