int v2Length = v2.length;
int repeat = 0;
String[] fixedVersion = null;
+ versionLogging(v1, "Version 1 : ");
if (v1Length != v2Length) {// Just in case, both version1's frame and version2's frame are different.
+ Log.log("Version lengths are different.");
+ versionLogging(v1, "Version 1 : ");
+ versionLogging(v2, "Version 2 : ");
+
if (v1Length > v2Length) {
fixedVersion = setVersionFrame(v2, v1Length);
repeat = v1Length;
for (int i = 0; i < repeat; i++) {
- result = compareVersionComponent(Integer.parseInt(v1[i]), Integer.parseInt(fixedVersion[i]));
+ int v1ToInt = -1;
+ int fixedVersionToInt = -1;
+ try {
+ v1ToInt = Integer.parseInt(v1[i]);
+ } catch (NumberFormatException e) {
+ versionLogging(v1, "Cannot convert to integer(Version 1) : ");
+ Log.ExceptionLog(e);
+ }
+
+ try {
+ fixedVersionToInt = Integer.parseInt(fixedVersion[i]);
+ } catch (NumberFormatException e) {
+ versionLogging(v1, "Cannot convert to integer(fixedVersion) : ");
+ Log.ExceptionLog(e);
+ }
+
+ result = compareVersionComponent(v1ToInt, fixedVersionToInt);
+
+// result = compareVersionComponent(Integer.parseInt(v1[i]), Integer.parseInt(fixedVersion[i]));
+
if (result != Version.EQ) {
break;
}
return result;
}
+ private static void versionLogging(String[] version, String comment) {
+ String tmp = "";
+ int length = version.length;
+ for (int i = 0; i < length; i++) {
+ if (i == length - 1) {
+ tmp += version[i];
+ } else {
+ tmp += version[i] + ".";
+ }
+ }
+
+ Log.log(comment + tmp);
+ }
+
/**
* When versions' frame are different, each frames must be same.
* @param version