mirror of
				https://github.com/commons-app/apps-android-commons.git
				synced 2025-10-31 06:43:56 +01:00 
			
		
		
		
	Nearby: Increase max radius from 100km to 300km
This commit is contained in:
		
							parent
							
								
									42a9c7d9bc
								
							
						
					
					
						commit
						7825a9945e
					
				
					 3 changed files with 14 additions and 6 deletions
				
			
		|  | @ -359,7 +359,7 @@ class OkHttpJsonApiClient @Inject constructor( | |||
|                         "\${LONG}", | ||||
|                         String.format(Locale.ROOT, "%.4f", queryParams.center.longitude) | ||||
|                     ) | ||||
|                     .replace("\${RAD}", String.format(Locale.ROOT, "%.2f", queryParams.radius)) | ||||
|                     .replace("\${RAD}", String.format(Locale.ROOT, "%.2f", queryParams.radiusInKm)) | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|  | @ -425,7 +425,7 @@ class OkHttpJsonApiClient @Inject constructor( | |||
|                     ).replace( | ||||
|                         "\${LONG}", String.format(locale, "%.4f", queryParams.center.longitude) | ||||
|                     ) | ||||
|                     .replace("\${RAD}", String.format(locale, "%.2f", queryParams.radius)) | ||||
|                     .replace("\${RAD}", String.format(locale, "%.2f", queryParams.radiusInKm)) | ||||
|             } | ||||
| 
 | ||||
|             is NearbyQueryParams.Rectangular -> { | ||||
|  |  | |||
|  | @ -147,7 +147,9 @@ public class NearbyPlaces { | |||
|             } | ||||
|         } | ||||
| 
 | ||||
|         int minRadius = 0, maxRadius = Math.round(Math.min(100f, Math.min(longGap, latGap))) * 100; | ||||
|         // minRadius, targetRadius and maxRadius are radii in decameters | ||||
|         // unlike other | ||||
|         int minRadius = 0, maxRadius = Math.round(Math.min(300f, Math.min(longGap, latGap))) * 100; | ||||
|         int targetRadius = maxRadius / 2; | ||||
|         while (minRadius < maxRadius) { | ||||
|             targetRadius = minRadius + (maxRadius - minRadius + 1) / 2; | ||||
|  | @ -156,8 +158,14 @@ public class NearbyPlaces { | |||
|             if (itemCount >= lowerLimit && itemCount < upperLimit) { | ||||
|                 break; | ||||
|             } | ||||
|             if (targetRadius > maxRadius / 2 && itemCount < lowerLimit / 5) { | ||||
|                 minRadius = targetRadius + (maxRadius - targetRadius + 1) / 2; | ||||
|             if (targetRadius > maxRadius / 2 && itemCount < lowerLimit / 5) { // fast forward | ||||
|                 minRadius = targetRadius; | ||||
|                 targetRadius = minRadius + (maxRadius - minRadius + 1) / 2; | ||||
|                 minRadius = targetRadius; | ||||
|                 if (itemCount < lowerLimit / 10 && minRadius < maxRadius) { // fast forward again | ||||
|                     targetRadius = minRadius + (maxRadius - minRadius + 1) / 2; | ||||
|                     minRadius = targetRadius; | ||||
|                 } | ||||
|                 continue; | ||||
|             } | ||||
|             if (itemCount < upperLimit) { | ||||
|  |  | |||
|  | @ -6,5 +6,5 @@ sealed class NearbyQueryParams { | |||
|     class Rectangular(val screenTopRight: LatLng, val screenBottomLeft: LatLng) : | ||||
|         NearbyQueryParams() | ||||
| 
 | ||||
|     class Radial(val center: LatLng, val radius: Float) : NearbyQueryParams() | ||||
|     class Radial(val center: LatLng, val radiusInKm: Float) : NearbyQueryParams() | ||||
| } | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 savsch
						savsch