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