Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8dcd93f4 authored by Gustav Sennton's avatar Gustav Sennton Committed by android-build-merger
Browse files

Add system api to reach WebViewUpdateService Binder interface.

am: 1c177d8d

* commit '1c177d8d':
  Add system api to reach WebViewUpdateService Binder interface.

Change-Id: I833bd044c51f309832f64f57eb80490c8e8359d9
parents ade21633 1c177d8d
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
@@ -48858,6 +48858,24 @@ package android.webkit {
    method public abstract boolean shouldDelayChildPressedState();
  }
  public final class WebViewProviderInfo implements android.os.Parcelable {
    ctor public WebViewProviderInfo(java.lang.String, java.lang.String, boolean, boolean, java.lang.String[]);
    method public int describeContents();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator<android.webkit.WebViewProviderInfo> CREATOR;
    field public final boolean availableByDefault;
    field public final java.lang.String description;
    field public final boolean isFallback;
    field public final java.lang.String packageName;
    field public final java.lang.String[] signatures;
  }
  public final class WebViewUpdateService {
    method public static android.webkit.WebViewProviderInfo[] getAllWebViewPackages();
    method public static java.lang.String getCurrentWebViewPackageName();
    method public static android.webkit.WebViewProviderInfo[] getValidWebViewPackages();
  }
}
package android.widget {
+6 −2
Original line number Diff line number Diff line
@@ -573,8 +573,12 @@ public final class WebViewFactory {
                intent.getDataString().substring("package:".length()));
    }

    private static IWebViewUpdateService getUpdateService() {
        return IWebViewUpdateService.Stub.asInterface(ServiceManager.getService("webviewupdate"));
    private static String WEBVIEW_UPDATE_SERVICE_NAME = "webviewupdate";

    /** @hide */
    public static IWebViewUpdateService getUpdateService() {
        return IWebViewUpdateService.Stub.asInterface(
                ServiceManager.getService(WEBVIEW_UPDATE_SERVICE_NAME));
    }

    private static native boolean nativeReserveAddressSpace(long addressSpaceToReserve);
+5 −1
Original line number Diff line number Diff line
@@ -16,12 +16,16 @@

package android.webkit;

import android.annotation.SystemApi;
import android.os.Parcel;
import android.os.Parcelable;

import java.util.Arrays;

/** @hide */
/**
 * @hide
 */
@SystemApi
public final class WebViewProviderInfo implements Parcelable {

    public WebViewProviderInfo(String packageName, String description,
+66 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2016 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 android.webkit;

import android.annotation.SystemApi;
import android.os.RemoteException;

/**
 * @hide
 */
@SystemApi
public final class WebViewUpdateService {

    private WebViewUpdateService () {}

    /**
     * Fetch all packages that could potentially implement WebView.
     */
    public static WebViewProviderInfo[] getAllWebViewPackages() {
        try {
            return getUpdateService().getAllWebViewPackages();
        } catch (RemoteException e) {
            throw new RuntimeException(e);
        }
    }

    /**
     * Fetch all packages that could potentially implement WebView and are currently valid.
     */
    public static WebViewProviderInfo[] getValidWebViewPackages() {
        try {
            return getUpdateService().getValidWebViewPackages();
        } catch (RemoteException e) {
            throw new RuntimeException(e);
        }
    }

    /**
     * Used by DevelopmentSetting to get the name of the WebView provider currently in use.
     */
    public static String getCurrentWebViewPackageName() {
        try {
            return getUpdateService().getCurrentWebViewPackageName();
        } catch (RemoteException e) {
            throw new RuntimeException(e);
        }
    }

    private static IWebViewUpdateService getUpdateService() {
        return WebViewFactory.getUpdateService();
    }
}