2 Commits

Author SHA1 Message Date
Astatin3 15be86453e Update version number 2024-10-12 20:43:37 -06:00
Astatin3 795fa4e85a KCMT Hotfix 2024-10-12 20:37:18 -06:00
4 changed files with 79 additions and 51 deletions
+2 -2
View File
@@ -28,8 +28,8 @@ android {
applicationId = "com.ridgebotics.ridgescout" applicationId = "com.ridgebotics.ridgescout"
minSdk = 24 minSdk = 24
targetSdk = 34 targetSdk = 34
versionCode = 5 versionCode = 6
versionName = "0.5" versionName = "0.6"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
} }
@@ -22,6 +22,7 @@ import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment; import androidx.fragment.app.Fragment;
import com.ridgebotics.ridgescout.utility.AlertManager;
import com.ridgebotics.ridgescout.utility.settingsManager; import com.ridgebotics.ridgescout.utility.settingsManager;
import com.ridgebotics.ridgescout.databinding.FragmentDataTeamsBinding; import com.ridgebotics.ridgescout.databinding.FragmentDataTeamsBinding;
import com.ridgebotics.ridgescout.scoutingData.ScoutingDataWriter; import com.ridgebotics.ridgescout.scoutingData.ScoutingDataWriter;
@@ -282,6 +283,7 @@ public class TeamsFragment extends Fragment {
public void add_individual_views(LinearLayout ll, String[] files) { public void add_individual_views(LinearLayout ll, String[] files) {
for (int i = 0; i < files.length; i++) { for (int i = 0; i < files.length; i++) {
try {
String[] split = files[i].split("-"); String[] split = files[i].split("-");
int match_num = Integer.parseInt(split[1]); int match_num = Integer.parseInt(split[1]);
@@ -318,6 +320,10 @@ public class TeamsFragment extends Fragment {
match_latest_values[a].add_individual_view(ll, psda.data.array[a]); match_latest_values[a].add_individual_view(ll, psda.data.array[a]);
} }
}catch (Exception e){
e.printStackTrace();
AlertManager.alert("Warning!", "Failure to load file " + files[i]);
}
} }
} }
@@ -329,11 +335,15 @@ public class TeamsFragment extends Fragment {
public void add_compiled_views(LinearLayout ll, String[] files){ public void add_compiled_views(LinearLayout ll, String[] files){
dataType[][] data = new dataType[match_latest_values.length][files.length]; dataType[][] data = new dataType[match_latest_values.length][files.length];
for (int i = 0; i < files.length; i++) { for (int i = 0; i < files.length; i++) {
try {
ScoutingDataWriter.ParsedScoutingDataResult psda = ScoutingDataWriter.load(files[i], match_values, match_transferValues); ScoutingDataWriter.ParsedScoutingDataResult psda = ScoutingDataWriter.load(files[i], match_values, match_transferValues);
for (int a = 0; a < data.length; a++) { for (int a = 0; a < data.length; a++) {
data[a][i] = psda.data.array[a]; data[a][i] = psda.data.array[a];
} }
} catch (Exception e){
e.printStackTrace();
AlertManager.alert("Warning!", "Failure to load file " + files[i]);
}
} }
for(int i = 0; i < match_latest_values.length; i++){ for(int i = 0; i < match_latest_values.length; i++){
@@ -359,11 +369,15 @@ public class TeamsFragment extends Fragment {
public void add_history_views(LinearLayout ll, String[] files){ public void add_history_views(LinearLayout ll, String[] files){
dataType[][] data = new dataType[match_latest_values.length][files.length]; dataType[][] data = new dataType[match_latest_values.length][files.length];
for (int i = 0; i < files.length; i++) { for (int i = 0; i < files.length; i++) {
try {
ScoutingDataWriter.ParsedScoutingDataResult psda = ScoutingDataWriter.load(files[i], match_values, match_transferValues); ScoutingDataWriter.ParsedScoutingDataResult psda = ScoutingDataWriter.load(files[i], match_values, match_transferValues);
for (int a = 0; a < data.length; a++) { for (int a = 0; a < data.length; a++) {
data[a][i] = psda.data.array[a]; data[a][i] = psda.data.array[a];
} }
}catch (Exception e){
e.printStackTrace();
AlertManager.alert("Warning!", "Failure to load file " + files[i]);
}
} }
for(int i = 0; i < match_latest_values.length; i++){ for(int i = 0; i < match_latest_values.length; i++){
@@ -18,6 +18,9 @@ import com.ridgebotics.ridgescout.utility.fileEditor;
public class CSVExport { public class CSVExport {
private static String[] alliances = {"red", "blue"}; private static String[] alliances = {"red", "blue"};
private static String safeCSV(String input){
return input.replace("\n", "").replace(",", ".").replace(";", ".");
}
public static void exportMatches(Context c){ public static void exportMatches(Context c){
DataManager.reload_event(); DataManager.reload_event();
@@ -55,10 +58,15 @@ public class CSVExport {
if(!fileEditor.fileExist(filename)){ if(!fileEditor.fileExist(filename)){
data += ("null,".repeat(match_latest_values.length)); data += ("null,".repeat(match_latest_values.length));
}else{ }else{
try {
ScoutingDataWriter.ParsedScoutingDataResult psdr = ScoutingDataWriter.load(filename, DataManager.match_values, DataManager.match_transferValues); ScoutingDataWriter.ParsedScoutingDataResult psdr = ScoutingDataWriter.load(filename, DataManager.match_values, DataManager.match_transferValues);
dataType[] types = psdr.data.array; dataType[] types = psdr.data.array;
for(int i = 0; i < types.length; i++) { for (int i = 0; i < types.length; i++) {
data += (types[i].get() + ","); data += (safeCSV(types[i].get().toString()) + ",");
}
} catch (Exception e){
e.printStackTrace();
data += ("null,".repeat(pit_latest_values.length));
} }
} }
@@ -77,7 +85,7 @@ public class CSVExport {
String data = ""; String data = "";
data += ("teamnum,teamname,city,teamnum,stateOrProv,school,country,startingYear,"); data += ("teamnum,teamname,city,stateOrProv,school,country,startingYear,");
for(int i = 0; i < pit_latest_values.length; i++){ for(int i = 0; i < pit_latest_values.length; i++){
data += (pit_latest_values[i].name + ","); data += (pit_latest_values[i].name + ",");
} }
@@ -99,10 +107,15 @@ public class CSVExport {
if(!fileEditor.fileExist(filename)){ if(!fileEditor.fileExist(filename)){
data += ("null,".repeat(pit_latest_values.length)); data += ("null,".repeat(pit_latest_values.length));
}else{ }else{
try {
ScoutingDataWriter.ParsedScoutingDataResult psdr = ScoutingDataWriter.load(filename, DataManager.pit_values, DataManager.pit_transferValues); ScoutingDataWriter.ParsedScoutingDataResult psdr = ScoutingDataWriter.load(filename, DataManager.pit_values, DataManager.pit_transferValues);
dataType[] types = psdr.data.array; dataType[] types = psdr.data.array;
for(int i = 0; i < types.length; i++) { for (int i = 0; i < types.length; i++) {
data += (types[i].get() + ","); data += (safeCSV(types[i].get().toString()) + ",");
}
} catch (Exception e){
e.printStackTrace();
data += ("null,".repeat(pit_latest_values.length));
} }
} }
@@ -365,18 +365,19 @@ public final class fileEditor {
String[] filenames = outFiles.toArray(new String[0]); String[] filenames = outFiles.toArray(new String[0]);
Arrays.sort(filenames, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
try { try {
if(!o1.contains("-") || !o2.contains("-")) Arrays.sort(filenames, (o1, o2) -> {
try {
if (!o1.contains("-") || !o2.contains("-"))
return 0; return 0;
return Integer.valueOf(o1.split("-")[1]).compareTo(Integer.valueOf(o2.split("-")[1])); return Integer.valueOf(o1.split("-")[1]).compareTo(Integer.valueOf(o2.split("-")[1]));
} catch (Exception e){ } catch (Exception e) {
return 0; return 0;
} }
}
}); });
} catch (Exception e){
e.printStackTrace();
}
return filenames; return filenames;