public class

ApiHelperForQ

extends java.lang.Object

 java.lang.Object

↳androidx.webkit.internal.ApiHelperForQ

Gradle dependencies

compile group: 'androidx.webkit', name: 'webkit', version: '1.12.0-rc01'

  • groupId: androidx.webkit
  • artifactId: webkit
  • version: 1.12.0-rc01

Artifact androidx.webkit:webkit:1.12.0-rc01 it located at Google repository (https://maven.google.com/)

Androidx artifact mapping:

androidx.webkit:webkit com.android.support:webkit

Overview

Utility class to use new APIs that were added in Q (API level 29). These need to exist in a separate class so that Android framework can successfully verify classes without encountering the new APIs.

Summary

Methods
public static intgetForceDark(WebSettings webSettings)

public static WebViewRenderProcessgetWebViewRenderProcess(WebView webView)

public static android.webkit.WebViewRenderProcessClientgetWebViewRenderProcessClient(WebView webView)

public static voidsetForceDark(WebSettings webSettings, int forceDark)

public static voidsetWebViewRenderProcessClient(WebView webView, java.util.concurrent.Executor executor, WebViewRenderProcessClient client)

public static voidsetWebViewRenderProcessClient(WebView webView, WebViewRenderProcessClient client)

public static booleanterminate(WebViewRenderProcess webViewRenderProcess)

from java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Methods

public static void setForceDark(WebSettings webSettings, int forceDark)

Deprecated: in 31

See also:

public static int getForceDark(WebSettings webSettings)

Deprecated: in 31

See also:

public static WebViewRenderProcess getWebViewRenderProcess(WebView webView)

See also:

public static boolean terminate(WebViewRenderProcess webViewRenderProcess)

See also:

public static void setWebViewRenderProcessClient(WebView webView, java.util.concurrent.Executor executor, WebViewRenderProcessClient client)

See also:

public static void setWebViewRenderProcessClient(WebView webView, WebViewRenderProcessClient client)

See also:

public static android.webkit.WebViewRenderProcessClient getWebViewRenderProcessClient(WebView webView)

See also:

Source

/*
 * Copyright 2022 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package androidx.webkit.internal;

import android.os.Build;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewRenderProcess;

import androidx.annotation.DoNotInline;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.RequiresApi;
import androidx.webkit.WebViewRenderProcessClient;

import java.util.concurrent.Executor;

/**
 * Utility class to use new APIs that were added in Q (API level 29).
 * These need to exist in a separate class so that Android framework can successfully verify
 * classes without encountering the new APIs.
 */
@RequiresApi(Build.VERSION_CODES.Q)
public class ApiHelperForQ {
    private ApiHelperForQ() {
    }

    /**
     * @see WebSettings#setForceDark(int)
     * @deprecated in 31
     */
    @DoNotInline
    @Deprecated
    public static void setForceDark(@NonNull WebSettings webSettings, int forceDark) {
        webSettings.setForceDark(forceDark);
    }

    /**
     * @see WebSettings#getForceDark()
     * @deprecated in 31
     */
    @DoNotInline
    @Deprecated
    public static int getForceDark(@NonNull WebSettings webSettings) {
        return webSettings.getForceDark();
    }

    /**
     * @see WebView#getWebViewRenderProcess()
     */
    @DoNotInline
    @Nullable
    public static WebViewRenderProcess getWebViewRenderProcess(@NonNull WebView webView) {
        return webView.getWebViewRenderProcess();
    }

    /**
     * @see WebViewRenderProcess#terminate()
     */
    @DoNotInline
    public static boolean terminate(@NonNull WebViewRenderProcess webViewRenderProcess) {
        return webViewRenderProcess.terminate();
    }

    /**
     * @see WebView#setWebViewRenderProcessClient(Executor,
     *          android.webkit.WebViewRenderProcessClient)
     */
    @DoNotInline
    public static void setWebViewRenderProcessClient(@NonNull WebView webView,
            @NonNull Executor executor,
            @Nullable WebViewRenderProcessClient client) {
        WebViewRenderProcessClientFrameworkAdapter clientAdapter =
                client != null ? new WebViewRenderProcessClientFrameworkAdapter(client) : null;
        webView.setWebViewRenderProcessClient(executor, clientAdapter);
    }

    /**
     * @see WebView#setWebViewRenderProcessClient(android.webkit.WebViewRenderProcessClient)
     */
    @DoNotInline
    public static void setWebViewRenderProcessClient(@NonNull WebView webView,
            @Nullable WebViewRenderProcessClient client) {
        WebViewRenderProcessClientFrameworkAdapter clientAdapter =
                client != null ? new WebViewRenderProcessClientFrameworkAdapter(client) : null;
        webView.setWebViewRenderProcessClient(clientAdapter);
    }

    /**
     * @see WebView#getWebViewRenderProcessClient()
     */
    @DoNotInline
    @Nullable
    public static android.webkit.WebViewRenderProcessClient getWebViewRenderProcessClient(
            @NonNull WebView webView) {
        return webView.getWebViewRenderProcessClient();
    }
}