Merge "Pass Activity LocusContext to the Content Capture."

This commit is contained in:
Yuliya Kamatkova
2020-02-14 18:56:29 +00:00
committed by Android (Google) Code Review

View File

@@ -126,6 +126,7 @@ import android.view.autofill.AutofillManager;
import android.view.autofill.AutofillManager.AutofillClient;
import android.view.autofill.AutofillPopupWindow;
import android.view.autofill.IAutofillWindowPresenter;
import android.view.contentcapture.ContentCaptureContext;
import android.view.contentcapture.ContentCaptureManager;
import android.view.contentcapture.ContentCaptureManager.ContentCaptureClient;
import android.widget.AdapterView;
@@ -1056,7 +1057,10 @@ public class Activity extends ContextThemeWrapper
} catch (RemoteException re) {
re.rethrowFromSystemServer();
}
// TODO(b/147750355): Pass locusId and bundle to the Content Capture.
// If locusId is not null pass it to the Content Capture.
if (locusId != null) {
setLocusContextToContentCapture(locusId, bundle);
}
}
/** Return the application that owns this activity. */
@@ -1209,6 +1213,19 @@ public class Activity extends ContextThemeWrapper
}
}
private void setLocusContextToContentCapture(LocusId locusId, @Nullable Bundle bundle) {
final ContentCaptureManager cm = getContentCaptureManager();
if (cm == null) return;
ContentCaptureContext.Builder contentCaptureContextBuilder =
new ContentCaptureContext.Builder(locusId);
if (bundle != null) {
contentCaptureContextBuilder.setExtras(bundle);
}
cm.getMainContentCaptureSession().setContentCaptureContext(
contentCaptureContextBuilder.build());
}
@Override
protected void attachBaseContext(Context newBase) {
super.attachBaseContext(newBase);