1 /* 2 * Copyright (C) 2010 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17 package com.android.internal.telephony; 18 19 import android.compat.annotation.UnsupportedAppUsage; 20 import android.os.Build; 21 22 public class UUSInfo { 23 24 /* 25 * User-to-User signaling Info activation types derived from 3GPP 23.087 26 * v8.0 27 */ 28 29 public static final int UUS_TYPE1_IMPLICIT = 0; 30 31 public static final int UUS_TYPE1_REQUIRED = 1; 32 33 public static final int UUS_TYPE1_NOT_REQUIRED = 2; 34 35 public static final int UUS_TYPE2_REQUIRED = 3; 36 37 public static final int UUS_TYPE2_NOT_REQUIRED = 4; 38 39 public static final int UUS_TYPE3_REQUIRED = 5; 40 41 public static final int UUS_TYPE3_NOT_REQUIRED = 6; 42 43 /* 44 * User-to-User Signaling Information data coding schemes. Possible values 45 * for Octet 3 (Protocol Discriminator field) in the UUIE. The values have 46 * been specified in section 10.5.4.25 of 3GPP TS 24.008 47 */ 48 49 public static final int UUS_DCS_USP = 0; /* User specified protocol */ 50 51 public static final int UUS_DCS_OSIHLP = 1; /* OSI higher layer protocol */ 52 53 public static final int UUS_DCS_X244 = 2; /* X.244 */ 54 55 public static final int UUS_DCS_RMCF = 3; /* 56 * Reserved for system management 57 * convergence function 58 */ 59 60 public static final int UUS_DCS_IA5c = 4; /* IA5 characters */ 61 62 private int mUusType; 63 64 private int mUusDcs; 65 66 private byte[] mUusData; 67 UUSInfo()68 public UUSInfo() { 69 mUusType = UUS_TYPE1_IMPLICIT; 70 mUusDcs = UUS_DCS_IA5c; 71 mUusData = null; 72 } 73 UUSInfo(int uusType, int uusDcs, byte[] uusData)74 public UUSInfo(int uusType, int uusDcs, byte[] uusData) { 75 mUusType = uusType; 76 mUusDcs = uusDcs; 77 mUusData = uusData; 78 } 79 80 @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) getDcs()81 public int getDcs() { 82 return mUusDcs; 83 } 84 setDcs(int uusDcs)85 public void setDcs(int uusDcs) { 86 mUusDcs = uusDcs; 87 } 88 89 @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) getType()90 public int getType() { 91 return mUusType; 92 } 93 setType(int uusType)94 public void setType(int uusType) { 95 mUusType = uusType; 96 } 97 98 @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553) getUserData()99 public byte[] getUserData() { 100 return mUusData; 101 } 102 setUserData(byte[] uusData)103 public void setUserData(byte[] uusData) { 104 mUusData = uusData; 105 } 106 } 107