public static LocationRequest createFromDeprecatedCriteria( Criteria criteria, long minTime, float minDistance, boolean singleShot) { int quality; if (minTime < 0) { minTime = 0; } if (minDistance < 0.0f) { minDistance = 0.0f; } switch (criteria.getAccuracy()) { case GL10.GL_TRUE /*1*/: quality = ACCURACY_FINE; break; case GL10.GL_LINE_LOOP /*2*/: quality = ACCURACY_BLOCK; break; default: switch (criteria.getPowerRequirement()) { case GL10.GL_LINE_STRIP /*3*/: break; } quality = POWER_LOW; break; } LocationRequest request = new LocationRequest() .setQuality(quality) .setInterval(minTime) .setFastestInterval(minTime) .setSmallestDisplacement(minDistance); if (singleShot) { request.setNumUpdates(1); } return request; }