Do not add FDN if number is not entered.
Do not add FDN if only name is added without number.
Bug: 34872729
Change-Id: Id41ba1389101f27ede5f7b375a1ea6e068772041
diff --git a/res/values/strings.xml b/res/values/strings.xml
index f5db225..c42e0cd 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -838,7 +838,7 @@
<!-- FDN settings: error message displayed in a popup (toast) -->
<string name="pin2_invalid">FDN wasn\'t updated because you typed an incorrect PIN.</string>
<!-- FDN settings: error message displayed in a popup (toast) -->
- <string name="fdn_invalid_number">FDN wasn\'t updated because the number can\'t exceed 20 digits.</string>
+ <string name="fdn_invalid_number">FDN wasn\'t updated because the number is empty or exceeds 20 digits.</string>
<!-- FDN settings: error message displayed in a popup (toast), when the entered
FDN number was inappropriate, OR, PIN2 the user entered was incorrect.
Because of API restriction, there's no way to determine which is the exact
diff --git a/src/com/android/phone/settings/fdn/EditFdnContactScreen.java b/src/com/android/phone/settings/fdn/EditFdnContactScreen.java
index 1387215..23ef0bb 100644
--- a/src/com/android/phone/settings/fdn/EditFdnContactScreen.java
+++ b/src/com/android/phone/settings/fdn/EditFdnContactScreen.java
@@ -281,7 +281,7 @@
* TODO: Fix this logic.
*/
private boolean isValidNumber(String number) {
- return (number.length() <= 20);
+ return (number.length() <= 20) && (number.length() > 0);
}
@@ -419,6 +419,12 @@
} else if (v == mNumberField) {
mButton.requestFocus();
} else if (v == mButton) {
+ final String number = PhoneNumberUtils.convertAndStrip(getNumberFromTextField());
+
+ if (!isValidNumber(number)) {
+ handleResult(false, true);
+ return;
+ }
// Authenticate the pin AFTER the contact information
// is entered, and if we're not busy.
if (!mDataBusy) {