Commit d2e4fb3b by 李东奇

fix(more): add regex judge for user input

1 parent 217c0979
......@@ -11,6 +11,10 @@ import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class MoreActivity extends Activity implements View.OnClickListener {
private static String sCurrentItem;
......@@ -162,27 +166,27 @@ public class MoreActivity extends Activity implements View.OnClickListener {
switch (moreTypes) {
case "cpu":
resultData = getTypeData(moreCPU.length);
SystemSetting.setCpuStatus(resultData);
if (!resultData[0].equals("-1"))SystemSetting.setCpuStatus(resultData);
break;
case "mem":
resultData = getTypeData(moreMem.length);
SystemSetting.setMemStatus(resultData);
if (!resultData[0].equals("-1"))SystemSetting.setMemStatus(resultData);
break;
case "storage":
resultData = getTypeData(moreStorage.length);
SystemSetting.settorageStatus(resultData);
if (!resultData[0].equals("-1"))SystemSetting.settorageStatus(resultData);
break;
case "screen":
resultData = getTypeData(moreScreen.length);
SystemSetting.setScreenStatus(resultData);
if (!resultData[0].equals("-1"))SystemSetting.setScreenStatus(resultData);
break;
case "camera":
resultData = getTypeData(moreCamera.length);
SystemSetting.setCameraStatus(resultData);
if (!resultData[0].equals("-1"))SystemSetting.setCameraStatus(resultData);
break;
case "other":
resultData = getOtherData(moreOther.length);
SystemSetting.setOtherStatus(resultData);
if (!resultData[0].equals("-1"))SystemSetting.setOtherStatus(resultData);
break;
default:
break;
......@@ -191,12 +195,52 @@ public class MoreActivity extends Activity implements View.OnClickListener {
private String[] getTypeData(int dataLength) {
String[] resultData = new String[dataLength];
for (int i = 0; i < dataLength; i++) {
resultData[i] = editTxt[i].getText().toString();
String temp = editTxt[i].getText().toString();
if (dataLength==4&&i==0){
if (judgeCPU(temp)){
resultData[i] = temp;
}else{
resultData[0] = "-1";
Toast.makeText(MoreActivity.this, R.string.input_tip_type,Toast.LENGTH_SHORT).show();
}
}else{
if (judgeData(temp)){
resultData[i] = temp;
}else{
resultData[0] = "-1";
Toast.makeText(MoreActivity.this, R.string.input_tip_num,Toast.LENGTH_SHORT).show();
}
}
}
return resultData;
}
private boolean judgeCPU(String temp) {
boolean flag;
String regEx = "^-?[1-9]\\d{1,5}$";
Pattern pattern = Pattern.compile(regEx);
Matcher matcher = pattern.matcher(temp);
flag = matcher.matches();
return flag;
}
private boolean judgeData(String temp) {
boolean flag;
String regEx = "^-?[1-9]\\d{1,5}$";
Pattern pattern = Pattern.compile(regEx);
Matcher matcher = pattern.matcher(temp);
flag = matcher.matches();
return flag;
}
private String[] getOtherData(int dataLength) {
String[] resultData = new String[dataLength];
for (int i = 0; i < checkBox.length; i++) {
......
......@@ -35,5 +35,7 @@
<string name="header_other_sensor">支持所有传感器</string>
<string name="header_other_root">支持root</string>
<string name="header_other_model">产品型号</string>
<string name="input_tip_num">请输入正确的数值</string>
<string name="input_tip_type">请输入正确的类型</string>
</resources>
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!