kopia lustrzana https://github.com/ge0rg/aprsdroid
				
				
				
			Fix Derp
							rodzic
							
								
									6cde237df5
								
							
						
					
					
						commit
						6c36ff291f
					
				|  | @ -596,33 +596,28 @@ class AprsService extends Service { | |||
| 		// Create a new list of components with modifications | ||||
| 		val (modifiedPath, modified) = pathComponents.foldLeft((List.empty[String], false)) { | ||||
| 			case ((acc, hasModified), component) => | ||||
| 			 | ||||
| 				// Check if callssid* is in the path and skip if found | ||||
| 				if (component == s"$callssid*") { | ||||
| 					// Skip digipeating if callssid* is found | ||||
| 					return (lastUsedDigi, false) // Return the original path, do not modify | ||||
| 				} else if (!hasModified && (digipeaterPaths.exists(path => component.split("-")(0) == path) || digipeaterPaths.contains(component)) || component == callssid) { | ||||
| 									 | ||||
| 				} else if (!hasModified && (digipeaterPaths.exists(path => component.split("-")(0) == path) || digipeaterPaths.contains(component) || component == callssid)) { | ||||
| 					// We need to check if the first unused component matches digipeaterpath | ||||
| 					if (acc.isEmpty || acc.last.endsWith("*")) { | ||||
| 						// This is the first unused component | ||||
| 						component match { | ||||
| 	 | ||||
| 						 case w if w == callssid => | ||||
| 						 	 // If `callssid` is found (without *), replace with `callssid*` | ||||
| 							if (!hasModified) { | ||||
| 								(acc :+ s"$callssid*", true)							 | ||||
| 							} else { | ||||
| 								(acc :+ w, hasModified) // If already modified, keep `callssid` as-is | ||||
| 							}				 | ||||
| 							 | ||||
| 						  case w if w.matches(".*-(\\d+)$") => | ||||
| 							// Extract the number from the suffix | ||||
| 							val number = w.split("-").last.toInt | ||||
| 							// Decrement the number | ||||
| 							val newNumber = number - 1  | ||||
| 														 | ||||
| 							if (newNumber == 0) { | ||||
| 							if (newNumber == 0 || w == callssid) { | ||||
| 							  // If the number is decremented to 0, remove the component and insert callssid* | ||||
| 							  (acc :+ s"$callssid*", true) | ||||
| 							   | ||||
| 							} else { | ||||
| 							  // Otherwise, decrement the number and keep the component | ||||
| 							  val newComponent = w.stripSuffix(s"-$number") + s"-$newNumber" | ||||
|  |  | |||
		Ładowanie…
	
		Reference in New Issue
	
	 Mike
						Mike