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
191c177d8dae45e72a4709cd023415d98544e756a3Gustav Senntonimport android.annotation.SystemApi;
206258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Senntonimport android.os.Parcel;
216258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Senntonimport android.os.Parcelable;
226258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton
236258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Senntonimport java.util.Arrays;
246258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton
251c177d8dae45e72a4709cd023415d98544e756a3Gustav Sennton/**
261c177d8dae45e72a4709cd023415d98544e756a3Gustav Sennton * @hide
271c177d8dae45e72a4709cd023415d98544e756a3Gustav Sennton */
281c177d8dae45e72a4709cd023415d98544e756a3Gustav Sennton@SystemApi
29dbf5eb04e6793651193cec59ff6b8cb0c6ca2f78Gustav Senntonpublic final class WebViewProviderInfo implements Parcelable {
306258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton
31dbf5eb04e6793651193cec59ff6b8cb0c6ca2f78Gustav Sennton    public WebViewProviderInfo(String packageName, String description,
32dbf5eb04e6793651193cec59ff6b8cb0c6ca2f78Gustav Sennton            boolean availableByDefault, boolean isFallback, String[] signatures) {
336258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton        this.packageName = packageName;
346258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton        this.description = description;
35c83e3fa35a5736a1778d241abd18dffa5953f416Gustav Sennton        this.availableByDefault = availableByDefault;
36c83e3fa35a5736a1778d241abd18dffa5953f416Gustav Sennton        this.isFallback = isFallback;
375c2454cde182118a3619e905b8add2c21e14070dGustav Sennton        this.signatures = signatures;
386258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton    }
396258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton
406258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton    // aidl stuff
416258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton    public static final Parcelable.Creator<WebViewProviderInfo> CREATOR =
426258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton        new Parcelable.Creator<WebViewProviderInfo>() {
436258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton            public WebViewProviderInfo createFromParcel(Parcel in) {
446258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton                return new WebViewProviderInfo(in);
456258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton            }
466258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton
476258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton            public WebViewProviderInfo[] newArray(int size) {
486258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton                return new WebViewProviderInfo[size];
496258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton            }
506258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton        };
516258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton
526258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton    private WebViewProviderInfo(Parcel in) {
536258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton        packageName = in.readString();
546258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton        description = in.readString();
558b17926a78cc686504739730516c9b057d0672daGustav Sennton        availableByDefault = (in.readInt() > 0);
568b17926a78cc686504739730516c9b057d0672daGustav Sennton        isFallback = (in.readInt() > 0);
575c2454cde182118a3619e905b8add2c21e14070dGustav Sennton        signatures = in.createStringArray();
586258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton    }
596258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton
606258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton    @Override
616258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton    public int describeContents() {
626258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton        return 0;
636258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton    }
646258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton
656258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton    @Override
666258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton    public void writeToParcel(Parcel out, int flags) {
676258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton        out.writeString(packageName);
686258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton        out.writeString(description);
698b17926a78cc686504739730516c9b057d0672daGustav Sennton        out.writeInt(availableByDefault ? 1 : 0);
708b17926a78cc686504739730516c9b057d0672daGustav Sennton        out.writeInt(isFallback ? 1 : 0);
715c2454cde182118a3619e905b8add2c21e14070dGustav Sennton        out.writeStringArray(signatures);
726258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton    }
736258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton
746258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton    // fields read from framework resource
75dbf5eb04e6793651193cec59ff6b8cb0c6ca2f78Gustav Sennton    public final String packageName;
76dbf5eb04e6793651193cec59ff6b8cb0c6ca2f78Gustav Sennton    public final String description;
77dbf5eb04e6793651193cec59ff6b8cb0c6ca2f78Gustav Sennton    public final boolean availableByDefault;
78dbf5eb04e6793651193cec59ff6b8cb0c6ca2f78Gustav Sennton    public final boolean isFallback;
79dbf5eb04e6793651193cec59ff6b8cb0c6ca2f78Gustav Sennton    public final String[] signatures;
806258dcd7ea5450726bc7bcb1fbd50e99f62f38fbGustav Sennton}
81