Using LangID to detect the language of the text and pass it to annotator

1. Use LangID to detect the language tags, and pass the result to
   the native side.
2. Have feature flags to turn off "detectLanguageTagsFromText" and
   foreign action for classification respectively.

Test: Select a non-english word, no more "define" action.
Test: atest frameworks/base/core/tests/coretests/src/android/view/textclassifier/

BUG: 123705564
BUG: 128413589

Change-Id: I6a68caca1e0709e63319907acbf8d776894f555b
diff --git a/core/java/android/view/textclassifier/ActionsSuggestionsHelper.java b/core/java/android/view/textclassifier/ActionsSuggestionsHelper.java
index ddbff7b..17edf5c 100644
--- a/core/java/android/view/textclassifier/ActionsSuggestionsHelper.java
+++ b/core/java/android/view/textclassifier/ActionsSuggestionsHelper.java
@@ -82,9 +82,12 @@
             long referenceTime = message.getReferenceTime() == null
                     ? 0
                     : message.getReferenceTime().toInstant().toEpochMilli();
+            String timeZone = message.getReferenceTime() == null
+                    ? null
+                    : message.getReferenceTime().getZone().getId();
             nativeMessages.push(new ActionsSuggestionsModel.ConversationMessage(
                     personEncoder.encode(message.getAuthor()),
-                    message.getText().toString(), referenceTime,
+                    message.getText().toString(), referenceTime, timeZone,
                     languageDetector.apply(message.getText())));
         }
         return nativeMessages.toArray(