Issue when i submit the code to google,and they built some findbugs as follows:代码要严格规范阿,重要重要,绝对重要.
------------------------------------------------------------------------------------------------------>
Call to equals() with null argument in com.android.vzwfit.VzwFit$4.onItemSelected(AdapterView, View, int, long) At VzwFit.java:[line 130]
Original Code:
if(selectedServerName.equas("Customer")){
// do something
}
Fix Code:
if(selectedServerName != null){
if(selectedServerName.equas("Customer")){
}
}
------------------------------------------------------------------------------------------------------------------------------------------------
Hard coded reference to an absolute pathname in com.android.vzwfit.VzwFit.initConfigFile() At VzwFit.java:[line 151]
Original Code:
File path = new File("/sdcard/abd.xml");
Fix Code:
String xmlPath = "/sdcard/abd.xml";
File path = new File(xmlPath);
-------------------------------------------------------------------------------------------------------------------------------------------------
com.android.vzwfit.VzwFit.checkLogPath(String) ignores exceptional return value of java.io.File.createNewFile() At VzwFit.java:[line 243]
Original Code :
if(!file.exists()){
file.createNewFile();
}
Fix Code:
if(!file.exists()){
if (!file.createNewFile()){
throw new IOException("can not create file by io exception");
}
}
--------------------------------------------------------------------------------------------------------------------------------------------------
Inconsistent synchronization of com.android.vzwfit.FTPDownload.fileSize; locked 50% of time Unsynchronized access at FTPDownload.java:[line 89]
Original Code:
if ( ftpClient != null) {
fileSize = files[0].getSize();
}
private synchronized void sendMsg(int whatl) {
// *******
bb.putLong(TransferStatus.KEY_FILE_LENGTH, fileSize);
}
Fix Code:
if ( ftpClient != null) {
synchronized(this){
fileSize = files[0].getSize();
}
}
---------------------------------------------------------------------------------------------------------------------------------------------------
Null pointer dereference of parent.getItemAtPosition(...) where null comes from constant
Original Code:
public void onItemSelected(AdapterView<?> parent, View arg1,int postion, long id) {
selectedServerName = parent.getItemAtPosition(postion) .toString();
}
Fix Code:
public void onItemSelected(AdapterView<?> parent, View arg1,int postion, long id) {
if (parent != null) {
Object item = parent.getItemAtPosition(postion);
if (item != null){
selectedServerName = item .toString();
}
}
}
--------------------------------------------------------------------------------------------------------------------------------------------------