Android: Отправить письмо в ГИБДД

Привет, Пикабу.

Это мое первое приложение под андроид, так что ожидается некоторое количество багов. Работает на Android 5.0 и новее. Работает только на территории РФ.

Введение.

Многих раздражает нарушение ПДД. В сети есть приложения, позволяющие пожаловаться на нарушения: Помощник Москвы, Spot. Я пользуюсь ими при возможности, но у них есть определенный минус: довольно маленький список обрабатываемых нарушений. Приведу пару особо раздражающих меня примеров:

1. Пересечение проезжих частей.

Android: Отправить письмо в ГИБДД Android, Приложение на Android, ГИБДД, Нарушение ПДД, Длиннопост

Довольно частая ситуация. Есть дорога, есть выезд с прилегающей территории (оформлен именно как выезд). Например, выезд из жилого массива. И есть мастер парковки, поставивший свою колесницу на стоянку вплотную к дороге. Чтобы продолжить движение по тротуару, пешеходу нужно пройти по газону либо выйти на дорогу. Одновременно с блокировкой тротуара мастер парковки перекрывает обзор другим водителям, выезжающим с прилегающей территории или пытающимся заехать.

В ПДД на данный момент нет однозначной трактовки, но пересечение выезда и дороги все-таки можно считать пересечением проезжих частей. Соответственно, мастер парковки нарушает пункт 12.4 ПДД, встав на стоянку ближе 5 метров от пересечения проезжих частей.

2. Знак аварийной остановки.

Android: Отправить письмо в ГИБДД Android, Приложение на Android, ГИБДД, Нарушение ПДД, Длиннопост

Другая типичная ситуация. На двухполосной дороге в зоне действия знака "остановка запрещена" водителю резко становится плохо, у него ломается машина, и он совершает вынужденную остановку.  Обычно как раз напротив ближайшего бухломаркета/шаурмячечной, но это просто совпадение. Водитель, в соответствии с пунктом 7.1 ПДД, включает аварийную сигнализацию и уходит. Поправив здоровье в бухломаркете, водитель возвращается к машине, чинит ее с помощью шаурмы и с чистой совестью уезжает. За время его отсутствия собирается пробка из пытающихся его объехать, но кого это беспокоит.

Предъявить водителю остановку в зоне действия знака проблематично, остановка же была вынужденной, а доказать обратное не представляется возможным. Но водитель благополучно забывает, что согласно пункту 7.2 он должен в описанном выше случае выставить знак аварийной остановки. Просто необходимо ему об этом напомнить.

Переходим к сути.

Об этих (и многих других) нарушениях можно писать на сайте ГИБДД (http://www.gibdd.ru/letter/ если кто-то не знает). Но я, например, существо ленивое. Нужно каждый раз выбирать свой регион, заполнять ФИО, контактные данные, указывать в тексте сообщения правильные пункты ПДД и статьи КОАП. Объем прикрепляемых файлов - всего 5 Мб, так что нужно либо перекидывать фотографии на комп и сжимать там, либо обрабатывать их на телефоне, а потом на телефоне же заполнять заявление. Печатать большие тексты на телефонной клавиатуре - то еще удовольствие.

Я решил упростить себе этот процесс, и в итоге угробил несколько месяцев на разработку приложения для телефона. Отлично сэкономил время, да. Итак, приложение.

Android: Отправить письмо в ГИБДД Android, Приложение на Android, ГИБДД, Нарушение ПДД, Длиннопост

Интересными будут два пункта меню: "Зафиксировать нарушение" открывает форму нового нарушения, "сохраненные нарушения" позволяет продолжить работу со старыми. Например, если не удалось отправить нарушение, потому что сайт ГИБДД не работал.

Android: Отправить письмо в ГИБДД Android, Приложение на Android, ГИБДД, Нарушение ПДД, Длиннопост

На следующем экране три вкладки. Первая - данные по нарушению. Марка и номер автомобиля вводятся вручную, дата и время выбираются. Нарушение и регион выбираются из списка. Список нарушений сейчас не очень большой, но планируется расширение. Адрес нарушения можно ввести вручную, но гораздо лучше выбрать на карте. В этом случае будут доступны еще и GPS-координаты. Кнопка с картинкой фотоаппарата позволяет открыть камеру прямо из приложения.

Android: Отправить письмо в ГИБДД Android, Приложение на Android, ГИБДД, Нарушение ПДД, Длиннопост

После клика по карте адрес подбирается автоматически через геокодирование. Обычно помогает Гугл, но иногда он не работает и на выручку приходит Спутник. Да, некоторые дома Спутник у меня находил лучше Гугла. Кнопка "Вернуть адрес" возвращает адрес и координаты в основное окно. При открытии карта старается переместиться к текущим координатам телефона (если передача геоданных включена), либо к месту последнего клика.

Android: Отправить письмо в ГИБДД Android, Приложение на Android, ГИБДД, Нарушение ПДД, Длиннопост

Вторая вкладка "Я". Здесь нужно заполнить свои данные, они будут использованы для заполнения формы на сайте. Последние введенные данные сохраняются на телефоне, я не передаю их на какие-то свои сервера и не использую ни для каких целей, кроме заполнения формы на сайте ГИБДД непосредственно из приложения.

Android: Отправить письмо в ГИБДД Android, Приложение на Android, ГИБДД, Нарушение ПДД, Длиннопост

Третья вкладка "Фото". Сюда добавляются фотографии, сделанные из приложения (кнопка с фотоаппаратом), либо добавленные кнопкой "Добавить файл". При нажатии на фото его можно открыть на полный экран или удалить из списка.

После заполнения всех полей и выбора нужных фото, можно "перейти к отправке".

Android: Отправить письмо в ГИБДД Android, Приложение на Android, ГИБДД, Нарушение ПДД, Длиннопост

В появившемся диалоге можно либо согласиться со сжатием изображений, либо вернуться и что-то изменить (перезаполнить поля, выбрать другие файлы и т.д.).

На данный момент файлы сжимаются в любом случае. Размер наибольшей стороны (ширины или высоты) ставится 1000 пикселей. Некоторым людям писали, что их фотографии нельзя считать доказательством, потому что на них нет даты, времени и координат. Поэтому при сжатии на изображение наносятся водяные знаки с датой и координатами GPS. Выглядит это примерно так. До:

Android: Отправить письмо в ГИБДД Android, Приложение на Android, ГИБДД, Нарушение ПДД, Длиннопост

После:

Android: Отправить письмо в ГИБДД Android, Приложение на Android, ГИБДД, Нарушение ПДД, Длиннопост

Также дата и координаты записываются в EXIF изображения. Именно поэтому желательно заполнять адрес через карту: координаты.

В результате автоматически заполняется форма на сайте ГИБДД.

Android: Отправить письмо в ГИБДД Android, Приложение на Android, ГИБДД, Нарушение ПДД, Длиннопост

Остается ввести капчу и нажать "отправить сообщение".

Желающие могут найти приложение по названию "Отправить письмо в ГИБДД" и значку:

Android: Отправить письмо в ГИБДД Android, Приложение на Android, ГИБДД, Нарушение ПДД, Длиннопост

Планы на далекое-далекое будущее:

1) Больше шаблонов нарушений.

2) Выгружать фотографии без сжатия на гугл-диск (далекое будущее).

3) Запись видео с наложением даты и координат (очень далекое будущее).

Вы смотрите срез комментариев. Показать все
Автор поста оценил этот комментарий

А для какого города?

раскрыть ветку (1)
Автор поста оценил этот комментарий
Теоретически для любого на территории РФ. Главное правильно выбрать регион и заполнить адрес.
Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку