2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как установить курсор на андроид

Как облегчить управление Android-смартфоном с помощью курсора

Тренд на увеличение высоты дисплеев, которому оказались подвержены почти все производители смартфонов, по мнению многих потребителей, оказал негативное влияние на удобство взаимодействия с интерфейсом. Еще бы, ведь эквилибристика со смартфоном не только создает дополнительную нагрузку на пальцы, но и увеличивает риск непроизвольного выпадения аппарата из рук. Чтобы оградить своих клиентов от подобных неудобств, Apple придумала функцию Reachability, в отличие от Google, которая переложила эту обязанность на сторонних разработчиков.

Приложение Reachability Cursor от разработчиков студии NiftyUI переносит привычный пользователям компьютеров курсор на Android, который позволяет не тянуться до самых отдаленных элементов операционной системы и сторонних приложений вручную, а сделать это с помощью курсора.

Как добавить курсор на Android

После установки приложения на экране появляется небольшая округлая область, которая располагается с правого или левого края экрана и выполняет роль тачпада. Прикосновение к ней активирует курсор, который можно перемещать по интерфейсу, двигая палец с небольшой амплитудой. Как и реальный, программный тачпад обеспечивает не только перемещение курсора и нажатия, но и жесты прокручивания и длительные удерживания.

Статья в тему:  Как ограничить доступ в инстаграме андроид

Лично мне тачпад больше напомнил не режим Reachability, а виртуальную клавишу Home в iOS в рамках функции AssistiveTouch, которая тускнеет, если ей не пользоваться, и проявляется более отчетливо при использовании. Во многом такие ассоциации возникли из-за неприметности тачпада, который никоим образом не мешает взаимодействию с операционной системой, когда надобность в нем отсутствует.

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

Обсудить эту и другие новости Android можно в нашем Telegram-чате.

Приложение: Reachability Cursor

Разработчик: NiftyUI Категория: Инструменты Цена: Бесплатно Скачать: Google Play Приложением уже заинтересовались: 549 человек

Как заставить тачскрин андроида работать мышью?

  • Facebook
  • Вконтакте
  • Twitter

А вообще подобный вопрос висит и на StackExchange, увы, без однозначного ответа: android.stackexchange.com/questions/37769/on-scree.

Если расскажете подробнее про требуемый кейс использования, может быть вместе с коммьюнити удастся подобрать другой workaround для его решения

  • Facebook
  • Вконтакте
  • Twitter

Знаете, странно, что еще мало у кого возникла такая необходимость. Даже на моем windows mobile 6.1 было такое приложение, дающее полноценную мышь(мышиный курсор) в смартфон, которая, естественно, управлялась тачскрином. На 4pda народ тоже не очень знает как быть, и на нем, я поднял этот вопрос. Ссылку Вы у меня не спрашивали, но если интересно, то выложу. So.

Статья в тему:  Какой андроид на sony xperia z1

Случай вот какой. Есть мощный AINOL планшет с HDMI и с НЕработающей подсветкой дисплея, но исправным скринтачем. Есть шикарный lsd samsung к которому планшет и подключен и транслирует (вернее, транслировал в виде экспиремента) webtv. Samsung ранний, НЕ smart, а nuts)

Есть, пристарелые родители которые прекрасно управляются с windows на десктопе, но, которые не хотят никаких дополнительных пультов, пусть даже и с гироскопами.
Ранее и теперь, к самсунгу подключен простенький твбокс со своим, комплектным пультом. к тв боксу, так же была подключена 2,4 ггц мышь, и. И, все это лежит, потому что, получается целый технопарк из 2х пультов (от самсунга и от твбокса) и одной мыши.

Пультом от твбокса, можно подсвечивать выбранные обьекты на экране, но близорукость заставляет вглядываться на то, какой обьект имеет фокус. Внешняя мышь, спасает, но ей надо елозить обо что нибудь. В итоге, для всяких «давай поженимся» используется исправный GS700, а всё остальное, стоит выдернутым из розетки.

В случаях «посмотреть на большом экране» используется десктоп, и родителей вполне устраивает запустить онлайн трансляцию и прилечь с книжкой в руках фоном. И опять, и самсунг и твбокс стоят обесточенными.

С деньгами напряжение. Было бы чудесным и желанным завести на AINOL указатель мыши, неотключаемый, видимый, управляющийся с собственного тачскрина(по сути, получается тачпэд, или ТРЭКпэд), со всеми плюсами обычной, скрин мыши как например, указатель остается там, где его «бросили», долгое касание указателя = ПКМ, быстрое двойное = ЛКМ. в общем, тачскрин в режиме тачпада/трэкпэда. Ведь, на windows планшетах, на тех, на которых windows xp-w7(на других не видел) все именно так и есть.

Статья в тему:  Fastboot что это такое на андроид xiaomi

Условия таковы, что дополнительные затраты пока, невозможны. Т.е. купить, например, usb тачпэд я не могу. А именно, usb тачпэд/usb трэкпэд, идеально был бы подходящим к уже имеющемуся android tvbox’y. Но планшет, мощнее по всем параметрам, и у планшета, hid устройство уже есть, но, как его довести до ума. Баловство в режиме разработчика с параметрами «показывать касания» и «показывать координаты» не то и не те. Курсор невидим до момента касания, и не известно на чем и где находится тогда, когда касания скринтача нет.
upd.
вот, что я нашел здесь, у вас. Как решить проблему обработки событий тачскрина в Android?

Мышка для Android TV, Mouse for Android TV

Курсор,Указатель Мыши для Android TV с управлением штатным,стоковым пультом дистанционного управления.

Как известно,приложение Mouse Toggle for Android TV на устройствах с версией Android TV 8+ работает некорректно,вернее сказать работает только в случае если на пульте есть кнопка Play/Pause,к сожалению разработчик бросил поддерку приложения,но программа по-прежнему продается в Плей Маркете, еë так и не удалили,тем самым вводя людей в заблуждение,люди покупают приложение которое не работает на их устройствах,но не все знают что в течение определëнного времени деньги за покупку можно вернуть. Как говорится «Свято место пусто не бывает»,появилось новое подобное,бесплатное приложение которое называется MATVT-Mouse for Android TV Toggle. В настоящее время приложение ещë находится в разработке,но с последней версией пользоваться уже можно! С помощью этой программы можно управлять курсором,указателем мышки навигационными клавишами пульта Вверх,Вниз,ВлевоВправо,(Кольцо на пульте). В этой статье посмотрим как установить и настроить это приложение.

Статья в тему:  Можно ли поставить чистый андроид

Для скачивания APK файлов и установки приложений на устройства Android TV необходимо из Плей Маркета установить программу “Downloader”,

На Android TV 5-7 в настройках устройства,в разделе “Безопасность”,необходимо активировать опцию “Разрешить установку из неизвестных источников”,на Android TV 8+ в приложении будет предложено “Разрешить установку из этого источника”,если этого не произошло,так же надо открыть настройки устройства и предоставить разрешение приложению.При первом запуске “Downloader” необходимо дать разрешение для доступа к памяти устройства,это будет предложено в приложении,

Для скачивания APK файлов с дальнейшей установкой приложений в адресную строку необходимо ввести ссылку на установочный APK файл приложения которое необходимо установить,не путаем заглавные и строчные буквы,в ссылке не должно быть пропусков, в новой версии “Downloader” http:// вводить не обязательно,

  • MATVT-app-release-v1.0.6 : http://ccl.su/uzWR
  • MATVT-app-release-v1.0.5 : http://ccl.su/d6CR

Открываем Программу,

Открываем «Setup Permissions»,

«Показывать поверх других приложений«,далее нажимаем кнопку «Назад«,

Активируем «Mouse Toggle Service«,нажимаем кнопку «Назад»,возвращаемся в приложение,Если из программы, ( Характерно для Android TV 9+ ),не получилось предоставить зти разрешения посмотрим как это всë сделать в настройках устройства,

Открываем «Настройки Устройства«,

Далее «Приложения«,

Открываем «Специальный доступ«,

Открываем «Поверх других приложений«,в дальнейшем,если система будет выгружать приложение из памяти, ( Закрывать приложение ),необходимо будет открыть первй пункт «Экономия энергии» и отключить у программы «Экономию энергии»,

Статья в тему:  Как совершать бесплатные покупки в играх на андроид

Включаем ползунок,( Триггер ),в положение вкл.,кнопкой «Назад » возвоащаемся в настройки устройства,

Открываем «Настройки устройства«,

Далее открываем «Специальные возможности»,

Активируем службу «Mouse Toggle Service«,

Перемещаем ползунок ( Триггер ) в положение ВКЛ.,

Подтверждаем «ОК«,

Возвращаемся к приложению,

  • 1 Изменить размер указателя,курсора,Влево меньше,Вправо больше
  • 2 Изменить скорость прокрутки,Влево быстрее,Вправо медленнее
  • 3 Изменить цвет указателя,курсора
  • 4 Граница экрана ( Не даëт указателю прокрутиться через экран,пропал внизу,появился вверху )
  • 5 Полноразмерный пульт ( Пример пульт ТВ,много кнопок,управление указателем цветными кнопками,если обычный пульт,галочку не ставить )
  • 6Долгое нажатие ( Если на пульте нет лишних кнопок галочку не ставим,на назначенной кнопке по короткому нажатию будет срабатывать стандартное действие,при удержании активироваться указатель )
  • 7 Активировать код кнопки ( Необходимо на пульте выбрать кнопку и указать еë код ниже,указатель мышки будет активироваться назначенной кнопкой )
  • 8 Ввести код выбранной кнопки ( По умоччанию 164, это кнопка ОТКЛ.ВКЛ. Звука )

В общем,выбираем на пульте кнопку которой не пользуемся,вводим код этой кнопки, нажимаем «SAVE«,указатель,курсор будет активироваться нажатием на эту кнопку,если на пульте нет лишних кнопок,смотри пункт 6.По умолчанию установлен код 164 это ОТКЛ.,ВКЛ.звука,если на пульте присутствует данная кнопка,код нужно оставить без изменений,просто нажав «SAVE«,указатель будет активироваться нажатием на эту кнопку.На MI BOX S можно выбрать кнопку Панель,( Меню ),Приложений,кнопка находится слева под кольцом.На этом устройстве,на пульте,я выберу кнопку «Меню«,код 82.

Статья в тему:  Когда вышла гта сан андреас на андроид

Ввëл код 82,далее «SAVE«, кнопкой «Назад«выходим из программы,

Нажимаем на назначенную кнопку,функция указателя активирована,

Нажимаем на кнопку ещë раз,активирована функция прокрутки,

Нажатием на кнопку в третий раз возвращаемся к управлению пультом,

Открываем Google Chrome,

Нажимаем на назначенную кнопку,пользуемся.

Cursor

Изучим объект Cursor. Не путайте его с курсором мыши, который бегает у вас на экране.

Работа с курсором

  • Курсор — это набор строк в табличном виде
  • Для доступа курсора вы должны использовать метод moveToFirst(), так как курсор размещается перед первой строкой
  • Вы должны знать названия столбцов
  • Вы должны знать типы столбцов
  • Все методы доступа к массивам основываются на номере столбца, поэтому сначала нужно преобразовать название столбца в номер столбца
  • Курсор является случайным (random cursor) — вы можете переходить вперед, назад и со строки на строку
  • Поскольку курсор является случайным, у него можно запрашивать количество строк (row count)

Класс Cursor содержит немало возможностей для навигации (но не ограничивается только ими):

  • moveToFirst() — перемещает курсор на первую строку в результате запроса;
  • moveToNext() — перемещает курсор на следующую строку;
  • moveToLast() — перемещает курсор на последнюю строку;
  • moveToPrevious() — перемещает курсор на предыдущую строку;
  • getCount() — возвращает количество строк в результирующем наборе данных;
  • getColumnIndexOrThrow() — возвращает индекс для столбца с указанным именем (выбрасывает исключение, если столбец с таким именем не существует);
  • getColumnName() — возвращает имя столбца с указанным индексом;
  • getColumnNames() — возвращает массив строк, содержащий имена всех столбцов в объекте Cursor;
  • moveToPosition() — перемещает курсор на указанную строку;
  • getPosition() — возвращает текущую позицию курсора
Статья в тему:  Где apk в андроид

Также Android предоставляет следующие методы:

  • isBeforeFirst()
  • isAfterLast() — полезный метод, сигнализирующий о достижении конца запроса. Используется в циклах
  • isClosed()

И другие методы, о которых можно узнать в документации или из примеров.

Курсор обязательно следует закрывать методом close() для освобождения памяти.

Наглядно о курсорах

Чтобы было проще понять, что такое курсоры, представляйте их в виде таблицы. Пусть у нас есть таблица из столбцов: _id (идентификатор) и catname (имя котов). Допустим, мы ввели в базу имена четырех котов и таблица базы данных выглядит таким образом:

_idcatname
1Мурзик
2Васька
3Барсик
4Рыжик

Как было сказано выше, при работе с курсорами необходимо вызвать метод moveToFirst() (перейти к первой строке), после чего таблица будет выглядеть следующим образом:

_idcatname
1Мурзик
2Васька
3Барсик
4Рыжик

Как видите, после вызова метода первая строчка таблицы подсвечена. Именно данные этой строки и содержит сейчас курсор. Можно проверить следующим образом. Добавим новую кнопку в проект и напишем код:

На первой строке содержатся данные 1, Мурзик. Мы не знаем, как хранятся данные в курсоре, но нам это и не нужно. С помощью метода getColumnIndex() с указанием имени колонки мы можем извлечь данные, которые хранятся в них.

Теперь вызовем метод moveToNext() (перейти к следующей строке). Таблица будет выглядеть уже так:

_idcatname
1Мурзик
2Васька
3Барсик
4Рыжик
Статья в тему:  Как подключить мтс тв на андроид

Код для проверки:

Если вызвать метод moveToNext() ещё раз, то переместимся на третью позицию. А теперь представьте ситуацию, что у нас в базе более ста котов, и чтобы узнать имя 85-го кота, нам придётся 85 раз вызывать метод. Не удобно. К счастью, есть метод moveToPosition() (перейти в позицию), в котором сразу можно указать нужную строку (отсчет идет от 0):

А таблица выглядит уже так:

_idcatname
1Мурзик
2Васька
3Барсик
4Рыжик

Надеюсь, вы поняли общий принцип работы с курсором. Теперь вы можете понять, как выглядит курсор после вызова метода moveToLast() (перейти на последнюю запись).

Если нам надо получить имена всех котов из таблицы базы данных, то нужно последовательно вызывать методы moveToNext(). Это проще сделать через цикл. Условием для остановки цикла является проверка возвращаемого значения метода. Если вернётся значение false, значит мы дошли до конца таблицы. В данном случае не нужно вызывать метод moveToFirst(), чтобы не пропустить первую запись:

Цикл можно переписать по другому. Метод isAfterLast() возвращает true, когда курсор с последней записи пытается переместиться в никуда. А пока курсор возвращает false, можно двигать его на следующую позицию. Пример будет выглядеть так:

В примерах мы извлекали строковое значение записи через метод getString():

По аналогии можно получить числовое значение, например, номер ресурса изображения.

Статья в тему:  Как изменить меню выключения андроид

Думаю, приведённых примеров достаточно, чтобы понять с чем едят курсоры. Они совсем не страшные.

Устаревшие методы (deprecated)

Начиная с Android 3.0, многие методы для работы с курсором считаются устаревшими.

  • startManagingCursor()
  • stopManagingCursor()
  • managedQuery()
  • reQuery()

При использовании устаревших методов вы можете получить исключение типа:

Кроме того, студия будет подчёркивать устаревшие методы, от которых желательно избавляться в новых проектах.

Наиболее распространён метод managedQuery(), в сети постоянно натыкаюсь на примеры с использованием данного метода.

Обычно, код выглядит следующим образом:

Данный код следует переработать следующим образом:

Метод reQuery() следует заменить на вызов LoaderManager.

Класс CursorLoader и связанный с ним LoaderManager гарантируют, что запросы будут выполняться асинхронно.

Мне пока не приходилось использовать данный приём в своей практике, поэтому просто скопирую из других источников:

  • реализуйте интерфейс в вашем классе как LoaderManager.LoaderCallbacks
  • в методе onCreate() инициализируйте loader как First implement the interface in your class as getLoaderManager().initLoader(0, null, this);
  • вместо reQuery используйте getLoaderManager().restartLoader(0, null, this);
  • переопределите три метода onCreateLoader(), onLoadFinished(), onLoaderReset()

MatrixCursor

Иногда попадаются примеры с использованием класса MatrixCursor. Сам пока не изучал, оставлю вам в качестве домашнего задания. Небольшой пример на память:

Подключение мыши к андроид планшету.

Планшет поддерживает подключение беспроводной мыши и отображает на экране курсор, но беда в том, что при размере экрана 7 дюймов — маленький курсорчик, да ещё и тёмного цвета становится очень не удобным для работы на тёмном фоне интерфейса и часто теряется из виду. Может ли кто-то посоветовать возможные варианты
Как изменить размер курсора ?
как изменить цвет курсора ?
Или может любой другой совет по данной теме, как сделать управление мышью более комфортным .Планшет установлен в автомобиле. Теперь наглядно о наболевшем :

Статья в тему:  Duo на андроид что это

Комментарии 11

а что за планшет?

А зачем подключать мышь к планшету?

Вопрос не по теме, но отвечу: Для удобства пользования в автомобиле как для передних, так и для задних пассажиров. Планшет встроен в панель приборов. Перелистывание сотен треков и видео не удобно через контакт с экраном, приходится долго держать руку в вытянутом положении. Оставляются следы на экране и его нужно постоянно протирать от пальцев. Пассажир сзади может управлять видео и музыкой не перелазя через голову водителя, ведь в дороге это изделие только как навигатор — для водителя, а в остальном для пассажиров. И ещё много аспектов, которые поймёшь только в моменты эксплуатации в автомобиле при встроенном планшете.

Да у меня у самого нексус в машине стоит, но я как-то не задумывался о мышке, правда у меня треки можно кнопками на руле переключать.

Ну я не знаю как в папке включить с кнопки например 456ой трек. А как прокрутить колесо мыши за две секунды — знаю.

Приветствую. Как Вариант можно сменить курсор мыши на более комфортабельный. Скорей всего, для начала, придется получить root-права, и установить нормальный файловый менеджер.
Курсор можно сменить на любой, маленький-большой, цветастый и тому подобное.

«Курсор находится в файле root/system/framework/framwork-res.apk, в нем в папке res/mdpi. Копируете этот файл на компьютер, распаковываете эту папку с помощью WinRar, ищете в ней изображение курсора, изменяете его как вам угодно с помощью фотошоп или любого другого редактора png, закидываете этот файл в ту же папку в файле framework-res.apk, выбрав при этом «Параметры сжатия» — «Без сжатия». Файл готов. Теперь его нужно разместить туда, где он лежал. Для этого нужен рут.»

Статья в тему:  Где apk в андроид

Скорей всего, сейчас у Вас размер курсора 16х16 пикселей. Можно воткнуть 32х32. Или 24х24. Поэкспериментируйте. Могу даже сделать курсор в виде логотипа Nissan)

Большое спасибо. Этот ответ я нашёл через поисковик, но планшет пока гарантийный и рут не светит ещё хотя бы год. Если раньше озадачусь вопросом, то обязательно обращусь. Не знаю как поведёт себя 7777 геовижин при рутировании:(

Root-права не снимает гарантию, это набор программ, удалили и все стало как было. Я еще не слышал, что бы гарантия от установленной программы слетала. Тут есть почти все 4pda.ru/, возможно и уже готовый файл и инструкция как получить рут.

Спасибо, сейчас посмотрю. У нас рутированный телефон или планшет никто не берёт по гарантии.

Удали программы и нет рут.

Большое спасибо. Этот ответ я нашёл через поисковик, но планшет пока гарантийный и рут не светит ещё хотя бы год. Если раньше озадачусь вопросом, то обязательно обращусь. Не знаю как поведёт себя 7777 геовижин при рутировании:(

Привет, рут-права не влияют на гарантию. Вы всегда сможете удалить рут-права одним нажатием. Или просто-напросто скрыть следы установки прав. Как поведет? Кстати, какая версия андроида?

Инструкции

  • 8 декабря 2018
  • Инструкции

С выходом новой версии телевизионной операционной системы сторонние ТВ-пульты практически перестали нормально работать на платформах Xiaomi Mi Box и Nvidia Shield TV. А всё потому, что в новой версии прошивки переназначили значение кнопки «Назад», и теперь стандартная кнопка «Назад» не работает, причём абсолютно.

Статья в тему:  Как подключить мтс тв на андроид

Владельцы ТВ-приставок с «андроидом» оказались заложниками положения: даже когда хочется пользоваться сторонними приложениями, делать это без корректно работающей аэромыши всё равно не получается.

Как же быть? Решение есть.

Активируем курсор мыши на ТВ-пульте и исправляем ситуацию

Внеся парочку исправлений, можно управлять курсором с помощью навигационного кольца и кнопки, которая находится внутри него. Чтобы сделать это, достаточно установить приложение Mouse Toggle для Android TV.

Скорее всего, вы будете немного расстроены, узнав, что приложение это в Play Market является платным. Однако достаточно приложить немного усилий, чтобы найти бесплатный аналог такого приложения в виде самостоятельного APK-архива. Скачать его можно по этой ссылке: https://goo.gl/d1oiAX.


Итак, приступим. Активировать курсор вы сможете, располагая стандартным ТВ-пультом и не приобретая никаких дополнительных устройств.

Вот так выглядит приложение Mouse Toggle в каталоге Play Market. Оно стоит порядка $3:


Если вы устанавливаете его из APK-файла, то достаточно использовать любую флешку. Скопируйте файл на неё, вставьте флешку в USB-порт на приставке. После этого используйте любой файловый менеджер — встроенный или другой, который вам по душе:

Запустите APK-файл и подождите, пока пройдёт установка. Обычно на это требуется несколько секунд.


После этого запустите приложение Mouse Toggle из главного меню. Вы увидите перед собой вот такой экран:


Пусть он вас не пугает и не кажется чересчур сложным. На самом деле активировать курсор будет предельно легко:

Статья в тему:  Когда вышла гта сан андреас на андроид

— Откройте системные настройки с помощью пункта Open System Settings.
— Выберите пункт Mouse Toggle


— Нажмите «Включить».


— Подтвердите с помощью пункта OK.


Готово! Курсор активирован. Теперь вы можете пользоваться своим стандартным пультом Xiaomi или Nvidia, как полноценной мышью.

Как пользоваться курсором: всё, что вам нужно знать

Итак, курсор есть. Давайте разберёмся, как им пользоваться.

Возможно, вам поначалу будет слегка непривычно, что при клике по значку приложения в меню теперь отображается небольшое субменю. Вот такое:


Пункты «Открыть» и «Переместить» сделаны, чтобы вы могли полноценно использовать доступный теперь режим мыши.

В качестве примера можно рассмотреть приложение Aptoid TV.


Чтобы активировать курсор мыши, достаточно нажать на пульте клавиши «минус», «плюс»:

После этого сразу появится курсор. Чтобы перемещать его, задействуйте кольцо. Чтобы сделать клик курсором, нажмите кнопку, расположенную внутри кольца. Как видите, действительно очень просто.

Обратите внимание: в главном меню ничего не получится сделать, когда активирован режим курсора. Причина в том, что Android TV 8 не поддерживает мышь. Так что придётся сперва вернуться в режим без курсора. Сделать это тоже очень просто: нажмите на ТВ-пульте кнопку «Домой».

Курсор исчезнет, и вы будете управлять интерфейсом точно так же, как делали это раньше.
Подведём итог.

Теперь вы можете пользоваться любыми приложениями, ни в чём себя не ограничивая:

Статья в тему:  Как ограничить доступ в инстаграме андроид

— Когда интерфейс требует, чтобы поддерживалась мышь, вызовите курсор. После этого используйте кольцо и расположенную внутри него кнопку.
— Как только потребовался стандартный для Android TV режим, уберите курсор кнопкой «Домой» и используйте ТВ-пульт в прежнем режиме.

Теперь вам не придётся идти на поводу у пристрастий разработчиков Google. Владея приставкой Xiaomi Mi Box (3, S, KM8, KM9) или Nvidia Shield TV, вы можете не раскошеливаться на аэромышь или стандартную мышь — установить небольшое приложение Mouse Toggle будет значительно проще

Задавайте свои вопросы про гаджеты и напишите, что вы думаете по этому поводу. Мы постараемся ответить на все вопросы и учтем ваше мнение в будущих обзорах.

Ссылка на основную публикацию
Статьи c упоминанием слов:
Adblock
detector