diff --git a/core/java/android/view/textclassifier/SelectionSessionLogger.java b/core/java/android/view/textclassifier/SelectionSessionLogger.java index f2fb63eb01f3f..cdacdd504eebb 100644 --- a/core/java/android/view/textclassifier/SelectionSessionLogger.java +++ b/core/java/android/view/textclassifier/SelectionSessionLogger.java @@ -86,8 +86,10 @@ public final class SelectionSessionLogger { .addTaggedData(SMART_START, event.getSmartStart()) .addTaggedData(SMART_END, event.getSmartEnd()) .addTaggedData(EVENT_START, event.getStart()) - .addTaggedData(EVENT_END, event.getEnd()) - .addTaggedData(SESSION_ID, event.getSessionId().flattenToString()); + .addTaggedData(EVENT_END, event.getEnd()); + if (event.getSessionId() != null) { + log.addTaggedData(SESSION_ID, event.getSessionId().flattenToString()); + } mMetricsLogger.write(log); debugLog(log); } diff --git a/core/java/android/view/textclassifier/SystemTextClassifier.java b/core/java/android/view/textclassifier/SystemTextClassifier.java index da86b559c5dbc..10191e0edbf7b 100644 --- a/core/java/android/view/textclassifier/SystemTextClassifier.java +++ b/core/java/android/view/textclassifier/SystemTextClassifier.java @@ -129,6 +129,18 @@ public final class SystemTextClassifier implements TextClassifier { return mFallback.generateLinks(request); } + @Override + public void onSelectionEvent(SelectionEvent event) { + Preconditions.checkNotNull(event); + Utils.checkMainThread(); + + try { + mManagerService.onSelectionEvent(mSessionId, event); + } catch (RemoteException e) { + Log.e(LOG_TAG, "Error reporting selection event.", e); + } + } + /** * @inheritDoc */