am ed0878a0: (-s ours) Import translations. DO NOT MERGE
* commit 'ed0878a0dbc0a4606143c4d28e60bfc82a51d1e1':
Import translations. DO NOT MERGE
diff --git a/Android.mk b/Android.mk
index b12d32e..17c748a 100644
--- a/Android.mk
+++ b/Android.mk
@@ -4,16 +4,26 @@
# for the 'other' dialer.
include $(CLEAR_VARS)
+phone_common_dir := ../../apps/PhoneCommon
+
+src_dirs := src $(phone_common_dir)/src
+res_dirs := res $(phone_common_dir)/res
+
LOCAL_JAVA_LIBRARIES := telephony-common voip-common
-LOCAL_STATIC_JAVA_LIBRARIES := com.android.phone.shared \
+LOCAL_STATIC_JAVA_LIBRARIES := \
com.android.services.telephony.common \
guava \
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
+LOCAL_SRC_FILES := $(call all-java-files-under, $(src_dirs))
LOCAL_SRC_FILES += \
src/com/android/phone/EventLogTags.logtags \
src/com/android/phone/INetworkQueryService.aidl \
src/com/android/phone/INetworkQueryServiceCallback.aidl
+LOCAL_RESOURCE_DIR := $(addprefix $(LOCAL_PATH)/, $(res_dirs))
+
+LOCAL_AAPT_FLAGS := \
+ --auto-add-overlay \
+ --extra-packages com.android.phone.common
LOCAL_PACKAGE_NAME := TeleService
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index c0d67e4..a2da689 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -87,6 +87,7 @@
<uses-permission android:name="android.permission.USE_SIP" />
<uses-permission android:name="android.permission.REBOOT" />
<uses-permission android:name="android.permission.UPDATE_LOCK" />
+ <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />
<uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" />
<uses-permission android:name="com.android.smspush.WAPPUSH_MANAGER_BIND" />
<uses-permission android:name="android.permission.MANAGE_USERS" />
@@ -546,31 +547,22 @@
<service android:name="HfaService" android:exported="false"/>
<!-- Telecomm integration -->
- <service android:name="com.android.services.telephony.TelephonyCallServiceProvider">
+ <service android:name="com.android.services.telephony.TelephonyCallServiceProvider"
+ android:singleUser="true">
<intent-filter>
<action android:name="android.telecomm.CallServiceProvider" />
</intent-filter>
</service>
- <service android:name="com.android.services.telephony.TelephonyCallServiceSelector">
- <intent-filter>
- <action android:name="android.telecomm.CallServiceSelector" />
- </intent-filter>
- </service>
<service
- android:name="com.android.services.telephony.GsmConnectionService"
- android:label="@string/gsm_connection_service_label">
+ android:singleUser="true"
+ android:name="com.android.services.telephony.PstnConnectionService"
+ android:label="@string/pstn_connection_service_label">
<intent-filter>
<action android:name="android.telecomm.CallService" />
</intent-filter>
</service>
<service
- android:name="com.android.services.telephony.CdmaConnectionService"
- android:label="@string/cdma_connection_service_label">
- <intent-filter>
- <action android:name="android.telecomm.CallService" />
- </intent-filter>
- </service>
- <service
+ android:singleUser="true"
android:name="com.android.services.telephony.SipConnectionService"
android:label="@string/sip_connection_service_label">
<intent-filter>
diff --git a/common/src/com/android/services/telephony/common/Call.java b/common/src/com/android/services/telephony/common/Call.java
index 3537019..bb1806c 100644
--- a/common/src/com/android/services/telephony/common/Call.java
+++ b/common/src/com/android/services/telephony/common/Call.java
@@ -153,6 +153,12 @@
// Gateway service package name
private String mGatewayPackage;
+ // The subscription id
+ private long mSubId;
+
+ // The call type
+ private int mType;
+
public Call(int callId) {
mCallId = callId;
mIdentification = new CallIdentification(mCallId);
@@ -169,6 +175,8 @@
mChildCallIds = new TreeSet<Integer>(call.mChildCallIds);
mGatewayNumber = call.mGatewayNumber;
mGatewayPackage = call.mGatewayPackage;
+ mSubId = call.mSubId;
+ mType = call.mType;
}
public int getCallId() {
@@ -301,6 +309,22 @@
mGatewayPackage = packageName;
}
+ public long getSubId() {
+ return mSubId;
+ }
+
+ public void setSubId(long subId) {
+ mSubId = subId;
+ }
+
+ public void setType(int type) {
+ mType = type;
+ }
+
+ public int getType() {
+ return mType;
+ }
+
/**
* Parcelable implementation
*/
@@ -317,6 +341,8 @@
dest.writeString(getGatewayNumber());
dest.writeString(getGatewayPackage());
dest.writeParcelable(mIdentification, 0);
+ dest.writeLong(mSubId);
+ dest.writeInt(mType);
}
/**
@@ -333,6 +359,8 @@
mGatewayNumber = in.readString();
mGatewayPackage = in.readString();
mIdentification = in.readParcelable(CallIdentification.class.getClassLoader());
+ mSubId = in.readLong();
+ mType = in.readInt();
}
@Override
@@ -370,6 +398,8 @@
.add("mGatewayNumber", MoreStrings.toSafeString(mGatewayNumber))
.add("mGatewayPackage", mGatewayPackage)
.add("mIdentification", mIdentification)
+ .add("mSubId", mSubId)
+ .add("mType", mType)
.toString();
}
}
diff --git a/res/drawable-ar-hdpi/dial_num_0_no_plus_wht.png b/res/drawable-ar-hdpi/dial_num_0_no_plus_wht.png
deleted file mode 100644
index bc947b2..0000000
--- a/res/drawable-ar-hdpi/dial_num_0_no_plus_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ar-hdpi/dial_num_1_no_vm_wht.png b/res/drawable-ar-hdpi/dial_num_1_no_vm_wht.png
deleted file mode 100644
index 2bbaead..0000000
--- a/res/drawable-ar-hdpi/dial_num_1_no_vm_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ar-hdpi/dial_num_2_wht.png b/res/drawable-ar-hdpi/dial_num_2_wht.png
deleted file mode 100644
index 15583a0..0000000
--- a/res/drawable-ar-hdpi/dial_num_2_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ar-hdpi/dial_num_3_wht.png b/res/drawable-ar-hdpi/dial_num_3_wht.png
deleted file mode 100644
index c8fd5b6..0000000
--- a/res/drawable-ar-hdpi/dial_num_3_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ar-hdpi/dial_num_4_wht.png b/res/drawable-ar-hdpi/dial_num_4_wht.png
deleted file mode 100644
index 2df8330..0000000
--- a/res/drawable-ar-hdpi/dial_num_4_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ar-hdpi/dial_num_5_wht.png b/res/drawable-ar-hdpi/dial_num_5_wht.png
deleted file mode 100644
index b16701c..0000000
--- a/res/drawable-ar-hdpi/dial_num_5_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ar-hdpi/dial_num_6_wht.png b/res/drawable-ar-hdpi/dial_num_6_wht.png
deleted file mode 100644
index 823fa50..0000000
--- a/res/drawable-ar-hdpi/dial_num_6_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ar-hdpi/dial_num_7_wht.png b/res/drawable-ar-hdpi/dial_num_7_wht.png
deleted file mode 100644
index 6f5fbff..0000000
--- a/res/drawable-ar-hdpi/dial_num_7_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ar-hdpi/dial_num_8_wht.png b/res/drawable-ar-hdpi/dial_num_8_wht.png
deleted file mode 100644
index d15c47f..0000000
--- a/res/drawable-ar-hdpi/dial_num_8_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ar-hdpi/dial_num_9_wht.png b/res/drawable-ar-hdpi/dial_num_9_wht.png
deleted file mode 100644
index 7b28361..0000000
--- a/res/drawable-ar-hdpi/dial_num_9_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ar-mdpi/dial_num_0_no_plus_wht.png b/res/drawable-ar-mdpi/dial_num_0_no_plus_wht.png
deleted file mode 100644
index 2339f89..0000000
--- a/res/drawable-ar-mdpi/dial_num_0_no_plus_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ar-mdpi/dial_num_1_no_vm_wht.png b/res/drawable-ar-mdpi/dial_num_1_no_vm_wht.png
deleted file mode 100644
index 7c80f05..0000000
--- a/res/drawable-ar-mdpi/dial_num_1_no_vm_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ar-mdpi/dial_num_2_wht.png b/res/drawable-ar-mdpi/dial_num_2_wht.png
deleted file mode 100644
index d4421a3..0000000
--- a/res/drawable-ar-mdpi/dial_num_2_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ar-mdpi/dial_num_3_wht.png b/res/drawable-ar-mdpi/dial_num_3_wht.png
deleted file mode 100644
index 10e8216..0000000
--- a/res/drawable-ar-mdpi/dial_num_3_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ar-mdpi/dial_num_4_wht.png b/res/drawable-ar-mdpi/dial_num_4_wht.png
deleted file mode 100644
index 2c7971f..0000000
--- a/res/drawable-ar-mdpi/dial_num_4_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ar-mdpi/dial_num_5_wht.png b/res/drawable-ar-mdpi/dial_num_5_wht.png
deleted file mode 100644
index 472ad7a..0000000
--- a/res/drawable-ar-mdpi/dial_num_5_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ar-mdpi/dial_num_6_wht.png b/res/drawable-ar-mdpi/dial_num_6_wht.png
deleted file mode 100644
index 682e76a..0000000
--- a/res/drawable-ar-mdpi/dial_num_6_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ar-mdpi/dial_num_7_wht.png b/res/drawable-ar-mdpi/dial_num_7_wht.png
deleted file mode 100644
index 9a1395f..0000000
--- a/res/drawable-ar-mdpi/dial_num_7_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ar-mdpi/dial_num_8_wht.png b/res/drawable-ar-mdpi/dial_num_8_wht.png
deleted file mode 100644
index 6ef31dd..0000000
--- a/res/drawable-ar-mdpi/dial_num_8_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ar-mdpi/dial_num_9_wht.png b/res/drawable-ar-mdpi/dial_num_9_wht.png
deleted file mode 100644
index e99e20a..0000000
--- a/res/drawable-ar-mdpi/dial_num_9_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ar-xhdpi/dial_num_0_no_plus_wht.png b/res/drawable-ar-xhdpi/dial_num_0_no_plus_wht.png
deleted file mode 100644
index 8924fc8..0000000
--- a/res/drawable-ar-xhdpi/dial_num_0_no_plus_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ar-xhdpi/dial_num_1_no_vm_wht.png b/res/drawable-ar-xhdpi/dial_num_1_no_vm_wht.png
deleted file mode 100644
index 667a7c5..0000000
--- a/res/drawable-ar-xhdpi/dial_num_1_no_vm_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ar-xhdpi/dial_num_2_wht.png b/res/drawable-ar-xhdpi/dial_num_2_wht.png
deleted file mode 100644
index 1b39dbe..0000000
--- a/res/drawable-ar-xhdpi/dial_num_2_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ar-xhdpi/dial_num_3_wht.png b/res/drawable-ar-xhdpi/dial_num_3_wht.png
deleted file mode 100644
index 2cf7577..0000000
--- a/res/drawable-ar-xhdpi/dial_num_3_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ar-xhdpi/dial_num_4_wht.png b/res/drawable-ar-xhdpi/dial_num_4_wht.png
deleted file mode 100644
index 1816e60..0000000
--- a/res/drawable-ar-xhdpi/dial_num_4_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ar-xhdpi/dial_num_5_wht.png b/res/drawable-ar-xhdpi/dial_num_5_wht.png
deleted file mode 100644
index b846a14..0000000
--- a/res/drawable-ar-xhdpi/dial_num_5_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ar-xhdpi/dial_num_6_wht.png b/res/drawable-ar-xhdpi/dial_num_6_wht.png
deleted file mode 100644
index 5768e87..0000000
--- a/res/drawable-ar-xhdpi/dial_num_6_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ar-xhdpi/dial_num_7_wht.png b/res/drawable-ar-xhdpi/dial_num_7_wht.png
deleted file mode 100644
index 98667a2..0000000
--- a/res/drawable-ar-xhdpi/dial_num_7_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ar-xhdpi/dial_num_8_wht.png b/res/drawable-ar-xhdpi/dial_num_8_wht.png
deleted file mode 100644
index dc71242..0000000
--- a/res/drawable-ar-xhdpi/dial_num_8_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ar-xhdpi/dial_num_9_wht.png b/res/drawable-ar-xhdpi/dial_num_9_wht.png
deleted file mode 100644
index 4917ee0..0000000
--- a/res/drawable-ar-xhdpi/dial_num_9_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-fa-hdpi/dial_num_0_no_plus_wht.png b/res/drawable-fa-hdpi/dial_num_0_no_plus_wht.png
deleted file mode 100644
index bc947b2..0000000
--- a/res/drawable-fa-hdpi/dial_num_0_no_plus_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-fa-hdpi/dial_num_1_no_vm_wht.png b/res/drawable-fa-hdpi/dial_num_1_no_vm_wht.png
deleted file mode 100644
index 2bbaead..0000000
--- a/res/drawable-fa-hdpi/dial_num_1_no_vm_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-fa-hdpi/dial_num_2_wht.png b/res/drawable-fa-hdpi/dial_num_2_wht.png
deleted file mode 100644
index 15583a0..0000000
--- a/res/drawable-fa-hdpi/dial_num_2_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-fa-hdpi/dial_num_3_wht.png b/res/drawable-fa-hdpi/dial_num_3_wht.png
deleted file mode 100644
index c8fd5b6..0000000
--- a/res/drawable-fa-hdpi/dial_num_3_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-fa-hdpi/dial_num_4_wht.png b/res/drawable-fa-hdpi/dial_num_4_wht.png
deleted file mode 100644
index 4d6b4ea..0000000
--- a/res/drawable-fa-hdpi/dial_num_4_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-fa-hdpi/dial_num_5_wht.png b/res/drawable-fa-hdpi/dial_num_5_wht.png
deleted file mode 100644
index 43b2886..0000000
--- a/res/drawable-fa-hdpi/dial_num_5_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-fa-hdpi/dial_num_6_wht.png b/res/drawable-fa-hdpi/dial_num_6_wht.png
deleted file mode 100644
index 7db627e..0000000
--- a/res/drawable-fa-hdpi/dial_num_6_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-fa-hdpi/dial_num_7_wht.png b/res/drawable-fa-hdpi/dial_num_7_wht.png
deleted file mode 100644
index 6f5fbff..0000000
--- a/res/drawable-fa-hdpi/dial_num_7_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-fa-hdpi/dial_num_8_wht.png b/res/drawable-fa-hdpi/dial_num_8_wht.png
deleted file mode 100644
index d15c47f..0000000
--- a/res/drawable-fa-hdpi/dial_num_8_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-fa-hdpi/dial_num_9_wht.png b/res/drawable-fa-hdpi/dial_num_9_wht.png
deleted file mode 100644
index 7b28361..0000000
--- a/res/drawable-fa-hdpi/dial_num_9_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-fa-mdpi/dial_num_0_no_plus_wht.png b/res/drawable-fa-mdpi/dial_num_0_no_plus_wht.png
deleted file mode 100644
index 2339f89..0000000
--- a/res/drawable-fa-mdpi/dial_num_0_no_plus_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-fa-mdpi/dial_num_1_no_vm_wht.png b/res/drawable-fa-mdpi/dial_num_1_no_vm_wht.png
deleted file mode 100644
index 7c80f05..0000000
--- a/res/drawable-fa-mdpi/dial_num_1_no_vm_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-fa-mdpi/dial_num_2_wht.png b/res/drawable-fa-mdpi/dial_num_2_wht.png
deleted file mode 100644
index d4421a3..0000000
--- a/res/drawable-fa-mdpi/dial_num_2_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-fa-mdpi/dial_num_3_wht.png b/res/drawable-fa-mdpi/dial_num_3_wht.png
deleted file mode 100644
index 10e8216..0000000
--- a/res/drawable-fa-mdpi/dial_num_3_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-fa-mdpi/dial_num_4_wht.png b/res/drawable-fa-mdpi/dial_num_4_wht.png
deleted file mode 100644
index de5c7b2..0000000
--- a/res/drawable-fa-mdpi/dial_num_4_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-fa-mdpi/dial_num_5_wht.png b/res/drawable-fa-mdpi/dial_num_5_wht.png
deleted file mode 100644
index ba461d7..0000000
--- a/res/drawable-fa-mdpi/dial_num_5_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-fa-mdpi/dial_num_6_wht.png b/res/drawable-fa-mdpi/dial_num_6_wht.png
deleted file mode 100644
index ec41f38..0000000
--- a/res/drawable-fa-mdpi/dial_num_6_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-fa-mdpi/dial_num_7_wht.png b/res/drawable-fa-mdpi/dial_num_7_wht.png
deleted file mode 100644
index 9a1395f..0000000
--- a/res/drawable-fa-mdpi/dial_num_7_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-fa-mdpi/dial_num_8_wht.png b/res/drawable-fa-mdpi/dial_num_8_wht.png
deleted file mode 100644
index 6ef31dd..0000000
--- a/res/drawable-fa-mdpi/dial_num_8_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-fa-mdpi/dial_num_9_wht.png b/res/drawable-fa-mdpi/dial_num_9_wht.png
deleted file mode 100644
index e99e20a..0000000
--- a/res/drawable-fa-mdpi/dial_num_9_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-fa-xhdpi/dial_num_0_no_plus_wht.png b/res/drawable-fa-xhdpi/dial_num_0_no_plus_wht.png
deleted file mode 100644
index 8924fc8..0000000
--- a/res/drawable-fa-xhdpi/dial_num_0_no_plus_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-fa-xhdpi/dial_num_1_no_vm_wht.png b/res/drawable-fa-xhdpi/dial_num_1_no_vm_wht.png
deleted file mode 100644
index 667a7c5..0000000
--- a/res/drawable-fa-xhdpi/dial_num_1_no_vm_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-fa-xhdpi/dial_num_2_wht.png b/res/drawable-fa-xhdpi/dial_num_2_wht.png
deleted file mode 100644
index 1b39dbe..0000000
--- a/res/drawable-fa-xhdpi/dial_num_2_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-fa-xhdpi/dial_num_3_wht.png b/res/drawable-fa-xhdpi/dial_num_3_wht.png
deleted file mode 100644
index 2cf7577..0000000
--- a/res/drawable-fa-xhdpi/dial_num_3_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-fa-xhdpi/dial_num_4_wht.png b/res/drawable-fa-xhdpi/dial_num_4_wht.png
deleted file mode 100644
index 6e0a5a9..0000000
--- a/res/drawable-fa-xhdpi/dial_num_4_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-fa-xhdpi/dial_num_5_wht.png b/res/drawable-fa-xhdpi/dial_num_5_wht.png
deleted file mode 100644
index f496906..0000000
--- a/res/drawable-fa-xhdpi/dial_num_5_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-fa-xhdpi/dial_num_6_wht.png b/res/drawable-fa-xhdpi/dial_num_6_wht.png
deleted file mode 100644
index e75b83e..0000000
--- a/res/drawable-fa-xhdpi/dial_num_6_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-fa-xhdpi/dial_num_7_wht.png b/res/drawable-fa-xhdpi/dial_num_7_wht.png
deleted file mode 100644
index 98667a2..0000000
--- a/res/drawable-fa-xhdpi/dial_num_7_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-fa-xhdpi/dial_num_8_wht.png b/res/drawable-fa-xhdpi/dial_num_8_wht.png
deleted file mode 100644
index dc71242..0000000
--- a/res/drawable-fa-xhdpi/dial_num_8_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-fa-xhdpi/dial_num_9_wht.png b/res/drawable-fa-xhdpi/dial_num_9_wht.png
deleted file mode 100644
index 4917ee0..0000000
--- a/res/drawable-fa-xhdpi/dial_num_9_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/btn_call_pressed.png b/res/drawable-hdpi/btn_call_pressed.png
deleted file mode 100644
index d6e47f4..0000000
--- a/res/drawable-hdpi/btn_call_pressed.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/dial_background_texture.png b/res/drawable-hdpi/dial_background_texture.png
deleted file mode 100644
index 9df3b1e..0000000
--- a/res/drawable-hdpi/dial_background_texture.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/dial_num_0_no_plus_wht.png b/res/drawable-hdpi/dial_num_0_no_plus_wht.png
deleted file mode 100644
index 69849ec..0000000
--- a/res/drawable-hdpi/dial_num_0_no_plus_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/dial_num_1_no_vm_wht.png b/res/drawable-hdpi/dial_num_1_no_vm_wht.png
deleted file mode 100644
index af7ec42..0000000
--- a/res/drawable-hdpi/dial_num_1_no_vm_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/dial_num_2_wht.png b/res/drawable-hdpi/dial_num_2_wht.png
deleted file mode 100644
index 2ae20ab..0000000
--- a/res/drawable-hdpi/dial_num_2_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/dial_num_3_wht.png b/res/drawable-hdpi/dial_num_3_wht.png
deleted file mode 100644
index 991d5f3..0000000
--- a/res/drawable-hdpi/dial_num_3_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/dial_num_4_wht.png b/res/drawable-hdpi/dial_num_4_wht.png
deleted file mode 100644
index 7aad3ef..0000000
--- a/res/drawable-hdpi/dial_num_4_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/dial_num_5_wht.png b/res/drawable-hdpi/dial_num_5_wht.png
deleted file mode 100644
index 42a1d0b..0000000
--- a/res/drawable-hdpi/dial_num_5_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/dial_num_6_wht.png b/res/drawable-hdpi/dial_num_6_wht.png
deleted file mode 100644
index b03e019..0000000
--- a/res/drawable-hdpi/dial_num_6_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/dial_num_7_wht.png b/res/drawable-hdpi/dial_num_7_wht.png
deleted file mode 100644
index 8b72fff..0000000
--- a/res/drawable-hdpi/dial_num_7_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/dial_num_8_wht.png b/res/drawable-hdpi/dial_num_8_wht.png
deleted file mode 100644
index 822f21a..0000000
--- a/res/drawable-hdpi/dial_num_8_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/dial_num_9_wht.png b/res/drawable-hdpi/dial_num_9_wht.png
deleted file mode 100644
index 2ee944b..0000000
--- a/res/drawable-hdpi/dial_num_9_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/fab_ic_call.png b/res/drawable-hdpi/fab_ic_call.png
new file mode 100644
index 0000000..7bf83fa
--- /dev/null
+++ b/res/drawable-hdpi/fab_ic_call.png
Binary files differ
diff --git a/res/drawable-hdpi/fab_teal_background.png b/res/drawable-hdpi/fab_teal_background.png
new file mode 100644
index 0000000..e2f01e8
--- /dev/null
+++ b/res/drawable-hdpi/fab_teal_background.png
Binary files differ
diff --git a/res/drawable-mdpi/btn_call_pressed.png b/res/drawable-mdpi/btn_call_pressed.png
deleted file mode 100644
index 9d38da5..0000000
--- a/res/drawable-mdpi/btn_call_pressed.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/dial_background_texture.png b/res/drawable-mdpi/dial_background_texture.png
deleted file mode 100644
index 90cd07c..0000000
--- a/res/drawable-mdpi/dial_background_texture.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/dial_num_0_no_plus_wht.png b/res/drawable-mdpi/dial_num_0_no_plus_wht.png
deleted file mode 100644
index 1d8b0e3..0000000
--- a/res/drawable-mdpi/dial_num_0_no_plus_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/dial_num_1_no_vm_wht.png b/res/drawable-mdpi/dial_num_1_no_vm_wht.png
deleted file mode 100644
index e253724..0000000
--- a/res/drawable-mdpi/dial_num_1_no_vm_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/dial_num_2_wht.png b/res/drawable-mdpi/dial_num_2_wht.png
deleted file mode 100644
index e311f4f..0000000
--- a/res/drawable-mdpi/dial_num_2_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/dial_num_3_wht.png b/res/drawable-mdpi/dial_num_3_wht.png
deleted file mode 100644
index f07324a..0000000
--- a/res/drawable-mdpi/dial_num_3_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/dial_num_4_wht.png b/res/drawable-mdpi/dial_num_4_wht.png
deleted file mode 100644
index cd8d33c..0000000
--- a/res/drawable-mdpi/dial_num_4_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/dial_num_5_wht.png b/res/drawable-mdpi/dial_num_5_wht.png
deleted file mode 100644
index a9f27dc..0000000
--- a/res/drawable-mdpi/dial_num_5_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/dial_num_6_wht.png b/res/drawable-mdpi/dial_num_6_wht.png
deleted file mode 100644
index 2bdf08e..0000000
--- a/res/drawable-mdpi/dial_num_6_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/dial_num_7_wht.png b/res/drawable-mdpi/dial_num_7_wht.png
deleted file mode 100644
index 6c1c599..0000000
--- a/res/drawable-mdpi/dial_num_7_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/dial_num_8_wht.png b/res/drawable-mdpi/dial_num_8_wht.png
deleted file mode 100644
index db0694c..0000000
--- a/res/drawable-mdpi/dial_num_8_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/dial_num_9_wht.png b/res/drawable-mdpi/dial_num_9_wht.png
deleted file mode 100644
index 692fdb0..0000000
--- a/res/drawable-mdpi/dial_num_9_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/fab_ic_call.png b/res/drawable-mdpi/fab_ic_call.png
new file mode 100644
index 0000000..790f935
--- /dev/null
+++ b/res/drawable-mdpi/fab_ic_call.png
Binary files differ
diff --git a/res/drawable-mdpi/fab_teal_background.png b/res/drawable-mdpi/fab_teal_background.png
new file mode 100644
index 0000000..c95d124
--- /dev/null
+++ b/res/drawable-mdpi/fab_teal_background.png
Binary files differ
diff --git a/res/drawable-xhdpi/btn_call_pressed.png b/res/drawable-xhdpi/btn_call_pressed.png
deleted file mode 100644
index 48e7eba..0000000
--- a/res/drawable-xhdpi/btn_call_pressed.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/dial_background_texture.png b/res/drawable-xhdpi/dial_background_texture.png
deleted file mode 100644
index 02aacc8..0000000
--- a/res/drawable-xhdpi/dial_background_texture.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/dial_num_0_no_plus_wht.png b/res/drawable-xhdpi/dial_num_0_no_plus_wht.png
deleted file mode 100644
index 11ca993..0000000
--- a/res/drawable-xhdpi/dial_num_0_no_plus_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/dial_num_1_no_vm_wht.png b/res/drawable-xhdpi/dial_num_1_no_vm_wht.png
deleted file mode 100644
index 8d2ac70..0000000
--- a/res/drawable-xhdpi/dial_num_1_no_vm_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/dial_num_2_wht.png b/res/drawable-xhdpi/dial_num_2_wht.png
deleted file mode 100644
index 12c4ab9..0000000
--- a/res/drawable-xhdpi/dial_num_2_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/dial_num_3_wht.png b/res/drawable-xhdpi/dial_num_3_wht.png
deleted file mode 100644
index 4353e8a..0000000
--- a/res/drawable-xhdpi/dial_num_3_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/dial_num_4_wht.png b/res/drawable-xhdpi/dial_num_4_wht.png
deleted file mode 100644
index ccee5cc..0000000
--- a/res/drawable-xhdpi/dial_num_4_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/dial_num_5_wht.png b/res/drawable-xhdpi/dial_num_5_wht.png
deleted file mode 100644
index f27f153..0000000
--- a/res/drawable-xhdpi/dial_num_5_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/dial_num_6_wht.png b/res/drawable-xhdpi/dial_num_6_wht.png
deleted file mode 100644
index 8966d13..0000000
--- a/res/drawable-xhdpi/dial_num_6_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/dial_num_7_wht.png b/res/drawable-xhdpi/dial_num_7_wht.png
deleted file mode 100644
index b018810..0000000
--- a/res/drawable-xhdpi/dial_num_7_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/dial_num_8_wht.png b/res/drawable-xhdpi/dial_num_8_wht.png
deleted file mode 100644
index 7c7b4f8..0000000
--- a/res/drawable-xhdpi/dial_num_8_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/dial_num_9_wht.png b/res/drawable-xhdpi/dial_num_9_wht.png
deleted file mode 100644
index 23984f0..0000000
--- a/res/drawable-xhdpi/dial_num_9_wht.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-xhdpi/fab_ic_call.png b/res/drawable-xhdpi/fab_ic_call.png
new file mode 100644
index 0000000..6bd53f5
--- /dev/null
+++ b/res/drawable-xhdpi/fab_ic_call.png
Binary files differ
diff --git a/res/drawable-xhdpi/fab_teal_background.png b/res/drawable-xhdpi/fab_teal_background.png
new file mode 100644
index 0000000..f94f759
--- /dev/null
+++ b/res/drawable-xhdpi/fab_teal_background.png
Binary files differ
diff --git a/res/drawable-xxhdpi/fab_ic_call.png b/res/drawable-xxhdpi/fab_ic_call.png
new file mode 100644
index 0000000..6866fa4
--- /dev/null
+++ b/res/drawable-xxhdpi/fab_ic_call.png
Binary files differ
diff --git a/res/drawable-xxhdpi/fab_teal_background.png b/res/drawable-xxhdpi/fab_teal_background.png
new file mode 100644
index 0000000..cc0ba27
--- /dev/null
+++ b/res/drawable-xxhdpi/fab_teal_background.png
Binary files differ
diff --git a/res/drawable/background_dial_holo_dark.xml b/res/drawable/background_dial_holo_dark.xml
deleted file mode 100644
index e06507f..0000000
--- a/res/drawable/background_dial_holo_dark.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2012 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.
--->
-
-<shape xmlns:android="http://schemas.android.com/apk/res/android">
- <gradient
- android:startColor="#ff020709"
- android:endColor="#ff0a242d"
- android:angle="270" />
-</shape>
diff --git a/res/drawable/btn_call.xml b/res/drawable/btn_call.xml
deleted file mode 100644
index abce983..0000000
--- a/res/drawable/btn_call.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 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.
--->
-
-<!-- Background resource for call button in the various dialpads.
- Almost a copy from framework's item_background_holo_dark.xml, but has different pressed effect
- -->
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-
- <item android:state_window_focused="false" android:drawable="@android:color/transparent" />
-
- <!-- Even though these two point to the same resource, have two states so the drawable will invalidate itself when coming out of pressed state. -->
- <item android:state_focused="true" android:state_enabled="false" android:state_pressed="true" android:drawable="@drawable/list_selector_disabled_holo_dark" />
- <item android:state_focused="true" android:state_enabled="false" android:drawable="@drawable/list_selector_disabled_holo_dark" />
- <item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/btn_call_pressed" />
- <item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/btn_call_pressed" />
- <item android:state_focused="true" android:drawable="@drawable/list_focused_holo" />
- <item android:drawable="@android:color/transparent" />
-</selector>
-
diff --git a/res/drawable/dialpad_background.xml b/res/drawable/floating_action_button.xml
similarity index 71%
rename from res/drawable/dialpad_background.xml
rename to res/drawable/floating_action_button.xml
index 0e31f5e..d518ddd 100644
--- a/res/drawable/dialpad_background.xml
+++ b/res/drawable/floating_action_button.xml
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2011 The Android Open Source Project
+<!--
+ Copyright (C) 2014 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.
@@ -14,6 +15,7 @@
limitations under the License.
-->
-<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
- android:src="@drawable/dial_background_texture"
- android:tileMode="repeat" />
+<ripple xmlns:android="http://schemas.android.com/apk/res/android"
+ android:color="@color/dialer_accent_color">
+ <item android:drawable="@drawable/fab_teal_background" />
+</ripple>
diff --git a/res/layout/dialpad.xml b/res/layout/dialpad.xml
deleted file mode 100644
index 45ce513..0000000
--- a/res/layout/dialpad.xml
+++ /dev/null
@@ -1,88 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2006 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.
--->
-
-<!-- The grid of buttons used in the onscreen DTMF dialpad;
- see dtmf_twelve_key_dialer_view.xml. -->
-<TableLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:id="@+id/dialpad"
- android:layout_width="match_parent"
- android:layout_height="0px"
- android:layout_weight="@integer/dialpad_layout_weight_dialpad"
- android:layout_gravity="center_horizontal"
- android:layout_marginTop="@dimen/dialpad_vertical_margin"
- android:paddingStart="5dip"
- android:paddingEnd="5dip"
- android:paddingBottom="10dip"
- android:background="@drawable/dialpad_background"
- android:layoutDirection="ltr">
-
- <TableRow
- android:layout_height="0px"
- android:layout_weight="1">
- <ImageButton android:id="@+id/one" style="@style/DialpadButtonStyle"
- android:src="@drawable/dial_num_1_no_vm_wht"
- android:contentDescription="@string/description_image_button_one" />
- <ImageButton android:id="@+id/two" style="@style/DialpadButtonStyle"
- android:src="@drawable/dial_num_2_wht"
- android:contentDescription="@string/description_image_button_two" />
- <ImageButton android:id="@+id/three" style="@style/DialpadButtonStyle"
- android:src="@drawable/dial_num_3_wht"
- android:contentDescription="@string/description_image_button_three" />
- </TableRow>
-
- <TableRow
- android:layout_height="0px"
- android:layout_weight="1">
- <ImageButton android:id="@+id/four" style="@style/DialpadButtonStyle"
- android:src="@drawable/dial_num_4_wht"
- android:contentDescription="@string/description_image_button_four" />
- <ImageButton android:id="@+id/five" style="@style/DialpadButtonStyle"
- android:src="@drawable/dial_num_5_wht"
- android:contentDescription="@string/description_image_button_five" />
- <ImageButton android:id="@+id/six" style="@style/DialpadButtonStyle"
- android:src="@drawable/dial_num_6_wht"
- android:contentDescription="@string/description_image_button_six" />
- </TableRow>
-
- <TableRow
- android:layout_height="0px"
- android:layout_weight="1">
- <ImageButton android:id="@+id/seven" style="@style/DialpadButtonStyle"
- android:src="@drawable/dial_num_7_wht"
- android:contentDescription="@string/description_image_button_seven" />
- <ImageButton android:id="@+id/eight" style="@style/DialpadButtonStyle"
- android:src="@drawable/dial_num_8_wht"
- android:contentDescription="@string/description_image_button_eight" />
- <ImageButton android:id="@+id/nine" style="@style/DialpadButtonStyle"
- android:src="@drawable/dial_num_9_wht"
- android:contentDescription="@string/description_image_button_nine" />
- </TableRow>
-
- <TableRow
- android:layout_height="0px"
- android:layout_weight="1">
- <ImageButton android:id="@+id/star" style="@style/DialpadButtonStyle"
- android:src="@drawable/dial_num_star_wht"
- android:contentDescription="@string/description_image_button_star" />
- <ImageButton android:id="@+id/zero" style="@style/DialpadButtonStyle"
- android:src="@drawable/dial_num_0_no_plus_wht"
- android:contentDescription="@string/description_image_button_zero" />
- <ImageButton android:id="@+id/pound" style="@style/DialpadButtonStyle"
- android:src="@drawable/dial_num_pound_wht"
- android:contentDescription="@string/description_image_button_pound" />
- </TableRow>
-</TableLayout>
diff --git a/res/layout/emergency_dialer.xml b/res/layout/emergency_dialer.xml
index d98631e..5c721c5 100644
--- a/res/layout/emergency_dialer.xml
+++ b/res/layout/emergency_dialer.xml
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2006 The Android Open Source Project
+<!-- Copyright (C) 2014 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.
@@ -15,76 +15,24 @@
-->
<!-- Layout for the emergency dialer; see EmergencyDialer.java. -->
-<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/top"
android:layout_width="match_parent"
- android:layout_height="match_parent"
- android:orientation="vertical"
- android:layout_marginStart="@dimen/dialpad_horizontal_margin"
- android:layout_marginEnd="@dimen/dialpad_horizontal_margin">
-
- <!-- Text field above the keypad where the digits are displayed -->
- <LinearLayout
- android:id="@+id/digits_container"
- android:layout_width="match_parent"
- android:layout_height="0px"
- android:layout_weight="@integer/dialpad_layout_weight_digits"
- android:layout_marginTop="@dimen/dialpad_vertical_margin"
- android:gravity="center"
- android:background="@drawable/dialpad_background" >
-
- <EditText
- android:id="@+id/digits"
- android:layout_width="0dip"
- android:layout_weight="1"
- android:layout_height="match_parent"
- android:gravity="center"
- android:scrollHorizontally="true"
- android:textAppearance="@style/DialtactsDigitsTextAppearance"
- android:focusableInTouchMode="false"
- android:nextFocusRight="@+id/deleteButton"
- android:background="@android:color/transparent" />
-
- <ImageButton
- android:id="@+id/deleteButton"
- android:layout_width="56dip"
- android:layout_height="match_parent"
- android:layout_gravity="center_vertical"
- android:gravity="center"
- android:state_enabled="false"
- android:background="?android:attr/selectableItemBackground"
- android:contentDescription="@string/description_delete_button"
- android:src="@drawable/ic_dial_action_delete" />
- </LinearLayout>
-
- <!-- Keypad section -->
- <include layout="@layout/dialpad" />
-
- <View
- android:layout_width="match_parent"
- android:layout_height="@dimen/dialpad_vertical_margin"
- android:background="#66000000"/>
-
- <!-- In usual dialpad we set some padding between this button and the
- left/right edges. Here, we don't do that just for simplicitly. -->
+ android:layout_height="match_parent" >
+ <include layout="@layout/dialpad_view" />
<FrameLayout
- android:id="@+id/dialButtonContainer"
- android:layout_width="match_parent"
- android:layout_height="0px"
- android:layout_weight="@integer/dialpad_layout_weight_additional_buttons"
- android:layout_gravity="center_horizontal"
- android:background="@drawable/dialpad_background">
+ android:id="@+id/floating_action_button_container"
+ android:layout_width="@dimen/floating_action_button_width"
+ android:layout_height="@dimen/floating_action_button_height"
+ android:layout_marginBottom="@dimen/floating_action_button_margin_bottom"
+ android:layout_gravity="center_horizontal|bottom" >
<ImageButton
- android:id="@+id/dialButton"
+ android:id="@+id/floating_action_button"
android:layout_width="match_parent"
android:layout_height="match_parent"
- android:layout_gravity="center"
- android:state_enabled="false"
- android:background="@drawable/btn_call"
+ android:background="@drawable/floating_action_button"
android:contentDescription="@string/description_dial_button"
- android:src="@drawable/ic_dial_action_call" />
-
+ android:src="@drawable/fab_ic_call"/>
</FrameLayout>
-
-</LinearLayout>
+</FrameLayout>
diff --git a/res/layout/otacall_card.xml b/res/layout/otacall_card.xml
index d90e940..74b31e8 100644
--- a/res/layout/otacall_card.xml
+++ b/res/layout/otacall_card.xml
@@ -89,7 +89,7 @@
/>
<!-- Progress bar -->
- <ProgressBar android:id="@+android:id/progress_large"
+ <ProgressBar android:id="@+id/progress_large"
style="?android:attr/progressBarStyleHorizontal"
android:layout_marginTop="20dip"
android:layout_width="match_parent"
diff --git a/res/layout/telephony_disallowed_preference_screen.xml b/res/layout/telephony_disallowed_preference_screen.xml
new file mode 100644
index 0000000..18b4d94
--- /dev/null
+++ b/res/layout/telephony_disallowed_preference_screen.xml
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+ * Copyright (C) 2014 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.
+ */
+-->
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+ android:id="@+id/listContainer"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent">
+
+ <ListView android:id="@android:id/list"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:drawSelectorOnTop="false"
+ android:scrollbarStyle="insideOverlay"
+ android:background="@android:color/white"
+ android:cacheColorHint="@android:color/white"
+ android:fadingEdgeLength="16dip" />
+
+ <TextView android:id="@+android:id/empty"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:gravity="center"
+ android:text="@string/mobile_network_settings_not_available"
+ android:textAppearance="?android:attr/textAppearanceMedium" />
+</FrameLayout>
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 17e58d1..993688e 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"Versoek tans netwerkontsluiting…"</string>
<string name="unlock_failed" msgid="6490531697031504225">"Netwerkaanvraag onsuksesvol ontsluit."</string>
<string name="unlock_success" msgid="6770085622238180152">"Netwerkontsluiting suksesvol."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"Mobiele netwerkinstellings is nie vir hierdie gebruiker beskikbaar nie"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"GSM-oproepinstellings"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"CDMA-oproepinstellings"</string>
<string name="apn_settings" msgid="9043423184895642077">"Toegangspuntname"</string>
@@ -613,7 +614,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"Gebruik Wi-Fi om oproep te maak?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"Ja"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"Nee"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"Ingeboude GSM-SIM-kaart"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"Ingeboude CDMA-SIM-kaart"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"Ingeboude SIM-kaarte"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"Ingeboude internetoproepe"</string>
</resources>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 47ae0d4..e55e9ad 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"አውታረመረብ ለማስከፈት በመጠየቅ ላይ..."</string>
<string name="unlock_failed" msgid="6490531697031504225">"የአውታረ መረብ ክፈትጥየቃአል ተሳካም።"</string>
<string name="unlock_success" msgid="6770085622238180152">"የአውታረ መረብክፈት ተሳክቷል።"</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"የተንቀሳቃሽ ስልክ አውታረ መረብ ቅንብሮች ቅንብሮች ለዚህ ተጠቃሚ አይገኙም"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"የGSM ጥሪ ቅንብሮች"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"CDMA የጥሪ ቅንብሮች"</string>
<string name="apn_settings" msgid="9043423184895642077">"የድረስ ነጥብ ስም"</string>
@@ -609,7 +610,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"ጥሪ ለማድረግ Wi-Fi ይጠቀሙ?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"አዎ"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"አይ"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"አብሮ የተሰራ የጂኤስኤም SIM ካርድ"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"አብሮ የተሰራ የCDMA SIM ካርድ"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"አብሮገነብ ሲም ካርዶች"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"አብሮ የተሰራ የበይነመረብ መደወያ"</string>
</resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index 620e023..ff32640 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"جارٍ طلب إلغاء تأمين الشبكة..."</string>
<string name="unlock_failed" msgid="6490531697031504225">"لم ينجح طلب إلغاء تأمين الشبكة."</string>
<string name="unlock_success" msgid="6770085622238180152">"نجح إلغاء تأمين الشبكة."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"لا تتوفّر إعدادات شبكة الجوّال للمستخدم الحالي."</string>
<string name="labelGSMMore" msgid="5930842194056092106">"إعدادات اتصال نظام GSM"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"إعدادات اتصال CDMA"</string>
<string name="apn_settings" msgid="9043423184895642077">"الدخول إلى أسماء النقاط"</string>
@@ -609,7 +610,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"هل تريد استخدام Wi-Fi لإجراء مكالمة؟"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"نعم"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"لا"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"بطاقة SIM مدمجة لنظام GSM"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"بطاقة SIM مدمجة لاتصال CDMA"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"بطاقات SIM مدمجة"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"اتصال مدمج بالإنترنت"</string>
</resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index eb7f24e..f0c101c 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"Изпраща се заявка за отключване на мрежата..."</string>
<string name="unlock_failed" msgid="6490531697031504225">"Заявката за отключване на мрежата не бе успешна."</string>
<string name="unlock_success" msgid="6770085622238180152">"Отключването на мрежата бе успешно."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"Настройките за мобилната мрежа не са налице за този потребител"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"Настройки за обаждане с GSM"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"Настройки за обаждане в CDMА"</string>
<string name="apn_settings" msgid="9043423184895642077">"Имена на точки за достъп"</string>
@@ -609,7 +610,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"Да се използва ли Wi-Fi за извършване на обаждането?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"Да"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"Не"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"Вградена SIM карта за GSM"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"Вградена SIM карта за CDMA"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"Вградени SIM карти"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"Вградена услуга за интернет обаждания"</string>
</resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index 6407ab9..c082332 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"S\'està sol·licitant el desbloqueig de la xarxa..."</string>
<string name="unlock_failed" msgid="6490531697031504225">"Sol·licitud de desbloqueig de xarxa incorrecta."</string>
<string name="unlock_success" msgid="6770085622238180152">"Desbloqueig de la xarxa correcte."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"La configuració de la xarxa per a mòbils no està disponible per a aquest usuari."</string>
<string name="labelGSMMore" msgid="5930842194056092106">"Configuració de trucades GSM"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"Configuració de trucades CDMA"</string>
<string name="apn_settings" msgid="9043423184895642077">"APN"</string>
@@ -609,7 +610,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"Vols fer servir la connexió Wi-Fi per fer trucades?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"Sí"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"No"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"Targeta SIM integrada amb GSM"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"Targeta SIM integrada amb CDMA"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"Targetes SIM integrades"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"Trucades d\'Internet integrades"</string>
</resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index 3df812b..dddf17e 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"Žádost o odblokování sítě..."</string>
<string name="unlock_failed" msgid="6490531697031504225">"Požadavek na odblokování sítě se nezdařil."</string>
<string name="unlock_success" msgid="6770085622238180152">"Síť byla úspěšně odblokována."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"Nastavení mobilní sítě pro tohoto uživatele není dostupné."</string>
<string name="labelGSMMore" msgid="5930842194056092106">"Nastavení hovorů GSM"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"Nastavení hovorů CDMA"</string>
<string name="apn_settings" msgid="9043423184895642077">"Názvy přístupových bodů (APN)"</string>
@@ -609,7 +610,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"Uskutečňovat hovory přes Wi-Fi?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"Ano"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"Ne"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"Vestavěná SIM karta GSM"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"Vestavěná SIM karta CDMA"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"Vestavěné SIM karty"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"Vestavěné internetové volání"</string>
</resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 3b41d47..4580b6e 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"Anmoder om oplåsning af netværk ..."</string>
<string name="unlock_failed" msgid="6490531697031504225">"Anmodningen om oplåsning af netværk mislykkedes."</string>
<string name="unlock_success" msgid="6770085622238180152">"Netværket blev låst op."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"Denne bruger har ikke adgang til mobilnetværksindstillinger"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"Indstillinger for GSM-opkald"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"Indstillinger for CDMA-opkald"</string>
<string name="apn_settings" msgid="9043423184895642077">"Adgangspunkter"</string>
@@ -615,7 +616,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"Vil du bruge Wi-Fi til at foretage opkald?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"Ja"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"Nej"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"Indbygget GSM-SIM-kort"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"Indbygget CDMA-SIM-kort"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"Indbyggede SIM-kort"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"Indbygget internetopkald"</string>
</resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 2bc00ec..4c25b7c 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"Netzwerkentsperrung wird angefordert..."</string>
<string name="unlock_failed" msgid="6490531697031504225">"Anfrage für Entsperrung des Netzwerks war nicht erfolgreich."</string>
<string name="unlock_success" msgid="6770085622238180152">"Entsperrung des Netzwerks nicht erfolgreich."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"Mobile Netzwerkeinstellungen sind für diesen Nutzer nicht verfügbar."</string>
<string name="labelGSMMore" msgid="5930842194056092106">"GSM-Anrufeinstellungen"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"CDMA-Anrufeinstellungen"</string>
<string name="apn_settings" msgid="9043423184895642077">"Zugangspunkte (APNs)"</string>
@@ -613,7 +614,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"Über WLAN anrufen?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"Ja"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"Nein"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"Integrierte GSM-SIM-Karte"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"Integrierte CDMA-SIM-Karte"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"Integrierte SIM-Karten"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"Integrierte Internettelefonie"</string>
</resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index c3a3b10..f408b0b 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"Αίτηση ξεκλειδώματος δικτύου..."</string>
<string name="unlock_failed" msgid="6490531697031504225">"Ανεπιτυχές αίτημα ξεκλειδώματος δικτύου."</string>
<string name="unlock_success" msgid="6770085622238180152">"Το ξεκλείδωμα δικτύου ήταν επιτυχές."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"Οι ρυθμίσεις δικτύου κινητής τηλεφωνίας δεν είναι διαθέσιμες γι\' αυτόν το χρήστη"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"Ρυθμίσεις κλήσης GSM"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"Ρυθμίσεις κλήσης CDMA"</string>
<string name="apn_settings" msgid="9043423184895642077">"Ονόματα σημείου πρόσβασης"</string>
@@ -609,7 +610,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"Χρήση του Wi-Fi για την πραγματοποίηση της κλήσης;"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"Ναι"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"Όχι"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"Ενσωματωμένη κάρτα SIM GSM"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"Ενσωματωμένη κάρτα SIM CDMA"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"Ενσωματωμένες κάρτες SIM"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"Ενσωματωμένες κλήσεις διαδικτύου"</string>
</resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index 3b2ebb6..4dd8118 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"Requesting network unlock…"</string>
<string name="unlock_failed" msgid="6490531697031504225">"Network unlock request unsuccessful."</string>
<string name="unlock_success" msgid="6770085622238180152">"Network unlock successful."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"Mobile network settings are not available for this user"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"GSM call settings"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"CDMA call settings"</string>
<string name="apn_settings" msgid="9043423184895642077">"Access Point Names"</string>
@@ -609,7 +610,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"Use Wi-Fi to place call?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"Yes"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"No"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"Built-in GSM SIM card"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"Built-in CDMA SIM card"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"Built-in SIM cards"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"Built-in Internet calling"</string>
</resources>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 3b2ebb6..4dd8118 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"Requesting network unlock…"</string>
<string name="unlock_failed" msgid="6490531697031504225">"Network unlock request unsuccessful."</string>
<string name="unlock_success" msgid="6770085622238180152">"Network unlock successful."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"Mobile network settings are not available for this user"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"GSM call settings"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"CDMA call settings"</string>
<string name="apn_settings" msgid="9043423184895642077">"Access Point Names"</string>
@@ -609,7 +610,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"Use Wi-Fi to place call?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"Yes"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"No"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"Built-in GSM SIM card"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"Built-in CDMA SIM card"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"Built-in SIM cards"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"Built-in Internet calling"</string>
</resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 0d80833..ef0d433 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"Solicitando desbloqueo de red..."</string>
<string name="unlock_failed" msgid="6490531697031504225">"Solicitud de desbloqueo de red incorrecta."</string>
<string name="unlock_success" msgid="6770085622238180152">"Desbloqueo de red correcto."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"La configuración de la red móvil no está disponible para este usuario."</string>
<string name="labelGSMMore" msgid="5930842194056092106">"Config. de llam. GSM"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"Configuración de llamadas de CDMA"</string>
<string name="apn_settings" msgid="9043423184895642077">"Nombres de puntos de acceso"</string>
@@ -609,7 +610,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"¿Usar Wi-Fi para hacer llamadas?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"Sí"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"No"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"Tarjeta SIM GSM integrada"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"Tarjeta SIM CDMA integrada"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"Tarjetas SIM integradas"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"Llamadas por Internet integradas"</string>
</resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index 4bdf365..c6b1325 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"Solicitando desbloqueo de red..."</string>
<string name="unlock_failed" msgid="6490531697031504225">"La solicitud de desbloqueo de red no se ha realizado correctamente."</string>
<string name="unlock_success" msgid="6770085622238180152">"El desbloqueo de red se ha realizado correctamente."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"Los ajustes de red móvil no están disponibles para este usuario"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"Ajustes de llamadas GSM"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"Ajustes de llamadas CDMA"</string>
<string name="apn_settings" msgid="9043423184895642077">"APN"</string>
@@ -613,7 +614,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"¿Usar Wi-Fi para hacer llamadas?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"Sí"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"No"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"Tarjeta SIM GSM integradada"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"Tarjeta SIM CDMA integradada"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"Tarjetas SIM integradas"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"Llamadas por Internet integradas"</string>
</resources>
diff --git a/res/values-et-rEE/strings.xml b/res/values-et-rEE/strings.xml
index 586f71a..19c49f5 100644
--- a/res/values-et-rEE/strings.xml
+++ b/res/values-et-rEE/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"Võrgu avamise taotlemine ..."</string>
<string name="unlock_failed" msgid="6490531697031504225">"Võrgu avamise taotlus ebaõnnestus."</string>
<string name="unlock_success" msgid="6770085622238180152">"Võrgu avamine õnnestus."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"Mobiilsidevõrgu seaded pole selle kasutaja jaoks saadaval"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"GSM-kõneseaded"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"CDMA-kõneseaded"</string>
<string name="apn_settings" msgid="9043423184895642077">"Pääsupunktide nimed"</string>
@@ -609,7 +610,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"Kas kasutada helistamiseks WiFi-t?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"Jah"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"Ei"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"Sisseehitatud GSM-i SIM-kaart"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"Sisseehitatud CDMA SIM-kaart"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"Sisseehitatud SIM-kaardid"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"Sisseehitatud Interneti-kõne funktsioon"</string>
</resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 1ce0df1..ce28570 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"در حال درخواست بازگشایی قفل شبکه..."</string>
<string name="unlock_failed" msgid="6490531697031504225">"درخواست قفل گشایی شبکه ناموفق بود."</string>
<string name="unlock_success" msgid="6770085622238180152">"قفل گشایی شبکه با موفقیت انجام شد."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"تنظیمات شبکه دستگاه همراه برای این کاربر در دسترس نیست"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"تنظیمات تماس GSM"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"تنظیمات تماس CDMA"</string>
<string name="apn_settings" msgid="9043423184895642077">"نامهای نقاط دسترسی"</string>
@@ -609,7 +610,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"از Wi-Fi برای برقراری تماس استفاده شود؟"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"بله"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"خیر"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"سیمکارت با GSM داخلی"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"سیمکارت با CDMA داخلی"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"سیمکارتهای داخلی"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"تماس اینترنتی داخلی"</string>
</resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index eaa0555..019682d 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"Pyydetään verkon lukituksen poistoa..."</string>
<string name="unlock_failed" msgid="6490531697031504225">"Verkon lukituksen poistopyyntö epäonnistui."</string>
<string name="unlock_success" msgid="6770085622238180152">"Verkon lukituksen poisto onnistui."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"Mobiiliverkkoasetukset eivät ole käytettävissä tälle käyttäjälle"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"GSM-puheluasetukset"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"CDMA-puheluasetukset"</string>
<string name="apn_settings" msgid="9043423184895642077">"Tukiasemien nimet"</string>
@@ -613,7 +614,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"Soitetaanko Wi-Fi-puhelu?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"Kyllä"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"Ei"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"GSM-yhteyden SIM-kortti"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"CDMA-yhteyden SIM-kortti"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"Sisäiset SIM-kortit"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"Internetpuheluiden SIP-yhteys"</string>
</resources>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index cc46aeb..7f65449 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"Demande de déblocage du réseau…"</string>
<string name="unlock_failed" msgid="6490531697031504225">"Échec de la demande de déblocage du réseau"</string>
<string name="unlock_success" msgid="6770085622238180152">"Le réseau a été débloqué."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"Les paramètres de réseau cellulaire ne sont pas accessibles pour cet utilisateur"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"Paramètres d\'appel GSM"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"Paramètres d\'appel CDMA"</string>
<string name="apn_settings" msgid="9043423184895642077">"Noms des points d\'accès"</string>
@@ -613,7 +614,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"Utiliser le Wi-Fi pour faire l\'appel?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"Oui"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"Non"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"Carte SIM GSM intégrée"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"Carte SIM CDMA intégrée"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"Cartes SIM intégrées"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"Fonctionnalité d\'appel par Internet intégrée"</string>
</resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 38bdc98..c7a01c2 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"Demande de déblocage du réseau…"</string>
<string name="unlock_failed" msgid="6490531697031504225">"Échec de la demande de déblocage du réseau."</string>
<string name="unlock_success" msgid="6770085622238180152">"Le réseau a bien été débloqué."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"Les paramètres des réseaux mobiles ne sont pas disponibles pour cet utilisateur."</string>
<string name="labelGSMMore" msgid="5930842194056092106">"Paramètres d\'appel GSM"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"Paramètres d\'appel CDMA"</string>
<string name="apn_settings" msgid="9043423184895642077">"Noms des points d\'accès"</string>
@@ -609,7 +610,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"Utiliser le Wi-Fi pour passer l\'appel ?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"Oui"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"Non"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"Carte SIM GSM intégrée"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"Carte SIM CDMA intégrée"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"Cartes SIM intégrées"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"Fonctionnalité d\'appel via Internet intégrée"</string>
</resources>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index cad2fb8..92bce33 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"नेटवर्क अनलॉक के लिए अनुरोध कर रहा है..."</string>
<string name="unlock_failed" msgid="6490531697031504225">"नेटवर्क अनलॉक अनुरोध असफल."</string>
<string name="unlock_success" msgid="6770085622238180152">"नेटवर्क अनलॉक सफल रहा."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"मोबाइल नेटवर्क सेटिंग इस उपयोगकर्ता के लिए उपलब्ध नहीं हैं"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"GSM कॉल सेटिंग"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"CDMA कॉल सेटिंग"</string>
<string name="apn_settings" msgid="9043423184895642077">"एक्सेस केन्द्र का नाम"</string>
@@ -609,7 +610,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"कॉल करने के लिए Wi-Fi का उपयोग करें?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"हां"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"नहीं"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"अंतर्निहित GSM SIM कार्ड"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"अंतर्निहित CDMA SIM कार्ड"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"अंतर्निहित SIM कार्ड"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"अंतर्निहित इंटरनेट कॉल सुविधा"</string>
</resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index af37185..e6228a2 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"Traženje mrežnog otključavanja..."</string>
<string name="unlock_failed" msgid="6490531697031504225">"Neuspješan zahtjev za otključavanje mreže."</string>
<string name="unlock_success" msgid="6770085622238180152">"Mrežno otključavanje bilo je uspješno."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"Postavke mobilne mreže nisu dostupne za tog korisnika"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"Postavke GSM poziva"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"Postavke CDMA poziva"</string>
<string name="apn_settings" msgid="9043423184895642077">"Nazivi pristupnih točaka"</string>
@@ -609,7 +610,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"Želite li uputiti poziv putem Wi-Fi-ja?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"Da"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"Ne"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"Ugrađena SIM kartica za GSM"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"Ugrađena SIM kartica za CDMA"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"Ugrađene SIM kartice"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"Ugrađeni internetski pozivi"</string>
</resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index 5d5a455..f5cc45b 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"Függetlenítés kérése..."</string>
<string name="unlock_failed" msgid="6490531697031504225">"A hálózatzárolás feloldására vonatkozó kérelem sikertelen volt."</string>
<string name="unlock_success" msgid="6770085622238180152">"A függetlenítés sikerült."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"Mobilhálózati beállítások nem érhetők el ennél a felhasználónál"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"GSM-hívásbeállítások"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"CDMA-hívásbeállítások"</string>
<string name="apn_settings" msgid="9043423184895642077">"Hozzáférési pontok nevei"</string>
@@ -609,7 +610,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"Wi-Fit szeretne használni a hívásindításhoz?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"Igen"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"Nem"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"Beépített GSM SIM kártya"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"Beépített CDMA SIM kártya"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"Beépített SIM kártyák"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"Beépített internetes hívás"</string>
</resources>
diff --git a/res/values-hy-rAM/strings.xml b/res/values-hy-rAM/strings.xml
index 1024877..536c244 100644
--- a/res/values-hy-rAM/strings.xml
+++ b/res/values-hy-rAM/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"Հայցվում է ցանցի ապակողպում..."</string>
<string name="unlock_failed" msgid="6490531697031504225">"Ցանցի ապակողպման հարցումը խափանվեց:"</string>
<string name="unlock_success" msgid="6770085622238180152">"Ցանցի ապակողպումը խափանվեց"</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"Բջջային ցանցի կարգավորումներն անհասանելի են այս օգտվողի համար"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"GSM զանգերի կարգավորումներ"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"CDMA զանգերի կարգավորումներ"</string>
<string name="apn_settings" msgid="9043423184895642077">"Մատչման կետերի Անունները"</string>
@@ -615,7 +616,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"Օգտագործե՞լ Wi-Fi-ը զանգահարելու համար:"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"Այո"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"Ոչ"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"Ներկառուցված GSM SIM քարտ"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"Ներկառուցված CDMA SIM քարտ"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"Ներկառուցված SIM քարտեր"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"Ներկառուցված Ինտերնետ զանգ"</string>
</resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index dc9ab15..c1773bd 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"Meminta membuka jaringan..."</string>
<string name="unlock_failed" msgid="6490531697031504225">"Permintaan buka kunci jaringan gagal."</string>
<string name="unlock_success" msgid="6770085622238180152">"Jaringan berhasil dibuka."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"Setelan jaringan seluler tidak tersedia bagi pengguna ini"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"Setelan panggilan GSM"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"Setelan panggilan CDMA"</string>
<string name="apn_settings" msgid="9043423184895642077">"Access Point Names (Nama Titik Akses)"</string>
@@ -609,7 +610,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"Gunakan Wi-Fi untuk melakukan panggilan?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"Ya"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"Tidak"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"Kartu SIM GSM yang terpasang di dalamnya"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"Kartu SIM CDMA yang terpasang di dalamnya"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"Kartu SIM internal"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"Panggilan internet yang terpasang di dalamnya"</string>
</resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 65a9f5d..a784a4e 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"Richiesta sblocco rete..."</string>
<string name="unlock_failed" msgid="6490531697031504225">"Richiesta di sblocco della rete respinta."</string>
<string name="unlock_success" msgid="6770085622238180152">"Sblocco della rete riuscito."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"Le impostazioni per dispositivi mobili non sono disponibili per questo utente"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"Imp. chiamate GSM"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"Impostazioni di chiamata CDMA"</string>
<string name="apn_settings" msgid="9043423184895642077">"Nomi punti di accesso"</string>
@@ -613,7 +614,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"Utilizzare il Wi-Fi per effettuare la chiamata?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"Sì"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"No"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"Scheda SIM GSM integrata"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"Scheda SIM CDMA integrata"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"Schede SIM integrate"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"Chiamate Internet integrate"</string>
</resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 4d34d22..8fad7e0 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"מבקש ביטול נעילת רשת..."</string>
<string name="unlock_failed" msgid="6490531697031504225">"הבקשה לביטול נעילת הרשת נכשלה."</string>
<string name="unlock_success" msgid="6770085622238180152">"ביטול נעילת הרשת התבצע בהצלחה."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"הגדרות של רשת לנייד אינן זמינות עבור המשתמש הזה"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"הגדרות שיחה של GSM"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"הגדרות שיחה של CDMA"</string>
<string name="apn_settings" msgid="9043423184895642077">"שמות של נקודות גישה"</string>
@@ -609,7 +610,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"האם להשתמש ב-Wi-Fi לביצוע השיחה?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"כן"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"לא"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"כרטיס SIM מובנה מסוג GSM"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"כרטיס SIM מובנה מסוג CDMA"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"כרטיסי SIM מובנים"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"שיחות אינטרנט מובנות"</string>
</resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index ebb1f37..3154867 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"ネットワークのロック解除をリクエスト中..."</string>
<string name="unlock_failed" msgid="6490531697031504225">"ネットワークロックを解除できませんでした。"</string>
<string name="unlock_success" msgid="6770085622238180152">"ネットワークロックを解除しました。"</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"このユーザーはモバイルネットワーク設定を利用できません。"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"GSM通話設定"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"CDMA通話設定"</string>
<string name="apn_settings" msgid="9043423184895642077">"アクセスポイント名"</string>
@@ -609,7 +610,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"Wi-Fiを使用して発信しますか?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"はい"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"いいえ"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"内蔵のGSM SIMカード"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"内蔵のCDMA SIMカード"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"内蔵のSIMカード"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"内蔵のインターネット通話機能"</string>
</resources>
diff --git a/res/values-ka-rGE/strings.xml b/res/values-ka-rGE/strings.xml
index 1097b66..aa9c202 100644
--- a/res/values-ka-rGE/strings.xml
+++ b/res/values-ka-rGE/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"ქსელის განბლოკვის მოთხოვნა…"</string>
<string name="unlock_failed" msgid="6490531697031504225">"ქსელის განბლოკვის მოთხოვნა წარუმატებლად დასრულდა."</string>
<string name="unlock_success" msgid="6770085622238180152">"ქსელის განბლოკვის მოთხოვნა წარმატებით დასრულდა."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"მობილური ქსელის პარამეტრები ამ მომხმარებლისათვის მიუწვდომელია"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"GSM ზარის პარამეტრები"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"CDMA ზარის პარამეტრები"</string>
<string name="apn_settings" msgid="9043423184895642077">"წვდომის წერტილის სახელები"</string>
@@ -609,7 +610,7 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"გსურთ დასარეკად Wi-Fi-ს გამოყენება?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"დიახ"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"არა"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"ჩაშენებული GSM SIM ბარათი"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"ჩაშენებული CDMA SIM ბარათი"</string>
+ <!-- no translation found for pstn_connection_service_label (1743245930577325900) -->
+ <skip />
<string name="sip_connection_service_label" msgid="3547998349299125294">"ჩაშენებული ინტერნეტ-ზარი"</string>
</resources>
diff --git a/res/values-km-rKH/strings.xml b/res/values-km-rKH/strings.xml
index ff2fc1a..9d08dfc 100644
--- a/res/values-km-rKH/strings.xml
+++ b/res/values-km-rKH/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"កំពុងស្នើដោះសោបណ្ដាញ…"</string>
<string name="unlock_failed" msgid="6490531697031504225">"បានបរាជ័យក្នុងការស្នើដោះសោបណ្ដាញ។"</string>
<string name="unlock_success" msgid="6770085622238180152">"ដោះសោបណ្ដាញបានជោគជ័យ។"</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"ការកំណត់បណ្ដាញចល័តមិនអាចប្រើបានសម្រាប់អ្នកប្រើនេះ"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"កំណត់ការហៅ GSM"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"កំណត់ការហៅ CDMA"</string>
<string name="apn_settings" msgid="9043423184895642077">"ចូលដំណើរការឈ្មោះចំណុច"</string>
@@ -609,7 +610,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"ប្រើវ៉ាយហ្វាយដើម្បីហៅ?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"បាទ/ចាស"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"ទេ"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"ស៊ីមកាត GSM ជាប់ជាមួយស្រាប់"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"ស៊ីមកាត CDMA ជាប់ជាមួយស្រាប់"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"ស៊ីមកាតជាប់ជាមួយ"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"ការហៅតាមអ៊ីនធឺណិតជាប់ជាមួយស្រាប់"</string>
</resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 834e620..44eab51 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"네트워크 잠금해제 요청 중..."</string>
<string name="unlock_failed" msgid="6490531697031504225">"네트워크 잠금해제 요청이 실패했습니다."</string>
<string name="unlock_success" msgid="6770085622238180152">"네트워크의 잠금을 해제했습니다."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"이 사용자는 모바일 네트워크 설정을 사용할 수 없습니다."</string>
<string name="labelGSMMore" msgid="5930842194056092106">"GSM 통화 설정"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"CDMA 통화 설정"</string>
<string name="apn_settings" msgid="9043423184895642077">"APN"</string>
@@ -609,7 +610,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"전화 걸 때 Wi-Fi를 사용하시겠습니까?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"예"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"아니요"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"내장된 GSM SIM 카드"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"내장된 CDMA SIM 카드"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"내장된 SIM 카드"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"내장된 인터넷 전화"</string>
</resources>
diff --git a/res/values-lo-rLA/strings.xml b/res/values-lo-rLA/strings.xml
index fd03639..bc0487e 100644
--- a/res/values-lo-rLA/strings.xml
+++ b/res/values-lo-rLA/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"ກຳລັງຮ້ອງຂໍການປົດລັອກເຄືອຂ່າຍ..."</string>
<string name="unlock_failed" msgid="6490531697031504225">"ຄຳຂໍການປົດລັອກເຄືອຂ່າຍບໍ່ສຳເລັດ."</string>
<string name="unlock_success" msgid="6770085622238180152">"ການປົດລັອກເຄືອຂ່າຍບໍ່ສຳເລັດ."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"ການຕັ້ງຄ່າເຄືອຂ່າຍມືຖືບໍ່ສາມາດໃຊ້ໄດ້ກັບຜູ່ໃຊ້ນີ້"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"ການຕັ້ງຄ່າການໂທ GSM"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"ການຕັ້ງຄ່າໂທ CDMA"</string>
<string name="apn_settings" msgid="9043423184895642077">"ຊື່ຂອງຈຸດການເຂົ້າເຖິງ (APN)"</string>
@@ -609,7 +610,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"ໃຊ້ Wi-Fi ເພື່ອໂທບໍ?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"ແມ່ນແລ້ວ"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"ບໍ່"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"GSM SIM ກາດທີ່ມາກັບເຄື່ອງ"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"CDMA SIM ກາດທີ່ມາກັບເຄື່ອງ"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"SIM ກາດທີ່ມາກັບເຄື່ອງ"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"ການໂທຜ່ານອິນເຕີເນັດທີ່ມາກັບເຄື່ອງ"</string>
</resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index adeea64..9df1bba 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"Pateikiama užklausa atrakinti tinklą..."</string>
<string name="unlock_failed" msgid="6490531697031504225">"Nesėkminga tinklo atrakinimo užklausa."</string>
<string name="unlock_success" msgid="6770085622238180152">"Tinklas sėkmingai atrakintas."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"Mobiliojo ryšio tinklo nustatymai nepasiekiami šiam naudotojui"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"GSM skambinimo nustatymai"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"CDMA skambučio nustatymai"</string>
<string name="apn_settings" msgid="9043423184895642077">"Prieigos taškų pavadinimai"</string>
@@ -609,7 +610,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"Skambinti naudojant „Wi-Fi“?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"Taip"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"Ne"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"Įtaisytoji GSM SIM kortelė"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"Įtaisytoji CDMA SIM kortelė"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"Įtaisytosios SIM kortelės"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"Įtaisytoji skambučių internetu paslauga"</string>
</resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index d9b7dce..57895f8 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"Notiek tīkla atbloķēšanas pieprasīšana..."</string>
<string name="unlock_failed" msgid="6490531697031504225">"Tīkla atbloķēšanas pieprasījums nav veiksmīgs."</string>
<string name="unlock_success" msgid="6770085622238180152">"Tīkla atbloķēšana bija veiksmīga."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"Mobilā tīkla iestatījumi šim lietotājam nav pieejami."</string>
<string name="labelGSMMore" msgid="5930842194056092106">"GSM zvanu iestatījumi"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"CDMA zvanu iestatījumi"</string>
<string name="apn_settings" msgid="9043423184895642077">"Piekļuves punktu nosaukumi"</string>
@@ -611,7 +612,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"Vai zvana veikšanai izmantot Wi-Fi?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"Jā"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"Nē"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"Iebūvēta GSM SIM karte"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"Iebūvēta CDMA SIM karte"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"Iebūvētās SIM kartes"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"Iebūvēta zvanīšanas funkcija internetā"</string>
</resources>
diff --git a/res/values-mn-rMN/strings.xml b/res/values-mn-rMN/strings.xml
index 3a56b1d..6200582 100644
--- a/res/values-mn-rMN/strings.xml
+++ b/res/values-mn-rMN/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"Сүлжээг тайлах хүсэлтийг илгээж байна…"</string>
<string name="unlock_failed" msgid="6490531697031504225">"Сүлжээг тайлах хүсэлт амжилтгүй боллоо."</string>
<string name="unlock_success" msgid="6770085622238180152">"Сүлжээг амжилттай тайллаа."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"Энэ хэрэглэгч мобайл сүлжээний тохиргоог ашиглах боломжгүй"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"GSM дуудлагын тохиргоо"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"CDMA дуудлагын тохиргоо"</string>
<string name="apn_settings" msgid="9043423184895642077">"Хандалтын Цэгийн Нэрс"</string>
@@ -609,7 +610,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"Дуудлага хийхэд Wi-Fi ашиглах уу?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"Тийм"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"Үгүй"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"Суурилагдсан GSM SIM карт"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"Суурилагдсан CDMA SIM карт"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"Суурилагдсан SIM карт"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"Суурилагдсан Интернет дуудлага"</string>
</resources>
diff --git a/res/values-ms-rMY/strings.xml b/res/values-ms-rMY/strings.xml
index 47732b5..ef22417 100644
--- a/res/values-ms-rMY/strings.xml
+++ b/res/values-ms-rMY/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"Meminta dibukakan kunci rangkaian..."</string>
<string name="unlock_failed" msgid="6490531697031504225">"Permintaan dibukakan kunci rangkaian tidak berjaya."</string>
<string name="unlock_success" msgid="6770085622238180152">"Berjaya membuka kunci rangkaian."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"Tetapan rangkaian mudah alih tidak tersedia untuk pengguna ini"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"Tetapan panggilan GSM"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"Tetapan panggilan CDMA"</string>
<string name="apn_settings" msgid="9043423184895642077">"Nama Titik Capaian"</string>
@@ -609,7 +610,7 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"Gunakan Wi-Fi untuk membuat panggilan?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"Ya"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"Tidak"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"Kad SIM GSM terbina dalam"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"Kad SIM CDMA terbina dalam"</string>
+ <!-- no translation found for pstn_connection_service_label (1743245930577325900) -->
+ <skip />
<string name="sip_connection_service_label" msgid="3547998349299125294">"Panggilan Internet terbina dalam"</string>
</resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index c78f12c..361458e 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"Spør om fjerning av operatørlås…"</string>
<string name="unlock_failed" msgid="6490531697031504225">"Fikk ikke fjerne operatørlås."</string>
<string name="unlock_success" msgid="6770085622238180152">"Operatørlåsen er fjernet."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"Innstillinger for mobilnettverk er ikke tilgjengelig for denne brukeren"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"Innstillinger for GSM-samtaler"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"Innstillinger for CDMA-samtaler"</string>
<string name="apn_settings" msgid="9043423184895642077">"Navn på aksesspunkt"</string>
@@ -615,7 +616,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"Vil du bruke Wi-Fi for å ringe?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"Ja"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"Nei"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"Innebygd GSM SIM-kort"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"Innebygd CDMA SIM-kort"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"Innebygd SIM-kort"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"Innebygd Internett-ringing"</string>
</resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index 290e4d0..9478b7e 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"Verzoek om ontgrendelen netwerk..."</string>
<string name="unlock_failed" msgid="6490531697031504225">"Verzoek voor ontgrendelen netwerk mislukt."</string>
<string name="unlock_success" msgid="6770085622238180152">"Het netwerk is ontgrendeld."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"Instellingen voor mobiele netwerken zijn niet beschikbaar voor deze gebruiker"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"GSM-oproepinstellingen"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"CDMA-oproepinstellingen"</string>
<string name="apn_settings" msgid="9043423184895642077">"Namen toegangspunten"</string>
@@ -609,7 +610,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"Wifi gebruiken om oproepen te plaatsen?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"Ja"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"Nee"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"Geïntegreerde GSM-simkaart"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"Geïntegreerde CDMA-simkaart"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"Ingebouwde simkaarten"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"Geïntegreerde internetoproepen"</string>
</resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 1cadbfb..11ad428 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"Żądanie odblokowania sieci..."</string>
<string name="unlock_failed" msgid="6490531697031504225">"Żądanie odblokowania sieci zakończyło się niepowodzeniem."</string>
<string name="unlock_success" msgid="6770085622238180152">"Sieć została pomyślnie odblokowana."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"Ustawienia sieci mobilnej są niedostępne dla tego użytkownika"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"Ustawienia połączenia GSM"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"Ustawienia połączenia CDMA"</string>
<string name="apn_settings" msgid="9043423184895642077">"Punkty dostępowe"</string>
@@ -609,7 +610,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"Zadzwonić przez Wi-Fi?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"Tak"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"Nie"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"Wbudowana karta SIM GSM"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"Wbudowana karta SIM CDMA"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"Wbudowane karty SIM"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"Wbudowana funkcja telefonii internetowej"</string>
</resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 0d8be65..7b8d4aa 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"A pedir desbloqueio de rede..."</string>
<string name="unlock_failed" msgid="6490531697031504225">"O pedido de desbloqueio de rede falhou."</string>
<string name="unlock_success" msgid="6770085622238180152">"Desbloqueio de rede bem sucedido."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"As definições de rede móvel não estão disponíveis para este utilizador"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"Definições de chamadas GSM"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"Definições de chamada CDMA"</string>
<string name="apn_settings" msgid="9043423184895642077">"Pontos de acesso (APN)"</string>
@@ -609,7 +610,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"Utilizar a rede Wi-Fi para efetuar a chamada?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"Sim"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"Não"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"Cartão SIM GSM incorporado"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"Cartão SIM CDMA incorporado"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"Cartões SIM incorporados"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"Chamadas por Internet incorporadas"</string>
</resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index 90956c2..d78d386 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"Solicitando o desbloqueio de rede…"</string>
<string name="unlock_failed" msgid="6490531697031504225">"Falha na solicitação de desbloqueio de rede."</string>
<string name="unlock_success" msgid="6770085622238180152">"Desbloqueio de rede bem-sucedido."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"As configurações de rede para dispositivos móveis não estão disponíveis para este usuário"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"Configurações de chamada GSM"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"Configurações de chamada CDMA"</string>
<string name="apn_settings" msgid="9043423184895642077">"Nomes dos pontos de acesso"</string>
@@ -609,7 +610,7 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"Usar o Wi-Fi para efetuar a chamada?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"Sim"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"Não"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"Cartão SIM GSM integrado"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"Cartão SIM CDMA integrado"</string>
+ <!-- no translation found for pstn_connection_service_label (1743245930577325900) -->
+ <skip />
<string name="sip_connection_service_label" msgid="3547998349299125294">"Chamadas pela Internet integradas"</string>
</resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 350ce7b..0e96b4c 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"Se solicită deblocarea reţelei..."</string>
<string name="unlock_failed" msgid="6490531697031504225">"Cererea de deblocare a reţelei a eşuat."</string>
<string name="unlock_success" msgid="6770085622238180152">"Reţeaua a fost deblocată."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"Setările pentru rețeaua mobilă nu sunt disponibile pentru acest utilizator"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"Setările apelului GSM"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"Setările apelului CDMA"</string>
<string name="apn_settings" msgid="9043423184895642077">"Numele punctelor de acces"</string>
@@ -609,7 +610,7 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"Folosiți Wi-Fi pentru a efectua apelul?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"Da"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"Nu"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"Card SIM GSM încorporat"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"Card SIM CDMA încorporat"</string>
+ <!-- no translation found for pstn_connection_service_label (1743245930577325900) -->
+ <skip />
<string name="sip_connection_service_label" msgid="3547998349299125294">"Apeluri pe Internet integrate"</string>
</resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 2765172..172abd2 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"Запрос разблокировки сети..."</string>
<string name="unlock_failed" msgid="6490531697031504225">"Запрос на разблокировку сети не выполнен."</string>
<string name="unlock_success" msgid="6770085622238180152">"Разблокировка сети успешно завершена."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"Настройки мобильных сетей недоступны этому пользователю"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"Настройки вызовов GSM"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"Настройки вызовов CDMA"</string>
<string name="apn_settings" msgid="9043423184895642077">"Точки доступа (APN)"</string>
@@ -611,7 +612,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"Использовать Wi-Fi для звонка?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"Да"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"Нет"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"Встроенная SIM-карта GSM"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"Встроенная SIM-карта CDMA"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"Встроенные SIM-карты"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"Встроенный сервис интернет-вызовов"</string>
</resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index c59832f..58dae27 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"Žiadosť o odomknutie siete..."</string>
<string name="unlock_failed" msgid="6490531697031504225">"Žiadosť o odomknutie siete nebola úspešná."</string>
<string name="unlock_success" msgid="6770085622238180152">"Sieť bola odomknutá."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"Nastavenia mobilnej siete nie sú pre tohto používateľa dostupné"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"Nastavenia hovorov GSM"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"Nastavenia hovorov CDMA"</string>
<string name="apn_settings" msgid="9043423184895642077">"Názvy prístupových bodov"</string>
@@ -609,7 +610,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"Chcete volať prostredníctvom site Wi-Fi?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"Áno"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"Nie"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"Vstavaná SIM karta s pripojením GSM"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"Vstavaná SIM karta s pripojením CDMA"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"Vstavané SIM karty"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"Vstavané internetové volanie"</string>
</resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 101d56e..e248349 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"Zahteva za odklepanje omrežja ..."</string>
<string name="unlock_failed" msgid="6490531697031504225">"Zahteva za odklepanje omrežja neuspešna."</string>
<string name="unlock_success" msgid="6770085622238180152">"Odklepanje omrežja uspešno."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"Nastavitve mobilnega omrežja niso na voljo za tega uporabnika"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"Nastavitve klicev GSM"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"Nastavitve klicev CDMA"</string>
<string name="apn_settings" msgid="9043423184895642077">"Imena dostopnih točk"</string>
@@ -609,7 +610,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"Želite klicati prek povezave Wi-Fi?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"Da"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"Ne"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"Vgrajena kartica SIM za omrežje GSM"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"Vgrajena kartica SIM za omrežje CDMA"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"Vgrajene kartice SIM"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"Vgrajeno internetno klicanje"</string>
</resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 3ca5668..6661759 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"Тражење откључавања мреже"</string>
<string name="unlock_failed" msgid="6490531697031504225">"Неуспешан захтев за закључавање мреже."</string>
<string name="unlock_success" msgid="6770085622238180152">"Успешно откључавање мреже"</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"Подешавања мобилне мреже нису доступна за овог корисника"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"Подешавања GSM позива"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"CDMA подешавања позива"</string>
<string name="apn_settings" msgid="9043423184895642077">"Називи приступних тачака"</string>
@@ -609,7 +610,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"Желите ли да упутите Wi-Fi позив?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"Да"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"Не"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"Уграђена GSM SIM картица"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"Уграђена CDMA SIM картица"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"Уграђене SIM картице"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"Уграђено позивање преко интернета"</string>
</resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 4f2af70..1f06fba 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"Försöker låsa upp nätverket…"</string>
<string name="unlock_failed" msgid="6490531697031504225">"Det gick inte att låsa upp nätverket."</string>
<string name="unlock_success" msgid="6770085622238180152">"Nätverket upplåst"</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"Inställningarna för mobilnätverk är inte tillgängliga för den här användaren"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"Samtalsinst. för GSM"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"Samtalsinst. för CDMA"</string>
<string name="apn_settings" msgid="9043423184895642077">"Åtkomstpunktens namn (APN)"</string>
@@ -615,7 +616,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"Vill du ringa samtal via Wi-Fi?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"Ja"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"Nej"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"Inbyggt SIM-kort för GSM"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"Inbyggt SIM-kort för CDMA"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"Inbyggda SIM-kort"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"Inbyggd internettelefoni"</string>
</resources>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 9aa6e96..76f2561 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"Inaomba mtandao ufunguliwe…."</string>
<string name="unlock_failed" msgid="6490531697031504225">"Ombi la kufungua mtandao halijafaulu."</string>
<string name="unlock_success" msgid="6770085622238180152">"Umefaulu kufungua mtandao."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"Mipangilio ya mtandao wa simu za mkononi haipatikani kwa mtumiaji huyu"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"Mipangilio ya simu ya GSM"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"Mipangilio ya simu ya CDMA"</string>
<string name="apn_settings" msgid="9043423184895642077">"Majina ya Milango ya Kufikia"</string>
@@ -609,7 +610,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"Ungependa kutumia Wi-Fi kupiga simu?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"Ndiyo"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"La"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"SIM kadi ya GSM iliyojengewa ndani"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"SIM kadi ya CDMA iliyojengewa ndani"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"SIM kadi zilizojengewa ndani"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"Upigaji simu kupitia Intaneti uliojengewa ndani"</string>
</resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index 80500c2..57cb7de 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"กำลังขอปลดล็อกเครือข่าย..."</string>
<string name="unlock_failed" msgid="6490531697031504225">"คำขอปลดล็อกเครือข่ายไม่สำเร็จ"</string>
<string name="unlock_success" msgid="6770085622238180152">"ปลดล็อกเครือข่ายไม่สำเร็จ"</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"การตั้งค่าเครือข่ายมือถือไม่พร้อมใช้งานสำหรับผู้ใช้รายนี้"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"การตั้งค่าการโทร GSM"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"การตั้งค่าการโทร CDMA"</string>
<string name="apn_settings" msgid="9043423184895642077">"ชื่อจุดเข้าใช้งาน"</string>
@@ -609,7 +610,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"ต้องการใช้ Wi-Fi ในการโทรใช่ไหม"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"ใช่"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"ไม่ใช่"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"ซิมการ์ด GSM ในตัว"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"ซิมการ์ด CDMA ในตัว"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"ซิมการ์ดในตัว"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"การโทรทางอินเทอร์เน็ตในตัว"</string>
</resources>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index d66720e..09a8af2 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"Humihiling ng pag-unlock sa network…"</string>
<string name="unlock_failed" msgid="6490531697031504225">"Hindi matagumpay ang kahilingan na i-unlock ang network."</string>
<string name="unlock_success" msgid="6770085622238180152">"Matagumpay ang pag-unlock ng network."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"Hindi available ang mga setting ng mobile network para sa user na ito"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"Mga setting ng tawag ng GSM"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"Mga setting ng CDMA na tawag"</string>
<string name="apn_settings" msgid="9043423184895642077">"Mga Pangalan ng Lugar ng Access"</string>
@@ -609,7 +610,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"Gamitin ang Wi-Fi upang tumawag?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"Oo"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"Huwag"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"Built-in na GSM SIM card"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"Built-in na CDMA SIM card"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"Mga built-in na SIM card"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"Built-in na pagtawag sa Internet"</string>
</resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 98f219b..e071f79 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"Ağ kilidini açma isteği yapılıyor..."</string>
<string name="unlock_failed" msgid="6490531697031504225">"Ağ kilidi açma isteği başarısız."</string>
<string name="unlock_success" msgid="6770085622238180152">"Ağ kilidi açılamadı."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"Bu kullanıcı için mobil ağ ayarları kullanılamıyor"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"GSM çağrı ayarları"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"CDMA çağrı ayarları"</string>
<string name="apn_settings" msgid="9043423184895642077">"Erişim Noktası Adları"</string>
@@ -609,7 +610,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"Telefon etmek için Kablosuz bağlantı kullanılsın mı?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"Evet"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"Hayır"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"Yerleşik GSM SIM kartı"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"Yerleşik CDMA SIM kartı"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"Yerleşik SIM kartlar"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"Yerleşik İnternet çağrısı"</string>
</resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 8bb8a7a..5d3f5ae 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"Запитув. розблок. мережі..."</string>
<string name="unlock_failed" msgid="6490531697031504225">"Не здійсн. запит розблокування мережі"</string>
<string name="unlock_success" msgid="6770085622238180152">"Мережу успішно розблоковано."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"Налаштування мобільної мережі недоступні для цього користувача"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"Налаштування викликів GSM"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"Налашт. викл. в CDMA"</string>
<string name="apn_settings" msgid="9043423184895642077">"Назва точки доступу"</string>
@@ -609,7 +610,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"Телефонувати через Wi-Fi?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"Так"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"Ні"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"Вбудована SIM-карта стандарту GSM"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"Вбудована SIM-карта стандарту CDMA"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"Вбудовані SIM-карти"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"Вбудована функція інтернет-дзвінків"</string>
</resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 8ab16fa..5c5c75d 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"Đang yêu cầu mở khóa mạng..."</string>
<string name="unlock_failed" msgid="6490531697031504225">"Yêu cầu mở khóa mạng không thành công."</string>
<string name="unlock_success" msgid="6770085622238180152">"Mở khóa mạng thành công."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"Cài đặt mạng di động không khả dụng cho người dùng này"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"Cài đặt cuộc gọi GSM"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"Cài đặt cuộc gọi CDMA"</string>
<string name="apn_settings" msgid="9043423184895642077">"Tên Điểm Truy cập"</string>
@@ -609,7 +610,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"Sử dụng Wi-Fi để thực hiện cuộc gọi?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"Có"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"Không"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"Tích hợp sẵn thẻ SIM GSM"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"Tích hợp sẵn thẻ SIM CDMA"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"Thẻ SIM tích hợp sẵn"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"Tích hợp sẵn gọi điện qua Internet"</string>
</resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 3d1f57d..01369ce 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"正在请求网络解锁..."</string>
<string name="unlock_failed" msgid="6490531697031504225">"网络解锁请求失败。"</string>
<string name="unlock_success" msgid="6770085622238180152">"网络解锁成功。"</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"此用户无法修改移动网络设置"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"GSM 通话设置"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"CDMA 通话设置"</string>
<string name="apn_settings" msgid="9043423184895642077">"接入点名称 (APN)"</string>
@@ -609,7 +610,7 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"要使用WLAN通话吗?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"是"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"否"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"内置GSM SIM卡"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"内置CDMA SIM卡"</string>
+ <!-- no translation found for pstn_connection_service_label (1743245930577325900) -->
+ <skip />
<string name="sip_connection_service_label" msgid="3547998349299125294">"内置互联网通话服务"</string>
</resources>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index 9cc55c3..9afd67d 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"正在要求解除網絡鎖定..."</string>
<string name="unlock_failed" msgid="6490531697031504225">"無法完成解除網絡鎖定的要求"</string>
<string name="unlock_success" msgid="6770085622238180152">"成功解除網絡鎖定。"</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"此使用者無法修改流動網絡設定"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"GSM 通話設定"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"CDMA 通話設定"</string>
<string name="apn_settings" msgid="9043423184895642077">"接入點名稱"</string>
@@ -615,7 +616,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"使用 Wi-Fi 撥打電話嗎?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"是"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"否"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"內置 GSM SIM 卡"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"內置 CDMA SIM 卡"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"內置 SIM 卡"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"內置網絡通話服務"</string>
</resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index a79757a..e2dfd16 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"正在要求解除網路鎖定…"</string>
<string name="unlock_failed" msgid="6490531697031504225">"網路解鎖失敗。"</string>
<string name="unlock_success" msgid="6770085622238180152">"網路解鎖成功。"</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"這位使用者無法修改行動網路設定"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"GSM 通話設定"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"CDMA 通話設定"</string>
<string name="apn_settings" msgid="9043423184895642077">"存取點名稱 (APN)"</string>
@@ -615,7 +616,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"使用 Wi-Fi 網路撥打電話?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"是"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"否"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"內建 GSM SIM 卡"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"內建 CDMA SIM 卡"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"內建 SIM 卡"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"內建網路通話服務"</string>
</resources>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 75da8ec..cb34e20 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -52,6 +52,7 @@
<string name="requesting_unlock" msgid="6412629401033249351">"Icela ukuvula inethiwekhi..."</string>
<string name="unlock_failed" msgid="6490531697031504225">"Isicelo sokuvula inethiwekhi asiphumelelanga."</string>
<string name="unlock_success" msgid="6770085622238180152">"Ukuvula inethiwekhi kuphumelele."</string>
+ <string name="mobile_network_settings_not_available" msgid="7355254462995117896">"Izilungiselelo zenethiwekhi yeselula azitholakaleli lo msebenzisi"</string>
<string name="labelGSMMore" msgid="5930842194056092106">"Izilungiselelo zekholi ze-GSM"</string>
<string name="labelCDMAMore" msgid="1630676740428229339">"Izilungiselelo zekholi ye-CDMA"</string>
<string name="apn_settings" msgid="9043423184895642077">"Ama-APN"</string>
@@ -613,7 +614,6 @@
<string name="choose_wifi_for_call_msg" msgid="193549297122949976">"Sebenzisa i-Wi-Fi ukwenza ikholi?"</string>
<string name="choose_wifi_for_call_yes" msgid="5312994368472630983">"Yebo"</string>
<string name="choose_wifi_for_call_no" msgid="7132239734287157307">"Cha"</string>
- <string name="gsm_connection_service_label" msgid="2332284528867411683">"Ikhadi le-GSM SIM elakhelwe ngaphakathi"</string>
- <string name="cdma_connection_service_label" msgid="5038725238949035222">"Ikhadi le-CDMA SIM elakhelwe ngaphakathi"</string>
+ <string name="pstn_connection_service_label" msgid="1743245930577325900">"Amakhadi we-SIM akhelwe ngaphakathi"</string>
<string name="sip_connection_service_label" msgid="3547998349299125294">"Ukushaya kwe-inthanethi okwakhelwe ngaphakathi"</string>
</resources>
diff --git a/res/values/colors.xml b/res/values/colors.xml
index 5eab9e3..c493a11 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -50,4 +50,6 @@
<color name="setting_primary_color">#4d4c4c</color>
<!-- Color for the setting description text. -->
<color name="setting_secondary_color">#989898</color>
+ <color name="dialer_dialpad_touch_tint">#331dc7db</color>
+ <color name="dialer_accent_color">#eeff41</color>
</resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 188b284..f9ff5b8 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -114,6 +114,8 @@
<!-- settings strings -->
+ <!-- Error message for users that aren't allowed to modify Mobile Network settings [CHAR LIMIT=none] -->
+ <string name="mobile_network_settings_not_available">Mobile network settings are not available for this user</string>
<!-- GSM Call settings screen, setting option name -->
<string name="labelGSMMore">GSM call settings</string>
<!-- CDM Call settings screen, setting option name -->
@@ -1509,11 +1511,8 @@
<!-- Title for button to not use WiFi calling. -->
<string name ="choose_wifi_for_call_no">No</string>
- <!-- Label for GSM connection service. -->
- <string name="gsm_connection_service_label">Built-in GSM SIM card</string>
-
- <!-- Label for CDMA connection service. -->
- <string name="cdma_connection_service_label">Built-in CDMA SIM card</string>
+ <!-- Label for PSTN connection service. -->
+ <string name="pstn_connection_service_label">Built-in SIM cards</string>
<!-- Label for SIP connection service. -->
<string name="sip_connection_service_label">Built-in Internet calling</string>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index b62026b..689ec84 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -220,14 +220,6 @@
<item name="*android:windowAnimationStyle">@style/InCallAnimationStyle</item>
</style>
- <style name="DialpadButtonStyle">
- <item name="android:layout_width">0dip</item>
- <item name="android:layout_height">match_parent</item>
- <item name="android:layout_weight">1</item>
- <item name="android:background">?android:attr/selectableItemBackground</item>
- <item name="android:soundEffectsEnabled">false</item>
- </style>
-
<style name="ContactsActionBarStyle"
parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
<item name="android:background">@color/people_app_theme_color</item>
@@ -255,15 +247,15 @@
<item name="android:src">@drawable/ic_menu_overflow_lt</item>
</style>
+ <style name="EmergencyDialerTheme" parent="@android:style/Theme.Material.Light">
+ <item name="dialpad_key_button_touch_tint">@color/dialer_dialpad_touch_tint</item>
+ </style>
+
<style name="SimImportTheme"
parent="@android:style/Theme.Holo.Light.DarkActionBar">
<item name="android:actionBarStyle">@style/ContactsActionBarStyle</item>
</style>
- <style name="EmergencyDialerTheme" parent="@android:style/Theme.Holo">
- <item name="android:windowBackground">@android:color/black</item>
- </style>
-
<style name="OutgoingCallBroadcasterTheme" parent="@android:style/Theme.Holo.NoActionBar">
<item name="android:windowBackground">@android:color/black</item>
diff --git a/src/com/android/phone/CallLogger.java b/src/com/android/phone/CallLogger.java
index 8322101..fcc55ce 100644
--- a/src/com/android/phone/CallLogger.java
+++ b/src/com/android/phone/CallLogger.java
@@ -130,7 +130,7 @@
}
CallLogAsync.AddCallArgs args = new CallLogAsync.AddCallArgs(mApplication, ci, number,
- presentation, callType, start, duration);
+ presentation, callType, null, start, duration);
mCallLog.addCall(args);
}
}
diff --git a/src/com/android/phone/EmergencyDialer.java b/src/com/android/phone/EmergencyDialer.java
index db0bb17..8d4521f 100644
--- a/src/com/android/phone/EmergencyDialer.java
+++ b/src/com/android/phone/EmergencyDialer.java
@@ -44,6 +44,7 @@
import android.widget.EditText;
import com.android.phone.common.HapticFeedback;
+import com.android.phone.common.util.ViewUtil;
/**
@@ -82,7 +83,6 @@
private static final boolean DBG = false;
private static final String LOG_TAG = "EmergencyDialer";
- private PhoneGlobals mApp;
private StatusBarManager mStatusBarManager;
private AccessibilityManager mAccessibilityManager;
@@ -157,7 +157,6 @@
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
- mApp = PhoneGlobals.getInstance();
mStatusBarManager = (StatusBarManager) getSystemService(Context.STATUS_BAR_SERVICE);
mAccessibilityManager = (AccessibilityManager) getSystemService(ACCESSIBILITY_SERVICE);
@@ -194,7 +193,7 @@
mDelete.setOnClickListener(this);
mDelete.setOnLongClickListener(this);
- mDialButton = findViewById(R.id.dialButton);
+ mDialButton = findViewById(R.id.floating_action_button);
// Check whether we should show the onscreen "Dial" button and co.
Resources res = getResources();
@@ -203,6 +202,8 @@
} else {
mDialButton.setVisibility(View.GONE);
}
+ View floatingActionButtonContainer = findViewById(R.id.floating_action_button_container);
+ ViewUtil.setupFloatingActionButton(floatingActionButtonContainer, getResources());
if (icicle != null) {
super.onRestoreInstanceState(icicle);
@@ -407,7 +408,7 @@
keyPressed(KeyEvent.KEYCODE_DEL);
return;
}
- case R.id.dialButton: {
+ case R.id.floating_action_button: {
mHaptic.vibrate(); // Vibrate here too, just like we do for the regular keys
placeCall();
return;
@@ -634,7 +635,6 @@
private void updateDialAndDeleteButtonStateEnabledAttr() {
final boolean notEmpty = mDigits.length() != 0;
- mDialButton.setEnabled(notEmpty);
mDelete.setEnabled(notEmpty);
}
}
diff --git a/src/com/android/phone/HfaService.java b/src/com/android/phone/HfaService.java
index d5c92b8..bc07453 100644
--- a/src/com/android/phone/HfaService.java
+++ b/src/com/android/phone/HfaService.java
@@ -57,7 +57,7 @@
}, otaResponseIntent);
mHfaLogic.start();
- return START_STICKY;
+ return START_REDELIVER_INTENT;
}
@Override
diff --git a/src/com/android/phone/MobileNetworkSettings.java b/src/com/android/phone/MobileNetworkSettings.java
index 9d0a2d5..e663319 100644
--- a/src/com/android/phone/MobileNetworkSettings.java
+++ b/src/com/android/phone/MobileNetworkSettings.java
@@ -33,6 +33,7 @@
import android.os.Handler;
import android.os.Message;
import android.os.SystemProperties;
+import android.os.UserManager;
import android.preference.CheckBoxPreference;
import android.preference.ListPreference;
import android.preference.Preference;
@@ -87,6 +88,7 @@
private static final String iface = "rmnet0"; //TODO: this will go away
+ private UserManager mUm;
private Phone mPhone;
private MyHandler mHandler;
private boolean mOkClicked;
@@ -98,6 +100,7 @@
private Preference mClickedPreference;
private boolean mShow4GForLTE;
private boolean mIsGlobalCdma;
+ private boolean mUnavailable;
//This is a method implemented for DialogInterface.OnClickListener.
// Used to dismiss the dialogs when they come up.
@@ -211,10 +214,17 @@
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
- addPreferencesFromResource(R.xml.network_setting);
-
mPhone = PhoneGlobals.getPhone();
mHandler = new MyHandler();
+ mUm = (UserManager) getSystemService(Context.USER_SERVICE);
+
+ if (mUm.hasUserRestriction(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS)) {
+ mUnavailable = true;
+ setContentView(R.layout.telephony_disallowed_preference_screen);
+ return;
+ }
+
+ addPreferencesFromResource(R.xml.network_setting);
try {
Context con = createPackageContext("com.android.systemui", 0);
@@ -338,6 +348,10 @@
protected void onResume() {
super.onResume();
+ if (mUnavailable) {
+ return;
+ }
+
// upon resumption from the sub-activity, make sure we re-enable the
// preferences.
getPreferenceScreen().setEnabled(true);
@@ -517,7 +531,7 @@
modemNetworkMode);
}
- //check changes in modemNetworkMode and updates settingsNetworkMode
+ //check changes in modemNetworkMode
if (modemNetworkMode != settingsNetworkMode) {
if (DBG) {
log("handleGetPreferredNetworkTypeResponse: if 2: " +
@@ -529,12 +543,6 @@
if (DBG) { log("handleGetPreferredNetworkTypeResponse: if 2: " +
"settingsNetworkMode = " + settingsNetworkMode);
}
-
- //changes the Settings.System accordingly to modemNetworkMode
- android.provider.Settings.Global.putInt(
- mPhone.getContext().getContentResolver(),
- android.provider.Settings.Global.PREFERRED_NETWORK_MODE,
- settingsNetworkMode );
}
UpdatePreferredNetworkModeSummary(modemNetworkMode);
diff --git a/src/com/android/phone/NetworkSetting.java b/src/com/android/phone/NetworkSetting.java
index 5917795..4bd02cf 100644
--- a/src/com/android/phone/NetworkSetting.java
+++ b/src/com/android/phone/NetworkSetting.java
@@ -29,6 +29,7 @@
import android.os.IBinder;
import android.os.Message;
import android.os.RemoteException;
+import android.os.UserManager;
import android.preference.Preference;
import android.preference.PreferenceActivity;
import android.preference.PreferenceGroup;
@@ -72,6 +73,9 @@
Phone mPhone;
protected boolean mIsForeground = false;
+ private UserManager mUm;
+ private boolean mUnavailable;
+
/** message for network selection */
String mNetworkSelectMsg;
@@ -224,6 +228,14 @@
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
+ mUm = (UserManager) getSystemService(Context.USER_SERVICE);
+
+ if (mUm.hasUserRestriction(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS)) {
+ setContentView(R.layout.telephony_disallowed_preference_screen);
+ mUnavailable = true;
+ return;
+ }
+
addPreferencesFromResource(R.xml.carrier_select);
mPhone = PhoneGlobals.getPhone();
@@ -262,9 +274,10 @@
*/
@Override
protected void onDestroy() {
- // unbind the service.
- unbindService(mNetworkQueryServiceConnection);
-
+ if (!mUnavailable) {
+ // unbind the service.
+ unbindService(mNetworkQueryServiceConnection);
+ }
super.onDestroy();
}
diff --git a/src/com/android/phone/PhoneInterfaceManager.java b/src/com/android/phone/PhoneInterfaceManager.java
index 35b9a19..71574b6 100644
--- a/src/com/android/phone/PhoneInterfaceManager.java
+++ b/src/com/android/phone/PhoneInterfaceManager.java
@@ -21,6 +21,7 @@
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
+import android.net.ConnectivityManager;
import android.net.Uri;
import android.os.AsyncResult;
import android.os.Binder;
@@ -37,6 +38,7 @@
import android.telephony.CellInfo;
import android.telephony.NeighboringCellInfo;
import android.telephony.ServiceState;
+import android.telephony.SubscriptionManager;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
import android.util.Log;
@@ -49,13 +51,19 @@
import com.android.internal.telephony.ITelephony;
import com.android.internal.telephony.IccCard;
import com.android.internal.telephony.Phone;
+import com.android.internal.telephony.PhoneFactory;
+import com.android.internal.telephony.CallManager;
+import com.android.internal.telephony.CommandException;
import com.android.internal.telephony.PhoneConstants;
+import com.android.internal.telephony.dataconnection.DctController;
import com.android.internal.telephony.uicc.IccIoResult;
import com.android.internal.telephony.uicc.IccUtils;
import com.android.internal.telephony.uicc.UiccController;
import com.android.internal.util.HexDump;
import com.android.services.telephony.common.Call;
+import static com.android.internal.telephony.PhoneConstants.SUBSCRIPTION_KEY;
+
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
@@ -95,6 +103,8 @@
private static final int EVENT_GET_PREFERRED_NETWORK_TYPE_DONE = 22;
private static final int CMD_SET_PREFERRED_NETWORK_TYPE = 23;
private static final int EVENT_SET_PREFERRED_NETWORK_TYPE_DONE = 24;
+ private static final int CMD_SEND_ENVELOPE = 25;
+ private static final int EVENT_SEND_ENVELOPE_DONE = 26;
/** The singleton instance. */
private static PhoneInterfaceManager sInstance;
@@ -265,6 +275,34 @@
}
break;
+ case CMD_SEND_ENVELOPE:
+ request = (MainThreadRequest) msg.obj;
+ onCompleted = obtainMessage(EVENT_SEND_ENVELOPE_DONE, request);
+ UiccController.getInstance().getUiccCard().sendEnvelopeWithStatus(
+ (String)request.argument, onCompleted);
+ break;
+
+ case EVENT_SEND_ENVELOPE_DONE:
+ ar = (AsyncResult) msg.obj;
+ request = (MainThreadRequest) ar.userObj;
+ if (ar.exception == null && ar.result != null) {
+ request.result = ar.result;
+ } else {
+ request.result = new IccIoResult(0x6F, 0, (byte[])null);
+ if (ar.result == null) {
+ loge("sendEnvelopeWithStatus: Empty response");
+ } else if (ar.exception instanceof CommandException) {
+ loge("sendEnvelopeWithStatus: CommandException: " +
+ ar.exception);
+ } else {
+ loge("sendEnvelopeWithStatus: exception:" + ar.exception);
+ }
+ }
+ synchronized (request) {
+ request.notifyAll();
+ }
+ break;
+
case CMD_OPEN_CHANNEL:
request = (MainThreadRequest) msg.obj;
onCompleted = obtainMessage(EVENT_OPEN_CHANNEL_DONE, request);
@@ -433,6 +471,15 @@
* @see #sendRequestAsync
*/
private Object sendRequest(int command, Object argument) {
+ return sendRequest(command, argument, null);
+ }
+
+ /**
+ * Posts the specified command to be executed on the main thread,
+ * waits for the request to complete, and returns the result.
+ * @see #sendRequestAsync
+ */
+ private Object sendRequest(int command, Object argument, Object argument2) {
if (Looper.myLooper() == mMainThreadHandler.getLooper()) {
throw new RuntimeException("This method will deadlock if called from the main thread.");
}
@@ -508,11 +555,22 @@
ServiceManager.addService("phone", this);
}
+ // returns phone associated with the subId.
+ // getPhone(0) returns default phone in single SIM mode.
+ private Phone getPhone(long subId) {
+ // FIXME: hack for the moment
+ return mPhone;
+ // return PhoneUtils.getPhoneUsingSubId(subId);
+ }
//
// Implementation of the ITelephony interface.
//
public void dial(String number) {
+ dialUsingSubId(getPreferredVoiceSubscription(), number);
+ }
+
+ public void dialUsingSubId(long subId, String number) {
if (DBG) log("dial: " + number);
// No permission check needed here: This is just a wrapper around the
// ACTION_DIAL intent, which is available to any app since it puts up
@@ -524,15 +582,20 @@
}
// PENDING: should we just silently fail if phone is offhook or ringing?
- PhoneConstants.State state = mCM.getState();
+ PhoneConstants.State state = mCM.getState(subId);
if (state != PhoneConstants.State.OFFHOOK && state != PhoneConstants.State.RINGING) {
Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse(url));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+ intent.putExtra(SUBSCRIPTION_KEY, subId);
mApp.startActivity(intent);
}
}
public void call(String callingPackage, String number) {
+ callUsingSubId(getPreferredVoiceSubscription(), callingPackage, number);
+ }
+
+ public void callUsingSubId(long subId, String callingPackage, String number) {
if (DBG) log("call: " + number);
// This is just a wrapper around the ACTION_CALL intent, but we still
@@ -551,6 +614,7 @@
}
Intent intent = new Intent(Intent.ACTION_CALL, Uri.parse(url));
+ intent.putExtra(SUBSCRIPTION_KEY, subId);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
mApp.startActivity(intent);
}
@@ -560,11 +624,23 @@
* @return true is a call was ended
*/
public boolean endCall() {
+ return endCallUsingSubId(getDefaultSubscription());
+ }
+
+ /**
+ * End a call based on the call state of the subId
+ * @return true is a call was ended
+ */
+ public boolean endCallUsingSubId(long subId) {
enforceCallPermission();
- return (Boolean) sendRequest(CMD_END_CALL, null);
+ return (Boolean) sendRequest(CMD_END_CALL, subId, null);
}
public void answerRingingCall() {
+ answerRingingCallUsingSubId(getDefaultSubscription());
+ }
+
+ public void answerRingingCallUsingSubId(long subId) {
if (DBG) log("answerRingingCall...");
// TODO: there should eventually be a separate "ANSWER_PHONE" permission,
// but that can probably wait till the big TelephonyManager API overhaul.
@@ -635,15 +711,27 @@
}
public boolean isOffhook() {
- return (mCM.getState() == PhoneConstants.State.OFFHOOK);
+ return isOffhookUsingSubId(getDefaultSubscription());
+ }
+
+ public boolean isOffhookUsingSubId(long subId) {
+ return (getPhone(subId).getState() == PhoneConstants.State.OFFHOOK);
}
public boolean isRinging() {
- return (mCM.getState() == PhoneConstants.State.RINGING);
+ return (isRingingUsingSubId(getDefaultSubscription()));
+ }
+
+ public boolean isRingingUsingSubId(long subId) {
+ return (getPhone(subId).getState() == PhoneConstants.State.RINGING);
}
public boolean isIdle() {
- return (mCM.getState() == PhoneConstants.State.IDLE);
+ return isIdleUsingSubId(getDefaultSubscription());
+ }
+
+ public boolean isIdleUsingSubId(long subId) {
+ return (getPhone(subId).getState() == PhoneConstants.State.IDLE);
}
public boolean isSimPinEnabled() {
@@ -652,27 +740,43 @@
}
public boolean supplyPin(String pin) {
- int [] resultArray = supplyPinReportResult(pin);
+ return supplyPinUsingSubId(getDefaultSubscription(), pin);
+ }
+
+ public boolean supplyPinUsingSubId(long subId, String pin) {
+ int [] resultArray = supplyPinReportResultUsingSubId(subId, pin);
return (resultArray[0] == PhoneConstants.PIN_RESULT_SUCCESS) ? true : false;
}
public boolean supplyPuk(String puk, String pin) {
- int [] resultArray = supplyPukReportResult(puk, pin);
+ return supplyPukUsingSubId(getDefaultSubscription(), puk, pin);
+ }
+
+ public boolean supplyPukUsingSubId(long subId, String puk, String pin) {
+ int [] resultArray = supplyPukReportResultUsingSubId(subId, puk, pin);
return (resultArray[0] == PhoneConstants.PIN_RESULT_SUCCESS) ? true : false;
}
/** {@hide} */
public int[] supplyPinReportResult(String pin) {
+ return supplyPinReportResultUsingSubId(getDefaultSubscription(), pin);
+ }
+
+ public int[] supplyPinReportResultUsingSubId(long subId, String pin) {
enforceModifyPermission();
- final UnlockSim checkSimPin = new UnlockSim(mPhone.getIccCard());
+ final UnlockSim checkSimPin = new UnlockSim(getPhone(subId).getIccCard());
checkSimPin.start();
return checkSimPin.unlockSim(null, pin);
}
/** {@hide} */
public int[] supplyPukReportResult(String puk, String pin) {
+ return supplyPukReportResultUsingSubId(getDefaultSubscription(), puk, pin);
+ }
+
+ public int[] supplyPukReportResultUsingSubId(long subId, String puk, String pin) {
enforceModifyPermission();
- final UnlockSim checkSimPuk = new UnlockSim(mPhone.getIccCard());
+ final UnlockSim checkSimPuk = new UnlockSim(getPhone(subId).getIccCard());
checkSimPuk.start();
return checkSimPuk.unlockSim(puk, pin);
}
@@ -777,79 +881,114 @@
}
public void updateServiceLocation() {
+ updateServiceLocationUsingSubId(getDefaultSubscription());
+
+ }
+
+ public void updateServiceLocationUsingSubId(long subId) {
// No permission check needed here: this call is harmless, and it's
// needed for the ServiceState.requestStateUpdate() call (which is
// already intentionally exposed to 3rd parties.)
- mPhone.updateServiceLocation();
+ getPhone(subId).updateServiceLocation();
}
public boolean isRadioOn() {
- return mPhone.getServiceState().getVoiceRegState() != ServiceState.STATE_POWER_OFF;
+ return isRadioOnUsingSubId(getDefaultSubscription());
+ }
+
+ public boolean isRadioOnUsingSubId(long subId) {
+ return getPhone(subId).getServiceState().getState() != ServiceState.STATE_POWER_OFF;
}
public void toggleRadioOnOff() {
- enforceModifyPermission();
- mPhone.setRadioPower(!isRadioOn());
+ toggleRadioOnOffUsingSubId(getDefaultSubscription());
+
}
- public boolean setRadio(boolean turnOn) {
+
+ public void toggleRadioOnOffUsingSubId(long subId) {
enforceModifyPermission();
- if ((mPhone.getServiceState().getVoiceRegState() != ServiceState.STATE_POWER_OFF) != turnOn) {
- toggleRadioOnOff();
+ getPhone(subId).setRadioPower(!isRadioOnUsingSubId(subId));
+ }
+
+ public boolean setRadio(boolean turnOn) {
+ return setRadioUsingSubId(getDefaultSubscription(), turnOn);
+ }
+
+ public boolean setRadioUsingSubId(long subId, boolean turnOn) {
+ enforceModifyPermission();
+ if ((getPhone(subId).getServiceState().getState() !=
+ ServiceState.STATE_POWER_OFF) != turnOn) {
+ toggleRadioOnOffUsingSubId(subId);
}
return true;
}
+
public boolean setRadioPower(boolean turnOn) {
+ return setRadioPowerUsingSubId(getDefaultSubscription(), turnOn);
+ }
+
+ public boolean setRadioPowerUsingSubId(long subId, boolean turnOn) {
enforceModifyPermission();
- mPhone.setRadioPower(turnOn);
+ getPhone(subId).setRadioPower(turnOn);
return true;
}
+ // FIXME: subId version needed
public boolean enableDataConnectivity() {
enforceModifyPermission();
- mPhone.setDataEnabled(true);
+ long subId = SubscriptionManager.getDefaultDataSubId();
+ getPhone(subId).setDataEnabled(true);
return true;
}
- public int enableApnType(String type) {
- enforceModifyPermission();
- return mPhone.enableApnType(type);
- }
-
- public int disableApnType(String type) {
- enforceModifyPermission();
- return mPhone.disableApnType(type);
- }
-
+ // FIXME: subId version needed
public boolean disableDataConnectivity() {
enforceModifyPermission();
- mPhone.setDataEnabled(false);
+ long subId = SubscriptionManager.getDefaultDataSubId();
+ getPhone(subId).setDataEnabled(false);
return true;
}
+ // FIXME: subId version needed
public boolean isDataConnectivityPossible() {
- return mPhone.isDataConnectivityPossible();
+ long subId = SubscriptionManager.getDefaultDataSubId();
+ return getPhone(subId).isDataConnectivityPossible();
}
public boolean handlePinMmi(String dialString) {
+ return handlePinMmiUsingSubId(getDefaultSubscription(), dialString);
+ }
+
+ public boolean handlePinMmiUsingSubId(long subId, String dialString) {
enforceModifyPermission();
- return (Boolean) sendRequest(CMD_HANDLE_PIN_MMI, dialString);
+ return (Boolean) sendRequest(CMD_HANDLE_PIN_MMI, dialString, subId);
}
public void cancelMissedCallsNotification() {
+ cancelMissedCallsNotificationUsingSubId(getDefaultSubscription());
+ }
+
+ public void cancelMissedCallsNotificationUsingSubId(long subId) {
enforceModifyPermission();
mApp.notificationMgr.cancelMissedCallNotification();
}
public int getCallState() {
- return DefaultPhoneNotifier.convertCallState(mCM.getState());
+ return getCallStateUsingSubId(getDefaultSubscription());
+ }
+
+ public int getCallStateUsingSubId(long subId) {
+ return DefaultPhoneNotifier.convertCallState(getPhone(subId).getState());
}
public int getDataState() {
- return DefaultPhoneNotifier.convertDataState(mPhone.getDataConnectionState());
+ Phone phone = getPhone(SubscriptionManager.getDefaultDataSubId());
+ return DefaultPhoneNotifier.convertDataState(phone.getDataConnectionState());
}
public int getDataActivity() {
- return DefaultPhoneNotifier.convertDataActivityState(mPhone.getDataActivityState());
+ Phone phone = getPhone(SubscriptionManager.getDefaultDataSubId());
+ return DefaultPhoneNotifier.convertDataActivityState(phone.getDataActivityState());
}
@Override
@@ -878,16 +1017,24 @@
@Override
public void enableLocationUpdates() {
+ enableLocationUpdatesUsingSubId(getDefaultSubscription());
+ }
+
+ public void enableLocationUpdatesUsingSubId(long subId) {
mApp.enforceCallingOrSelfPermission(
android.Manifest.permission.CONTROL_LOCATION_UPDATES, null);
- mPhone.enableLocationUpdates();
+ getPhone(subId).enableLocationUpdates();
}
@Override
public void disableLocationUpdates() {
+ disableLocationUpdatesUsingSubId(getDefaultSubscription());
+ }
+
+ public void disableLocationUpdatesUsingSubId(long subId) {
mApp.enforceCallingOrSelfPermission(
android.Manifest.permission.CONTROL_LOCATION_UPDATES, null);
- mPhone.disableLocationUpdates();
+ getPhone(subId).disableLocationUpdates();
}
@Override
@@ -916,9 +1063,9 @@
try {
cells = (ArrayList<NeighboringCellInfo>) sendRequest(
- CMD_HANDLE_NEIGHBORING_CELL, null);
+ CMD_HANDLE_NEIGHBORING_CELL, null, null);
} catch (RuntimeException e) {
- loge("getNeighboringCellInfo " + e);
+ Log.e(LOG_TAG, "getNeighboringCellInfo " + e);
}
return cells;
} else {
@@ -1028,6 +1175,15 @@
null);
}
+ /**
+ * Make sure the caller has SIM_COMMUNICATION permission.
+ *
+ * @throws SecurityException if the caller does not have the required permission.
+ */
+ private void enforceSimCommunicationPermission() {
+ mApp.enforceCallingOrSelfPermission(android.Manifest.permission.SIM_COMMUNICATION, null);
+ }
+
private String createTelUrl(String number) {
if (TextUtils.isEmpty(number)) {
return null;
@@ -1045,14 +1201,23 @@
}
public int getActivePhoneType() {
- return mPhone.getPhoneType();
+ return getActivePhoneTypeUsingSubId(getDefaultSubscription());
+ }
+
+ public int getActivePhoneTypeUsingSubId(long subId) {
+ return getPhone(subId).getPhoneType();
}
/**
* Returns the CDMA ERI icon index to display
*/
public int getCdmaEriIconIndex() {
- return mPhone.getCdmaEriIconIndex();
+ return getCdmaEriIconIndexUsingSubId(getDefaultSubscription());
+
+ }
+
+ public int getCdmaEriIconIndexUsingSubId(long subId) {
+ return getPhone(subId).getCdmaEriIconIndex();
}
/**
@@ -1061,14 +1226,22 @@
* 1 - FLASHING
*/
public int getCdmaEriIconMode() {
- return mPhone.getCdmaEriIconMode();
+ return getCdmaEriIconModeUsingSubId(getDefaultSubscription());
+ }
+
+ public int getCdmaEriIconModeUsingSubId(long subId) {
+ return getPhone(subId).getCdmaEriIconMode();
}
/**
* Returns the CDMA ERI text,
*/
public String getCdmaEriText() {
- return mPhone.getCdmaEriText();
+ return getCdmaEriTextUsingSubId(getDefaultSubscription());
+ }
+
+ public String getCdmaEriTextUsingSubId(long subId) {
+ return getPhone(subId).getCdmaEriText();
}
/**
@@ -1082,7 +1255,14 @@
* Returns the unread count of voicemails
*/
public int getVoiceMessageCount() {
- return mPhone.getVoiceMessageCount();
+ return getVoiceMessageCountUsingSubId(getDefaultSubscription());
+ }
+
+ /**
+ * Returns the unread count of voicemails for a subId
+ */
+ public int getVoiceMessageCountUsingSubId( long subId) {
+ return getPhone(subId).getVoiceMessageCount();
}
/**
@@ -1092,7 +1272,15 @@
*/
@Override
public int getNetworkType() {
- return mPhone.getServiceState().getDataNetworkType();
+ return getNetworkTypeUsingSubId(getDefaultSubscription());
+ }
+
+ /**
+ * Returns the network type for a subId
+ */
+ @Override
+ public int getNetworkTypeUsingSubId(long subId) {
+ return getPhone(subId).getServiceState().getDataNetworkType();
}
/**
@@ -1100,7 +1288,15 @@
*/
@Override
public int getDataNetworkType() {
- return mPhone.getServiceState().getDataNetworkType();
+ return getDataNetworkTypeUsingSubId(getDefaultSubscription());
+ }
+
+ /**
+ * Returns the data network type for a subId
+ */
+ @Override
+ public int getDataNetworkTypeUsingSubId(long subId) {
+ return getPhone(subId).getServiceState().getDataNetworkType();
}
/**
@@ -1108,14 +1304,30 @@
*/
@Override
public int getVoiceNetworkType() {
- return mPhone.getServiceState().getVoiceNetworkType();
+ return getVoiceNetworkTypeUsingSubId(getDefaultSubscription());
+ }
+
+ /**
+ * Returns the Voice network type for a subId
+ */
+ @Override
+ public int getVoiceNetworkTypeUsingSubId(long subId) {
+ return getPhone(subId).getServiceState().getVoiceNetworkType();
}
/**
* @return true if a ICC card is present
*/
public boolean hasIccCard() {
- return mPhone.getIccCard().hasIccCard();
+ // FIXME Make changes to pass defaultSimId of type int
+ return hasIccCardUsingSlotId(getDefaultSubscription());
+ }
+
+ /**
+ * @return true if a ICC card is present for a slotId
+ */
+ public boolean hasIccCardUsingSlotId(long slotId) {
+ return getPhone(slotId).getIccCard().hasIccCard();
}
/**
@@ -1127,7 +1339,27 @@
* or {@link Phone#LTE_ON_CDMA_TRUE}
*/
public int getLteOnCdmaMode() {
- return mPhone.getLteOnCdmaMode();
+ return getLteOnCdmaModeUsingSubId(getDefaultSubscription());
+ }
+
+ public int getLteOnCdmaModeUsingSubId(long subId) {
+ return getPhone(subId).getLteOnCdmaMode();
+ }
+
+ public void setPhone(Phone phone) {
+ mPhone = phone;
+ }
+
+ /**
+ * {@hide}
+ * Returns Default subId, 0 in the case of single standby.
+ */
+ private long getDefaultSubscription() {
+ return SubscriptionManager.getDefaultSubId();
+ }
+
+ private long getPreferredVoiceSubscription() {
+ return SubscriptionManager.getDefaultVoiceSubId();
}
/**
@@ -1152,6 +1384,194 @@
return TelephonyManager.WifiCallingChoices.ALWAYS_USE;
}
+ @Override
+ public int iccOpenLogicalChannel(String AID) {
+ enforceSimCommunicationPermission();
+
+ if (DBG) log("iccOpenLogicalChannel: " + AID);
+ Integer channel = (Integer)sendRequest(CMD_OPEN_CHANNEL, AID);
+ if (DBG) log("iccOpenLogicalChannel: " + channel);
+ return channel;
+ }
+
+ @Override
+ public boolean iccCloseLogicalChannel(int channel) {
+ enforceSimCommunicationPermission();
+
+ if (DBG) log("iccCloseLogicalChannel: " + channel);
+ if (channel < 0) {
+ return false;
+ }
+ Boolean success = (Boolean)sendRequest(CMD_CLOSE_CHANNEL, channel);
+ if (DBG) log("iccCloseLogicalChannel: " + success);
+ return success;
+ }
+
+ @Override
+ public String iccTransmitApduLogicalChannel(int channel, int cla,
+ int command, int p1, int p2, int p3, String data) {
+ enforceSimCommunicationPermission();
+
+ if (DBG) {
+ log("iccTransmitApduLogicalChannel: chnl=" + channel + " cla=" + cla +
+ " cmd=" + command + " p1=" + p1 + " p2=" + p2 + " p3=" + p3 +
+ " data=" + data);
+ }
+
+ if (channel < 0) {
+ return "";
+ }
+
+ IccIoResult response = (IccIoResult)sendRequest(CMD_TRANSMIT_APDU,
+ new IccAPDUArgument(channel, cla, command, p1, p2, p3, data));
+ if (DBG) log("iccTransmitApduLogicalChannel: " + response);
+
+ // If the payload is null, there was an error. Indicate that by returning
+ // an empty string.
+ if (response.payload == null) {
+ return "";
+ }
+
+ // Append the returned status code to the end of the response payload.
+ String s = Integer.toHexString(
+ (response.sw1 << 8) + response.sw2 + 0x10000).substring(1);
+ s = IccUtils.bytesToHexString(response.payload) + s;
+ return s;
+ }
+
+ @Override
+ public String sendEnvelopeWithStatus(String content) {
+ enforceSimCommunicationPermission();
+
+ IccIoResult response = (IccIoResult)sendRequest(CMD_SEND_ENVELOPE, content);
+ if (response.payload == null) {
+ return "";
+ }
+
+ // Append the returned status code to the end of the response payload.
+ String s = Integer.toHexString(
+ (response.sw1 << 8) + response.sw2 + 0x10000).substring(1);
+ s = IccUtils.bytesToHexString(response.payload) + s;
+ return s;
+ }
+
+ /**
+ * Read one of the NV items defined in {@link com.android.internal.telephony.RadioNVItems}
+ * and {@code ril_nv_items.h}. Used for device configuration by some CDMA operators.
+ *
+ * @param itemID the ID of the item to read
+ * @return the NV item as a String, or null on error.
+ */
+ @Override
+ public String nvReadItem(int itemID) {
+ enforceModifyPermission();
+ if (DBG) log("nvReadItem: item " + itemID);
+ String value = (String) sendRequest(CMD_NV_READ_ITEM, itemID);
+ if (DBG) log("nvReadItem: item " + itemID + " is \"" + value + '"');
+ return value;
+ }
+
+ /**
+ * Write one of the NV items defined in {@link com.android.internal.telephony.RadioNVItems}
+ * and {@code ril_nv_items.h}. Used for device configuration by some CDMA operators.
+ *
+ * @param itemID the ID of the item to read
+ * @param itemValue the value to write, as a String
+ * @return true on success; false on any failure
+ */
+ @Override
+ public boolean nvWriteItem(int itemID, String itemValue) {
+ enforceModifyPermission();
+ if (DBG) log("nvWriteItem: item " + itemID + " value \"" + itemValue + '"');
+ Boolean success = (Boolean) sendRequest(CMD_NV_WRITE_ITEM,
+ new Pair<Integer, String>(itemID, itemValue));
+ if (DBG) log("nvWriteItem: item " + itemID + ' ' + (success ? "ok" : "fail"));
+ return success;
+ }
+
+ /**
+ * Update the CDMA Preferred Roaming List (PRL) in the radio NV storage.
+ * Used for device configuration by some CDMA operators.
+ *
+ * @param preferredRoamingList byte array containing the new PRL
+ * @return true on success; false on any failure
+ */
+ @Override
+ public boolean nvWriteCdmaPrl(byte[] preferredRoamingList) {
+ enforceModifyPermission();
+ if (DBG) log("nvWriteCdmaPrl: value: " + HexDump.toHexString(preferredRoamingList));
+ Boolean success = (Boolean) sendRequest(CMD_NV_WRITE_CDMA_PRL, preferredRoamingList);
+ if (DBG) log("nvWriteCdmaPrl: " + (success ? "ok" : "fail"));
+ return success;
+ }
+
+ /**
+ * Perform the specified type of NV config reset.
+ * Used for device configuration by some CDMA operators.
+ *
+ * @param resetType the type of reset to perform (1 == factory reset; 2 == NV-only reset)
+ * @return true on success; false on any failure
+ */
+ @Override
+ public boolean nvResetConfig(int resetType) {
+ enforceModifyPermission();
+ if (DBG) log("nvResetConfig: type " + resetType);
+ Boolean success = (Boolean) sendRequest(CMD_NV_RESET_CONFIG, resetType);
+ if (DBG) log("nvResetConfig: type " + resetType + ' ' + (success ? "ok" : "fail"));
+ return success;
+ }
+
+ /**
+ * {@hide}
+ * Returns Default sim, 0 in the case of single standby.
+ */
+ public int getDefaultSim() {
+ //TODO Need to get it from Telephony Devcontroller
+ return 0;
+ }
+
+ public String[] getPcscfAddress() {
+ enforceReadPermission();
+ return mPhone.getPcscfAddress();
+ }
+
+ public void setImsRegistrationState(boolean registered) {
+ enforceModifyPermission();
+ mPhone.setImsRegistrationState(registered);
+ }
+
+ /**
+ * Get the preferred network type.
+ * Used for device configuration by some CDMA operators.
+ *
+ * @return the preferred network type, defined in RILConstants.java.
+ */
+ @Override
+ public int getPreferredNetworkType() {
+ enforceModifyPermission();
+ if (DBG) log("getPreferredNetworkType");
+ int[] result = (int[]) sendRequest(CMD_GET_PREFERRED_NETWORK_TYPE, null);
+ int networkType = (result != null ? result[0] : -1);
+ if (DBG) log("getPreferredNetworkType: " + networkType);
+ return networkType;
+ }
+
+ /**
+ * Set the preferred network type.
+ * Used for device configuration by some CDMA operators.
+ *
+ * @param networkType the preferred network type, defined in RILConstants.java.
+ * @return true on success; false on any failure.
+ */
+ @Override
+ public boolean setPreferredNetworkType(int networkType) {
+ enforceModifyPermission();
+ if (DBG) log("setPreferredNetworkType: type " + networkType);
+ Boolean success = (Boolean) sendRequest(CMD_SET_PREFERRED_NETWORK_TYPE, networkType);
+ if (DBG) log("setPreferredNetworkType: " + (success ? "ok" : "fail"));
+ return success;
+ }
+
/**
* Set mobile data enabled
* Used by the user through settings etc to turn on/off mobile data
diff --git a/src/com/android/services/telephony/CdmaConnectionService.java b/src/com/android/services/telephony/CdmaConnectionService.java
deleted file mode 100644
index 75bd12b..0000000
--- a/src/com/android/services/telephony/CdmaConnectionService.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright (C) 2014 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.services.telephony;
-
-import android.content.Context;
-import android.net.Uri;
-import android.telephony.TelephonyManager;
-
-import com.android.internal.telephony.Connection;
-import com.android.internal.telephony.Phone;
-import com.android.internal.telephony.PhoneFactory;
-import com.android.phone.Constants;
-import android.telecomm.ConnectionRequest;
-
-/**
- * Connection service that uses CDMA.
- */
-public class CdmaConnectionService extends PstnConnectionService {
-
- /** {@inheritDoc} */
- @Override
- protected Phone getPhone() {
- return PhoneFactory.getDefaultPhone();
- }
-
- /** {@inheritDoc} */
- @Override
- protected boolean canCall(Uri handle) {
- return canCall(this, handle);
- }
-
- // TODO: Refactor this out when CallServiceSelector is deprecated
- /* package */ static boolean canCall(Context context, Uri handle) {
- TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(
- Context.TELEPHONY_SERVICE);
- return telephonyManager.getPhoneType() == TelephonyManager.PHONE_TYPE_CDMA
- && Constants.SCHEME_TEL.equals(handle.getScheme());
- }
-
- /** {@inheritDoc} */
- @Override
- protected TelephonyConnection onCreateTelephonyConnection(
- ConnectionRequest request, Connection connection) {
- return new CdmaConnection(getPhone(), connection);
- }
-}
diff --git a/src/com/android/services/telephony/GsmConferenceController.java b/src/com/android/services/telephony/GsmConferenceController.java
new file mode 100644
index 0000000..35b81d2
--- /dev/null
+++ b/src/com/android/services/telephony/GsmConferenceController.java
@@ -0,0 +1,122 @@
+/*
+ * Copyright (C) 2014 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.services.telephony;
+
+import com.android.internal.telephony.Call;
+import com.android.internal.telephony.PhoneFactory;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import android.telecomm.Connection;
+
+/**
+ * Maintains a list of all the known GSM connections and implements GSM-specific conference
+ * call functionality.
+ */
+public class GsmConferenceController {
+
+ private final Connection.Listener mConnectionListener =
+ new Connection.ListenerBase() {
+ @Override
+ public void onStateChanged(Connection c, int state) {
+ // No need to recalculate for conference calls, just traditional calls.
+ if (c != mGsmConferenceConnection) {
+ recalculate();
+ }
+ }
+
+ /** ${inheritDoc} */
+ @Override
+ public void onDisconnected(
+ Connection c, int cause, String message) {
+ // When a connection disconnects, make sure to release its parent reference
+ // so that the parent can move to disconnected as well.
+ c.setParentConnection(null);
+ }
+
+ };
+
+ /** The known GSM connections. */
+ private final List<GsmConnection> mGsmConnections = new ArrayList<>();
+
+ /** The GSM conference connection object. */
+ private ConferenceConnection mGsmConferenceConnection;
+
+ public void add(GsmConnection connection) {
+ connection.addConnectionListener(mConnectionListener);
+ mGsmConnections.add(connection);
+ recalculate();
+ }
+
+ public void remove(GsmConnection connection) {
+ connection.removeConnectionListener(mConnectionListener);
+ mGsmConnections.remove(connection);
+ recalculate();
+ }
+
+ public ConferenceConnection createConferenceConnection(Connection rootConnection) {
+ if (mGsmConferenceConnection == null) {
+ mGsmConferenceConnection = new ConferenceConnection();
+ Log.d(this, "creating the conference connection: %s", mGsmConferenceConnection);
+ }
+ rootConnection.conference();
+ return mGsmConferenceConnection;
+ }
+
+ /**
+ * Calculates the conference-capable state of all GSM connections in this connection service.
+ */
+ private void recalculate() {
+ Log.v(this, "recalculateGsmConferenceState");
+ for (GsmConnection connection : mGsmConnections) {
+ Log.d(this, "recalc - %s", connection);
+ boolean isConferenceCapable = false;
+ com.android.internal.telephony.Connection radioConnection =
+ connection.getOriginalConnection();
+ if (radioConnection != null) {
+
+ // First calculate to see if we are in the conference call. We only support a
+ // single active conference call on PSTN, which makes things a little easier.
+ if (mGsmConferenceConnection != null) {
+ if (radioConnection.getCall().isMultiparty()) {
+ connection.setParentConnection(mGsmConferenceConnection);
+ } else {
+ connection.setParentConnection(null);
+ }
+ }
+
+ boolean callIsActive = radioConnection.getState() == Call.State.ACTIVE;
+ boolean isConferenced =
+ callIsActive && radioConnection.getCall().isMultiparty();
+ // TODO: The below does not work when we use PhoneFactory.getGsmPhone() -- the
+ // phone from getGsmPhone() erroneously reports it has no background calls.
+ boolean hasBackgroundCall =
+ radioConnection.getCall().getPhone().getBackgroundCall().hasConnections();
+ Log.d(this, "recalc: active: %b, is_conf: %b, has_bkgd: %b",
+ callIsActive, isConferenced, hasBackgroundCall);
+ // We only set conference capable on:
+ // 1) Active calls,
+ // 2) which are not already part of a conference call
+ // 3) and there exists a call on HOLD
+ isConferenceCapable = callIsActive && !isConferenced && hasBackgroundCall;
+ }
+
+ connection.setIsConferenceCapable(isConferenceCapable);
+ }
+ }
+}
diff --git a/src/com/android/services/telephony/GsmConnection.java b/src/com/android/services/telephony/GsmConnection.java
index d37accd..34ef27e 100644
--- a/src/com/android/services/telephony/GsmConnection.java
+++ b/src/com/android/services/telephony/GsmConnection.java
@@ -53,10 +53,4 @@
Log.e(this, e, "Failed to conference call.");
}
}
-
- @Override
- public void setIsConferenceCapable(boolean isConferenceCapable) {
- // This method increases access modifier.
- super.setIsConferenceCapable(isConferenceCapable);
- }
}
diff --git a/src/com/android/services/telephony/GsmConnectionService.java b/src/com/android/services/telephony/GsmConnectionService.java
deleted file mode 100644
index ae5dc22..0000000
--- a/src/com/android/services/telephony/GsmConnectionService.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * Copyright (C) 2014 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.services.telephony;
-
-import android.content.Context;
-import android.net.Uri;
-import android.telephony.TelephonyManager;
-
-import com.android.internal.telephony.Call;
-import com.android.internal.telephony.Connection;
-import com.android.internal.telephony.Phone;
-import com.android.internal.telephony.PhoneFactory;
-import com.android.phone.Constants;
-
-import java.util.Collection;
-import java.util.HashSet;
-
-import android.telecomm.CallState;
-import android.telecomm.ConnectionRequest;
-import android.telecomm.Response;
-
-/**
- * Connnection service that uses GSM.
- */
-public class GsmConnectionService extends PstnConnectionService {
-
- private final android.telecomm.Connection.Listener mConnectionListener =
- new android.telecomm.Connection.ListenerBase() {
- @Override
- public void onStateChanged(android.telecomm.Connection c, int state) {
- // No need to recalculate for conference calls, just traditional calls.
- if (c != mConferenceConnection) {
- recalculateConferenceState();
- }
- }
-
- /** ${inheritDoc} */
- @Override
- public void onDisconnected(
- android.telecomm.Connection c, int cause, String message) {
- // When a connection disconnects, make sure to release its parent reference
- // so that the parent can move to disconnected as well.
- c.setParentConnection(null);
- }
-
- };
-
- /** The conferenc connection object. */
- private ConferenceConnection mConferenceConnection;
-
- /** {@inheritDoc} */
- @Override
- protected Phone getPhone() {
- return PhoneFactory.getDefaultPhone();
- }
-
- /** {@inheritDoc} */
- @Override
- protected boolean canCall(Uri handle) {
- return canCall(this, handle);
- }
-
- // TODO: Refactor this out when CallServiceSelector is deprecated
- /* package */ static boolean canCall(Context context, Uri handle) {
- TelephonyManager telephonyManager = (TelephonyManager) context.getSystemService(
- Context.TELEPHONY_SERVICE);
- return telephonyManager.getPhoneType() == TelephonyManager.PHONE_TYPE_GSM
- && Constants.SCHEME_TEL.equals(handle.getScheme());
- }
-
- /** {@inheritDoc} */
- @Override
- protected TelephonyConnection onCreateTelephonyConnection(
- ConnectionRequest request, Connection connection) {
- return new GsmConnection(getPhone(), connection);
- }
-
- /** {@inheritDoc} */
- @Override
- public void onConnectionAdded(android.telecomm.Connection connection) {
- connection.addConnectionListener(mConnectionListener);
- recalculateConferenceState();
- }
-
- /** {@inheritDoc} */
- @Override
- public void onConnectionRemoved(android.telecomm.Connection connection) {
- connection.removeConnectionListener(mConnectionListener);
- recalculateConferenceState();
- }
-
- /** {@inheritDoc} */
- @Override
- public void onCreateConferenceConnection(
- String token,
- android.telecomm.Connection telecommConnection,
- Response<String, android.telecomm.Connection> callback) {
- if (mConferenceConnection == null) {
- mConferenceConnection = new ConferenceConnection();
- Log.d(this, "creating the conference connection: %s", mConferenceConnection);
- }
- callback.onResult(token, mConferenceConnection);
- telecommConnection.conference();
- }
-
- /**
- * Calculates the conference-capable state of all connections in this connection service.
- */
- private void recalculateConferenceState() {
- Log.v(this, "recalculateConferenceState");
- Collection<android.telecomm.Connection> allConnections = this.getAllConnections();
- for (android.telecomm.Connection connection : new HashSet<>(allConnections)) {
- Log.d(this, "recalc - %s", connection);
- if (connection instanceof GsmConnection) {
- boolean isConferenceCapable = false;
- Connection radioConnection = ((GsmConnection) connection).getOriginalConnection();
- if (radioConnection != null) {
-
- // First calculate to see if we are in the conference call. We only support a
- // single active conference call on PSTN, which makes things a little easier.
- if (mConferenceConnection != null) {
- if (radioConnection.getCall().isMultiparty()) {
- connection.setParentConnection(mConferenceConnection);
- } else {
- connection.setParentConnection(null);
- }
- }
-
- boolean callIsActive = radioConnection.getState() == Call.State.ACTIVE;
- boolean isConferenced =
- callIsActive && radioConnection.getCall().isMultiparty();
- boolean hasBackgroundCall = getPhone().getBackgroundCall().hasConnections();
- Log.d(this, "recalc: active: %b, is_conf: %b, has_bkgd: %b",
- callIsActive, isConferenced, hasBackgroundCall);
- // We only set conference capable on:
- // 1) Active calls,
- // 2) which are not already part of a conference call
- // 3) and there exists a call on HOLD
- isConferenceCapable = callIsActive && !isConferenced && hasBackgroundCall;
- }
-
- ((GsmConnection) connection).setIsConferenceCapable(isConferenceCapable);
- }
- }
- }
-}
diff --git a/src/com/android/services/telephony/PstnConnectionService.java b/src/com/android/services/telephony/PstnConnectionService.java
index 21ee41c..00ed255 100644
--- a/src/com/android/services/telephony/PstnConnectionService.java
+++ b/src/com/android/services/telephony/PstnConnectionService.java
@@ -23,22 +23,27 @@
import android.telecomm.ConnectionRequest;
import android.telecomm.Response;
import android.telephony.PhoneNumberUtils;
+import android.telephony.TelephonyManager;
import com.android.internal.telephony.Call;
import com.android.internal.telephony.Phone;
+import com.android.internal.telephony.PhoneFactory;
import com.android.phone.Constants;
import java.util.HashSet;
import java.util.Set;
/**
- * The parent class for PSTN-based call services. Handles shared functionality between all PSTN
- * call services.
+ * The connection service for making PSTN connections using built-in SIM cards.
*/
-public abstract class PstnConnectionService extends TelephonyConnectionService {
+public final class PstnConnectionService extends TelephonyConnectionService {
+
private EmergencyCallHelper mEmergencyCallHelper;
+
private final Set<ConnectionRequest> mPendingOutgoingEmergencyCalls = new HashSet<>();
+ private final GsmConferenceController mGsmConferenceController = new GsmConferenceController();
+
@Override
public void onCreate() {
super.onCreate();
@@ -49,7 +54,7 @@
@Override
public void onCreateConnections(
final ConnectionRequest request,
- final Response<ConnectionRequest, Connection> response) {
+ final OutgoingCallResponse<Connection> response) {
if (!canCall(request.getHandle())) {
Log.d(this, "Cannot place the call with %s", this.getClass().getSimpleName());
@@ -64,7 +69,7 @@
// TODO: Consider passing call emergency information as part of ConnectionRequest so
// that we do not have to make the check here once again.
String handle = request.getHandle().getSchemeSpecificPart();
- final Phone phone = getPhone();
+ final Phone phone = PhoneFactory.getDefaultPhone();
if (PhoneNumberUtils.isPotentialEmergencyNumber(handle)) {
EmergencyCallHelper.Callback callback = new EmergencyCallHelper.Callback() {
@Override
@@ -102,7 +107,7 @@
ConnectionRequest request,
Response<ConnectionRequest, Connection> response) {
Log.d(this, "onCreateIncomingConnection");
- Call call = getPhone().getRingingCall();
+ Call call = PhoneFactory.getDefaultPhone().getRingingCall();
// The ringing call is always not-null, check if it is truly ringing by checking its state.
if (call.getState().isRinging()) {
@@ -125,7 +130,10 @@
TelephonyConnection telephonyConnection;
try {
- telephonyConnection = createTelephonyConnection(request, connection);
+ telephonyConnection = createTelephonyConnection(
+ request,
+ PhoneFactory.getDefaultPhone(),
+ connection);
} catch (Exception e) {
respondWithError(
request,
@@ -150,8 +158,51 @@
super.onCreateIncomingConnection(request, response);
}
- /**
- * @return The current phone object behind this call service.
- */
- protected abstract Phone getPhone();
+ /** {@inheritDoc} */
+ @Override
+ protected boolean canCall(Uri handle) {
+ return Constants.SCHEME_TEL.equals(handle.getScheme());
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ protected TelephonyConnection onCreateTelephonyConnection(
+ ConnectionRequest request,
+ Phone phone,
+ com.android.internal.telephony.Connection connection) {
+ switch (phone.getPhoneType()) {
+ case TelephonyManager.PHONE_TYPE_GSM: {
+ final GsmConnection gsmConn = new GsmConnection(phone, connection);
+ mGsmConferenceController.add(gsmConn);
+ gsmConn.addConnectionListener(new Connection.ListenerBase() {
+ @Override
+ public void onDestroyed(Connection c) {
+ mGsmConferenceController.remove(gsmConn);
+ }
+ });
+ return gsmConn;
+ }
+ case TelephonyManager.PHONE_TYPE_CDMA:
+ return new CdmaConnection(phone, connection);
+ default:
+ Log.d(this, "Inappropriate phone type for PSTN: %d", phone.getPhoneType());
+ return null;
+ }
+ }
+
+ /** {@inheritDoc} */
+ @Override
+ public void onCreateConferenceConnection(
+ String token,
+ Connection connection,
+ Response<String, Connection> callback) {
+ // TODO: Create a more general framework for conferencing. At the moment, our goal is
+ // simply not to break the previous GSM-specific conferencing functionality.
+ if (connection instanceof GsmConnection || connection instanceof ConferenceConnection) {
+ if (connection.isConferenceCapable()) {
+ callback.onResult(token,
+ mGsmConferenceController.createConferenceConnection(connection));
+ }
+ }
+ }
}
diff --git a/src/com/android/services/telephony/IncomingCallNotifier.java b/src/com/android/services/telephony/PstnIncomingCallNotifier.java
similarity index 88%
rename from src/com/android/services/telephony/IncomingCallNotifier.java
rename to src/com/android/services/telephony/PstnIncomingCallNotifier.java
index 8d3ed4c..9dffe50 100644
--- a/src/com/android/services/telephony/IncomingCallNotifier.java
+++ b/src/com/android/services/telephony/PstnIncomingCallNotifier.java
@@ -23,6 +23,7 @@
import android.os.AsyncResult;
import android.os.Handler;
import android.os.Message;
+import android.os.UserHandle;
import android.telecomm.CallService;
import android.telecomm.CallServiceDescriptor;
import android.telecomm.TelecommConstants;
@@ -39,16 +40,13 @@
* Listens to incoming-call events from the associated phone object and notifies Telecomm upon each
* occurence. One instance of these exists for each of the telephony-based call services.
*/
-final class IncomingCallNotifier {
+final class PstnIncomingCallNotifier {
/** New ringing connection event code. */
private static final int EVENT_NEW_RINGING_CONNECTION = 100;
/** The phone proxy object to listen to. */
private final PhoneProxy mPhoneProxy;
- /** The phone type for this incoming call notifier. */
- private final int mPhoneType;
-
/**
* The base phone implementation behind phone proxy. The underlying phone implementation can
* change underneath when the radio technology changes. We listen for these events and update
@@ -57,9 +55,6 @@
*/
private Phone mPhoneBase;
- /** The class for the associated call service. */
- private final Class<? extends CallService> mCallServiceClass;
-
/**
* Used to listen to events from {@link #mPhoneBase}.
*/
@@ -95,17 +90,11 @@
/**
* Persists the specified parameters and starts listening to phone events.
*
- * @param callServiceClass The call service class.
- * @param phoneType The type of phone this class should be listening to.
* @param phoneProxy The phone object for listening to incoming calls.
*/
- IncomingCallNotifier(
- Class<? extends CallService> callServiceClass, int phoneType, PhoneProxy phoneProxy) {
- Preconditions.checkNotNull(callServiceClass);
+ PstnIncomingCallNotifier(PhoneProxy phoneProxy) {
Preconditions.checkNotNull(phoneProxy);
- mCallServiceClass = callServiceClass;
- mPhoneType = phoneType;
mPhoneProxy = phoneProxy;
registerForNotifications();
@@ -133,7 +122,7 @@
mPhoneBase.unregisterForNewRingingConnection(mHandler);
}
- if (newPhone != null && newPhone.getPhoneType() == mPhoneType) {
+ if (newPhone != null) {
Log.i(this, "Registering: %s", newPhone);
mPhoneBase = newPhone;
mPhoneBase.registerForNewRingingConnection(
@@ -167,7 +156,7 @@
Context context = mPhoneProxy.getContext();
CallServiceDescriptor.Builder builder = CallServiceDescriptor.newBuilder(context);
- builder.setCallService(mCallServiceClass);
+ builder.setCallService(PstnConnectionService.class);
builder.setNetworkType(CallServiceDescriptor.FLAG_PSTN);
Intent intent = new Intent(TelecommConstants.ACTION_INCOMING_CALL);
@@ -175,6 +164,6 @@
intent.putExtra(TelecommConstants.EXTRA_CALL_SERVICE_DESCRIPTOR, builder.build());
Log.d(this, "Sending incoming call intent: %s", intent);
- context.startActivity(intent);
+ context.startActivityAsUser(intent, UserHandle.CURRENT);
}
}
diff --git a/src/com/android/services/telephony/SipConnectionService.java b/src/com/android/services/telephony/SipConnectionService.java
index 7824274..465dba1 100644
--- a/src/com/android/services/telephony/SipConnectionService.java
+++ b/src/com/android/services/telephony/SipConnectionService.java
@@ -25,6 +25,7 @@
import android.provider.Settings;
import android.telephony.PhoneNumberUtils;
+import com.android.internal.telephony.Phone;
import com.android.internal.telephony.PhoneFactory;
import com.android.internal.telephony.sip.SipPhone;
import com.android.phone.Constants;
@@ -47,7 +48,7 @@
@Override
public void onCreateConnections(
ConnectionRequest request,
- Response<ConnectionRequest, Connection> callback) {
+ OutgoingCallResponse callback) {
new GetSipProfileTask(this, request, callback).execute();
super.onCreateConnections(request, callback);
}
@@ -64,23 +65,19 @@
/** {@inheritDoc} */
@Override
protected boolean canCall(Uri handle) {
- return canCall(this, handle);
- }
-
- // TODO: Refactor this out when CallServiceSelector is deprecated
- /* package */ static boolean canCall(Context context, Uri handle) {
- return shouldUseSipPhone(context, handle.getScheme(), handle.getSchemeSpecificPart());
+ return shouldUseSipPhone(handle.getScheme(), handle.getSchemeSpecificPart());
}
/** {@inheritDoc} */
@Override
protected TelephonyConnection onCreateTelephonyConnection(
ConnectionRequest request,
+ Phone phone,
com.android.internal.telephony.Connection connection) {
return new SipConnection(connection);
}
- private static boolean shouldUseSipPhone(Context context, String scheme, String number) {
+ private boolean shouldUseSipPhone(String scheme, String number) {
// Scheme must be "sip" or "tel".
boolean isKnownCallScheme = Constants.SCHEME_TEL.equals(scheme)
|| Constants.SCHEME_SIP.equals(scheme);
@@ -95,7 +92,7 @@
}
// Check SIP address only
- SipSharedPreferences sipSharedPreferences = new SipSharedPreferences(context);
+ SipSharedPreferences sipSharedPreferences = new SipSharedPreferences(this);
String callOption = sipSharedPreferences.getSipCallOption();
boolean isRegularNumber = Constants.SCHEME_TEL.equals(scheme)
&& !PhoneNumberUtils.isUriNumber(number);
@@ -104,7 +101,7 @@
}
// Check if no SIP profiles.
- SipProfileDb sipProfileDb = new SipProfileDb(context);
+ SipProfileDb sipProfileDb = new SipProfileDb(this);
if (sipProfileDb.getProfilesCount() == 0 && isRegularNumber) {
return false;
}
@@ -117,14 +114,14 @@
*/
private class GetSipProfileTask extends AsyncTask<Void, Void, SipProfile> {
private final ConnectionRequest mRequest;
- private final Response<ConnectionRequest, Connection> mResponse;
+ private final OutgoingCallResponse mResponse;
private final SipProfileDb mSipProfileDb;
private final SipSharedPreferences mSipSharedPreferences;
GetSipProfileTask(
Context context,
ConnectionRequest request,
- Response<ConnectionRequest, Connection> response) {
+ OutgoingCallResponse response) {
mRequest = request;
mResponse = response;
mSipProfileDb = new SipProfileDb(context);
@@ -152,7 +149,7 @@
private void onSipProfileChosen(
SipProfile profile,
ConnectionRequest request,
- Response<ConnectionRequest, Connection> response) {
+ OutgoingCallResponse response) {
SipPhone phone = null;
if (profile != null) {
String sipUri = profile.getUriString();
diff --git a/src/com/android/services/telephony/TelephonyCallServiceProvider.java b/src/com/android/services/telephony/TelephonyCallServiceProvider.java
index a299913..cc89c0e 100644
--- a/src/com/android/services/telephony/TelephonyCallServiceProvider.java
+++ b/src/com/android/services/telephony/TelephonyCallServiceProvider.java
@@ -31,11 +31,7 @@
public void lookupCallServices(CallServiceLookupResponse response) {
ArrayList<CallServiceDescriptor> descriptors = new ArrayList<CallServiceDescriptor>();
descriptors.add(CallServiceDescriptor.newBuilder(this)
- .setCallService(GsmConnectionService.class)
- .setNetworkType(CallServiceDescriptor.FLAG_PSTN)
- .build());
- descriptors.add(CallServiceDescriptor.newBuilder(this)
- .setCallService(CdmaConnectionService.class)
+ .setCallService(PstnConnectionService.class)
.setNetworkType(CallServiceDescriptor.FLAG_PSTN)
.build());
descriptors.add(CallServiceDescriptor.newBuilder(this)
diff --git a/src/com/android/services/telephony/TelephonyCallServiceSelector.java b/src/com/android/services/telephony/TelephonyCallServiceSelector.java
deleted file mode 100644
index ef5d361..0000000
--- a/src/com/android/services/telephony/TelephonyCallServiceSelector.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (C) 2014 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.services.telephony;
-
-import android.telecomm.CallInfo;
-import android.telecomm.CallServiceDescriptor;
-import android.telecomm.CallServiceSelector;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Decides which call service should be used to place outgoing calls or to switch the call to.
- */
-public class TelephonyCallServiceSelector extends CallServiceSelector {
-
- /** {@inheritDoc} */
- @Override
- protected void select(CallInfo callInfo, List<CallServiceDescriptor> descriptors) {
- ArrayList<CallServiceDescriptor> selectedDescriptors =
- new ArrayList<CallServiceDescriptor>();
-
- CallServiceDescriptor descriptor = getDescriptor(descriptors, CdmaConnectionService.class);
- if (descriptor != null) {
- if (CdmaConnectionService.canCall(this, callInfo.getHandle())) {
- selectedDescriptors.add(descriptor);
- }
- }
- descriptor = getDescriptor(descriptors, GsmConnectionService.class);
- if (descriptor != null) {
- if (GsmConnectionService.canCall(this, callInfo.getHandle())) {
- selectedDescriptors.add(descriptor);
- }
- }
- descriptor = getDescriptor(descriptors, SipConnectionService.class);
- if (descriptor != null) {
- if (SipConnectionService.canCall(this, callInfo.getHandle())) {
- selectedDescriptors.add(descriptor);
- }
- }
-
- getAdapter().setSelectedCallServices(callInfo.getId(), selectedDescriptors);
- }
-
- private CallServiceDescriptor getDescriptor(
- List<CallServiceDescriptor> descriptors, Class<?> clazz) {
-
- for (CallServiceDescriptor descriptor : descriptors) {
- if (!getPackageName().equals(descriptor.getServiceComponent().getPackageName())) {
- continue;
- }
-
- if (clazz.getName().equals(descriptor.getServiceComponent().getClassName())) {
- return descriptor;
- }
- }
-
- return null;
- }
-}
diff --git a/src/com/android/services/telephony/TelephonyCallVideoProvider.java b/src/com/android/services/telephony/TelephonyCallVideoProvider.java
new file mode 100644
index 0000000..6e0fafd
--- /dev/null
+++ b/src/com/android/services/telephony/TelephonyCallVideoProvider.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2014 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.services.telephony;
+
+import android.telecomm.CallVideoProvider;
+
+
+/**
+ * Implements the CallVideoProvider.
+ */
+public class TelephonyCallVideoProvider extends CallVideoProvider {
+
+ @Override
+ public void setCamera(String cameraId) {
+ // Stub, to be implemented.
+ }
+}
diff --git a/src/com/android/services/telephony/TelephonyConnection.java b/src/com/android/services/telephony/TelephonyConnection.java
index 43e72c8..f379347 100644
--- a/src/com/android/services/telephony/TelephonyConnection.java
+++ b/src/com/android/services/telephony/TelephonyConnection.java
@@ -124,7 +124,7 @@
}
@Override
- protected void onSetAudioState(CallAudioState audioState) {
+ public void onSetAudioState(CallAudioState audioState) {
// TODO: update TTY mode.
if (mOriginalConnection != null) {
Call call = mOriginalConnection.getCall();
diff --git a/src/com/android/services/telephony/TelephonyConnectionService.java b/src/com/android/services/telephony/TelephonyConnectionService.java
index 76d4291..a009bc8 100644
--- a/src/com/android/services/telephony/TelephonyConnectionService.java
+++ b/src/com/android/services/telephony/TelephonyConnectionService.java
@@ -19,6 +19,7 @@
import android.net.Uri;
import android.telephony.DisconnectCause;
import android.telephony.ServiceState;
+import android.telecomm.Subscription;
import android.text.TextUtils;
import com.android.internal.telephony.CallStateException;
@@ -29,46 +30,28 @@
import android.telecomm.ConnectionRequest;
import android.telecomm.ConnectionService;
import android.telecomm.Response;
-import android.telecomm.Subscription;
import java.util.HashSet;
import java.util.Set;
/**
- * The parent class for telephony-based call services. Subclasses provide the specific phone (GSM,
- * CDMA, etc...) to use.
+ * The parent class for Android's built-in connection services.
*/
public abstract class TelephonyConnectionService extends ConnectionService {
private static final Set<com.android.internal.telephony.Connection> sKnownConnections
= new HashSet<>();
- /** {@inheritDoc} */
- @Override
- public void onFindSubscriptions(
- Uri handle,
- Response<Uri, Subscription> response) {
- try {
- respondWithResult(handle, response, canCall(handle) ? new Subscription() : null);
- } catch (Exception e) {
- respondWithError(
- handle,
- response,
- DisconnectCause.ERROR_UNSPECIFIED, // Internal error
- "onFindSubscriptions error: " + e.toString());
- }
- }
-
/**
* Initiates the underlying Telephony call, then creates a {@link TelephonyConnection}
* by calling
- * {@link #createTelephonyConnection(ConnectionRequest,
- * com.android.internal.telephony.Connection)}
+ * {@link #createTelephonyConnection(
+ * ConnectionRequest,Phone,com.android.internal.telephony.Connection)}
* at the appropriate time. Should be called by the subclass.
*/
protected void startCallWithPhone(
Phone phone,
ConnectionRequest request,
- Response<ConnectionRequest, Connection> response) {
+ OutgoingCallResponse<Connection> response) {
Log.d(this, "startCallWithPhone: %s.", request);
if (phone == null) {
@@ -127,15 +110,15 @@
try {
final TelephonyConnection telephonyConnection =
- createTelephonyConnection(request, connection);
+ createTelephonyConnection(request, phone, connection);
respondWithResult(request, response, telephonyConnection);
- final com.android.internal.telephony.Connection connectionCopy = connection;
+ final com.android.internal.telephony.Connection connectionFinal = connection;
PostDialListener postDialListener = new PostDialListener() {
@Override
public void onPostDialWait() {
TelephonyConnectionService.this.onPostDialWait(telephonyConnection,
- connectionCopy.getRemainingPostDialString());
+ connectionFinal.getRemainingPostDialString());
}
};
connection.addPostDialListener(postDialListener);
@@ -152,7 +135,7 @@
private boolean checkServiceStateForOutgoingCall(
Phone phone,
ConnectionRequest request,
- Response<ConnectionRequest, Connection> response) {
+ OutgoingCallResponse<Connection> response) {
int state = phone.getServiceState().getState();
switch (state) {
case ServiceState.STATE_IN_SERVICE:
@@ -201,14 +184,6 @@
}
protected void respondWithResult(
- Uri request,
- Response<Uri, Subscription> response,
- Subscription result) {
- Log.d(this, "respondWithResult %s -> %s", request, result);
- response.onResult(request, result);
- }
-
- protected void respondWithResult(
ConnectionRequest request,
Response<ConnectionRequest, Connection> response,
Connection result) {
@@ -216,11 +191,29 @@
response.onResult(request, result);
}
+ protected void respondWithResult(
+ ConnectionRequest request,
+ OutgoingCallResponse<Connection> response,
+ Connection result) {
+ Log.d(this, "respondWithResult %s -> %s", request, result);
+ response.onSuccess(request, result);
+ }
+
+ protected void respondWithError(
+ ConnectionRequest request,
+ OutgoingCallResponse<Connection> response,
+ int errorCode,
+ String errorMsg) {
+ Log.d(this, "respondWithError %s: %d %s", request, errorCode, errorMsg);
+ response.onFailure(request, errorCode, errorMsg);
+ }
+
protected final TelephonyConnection createTelephonyConnection(
ConnectionRequest request,
+ Phone phone,
final com.android.internal.telephony.Connection connection) {
final TelephonyConnection telephonyConnection =
- onCreateTelephonyConnection(request, connection);
+ onCreateTelephonyConnection(request, phone, connection);
sKnownConnections.add(connection);
telephonyConnection.addConnectionListener(new Connection.ListenerBase() {
@Override
@@ -251,11 +244,13 @@
* Create a Telephony-specific {@link Connection} object.
*
* @param request A request for creating a {@link Connection}.
+ * @param phone A {@code Phone} object to use.
* @param connection An underlying Telephony {@link com.android.internal.telephony.Connection}
* to use.
* @return A new {@link TelephonyConnection}.
*/
protected abstract TelephonyConnection onCreateTelephonyConnection(
ConnectionRequest request,
+ Phone phone,
com.android.internal.telephony.Connection connection);
}
diff --git a/src/com/android/services/telephony/TelephonyGlobals.java b/src/com/android/services/telephony/TelephonyGlobals.java
index 60389bf..22346b7 100644
--- a/src/com/android/services/telephony/TelephonyGlobals.java
+++ b/src/com/android/services/telephony/TelephonyGlobals.java
@@ -18,7 +18,6 @@
import android.content.Context;
-import com.android.internal.telephony.PhoneConstants;
import com.android.internal.telephony.PhoneFactory;
import com.android.internal.telephony.PhoneProxy;
@@ -35,11 +34,8 @@
/** The application context. */
private final Context mContext;
- /** Handles incoming calls for GSM. */
- private IncomingCallNotifier mGsmIncomingCallNotifier;
-
- /** Handles incoming calls for CDMA. */
- private IncomingCallNotifier mCdmaIncomingCallNotifier;
+ /** Handles incoming calls for PSTN calls. */
+ private PstnIncomingCallNotifier mPtsnIncomingCallNotifier;
/**
* Persists the specified parameters.
@@ -61,13 +57,8 @@
PhoneProxy defaultPhone = (PhoneProxy) PhoneFactory.getDefaultPhone();
Log.i(this, "Default phone: %s.", defaultPhone);
- Log.i(this, "Registering the GSM listener.");
- mGsmIncomingCallNotifier = new IncomingCallNotifier(
- GsmConnectionService.class, PhoneConstants.PHONE_TYPE_GSM, defaultPhone);
-
- Log.i(this, "Registering the CDMA listener.");
- mCdmaIncomingCallNotifier = new IncomingCallNotifier(
- CdmaConnectionService.class, PhoneConstants.PHONE_TYPE_CDMA, defaultPhone);
+ Log.i(this, "Registering the PSTN listener.");
+ mPtsnIncomingCallNotifier = new PstnIncomingCallNotifier(defaultPhone);
// TODO(santoscordon): Do SIP. SIP will require a slightly different solution since it
// doesn't have a phone object in the same way as PSTN calls. Additionally, the user can
diff --git a/tests/src/com/android/phone/unit/CnapTest.java b/tests/src/com/android/phone/CnapTest.java
similarity index 100%
rename from tests/src/com/android/phone/unit/CnapTest.java
rename to tests/src/com/android/phone/CnapTest.java