Android P (API 28) - What does the StrictMode policy violation "SmartSelectionEventTracker$SelectionEvent;->selectionAction" mean? : <p>I am using the <code>StrictMode</code> in order to find non-SDK usages:</p>

<pre><code>if (BuildConfig.DEBUG &amp;&amp; Build.VERSION.SDK_INT &gt;= Build.VERSION_CODES.P) {
    StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder()
            .detectNonSdkApiUsage()
            .penaltyLog()
            .build());
}
</code></pre>

<p>Now I am getting a policy violation:</p>

<pre><code>D/StrictMode: StrictMode policy violation: android.os.strictmode.NonSdkApiUsedViolation: Landroid/view/textclassifier/logging/    SmartSelectionEventTracker$SelectionEvent;-&gt;selectionAction(IIILandroid/view/textclassifier/TextClassification;)Landroid/view/textclassifier/logging/    SmartSelectionEventTracker$SelectionEvent;
        at android.os.StrictMode.lambda$static$1(StrictMode.java:428)
        at android.os.-$$Lambda$StrictMode$lu9ekkHJ2HMz0jd3F8K8MnhenxQ.accept(Unknown Source:2)
        at java.lang.Class.getDeclaredMethodInternal(Native Method)
        at java.lang.Class.getPublicMethodRecursive(Class.java:2075)
        at java.lang.Class.getMethod(Class.java:2063)
        at java.lang.Class.getMethod(Class.java:1690)
        at bzi.a(SourceFile:11)
        at bzq.a(SourceFile:12)
        at org.chromium.content.browser.selection.SmartSelectionClient.&lt;init&gt;(SourceFile:5)
        at bzZ.a(Unknown Source:7)
        at org.chromium.android_webview.AwContents.e(SourceFile:193)
        at org.chromium.android_webview.AwContents.d(SourceFile:153)
        at org.chromium.android_webview.AwContents.&lt;init&gt;(SourceFile:81)
        at uY.run(SourceFile:15)
        at ahv.a(SourceFile:13)
        at ahw.run(SourceFile:2)
        at org.chromium.base.ThreadUtils.b(SourceFile:31)
        at ahv.a(SourceFile:7)
        at com.android.webview.chromium.WebViewChromiumFactoryProvider.b(SourceFile:6)
        at com.android.webview.chromium.WebViewChromium.init(SourceFile:111)
        at android.webkit.WebView.&lt;init&gt;(WebView.java:678)
        at android.webkit.WebView.&lt;init&gt;(WebView.java:604)
        at android.webkit.WebView.&lt;init&gt;(WebView.java:587)
        at android.webkit.WebView.&lt;init&gt;(WebView.java:574)
        at java.lang.reflect.Constructor.newInstance0(Native Method)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:343)
        at android.view.LayoutInflater.createView(LayoutInflater.java:647)
        at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58)
        at android.view.LayoutInflater.onCreateView(LayoutInflater.java:720)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:788)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:730)
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:863)
        at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:824)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:515)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:423)
        at com.mine.ui.events.EventScreen.onCreateView(EventScreen.java:70)
        at android.support.v4.app.Fragment.performCreateView(Fragment.java:2354)
        at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1419)
        at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1740)
        at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1809)
        at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:799)
        at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2580)
        at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2367)
        at android.support.v4.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2322)
        at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2229)
        at android.support.v4.app.FragmentManagerImpl.executePendingTransactions(FragmentManager.java:781)
        (... shortened ...)
</code></pre>

<p>The important line is:</p>

<pre><code>at com.mine.ui.events.EventScreen.onCreateView(EventScreen.java:70)
</code></pre>

<p>Examining the mentioned line:</p>

<pre><code>public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
// This is the important line:
ViewGroup content = (ViewGroup) inflater.inflate(R.layout.mine_event, container, false);
WebView webView = (WebView) content.findViewById(R.id.container);
webView.loadUrl(event.getWebViewUrl());
webView.getSettings().setJavaScriptEnabled(true);
(...)
</code></pre>

<p>So I get the violation while the inflation happens, which I dont quite understand.</p>

<p>As you can see shortly after the mentioned line a <code>WebView</code> comes into play. I have looked at the source-code for the <code>SmartSelectionEventTracker</code> <a href="https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/core/java/android/view/textclassifier/logging/SmartSelectionEventTracker.java" rel="noreferrer">here</a> and it seems like a generic class for <code>Widgets like TextViews, WebViews, ...</code>.
<code>WebViews</code> seem to be related to <code>MockViews</code> which are related to <code>TextViews</code>.</p>

<p>But apart from that finding I do not understand how / why the violation is happening and what I can do against it.</p>

<p>Can someome explain this to me?</p>
