Home | History | Annotate | Download | only in telephony
      1 /*
      2  * Copyright (c) 2010-2013, The Linux Foundation. All rights reserved.
      3  *
      4  * Redistribution and use in source and binary forms, with or without
      5  * modification, are permitted provided that the following conditions are
      6  * met:
      7  *     * Redistributions of source code must retain the above copyright
      8  *       notice, this list of conditions and the following disclaimer.
      9  *     * Redistributions in binary form must reproduce the above
     10  *       copyright notice, this list of conditions and the following
     11  *       disclaimer in the documentation and/or other materials provided
     12  *       with the distribution.
     13  *     * Neither the name of The Linux Foundation nor the names of its
     14  *       contributors may be used to endorse or promote products derived
     15  *       from this software without specific prior written permission.
     16  *
     17  * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
     18  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
     19  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
     20  * ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
     21  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     22  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     23  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
     24  * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
     25  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
     26  * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
     27  * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     28  */
     29 
     30 package com.android.internal.telephony;
     31 
     32 import java.util.Arrays;
     33 
     34 /**
     35  * Class holding a list of subscriptions
     36  */
     37 public class SubscriptionData {
     38     public Subscription [] subscription;
     39 
     40     public SubscriptionData(int numSub) {
     41         subscription = new Subscription[numSub];
     42         for (int i = 0; i < numSub; i++) {
     43             subscription[i] = new Subscription();
     44         }
     45     }
     46 
     47     public int getLength() {
     48         if (subscription != null) {
     49             return subscription.length;
     50         }
     51         return 0;
     52     }
     53 
     54     public SubscriptionData copyFrom(SubscriptionData from) {
     55         if (from != null) {
     56             subscription = new Subscription[from.getLength()];
     57             for (int i = 0; i < from.getLength(); i++) {
     58                 subscription[i] = new Subscription();
     59                 subscription[i].copyFrom(from.subscription[i]);
     60             }
     61         }
     62         return this;
     63     }
     64 
     65     public String getIccId() {
     66         if (subscription.length > 0 && subscription[0] != null) {
     67             return subscription[0].iccId;
     68         }
     69         return null;
     70     }
     71 
     72     public boolean hasSubscription(Subscription sub){
     73         for (int i = 0; i < subscription.length; i++) {
     74             if (subscription[i].isSame(sub)) {
     75                 return true;
     76             }
     77         }
     78         return false;
     79     }
     80 
     81     public Subscription getSubscription(Subscription sub){
     82         for (int i = 0; i < subscription.length; i++) {
     83             if (subscription[i].isSame(sub)) {
     84                 return subscription[i];
     85             }
     86         }
     87         return null;
     88     }
     89 
     90     public String toString() {
     91         return Arrays.toString(subscription);
     92     }
     93 }
     94