No smart text assist for unprovisioned device.
Test: bit CtsViewTestCases:android.view.textclassifier.cts.TextClassificationManagerTest bit FrameworksCoreTests:android.widget.TextViewActivityTest bit FrameworksCoreTests:android.widget.TextViewActivityMoutseTest Bug: 62745625 Change-Id: I360250a5c2a92d09c8d8f559b51c74f490f70c2c
This commit is contained in:
@@ -3909,25 +3909,30 @@ public class Editor {
|
|||||||
menu.removeItem(TextView.ID_ASSIST);
|
menu.removeItem(TextView.ID_ASSIST);
|
||||||
final TextClassification textClassification =
|
final TextClassification textClassification =
|
||||||
getSelectionActionModeHelper().getTextClassification();
|
getSelectionActionModeHelper().getTextClassification();
|
||||||
if (textClassification != null) {
|
if (canAssist()) {
|
||||||
final Drawable icon = textClassification.getIcon();
|
menu.add(TextView.ID_ASSIST, TextView.ID_ASSIST, MENU_ITEM_ORDER_ASSIST,
|
||||||
final CharSequence label = textClassification.getLabel();
|
textClassification.getLabel())
|
||||||
final OnClickListener onClickListener =
|
.setIcon(textClassification.getIcon())
|
||||||
textClassification.getOnClickListener();
|
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
|
||||||
final Intent intent = textClassification.getIntent();
|
mMetricsLogger.write(
|
||||||
if ((icon != null || !TextUtils.isEmpty(label))
|
new LogMaker(MetricsEvent.TEXT_SELECTION_MENU_ITEM_ASSIST)
|
||||||
&& (onClickListener != null || intent != null)) {
|
.setType(MetricsEvent.TYPE_OPEN)
|
||||||
menu.add(TextView.ID_ASSIST, TextView.ID_ASSIST, MENU_ITEM_ORDER_ASSIST, label)
|
.setSubtype(textClassification.getLogType()));
|
||||||
.setIcon(icon)
|
|
||||||
.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
|
|
||||||
mMetricsLogger.write(
|
|
||||||
new LogMaker(MetricsEvent.TEXT_SELECTION_MENU_ITEM_ASSIST)
|
|
||||||
.setType(MetricsEvent.TYPE_OPEN)
|
|
||||||
.setSubtype(textClassification.getLogType()));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean canAssist() {
|
||||||
|
final TextClassification textClassification =
|
||||||
|
getSelectionActionModeHelper().getTextClassification();
|
||||||
|
return mTextView.isDeviceProvisioned()
|
||||||
|
&& textClassification != null
|
||||||
|
&& (textClassification.getIcon() != null
|
||||||
|
|| !TextUtils.isEmpty(textClassification.getLabel()))
|
||||||
|
&& (textClassification.getOnClickListener() != null
|
||||||
|
|| (textClassification.getIntent() != null
|
||||||
|
&& mTextView.getContext().canStartActivityForResult()));
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
|
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
|
||||||
getSelectionActionModeHelper().onSelectionAction();
|
getSelectionActionModeHelper().onSelectionAction();
|
||||||
|
|||||||
Reference in New Issue
Block a user