import java.util.ArrayList;
import java.util.Date;
import java.util.HashSet;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.SelectionAdapter;
import org.tizen.telephony.sms.protocol.G04A05;
import org.tizen.common.connection.ConnectionPlugin;
import org.tizen.common.connection.ConnectionPlugin.ISelectionListener;
+import org.tizen.common.util.DialogUtil;
import org.tizen.sdblib.IDevice;
import org.tizen.sdblib.FileListingService.FileEntry;
}
protected void sendMsg() {
+ // check number
+ String number = cmbMobileTerminateOriginatingAddress.getText().trim();
+ {
+ if(number==null||number.length()==0) {
+ DialogUtil.openMessageDialog("Input phone number.");
+ return;
+ }
+ if(number.length() > 15) {
+ DialogUtil.openMessageDialog("The maximum length of phone number is 15.");
+ return;
+ }
+ if(checkNumberFormat(number)) {
+ DialogUtil.openMessageDialog("This is invalid number. (" + number + ")");
+ return;
+ }
+ }
+
char[] packet = new char[500];
int pid = 0;
int dcs = 0xF0;
tpdu_deliver.sri = false;
SmsAddressInfo orgAddr = new SmsAddressInfo();
- orgAddr.diallingNum = String.format(
- cmbMobileTerminateOriginatingAddress.getText()).toCharArray();
+ orgAddr.diallingNum = number.toCharArray();
orgAddr.dialnumlen = orgAddr.diallingNum.length;
tpdu_deliver.orgAddr = orgAddr;
}
}
+ private static boolean checkNumberFormat(String noStr) {
+ Pattern tellPattern = Pattern.compile( "[^0-9++]");
+ Matcher matcher = tellPattern.matcher(noStr);
+ return matcher.find();
+ }
+
private ArrayList<SMS_USERDATA> getUserData(String message) {
ArrayList<SMS_USERDATA> list = new ArrayList<SMS_USERDATA>();
int length = 60; //temp length