This commit is contained in:
Astatin3
2024-10-15 17:48:59 -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,41 +283,46 @@ 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++) {
String[] split = files[i].split("-"); try {
int match_num = Integer.parseInt(split[1]); String[] split = files[i].split("-");
int match_num = Integer.parseInt(split[1]);
ScoutingDataWriter.ParsedScoutingDataResult psda = ScoutingDataWriter.load(files[i], match_values, match_transferValues); ScoutingDataWriter.ParsedScoutingDataResult psda = ScoutingDataWriter.load(files[i], match_values, match_transferValues);
TextView tv = new TextView(getContext()); TextView tv = new TextView(getContext());
tv.setLayoutParams(new FrameLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT
));
tv.setPadding(0, 40, 0, 5);
tv.setGravity(Gravity.CENTER_HORIZONTAL);
tv.setText("M" + (match_num) + " " + split[2] + "-" + split[3] + " by " + psda.username);
tv.setTextSize(30);
ll.addView(tv);
for (int a = 0; a < psda.data.array.length; a++) {
tv = new TextView(getContext());
tv.setLayoutParams(new FrameLayout.LayoutParams( tv.setLayoutParams(new FrameLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT ViewGroup.LayoutParams.WRAP_CONTENT
)); ));
tv.setPadding(0, 40, 0, 5);
tv.setGravity(Gravity.CENTER_HORIZONTAL); tv.setGravity(Gravity.CENTER_HORIZONTAL);
tv.setText(psda.data.array[a].getName()); tv.setText("M" + (match_num) + " " + split[2] + "-" + split[3] + " by " + psda.username);
tv.setTextSize(25); tv.setTextSize(30);
if (psda.data.array[a].isNull()) {
tv.setBackgroundColor(0xffff0000);
tv.setTextColor(0xff000000);
}
ll.addView(tv); ll.addView(tv);
for (int a = 0; a < psda.data.array.length; a++) {
tv = new TextView(getContext());
tv.setLayoutParams(new FrameLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT
));
tv.setGravity(Gravity.CENTER_HORIZONTAL);
tv.setText(psda.data.array[a].getName());
tv.setTextSize(25);
match_latest_values[a].add_individual_view(ll, psda.data.array[a]); if (psda.data.array[a].isNull()) {
tv.setBackgroundColor(0xffff0000);
tv.setTextColor(0xff000000);
}
ll.addView(tv);
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,10 +335,14 @@ 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]);
} }
} }
@@ -359,10 +369,14 @@ 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]);
} }
} }
@@ -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{
ScoutingDataWriter.ParsedScoutingDataResult psdr = ScoutingDataWriter.load(filename, DataManager.match_values, DataManager.match_transferValues); try {
dataType[] types = psdr.data.array; ScoutingDataWriter.ParsedScoutingDataResult psdr = ScoutingDataWriter.load(filename, DataManager.match_values, DataManager.match_transferValues);
for(int i = 0; i < types.length; i++) { dataType[] types = psdr.data.array;
data += (types[i].get() + ","); for (int i = 0; i < types.length; i++) {
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{
ScoutingDataWriter.ParsedScoutingDataResult psdr = ScoutingDataWriter.load(filename, DataManager.pit_values, DataManager.pit_transferValues); try {
dataType[] types = psdr.data.array; ScoutingDataWriter.ParsedScoutingDataResult psdr = ScoutingDataWriter.load(filename, DataManager.pit_values, DataManager.pit_transferValues);
for(int i = 0; i < types.length; i++) { dataType[] types = psdr.data.array;
data += (types[i].get() + ","); for (int i = 0; i < types.length; i++) {
data += (safeCSV(types[i].get().toString()) + ",");
}
} catch (Exception e){
e.printStackTrace();
data += ("null,".repeat(pit_latest_values.length));
} }
} }
@@ -383,18 +383,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>() { try {
@Override Arrays.sort(filenames, (o1, o2) -> {
public int compare(String o1, String o2) {
try { try {
if(!o1.contains("-") || !o2.contains("-")) 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;