From b304fc0aafe067e422ce219ba5edb4bc7a68924c Mon Sep 17 00:00:00 2001 From: Etan Cohen Date: Thu, 28 May 2015 15:53:20 -0700 Subject: Rename VoLTE/WFC enable API to available - add VT available API. Renamed API to use consistent semantics: available refers to the current state of the service rather then whether feature is enabled by device/carrier/ user. Added VT API to match VoLTE/WFC. Change-Id: Ifb31f123db77e731e75a982b8594168f59a289e7 --- .../java/com/android/internal/telephony/ITelephony.aidl | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'telephony/java/com/android') diff --git a/telephony/java/com/android/internal/telephony/ITelephony.aidl b/telephony/java/com/android/internal/telephony/ITelephony.aidl index 7dc71ed..6e50e9b 100644 --- a/telephony/java/com/android/internal/telephony/ITelephony.aidl +++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl @@ -936,6 +936,7 @@ interface ITelephony { * @return {@code true} if the device supports hearing aid compatibility. */ boolean isHearingAidCompatibilitySupported(); + /** * Get IMS Registration Status */ @@ -943,15 +944,18 @@ interface ITelephony { /** * Returns the Status of Wi-Fi Calling - *@hide */ - boolean isWifiCallingEnabled(); + boolean isWifiCallingAvailable(); + + /** + * Returns the Status of Volte + */ + boolean isVolteAvailable(); /** - * Returns the Status of Volte - *@hide + * Returns the Status of VT (video telephony) */ - boolean isVolteEnabled(); + boolean isVideoTelephonyAvailable(); /** * Returns the unique device ID of phone, for example, the IMEI for @@ -980,7 +984,6 @@ interface ITelephony { /** * Return the modem activity info. - *@hide */ ModemActivityInfo getModemActivityInfo(); } -- cgit v1.1 From ddf570e8226bd21448b44b3327d4bcb2608f4d00 Mon Sep 17 00:00:00 2001 From: Shriram Ganesh Date: Sun, 31 May 2015 09:18:48 -0700 Subject: MWI,phantom call,Suppl services, error codes 1. IMS MWI Feature - Add new API to update waiting voice message count, for UI propagation based on RFC 3842 2. phantom call support Supplementary services 3. IMS : Incoming Call Barring - Modified existing API to support request like registration,activation, deactivation,erasure,interogation. 4.Unsol supplementary service notification - send unsol supplementary notification to UI - add call history info Miscellaneous 5. Ims: Originate conference call in DIALING state 6. IMS: Addition of Extras to ImsCallProfile - Add EXTRA string definitions to ImsCallProfile 7. IMS: Definition of error code - answered elsewhere - FDN call failure 8. - Propagate IMS supplementary services to telephony framework - Introduce call forwarding history info. Bug: 21725750 Squash of 2 earlier CLs: Change-Id: I52a64e9a5df3479189f62921a01655a50fb386fc Change-Id: Idc3a433785e84a3d683cbcfc7fb90f0b89dced12 Change-Id: I428ce3c6a043e43b86dea41622e0a828d8b45e53 --- telephony/java/com/android/ims/ImsCallProfile.java | 8 ++ telephony/java/com/android/ims/ImsReasonInfo.java | 9 ++ telephony/java/com/android/ims/ImsSsInfo.java | 3 + .../android/ims/ImsSuppServiceNotification.aidl | 20 ++++ .../android/ims/ImsSuppServiceNotification.java | 101 +++++++++++++++++++++ .../ims/internal/IImsCallSessionListener.aidl | 7 ++ .../ims/internal/IImsRegistrationListener.aidl | 6 ++ .../java/com/android/ims/internal/IImsUt.aidl | 2 +- 8 files changed, 155 insertions(+), 1 deletion(-) create mode 100644 telephony/java/com/android/ims/ImsSuppServiceNotification.aidl create mode 100644 telephony/java/com/android/ims/ImsSuppServiceNotification.java (limited to 'telephony/java/com/android') diff --git a/telephony/java/com/android/ims/ImsCallProfile.java b/telephony/java/com/android/ims/ImsCallProfile.java index 2c4354b..f263b4d 100644 --- a/telephony/java/com/android/ims/ImsCallProfile.java +++ b/telephony/java/com/android/ims/ImsCallProfile.java @@ -174,11 +174,19 @@ public class ImsCallProfile implements Parcelable { * cna : Calling name * ussd : For network-initiated USSD, MT only * remote_uri : Connected user identity (it can be used for the conference) + * ChildNum: Child number info. + * Codec: Codec info. + * DisplayText: Display text for the call. + * AdditionalCallInfo: Additional call info. */ public static final String EXTRA_OI = "oi"; public static final String EXTRA_CNA = "cna"; public static final String EXTRA_USSD = "ussd"; public static final String EXTRA_REMOTE_URI = "remote_uri"; + public static final String EXTRA_CHILD_NUMBER = "ChildNum"; + public static final String EXTRA_CODEC = "Codec"; + public static final String EXTRA_DISPLAY_TEXT = "DisplayText"; + public static final String EXTRA_ADDITIONAL_CALL_INFO = "AdditionalCallInfo"; public int mServiceType; public int mCallType; diff --git a/telephony/java/com/android/ims/ImsReasonInfo.java b/telephony/java/com/android/ims/ImsReasonInfo.java index 9628915..2769a2b 100644 --- a/telephony/java/com/android/ims/ImsReasonInfo.java +++ b/telephony/java/com/android/ims/ImsReasonInfo.java @@ -99,6 +99,9 @@ public class ImsReasonInfo implements Parcelable { // MT : No action from user after alerting the call public static final int CODE_TIMEOUT_NO_ANSWER_CALL_UPDATE = 203; + //Call failures for FDN + public static final int CODE_FDN_BLOCKED = 241; + /** * STATUSCODE (SIP response code) (IMS -> Telephony) */ @@ -227,6 +230,12 @@ public class ImsReasonInfo implements Parcelable { public static final int CODE_CALL_DROP_IWLAN_TO_LTE_UNAVAILABLE = 1100; /** + * MT call has ended due to a release from the network + * because the call was answered elsewhere + */ + public static final int CODE_ANSWERED_ELSEWHERE = 1014; + + /** * Network string error messages. * mExtraMessage may have these values. */ diff --git a/telephony/java/com/android/ims/ImsSsInfo.java b/telephony/java/com/android/ims/ImsSsInfo.java index dbde1c6..7acc3bf 100644 --- a/telephony/java/com/android/ims/ImsSsInfo.java +++ b/telephony/java/com/android/ims/ImsSsInfo.java @@ -34,6 +34,7 @@ public class ImsSsInfo implements Parcelable { // 0: disabled, 1: enabled public int mStatus; + public String mIcbNum; public ImsSsInfo() { } @@ -50,6 +51,7 @@ public class ImsSsInfo implements Parcelable { @Override public void writeToParcel(Parcel out, int flags) { out.writeInt(mStatus); + out.writeString(mIcbNum); } @Override @@ -59,6 +61,7 @@ public class ImsSsInfo implements Parcelable { private void readFromParcel(Parcel in) { mStatus = in.readInt(); + mIcbNum = in.readString(); } public static final Creator CREATOR = diff --git a/telephony/java/com/android/ims/ImsSuppServiceNotification.aidl b/telephony/java/com/android/ims/ImsSuppServiceNotification.aidl new file mode 100644 index 0000000..6b4479f --- /dev/null +++ b/telephony/java/com/android/ims/ImsSuppServiceNotification.aidl @@ -0,0 +1,20 @@ +/* + * Copyright (c) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +package com.android.ims; + +parcelable ImsSuppServiceNotification; diff --git a/telephony/java/com/android/ims/ImsSuppServiceNotification.java b/telephony/java/com/android/ims/ImsSuppServiceNotification.java new file mode 100644 index 0000000..faf7499 --- /dev/null +++ b/telephony/java/com/android/ims/ImsSuppServiceNotification.java @@ -0,0 +1,101 @@ +/* + * Copyright (c) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + + +package com.android.ims; + +import android.os.Parcel; +import android.os.Parcelable; + +import java.util.Arrays; + + +/** + * Parcelable object to handle IMS supplementary service notifications. + * + * @hide + */ +public class ImsSuppServiceNotification implements Parcelable { + private static final String TAG = "ImsSuppServiceNotification"; + + /** Type of notification: 0 = MO; 1 = MT */ + public int notificationType; + /** TS 27.007 7.17 "code1" or "code2" */ + public int code; + /** TS 27.007 7.17 "index" - Not used currently*/ + public int index; + /** TS 27.007 7.17 "type" (MT only) - Not used currently */ + public int type; + /** TS 27.007 7.17 "number" (MT only) */ + public String number; + /** List of forwarded numbers, if any */ + public String[] history; + + public ImsSuppServiceNotification() { + } + + public ImsSuppServiceNotification(Parcel in) { + readFromParcel(in); + } + + @Override + public String toString() { + return "{ notificationType=" + notificationType + + ", code=" + code + + ", index=" + index + + ", type=" + type + + ", number=" + number + + ", history=" + Arrays.toString(history) + + " }"; + } + + @Override + public int describeContents() { + return 0; + } + + @Override + public void writeToParcel(Parcel out, int flags) { + out.writeInt(notificationType); + out.writeInt(code); + out.writeInt(index); + out.writeInt(type); + out.writeString(number); + out.writeStringArray(history); + } + + private void readFromParcel(Parcel in) { + notificationType = in.readInt(); + code = in.readInt(); + index = in.readInt(); + type = in.readInt(); + number = in.readString(); + history = in.createStringArray(); + } + + public static final Creator CREATOR = + new Creator() { + @Override + public ImsSuppServiceNotification createFromParcel(Parcel in) { + return new ImsSuppServiceNotification(in); + } + + @Override + public ImsSuppServiceNotification[] newArray(int size) { + return new ImsSuppServiceNotification[size]; + } + }; +} diff --git a/telephony/java/com/android/ims/internal/IImsCallSessionListener.aidl b/telephony/java/com/android/ims/internal/IImsCallSessionListener.aidl index 0443c3e..d562ecc 100644 --- a/telephony/java/com/android/ims/internal/IImsCallSessionListener.aidl +++ b/telephony/java/com/android/ims/internal/IImsCallSessionListener.aidl @@ -21,6 +21,7 @@ import com.android.ims.ImsCallProfile; import com.android.ims.ImsReasonInfo; import com.android.ims.ImsConferenceState; import com.android.ims.internal.IImsCallSession; +import com.android.ims.ImsSuppServiceNotification; /** * A listener type for receiving notification on IMS call session events. @@ -123,4 +124,10 @@ interface IImsCallSessionListener { * @param isMultiParty {@code true} if the session became multiparty, {@code false} otherwise. */ void callSessionMultipartyStateChanged(in IImsCallSession session, in boolean isMultiParty); + + /** + * Notifies the supplementary service information for the current session. + */ + void callSessionSuppServiceReceived(in IImsCallSession session, + in ImsSuppServiceNotification suppSrvNotification); } diff --git a/telephony/java/com/android/ims/internal/IImsRegistrationListener.aidl b/telephony/java/com/android/ims/internal/IImsRegistrationListener.aidl index c910600..a6a2658 100644 --- a/telephony/java/com/android/ims/internal/IImsRegistrationListener.aidl +++ b/telephony/java/com/android/ims/internal/IImsRegistrationListener.aidl @@ -72,4 +72,10 @@ interface IImsRegistrationListener { */ void registrationFeatureCapabilityChanged(int serviceClass, out int[] enabledFeatures, out int[] disabledFeatures); + + /** + * Updates the application with the waiting voice message count. + * @param count The number of waiting voice messages. + */ + void voiceMessageCountUpdate(int count); } diff --git a/telephony/java/com/android/ims/internal/IImsUt.aidl b/telephony/java/com/android/ims/internal/IImsUt.aidl index c531ea5..4ab5ee3 100644 --- a/telephony/java/com/android/ims/internal/IImsUt.aidl +++ b/telephony/java/com/android/ims/internal/IImsUt.aidl @@ -74,7 +74,7 @@ interface IImsUt { /** * Updates the configuration of the call barring. */ - int updateCallBarring(int cbType, boolean enable, in String[] barrList); + int updateCallBarring(int cbType, int action, in String[] barrList); /** * Updates the configuration of the call forward. -- cgit v1.1 From dd8efa820b4ca75279d1c31afdd1aab0bbfbb3af Mon Sep 17 00:00:00 2001 From: Sungmin Choi Date: Wed, 15 Jul 2015 15:17:01 +0900 Subject: Add TDSCDMA family Bug: 22639018 Change-Id: I7a65337838ef3dfa24ce8b59564ec831c5cb5094 --- .../java/com/android/internal/telephony/RILConstants.java | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'telephony/java/com/android') diff --git a/telephony/java/com/android/internal/telephony/RILConstants.java b/telephony/java/com/android/internal/telephony/RILConstants.java index 8d48c86..7088be8 100644 --- a/telephony/java/com/android/internal/telephony/RILConstants.java +++ b/telephony/java/com/android/internal/telephony/RILConstants.java @@ -96,6 +96,16 @@ public interface RILConstants { int NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA = 10; /* LTE, CDMA, EvDo, GSM/WCDMA */ int NETWORK_MODE_LTE_ONLY = 11; /* LTE Only mode. */ int NETWORK_MODE_LTE_WCDMA = 12; /* LTE/WCDMA */ + int NETWORK_MODE_TDSCDMA_ONLY = 13; /* TD-SCDMA only */ + int NETWORK_MODE_TDSCDMA_WCDMA = 14; /* TD-SCDMA and WCDMA */ + int NETWORK_MODE_LTE_TDSCDMA = 15; /* TD-SCDMA and LTE */ + int NETWORK_MODE_TDSCDMA_GSM = 16; /* TD-SCDMA and GSM */ + int NETWORK_MODE_LTE_TDSCDMA_GSM = 17; /* TD-SCDMA,GSM and LTE */ + int NETWORK_MODE_TDSCDMA_GSM_WCDMA = 18; /* TD-SCDMA, GSM/WCDMA */ + int NETWORK_MODE_LTE_TDSCDMA_WCDMA = 19; /* TD-SCDMA, WCDMA and LTE */ + int NETWORK_MODE_LTE_TDSCDMA_GSM_WCDMA = 20; /* TD-SCDMA, GSM/WCDMA and LTE */ + int NETWORK_MODE_TDSCDMA_CDMA_EVDO_GSM_WCDMA = 21; /*TD-SCDMA,EvDo,CDMA,GSM/WCDMA*/ + int NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA = 22; /* TD-SCDMA/LTE/GSM/WCDMA, CDMA, and EvDo */ int PREFERRED_NETWORK_MODE = SystemProperties.getInt("ro.telephony.default_network", NETWORK_MODE_WCDMA_PREF); -- cgit v1.1 From 0f1ddb586b6a1ee46596ed75be901c986d5cc2c7 Mon Sep 17 00:00:00 2001 From: Pavel Zhamaitsiak Date: Wed, 2 Sep 2015 11:01:34 -0700 Subject: IMS: Fix registrationFeatureCapabilityChanged declaration in AIDL Two arrays are passed from caller (in this case IMS service implementation) to listener (in this case client of ImsManager). Listener is not modifying arrays and caller is not expecting data to be returned back. Bug: 23749309 Change-Id: I6231cfd16852acfca88ee43e8538b2440058d774 --- telephony/java/com/android/ims/internal/IImsRegistrationListener.aidl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'telephony/java/com/android') diff --git a/telephony/java/com/android/ims/internal/IImsRegistrationListener.aidl b/telephony/java/com/android/ims/internal/IImsRegistrationListener.aidl index a6a2658..23a69d1 100644 --- a/telephony/java/com/android/ims/internal/IImsRegistrationListener.aidl +++ b/telephony/java/com/android/ims/internal/IImsRegistrationListener.aidl @@ -71,7 +71,7 @@ interface IImsRegistrationListener { * @param disabledFeatures features disabled as defined in com.android.ims.ImsConfig#FeatureConstants. */ void registrationFeatureCapabilityChanged(int serviceClass, - out int[] enabledFeatures, out int[] disabledFeatures); + in int[] enabledFeatures, in int[] disabledFeatures); /** * Updates the application with the waiting voice message count. -- cgit v1.1 From e25bd01ad662d1a5b19592c98fac0a3035081375 Mon Sep 17 00:00:00 2001 From: Shishir Agrawal Date: Thu, 10 Sep 2015 14:42:08 -0700 Subject: Allow non-persistent manual network selection. Allow the API to specify if the selection should be persisted across reboots. This also has the side affect of not notifying the user when signal is lost. Necessary becasue the API might be used transparent to the user and the notifications will be bizarre. Bug: 23971948 Change-Id: Ibb15144fb8a61f63a9c967d875d9ce8c70520ff0 --- telephony/java/com/android/internal/telephony/ITelephony.aidl | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'telephony/java/com/android') diff --git a/telephony/java/com/android/internal/telephony/ITelephony.aidl b/telephony/java/com/android/internal/telephony/ITelephony.aidl index 661f12d..dcece26 100644 --- a/telephony/java/com/android/internal/telephony/ITelephony.aidl +++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl @@ -707,9 +707,13 @@ interface ITelephony { * * @param subId the id of the subscription. * @param operatorInfo the operator to attach to. + * @param persistSelection should the selection persist till reboot or its + * turned off? Will also result in notification being not shown to + * the user if the signal is lost. * @return true if the request suceeded. */ - boolean setNetworkSelectionModeManual(int subId, in OperatorInfo operator); + boolean setNetworkSelectionModeManual(int subId, in OperatorInfo operator, + boolean persistSelection); /** * Set the preferred network type. -- cgit v1.1