14dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt/* 24dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt * Copyright (C) 2016 The Android Open Source Project 34dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt * 44dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt * Licensed under the Apache License, Version 2.0 (the "License"); 54dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt * you may not use this file except in compliance with the License. 64dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt * You may obtain a copy of the License at 74dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt * 84dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt * http://www.apache.org/licenses/LICENSE-2.0 94dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt * 104dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt * Unless required by applicable law or agreed to in writing, software 114dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt * distributed under the License is distributed on an "AS IS" BASIS, 124dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 134dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt * See the License for the specific language governing permissions and 144dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt * limitations under the License. 154dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt */ 164dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt 174dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwaltpackage android.telephony.mbms; 184dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt 19ff6f9862e5dd1b2fd825ed69dc11918a0565fd33Hall Liuimport android.annotation.SystemApi; 20156b3041a9f32efa2ae9872ad3ad2a8e541c1cd0Hall Liuimport android.annotation.TestApi; 214dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwaltimport android.os.Parcel; 224dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwaltimport android.os.Parcelable; 234dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt 244dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwaltimport java.util.ArrayList; 254dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwaltimport java.util.Date; 264dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwaltimport java.util.List; 274dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwaltimport java.util.Locale; 284dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwaltimport java.util.Map; 294dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt 304dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt/** 31ff6f9862e5dd1b2fd825ed69dc11918a0565fd33Hall Liu * Describes a file service available from the carrier from which files can be downloaded via 32ff6f9862e5dd1b2fd825ed69dc11918a0565fd33Hall Liu * cell-broadcast. 334dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt */ 3439605add8994d6114736c2e98fa8314209215670Hall Liupublic final class FileServiceInfo extends ServiceInfo implements Parcelable { 35fcbf24075dca399bbe94979aef770b4aef705db4Hall Liu private final List<FileInfo> files; 364dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt 37ff6f9862e5dd1b2fd825ed69dc11918a0565fd33Hall Liu /** @hide */ 38ff6f9862e5dd1b2fd825ed69dc11918a0565fd33Hall Liu @SystemApi 39156b3041a9f32efa2ae9872ad3ad2a8e541c1cd0Hall Liu @TestApi 4047c2a3e93eff59fe2309917662093e44c5ab70cfRobert Greenwalt public FileServiceInfo(Map<Locale, String> newNames, String newClassName, 4147c2a3e93eff59fe2309917662093e44c5ab70cfRobert Greenwalt List<Locale> newLocales, String newServiceId, Date start, Date end, 4247c2a3e93eff59fe2309917662093e44c5ab70cfRobert Greenwalt List<FileInfo> newFiles) { 4347c2a3e93eff59fe2309917662093e44c5ab70cfRobert Greenwalt super(newNames, newClassName, newLocales, newServiceId, start, end); 44fcbf24075dca399bbe94979aef770b4aef705db4Hall Liu files = new ArrayList<>(newFiles); 454dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt } 464dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt 474dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt public static final Parcelable.Creator<FileServiceInfo> CREATOR = 484dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt new Parcelable.Creator<FileServiceInfo>() { 494dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt @Override 504dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt public FileServiceInfo createFromParcel(Parcel source) { 514dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt return new FileServiceInfo(source); 524dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt } 534dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt 544dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt @Override 554dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt public FileServiceInfo[] newArray(int size) { 564dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt return new FileServiceInfo[size]; 574dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt } 584dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt }; 594dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt 604dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt FileServiceInfo(Parcel in) { 614dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt super(in); 624dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt files = new ArrayList<FileInfo>(); 63d666a8916346ed760e809d708c63bf36f8b12aedHall Liu in.readList(files, FileInfo.class.getClassLoader()); 644dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt } 654dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt 664dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt @Override 674dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt public void writeToParcel(Parcel dest, int flags) { 684dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt super.writeToParcel(dest, flags); 694dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt dest.writeList(files); 704dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt } 714dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt 724dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt @Override 734dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt public int describeContents() { 744dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt return 0; 754dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt } 76fcbf24075dca399bbe94979aef770b4aef705db4Hall Liu 77ff6f9862e5dd1b2fd825ed69dc11918a0565fd33Hall Liu /** 78ff6f9862e5dd1b2fd825ed69dc11918a0565fd33Hall Liu * @return A list of files available from this service. Note that this list may not be 79ff6f9862e5dd1b2fd825ed69dc11918a0565fd33Hall Liu * exhaustive -- the middleware may not have information on all files that are available. 80ff6f9862e5dd1b2fd825ed69dc11918a0565fd33Hall Liu * Consult the carrier for an authoritative and exhaustive list. 81ff6f9862e5dd1b2fd825ed69dc11918a0565fd33Hall Liu */ 82fcbf24075dca399bbe94979aef770b4aef705db4Hall Liu public List<FileInfo> getFiles() { 83fcbf24075dca399bbe94979aef770b4aef705db4Hall Liu return files; 84fcbf24075dca399bbe94979aef770b4aef705db4Hall Liu } 854dded7a1b5a7ff6ed7402a9c2c512e4751421d7fRobert Greenwalt} 86