aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorShriram Ganesh <sganesh@codeaurora.org>2014-02-24 17:03:26 -0800
committerSteve Kondik <shade@chemlab.org>2014-07-31 13:26:17 -0700
commite33fd4cc7c5ee1459e395e91f9ada3259d70154d (patch)
tree60836d78834b98e34ecbb507abeb96ea1f359fe8
parent6af34104542a89a2843bf5695be4263b7014d908 (diff)
downloadandroid_frameworks_opt_telephony-e33fd4cc7c5ee1459e395e91f9ada3259d70154d.tar.gz
android_frameworks_opt_telephony-e33fd4cc7c5ee1459e395e91f9ada3259d70154d.tar.bz2
android_frameworks_opt_telephony-e33fd4cc7c5ee1459e395e91f9ada3259d70154d.zip
Add ServiceStatus class for uniform capability handling
Add ServiceStatus class to support different access tech and create uniform way of storing information for local/peer ability and service status updates Change-Id: I418c273e8b7f4cd5912e9b9cde85e9d83419cbf4 CRs-Fixed: 639446
-rw-r--r--src/java/com/android/internal/telephony/CallDetails.java28
-rw-r--r--src/java/com/android/internal/telephony/ServiceStatus.java66
2 files changed, 78 insertions, 16 deletions
diff --git a/src/java/com/android/internal/telephony/CallDetails.java b/src/java/com/android/internal/telephony/CallDetails.java
index ee57dc46e..e447bc5ab 100644
--- a/src/java/com/android/internal/telephony/CallDetails.java
+++ b/src/java/com/android/internal/telephony/CallDetails.java
@@ -171,18 +171,6 @@ public class CallDetails {
public String[] extras;
private int mVideoPauseState = VIDEO_PAUSE_STATE_RESUMED;
- public static class ServiceStatus {
- public boolean isValid;
- public int type;
- public int status;
- public byte[] userdata;
- public int restrictCause;
-
- public ServiceStatus() {
- this.isValid = false;
- }
- }
-
public ServiceStatus[] localAbility;
public ServiceStatus[] peerAbility;
@@ -277,8 +265,12 @@ public class CallDetails {
for (ServiceStatus srv : localAbility) {
if (srv != null) {
localSrvAbility += "isValid = " + srv.isValid + " type = "
- + srv.type + " status = " + srv.status + " restrictCause = "
- + srv.restrictCause;
+ + srv.type + " status = " + srv.status;
+ if (srv.accessTechStatus != null) {
+ for(ServiceStatus.StatusForAccessTech at : srv.accessTechStatus) {
+ localSrvAbility += " accTechStatus " + at;
+ }
+ }
}
}
}
@@ -287,8 +279,12 @@ public class CallDetails {
for (ServiceStatus srv : peerAbility) {
if (srv != null) {
peerSrvAbility += "isValid = " + srv.isValid + " type = "
- + srv.type + " status = " + srv.status + " restrictCause = "
- + srv.restrictCause;
+ + srv.type + " status = " + srv.status;
+ if (srv.accessTechStatus != null) {
+ for(ServiceStatus.StatusForAccessTech at : srv.accessTechStatus) {
+ peerSrvAbility += " accTechStatus " + at;
+ }
+ }
}
}
}
diff --git a/src/java/com/android/internal/telephony/ServiceStatus.java b/src/java/com/android/internal/telephony/ServiceStatus.java
new file mode 100644
index 000000000..4b841dae4
--- /dev/null
+++ b/src/java/com/android/internal/telephony/ServiceStatus.java
@@ -0,0 +1,66 @@
+/* Copyright (c) 2014, The Linux Foundation. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * * Redistributions in binary form must reproduce the above
+ * copyright notice, this list of conditions and the following
+ * disclaimer in the documentation and/or other materials provided
+ * with the distribution.
+ * * Neither the name of The Linux Foundation nor the names of its
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES O
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
+ * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+ * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+ * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+package com.android.internal.telephony;
+
+public class ServiceStatus {
+ public boolean isValid = false;
+ public int type; /* Refer "enum CallType" from imsIF.proto file
+ * for possible types
+ */
+ public int status; /*
+ * Overall Status (eg. enabled, disabled)
+ * best case for this type across all
+ * access techs
+ * Refer "enum StatusType" from imsIF.proto file
+ * for possible status values
+ */
+ public byte[] userdata;
+ public StatusForAccessTech[] accessTechStatus;
+ public static class StatusForAccessTech {
+ public int networkMode; /* Refer "enum RadioTechType" from
+ * imsIF.proto file for possible
+ * networkMode values
+ */
+ public int status; /* Refer "enum StatusType" from imsIF.proto
+ * file for possible status values
+ */
+ public int restrictCause;
+ public int registered; /* Refer "enum RegState" from imsIF.proto
+ * file for possible values
+ */
+
+ /**
+ * @return string representation.
+ */
+ @Override
+ public String toString() {
+ return " mode = " + networkMode + " Status = " + status + " restrictCause = "
+ + restrictCause + " registered = " + registered;
+ }
+ }
+}