Kotlin · 31 строк
Экран показывает курьера на карте, время до приезда и адрес доставки. CourierTracker — синглтон (object), subscribe возвращает Subscription с методом cancel(). api.loadOrder — suspend-функция, при отсутствии сети бросает IOException.
Отметьте строки с ошибками.
В работе: Экран заказа в доставке: его поворачивают, сворачивают и открывают из push.
Как проверяем
Нажмите на строку с ошибкой и коротко напишите, что не так. Баг засчитан, если отмечена хотя бы одна его строка. Зачёт — найдено не меньше 60 % багов с учётом серьёзности (критичный весит 3, обычный 2, мелкий 1), а лишних отметок не больше, чем багов в коде. Пустые строки, скобки и комментарии лишними не считаем. Ответ один на подход: после него показываем разбор.
Источник: Яндекс: мобильная разработка, секция «исправить ошибки в готовом коде». Условие пересказано своими словами.
Давали на собеседовании?
Ответов пока мало — ваш поможет.
class CourierTrackingActivity : AppCompatActivity() {private lateinit var map: MapViewprivate lateinit var etaText: TextViewprivate val api = DeliveryApi.create()override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_tracking)map = findViewById(R.id.map)val orderId = intent.getStringExtra("order_id")!!CourierTracker.subscribe(orderId) { position ->map.moveMarker(position.lat, position.lon)val minutes = position.etaSec / 60etaText.text = "Курьер будет через $minutes мин"}GlobalScope.launch {val order = api.loadOrder(orderId)findViewById<TextView>(R.id.address).text = order.address}}override fun onResume() {super.onResume()map.onResume()}override fun onPause() {map.onPause()super.onPause()}}