WebViewProviderInfo.java revision dbf5eb04e6793651193cec59ff6b8cb0c6ca2f78
16258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton/*
26258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton * Copyright (C) 2015 The Android Open Source Project
36258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton *
46258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton * Licensed under the Apache License, Version 2.0 (the "License");
56258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton * you may not use this file except in compliance with the License.
66258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton * You may obtain a copy of the License at
76258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton *
86258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton *      http://www.apache.org/licenses/LICENSE-2.0
96258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton *
106258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton * Unless required by applicable law or agreed to in writing, software
116258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton * distributed under the License is distributed on an "AS IS" BASIS,
126258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
136258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton * See the License for the specific language governing permissions and
146258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton * limitations under the License.
156258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton */
166258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton
176258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Senntonpackage android.webkit;
186258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton
196258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Senntonimport android.os.Parcel;
206258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Senntonimport android.os.Parcelable;
216258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton
226258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Senntonimport java.util.Arrays;
236258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton
246258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton/** @hide */
25dbf5eb04e6793651193cec59ff6b8cb0c6ca2f78Gustav Senntonpublic final class WebViewProviderInfo implements Parcelable {
266258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton
27dbf5eb04e6793651193cec59ff6b8cb0c6ca2f78Gustav Sennton    public WebViewProviderInfo(String packageName, String description,
28dbf5eb04e6793651193cec59ff6b8cb0c6ca2f78Gustav Sennton            boolean availableByDefault, boolean isFallback, String[] signatures) {
296258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton        this.packageName = packageName;
306258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton        this.description = description;
31c83e3fa35a5736a1778d241abd18dffa5953f416Gustav Sennton        this.availableByDefault = availableByDefault;
32c83e3fa35a5736a1778d241abd18dffa5953f416Gustav Sennton        this.isFallback = isFallback;
335c2454cde182118a3619e905b8add2c21e14070dGustav Sennton        this.signatures = signatures;
346258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton    }
356258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton
366258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton    // aidl stuff
376258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton    public static final Parcelable.Creator<WebViewProviderInfo> CREATOR =
386258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton        new Parcelable.Creator<WebViewProviderInfo>() {
396258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton            public WebViewProviderInfo createFromParcel(Parcel in) {
406258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton                return new WebViewProviderInfo(in);
416258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton            }
426258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton
436258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton            public WebViewProviderInfo[] newArray(int size) {
446258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton                return new WebViewProviderInfo[size];
456258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton            }
466258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton        };
476258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton
486258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton    private WebViewProviderInfo(Parcel in) {
496258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton        packageName = in.readString();
506258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton        description = in.readString();
518b17926a78cc686504739730516c9b057d0672daGustav Sennton        availableByDefault = (in.readInt() > 0);
528b17926a78cc686504739730516c9b057d0672daGustav Sennton        isFallback = (in.readInt() > 0);
535c2454cde182118a3619e905b8add2c21e14070dGustav Sennton        signatures = in.createStringArray();
546258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton    }
556258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton
566258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton    @Override
576258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton    public int describeContents() {
586258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton        return 0;
596258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton    }
606258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton
616258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton    @Override
626258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton    public void writeToParcel(Parcel out, int flags) {
636258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton        out.writeString(packageName);
646258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton        out.writeString(description);
658b17926a78cc686504739730516c9b057d0672daGustav Sennton        out.writeInt(availableByDefault ? 1 : 0);
668b17926a78cc686504739730516c9b057d0672daGustav Sennton        out.writeInt(isFallback ? 1 : 0);
675c2454cde182118a3619e905b8add2c21e14070dGustav Sennton        out.writeStringArray(signatures);
686258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton    }
696258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton
706258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton    // fields read from framework resource
71dbf5eb04e6793651193cec59ff6b8cb0c6ca2f78Gustav Sennton    public final String packageName;
72dbf5eb04e6793651193cec59ff6b8cb0c6ca2f78Gustav Sennton    public final String description;
73dbf5eb04e6793651193cec59ff6b8cb0c6ca2f78Gustav Sennton    public final boolean availableByDefault;
74dbf5eb04e6793651193cec59ff6b8cb0c6ca2f78Gustav Sennton    public final boolean isFallback;
75dbf5eb04e6793651193cec59ff6b8cb0c6ca2f78Gustav Sennton    public final String[] signatures;
766258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton}
77