diff --git a/app/src/main/java/code/name/monkey/retromusic/helper/LastChanceHandler.kt b/app/src/main/java/code/name/monkey/retromusic/helper/LastChanceHandler.kt new file mode 100644 index 00000000..bd0ecd9e --- /dev/null +++ b/app/src/main/java/code/name/monkey/retromusic/helper/LastChanceHandler.kt @@ -0,0 +1,38 @@ +package code.name.monkey.retromusic.helper + +import android.content.Intent +import androidx.core.app.ActivityCompat +import code.name.monkey.retromusic.App +import code.name.monkey.retromusic.ui.activities.ErrorHandlerActivity + +class TopExceptionHandler() : Thread.UncaughtExceptionHandler { + private val defaultUEH: Thread.UncaughtExceptionHandler = Thread.getDefaultUncaughtExceptionHandler() + + override fun uncaughtException(t: Thread, e: Throwable) { + var arr = e.stackTrace + var report = e.toString() + "\n\n" + report += "--------- Stack trace ---------\n\n" + for (i in arr.indices) { + report += " " + arr[i].toString() + "\n" + } + report += "-------------------------------\n\n" + + // If the exception was thrown in a background thread inside + // AsyncTask, then the actual exception can be found with getCause + + report += "--------- Cause ---------\n\n" + val cause = e.cause + if (cause != null) { + report += cause.toString() + "\n\n" + arr = cause.stackTrace + for (i in arr.indices) { + report += " " + arr[i].toString() + "\n" + } + } + report += "-------------------------------\n\n" + ActivityCompat.startActivity(App.context, Intent(App.context, ErrorHandlerActivity::class.java) + .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) + .putExtra("error", report), null) + defaultUEH.uncaughtException(t, e) + } +} \ No newline at end of file diff --git a/app/src/main/java/code/name/monkey/retromusic/ui/activities/ErrorHandlerActivity.kt b/app/src/main/java/code/name/monkey/retromusic/ui/activities/ErrorHandlerActivity.kt new file mode 100644 index 00000000..42019bc4 --- /dev/null +++ b/app/src/main/java/code/name/monkey/retromusic/ui/activities/ErrorHandlerActivity.kt @@ -0,0 +1 @@ +package code.name.monkey.retromusic.ui.activities import android.content.ActivityNotFoundException import android.content.Intent import android.net.Uri import android.os.Bundle import androidx.appcompat.app.AppCompatActivity import kotlinx.android.synthetic.main.activity_error_handler.* class ErrorHandlerActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(code.name.monkey.retromusic.R.layout.activity_error_handler) clearAppData.setOnClickListener { try { val intent = Intent(android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS) intent.data = Uri.parse("package:$packageName") startActivity(intent) } catch (e: ActivityNotFoundException) { val intent = Intent(android.provider.Settings.ACTION_MANAGE_APPLICATIONS_SETTINGS) startActivity(intent) } } sendCrashLog.setOnClickListener { val sendIntent = Intent(Intent.ACTION_SEND) val subject = "Error report" val body = intent.getStringExtra("error") sendIntent.putExtra(Intent.EXTRA_EMAIL, arrayOf("monkeycodeapp@gmail.com")) sendIntent.putExtra(Intent.EXTRA_TEXT, body) sendIntent.putExtra(Intent.EXTRA_SUBJECT, subject) sendIntent.type = "message/rfc822" startActivity(Intent.createChooser(sendIntent, "Send crash log")) deleteFile("stack.trace") } showCrashError.text = String.format("%s", intent.getStringExtra("error")) } } \ No newline at end of file diff --git a/app/src/main/java/code/name/monkey/retromusic/ui/activities/base/AbsCrashCollector.kt b/app/src/main/java/code/name/monkey/retromusic/ui/activities/base/AbsCrashCollector.kt new file mode 100644 index 00000000..3eee75ea --- /dev/null +++ b/app/src/main/java/code/name/monkey/retromusic/ui/activities/base/AbsCrashCollector.kt @@ -0,0 +1,12 @@ +package code.name.monkey.retromusic.ui.activities.base + +import android.os.Bundle +import code.name.monkey.appthemehelper.ATHActivity +import code.name.monkey.retromusic.helper.TopExceptionHandler + +abstract class AbsCrashCollector : ATHActivity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + Thread.setDefaultUncaughtExceptionHandler(TopExceptionHandler()) + } +} \ No newline at end of file diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml new file mode 100644 index 00000000..97b8a30e --- /dev/null +++ b/app/src/main/res/values-bg/strings.xml @@ -0,0 +1,392 @@ + + + Акцентен цвят + Акцентен цвят на темата, по подразбиране изумруден + Системни + Добави към любими + Добави към опашката + Добави към плейлист... + Изчисти опашката + Изчисти плейлист + Изтрий + Изтрий от устройството + Подробности + Към албума + Към изпълнителя + Към жанра + Към началната директория + Позволи + Размер на мрежата + Размер на мрежата (хоризонтално) + Следващ + Пусни + Пусни следващ + Пусни/Спри + Предишен + Премахни от любими + Премахни от опашката + Премахни от плейлист + Преименувай + Запази опашката + Сканирай + Сканирай директория + Търси + Старт + Задай като мелодия на звънене + Задай като стартова директория + "Настройки" + Сподели + Разбъркай всички + Разбъркай плейлист + Таймер на заспиване + Ред на сортиране + Редактор на етикети + Адаптивен + Добави + Добави \nснимка + "Добави към плейлист" + "Добавено 1 заглавие към опаката." + Добавени %1$d заглавия към опашката. + Албум + Изпълнител на албума + Липсва заглавие или изпълнител. + Албуми + + Винаги + Научи повече за този музикален плейър на: https://play.google.com/store/apps/details?id=%s + + @string/last_added + @string/last_added + @string/action_shuffle_all + Разбъркай + @string/my_top_tracks + Любими песни + Retro music - Голям + Retro music - Карта + Retro music - Класически + Retro music - Малък + Изпълнител + Изпълнители + Аудио фокус отказан. + Промени настройките на звука и настрой контролите на усилвателя + Усилване на баса + Биография + Просто черно + Черен списък + Замъглено + Замъглена карта + Дръж екрана включен + Имайте предвид, че тази настройка може да повлияе на батерията. + Количество на замъгленост + Количество на замъгленост при темите, колкото по-ниско, толкова по-бързо + Отмени + Карта + Оцветена карта + Кръг + Изображение + Карта + Предавай + Списък с промените + Списък промените в Telegram канала + Изчисти + Изчисти черен списък + Изчисти плейлист + %1$s? \u0422\u043e\u0432\u0430 \u043d\u0435 \u043c\u043e\u0436\u0435 \u0434\u0430 \u0431\u044a\u0434\u0435 \u043e\u0442\u043c\u0435\u043d\u0435\u043d\u043e!]]> + Затвори + Цвят + Цвят + Цветове + \u041d\u0435\u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0441\u044a\u0437\u0434\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u043f\u043b\u0435\u0439\u043b\u0438\u0441\u0442. + "\u041d\u0435\u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0438\u0437\u0442\u0435\u0433\u043b\u044f\u043d\u0435 \u043d\u0430 \u043a\u043e\u0440\u0438\u0446\u0430 \u043d\u0430 \u0430\u043b\u0431\u0443\u043c\u0430." + Неуспешно възстановяване на покупката. + Неуспешно сканиране на %d файлове. + Създай + Създай плейлист %1$s. + Членове и сътрудници + В момента се слуша %1$s от %2$s. + Малко тъмно + Без текст + Изтрий плейлист + %1$s?]]> + Изтрий плейлисти + %1$s?]]> + %1$d плейлисти?]]> + %1$d песни?]]> + Изтрити %1$d песни. + Discord + Присъедини се към Discord сървъра за актуални новини + Да се изчисти ли черният списък? + %1$s от черния списък?]]> + Дарения + Ако смяташ, че заслужавам яка пачка за това яко приложение, може да пуснеш +пара ей тука + Купи ми: + Свали от Last.fm + Редактирай корица + Празно + Усилвател + Често задавани въпроси + Любими + Плосък + Папки + За теб + Пълно + Смени темата и цветовете на приложението + Изглед и усещане + Жанр + Жанрове + Подкрепи проекта в GitHub + Присъедини се към Google Plus общността, където можеш да поискаш помощ и да следиш за Retro Music актуализации + 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + История + Начало + Промени настройките за изтегляне на изображения на изпълнителите + Добавени %1$d песни в плейлист %2$s. + Instagram + Сподели твоят Retro Music изглед в Instagram + Bitrate + Формат + Име на файл + Местонахождение на файла + Размер + Размер на използване + Дължина + Последно добавени + Да послушаме малко музика + Библиотека + Лицензи + Очевидно бяло + Файлове + Зареждане на продукти... + Текст + Материален + Моето име + Най-слушани + Никога + Нова снимка на корицата + Нов плейлист + Нова профилна снимка + %s е новата начална директория. + Няма албуми + Няма изпълнители + "Първо пусни песен, след това опитай отново." + Не е намерен усилвател + Няма жанрове + Не е намерен текст + Няма плейлисти + Не е намерена покупка. + Няма резултати + Няма песни + Нормален + Нормален текст + Нормален + %s не е намерен в медия магазина.]]> + Нищо за сканиране. + Известие + Персонализирай стила на известията + Сега се слуша + Опашка на слушане + Само през Wi-Fi + Други + Последните 3 месеца + PayPal.me + PayPal.me is an easy way to donate me money. In case you only linked a debit or a credit card the fee in the U.S. is 2.9% of the donation + $0.30 USD. Otherwise, there is no fee.more + Достъп до вътрешната памет отказан. + Достъп отказан. + Персонализирай. + Персонализирай контролите за слушане и потребителски интерфейс + Избери от паметта + Изчистен + Известието на слушане дава възможност за пускане/спиране и т.н. + Известие на слушане + Празен плейлист + Плейлист е празен. + Име на плейлист + Плейлисти + Аудио + Тема + Изображения + Заключен екран + Плейлисти + "Наличен единствено в Lollipop." + Използвай корицата на настоящата песен като фон на заключен екран + Понижи звука, когато бъде получен звук от системата или известие + Замъгли корицата на албума на заключения екран. Може да причини проблеми с други приложения и уиджети. + Ефект на въртележка за корицата на албума. Имайте предвид, че темите Карта и Замъглена карта няма да работят + Използвай класическия дизайн на известията + Цветовете на фона и бутоните на контрол се променят спрямо корицата на албума на настоящата песен + Оцветява преките пътища на приложението в акцентния цвят. При всяко променяне на цвета включете и изключете тази опция наново за ефекта. + Оцветява навигационния бар в главния цвят + "\u041e\u0446\u0432\u0435\u0442\u044f\u0432\u0430 \u0438\u0437\u0432\u0435\u0441\u0442\u0438\u0435\u0442\u043e \u0432 \u043d\u0430\u0439-\u044f\u0440\u043a\u0438\u044f \u0446\u0432\u044f\u0442 \u043d\u0430 \u043a\u043e\u0440\u0438\u0446\u0430\u0442\u0430 \u043d\u0430 \u0430\u043b\u0431\u0443\u043c\u0430" + Преобладаващият цвят ще бъде избран от корицата на албума или на изпълнителя + "Може да причини проблеми на някои устройства." + Може да увеличи резолюцията на корицата, но води до по-бавно зареждане на изображението. Включете единствено ако имате проблем с корици с ниска резолюция + Използвай персонализираните контроли за заключен екран на Retro Music + Детайли за лиценз за софуер с отворен източник + Заобли ъглите на приложението + Покажи заглавията на долните навигационни раздели + Пълен екран + Пусни музиката веднага след включване на слушалки + Режимът на разбъркване ще се изключи при пускане на списък с нови песни + Ако има достатъчно пространство, контроли за звука ще бъдат показани на екрана + Добави допълнителни контроли за мини-плейъра + Покажи раздел с жанрове + Покажи стил на начална корица + Покажи корица на албум + Режим на заглавия на раздели + Мрежа на албум + Оцветени преки пътища на приложение + Мрежа на изпълнител + Намали звук при загуба на фокус + Изтегляй автоматично изображение на изпълнителя + Замъгли корицата на албума + Избери усилвател + Класически дизайн на известие + Адаптивен цвят + Оцветено известие + Слушане без пауза + Тема на приложението + Игнорирай кориците от медийния магазин + Интервал на плейлист с последно добавени песни + Контроли за пълен екран + Оцветена навигационна лента + Тема на екран с песен + Лицензи за отворен източник + Заострени ъгли + Ефект на въртележка + Преобладаващ цвят + Приложение на пълен екран + Заглавия на раздели + Автоматично пускане + Режим на разбъркване + Контроли за звука + Информация на потребител + Допълнителни контроли + Начална корица + Покажи раздел за жанрове + Начална мрежа на изпълнители + Стил на корица на албуми на екрана с песен + Каскаден + Основен цвят + Основният цвят на темата, по подразбиране сиво-син, засега работи с тъмни цветове + Купи + *Мисли преди да купиш, не моли за пари обратно. + Опашка + Оцени приложението + Love this app? Let us know in the Google Play Store how we can make it even better + Скорошни албуми + Скорошни изпълнители + Премахни + Премахни снимка на корица + Премахни корица + Премахни от черен списък + Премахни профилна снимка + Премахни песен от плейлист + %1$s от плейлиста?]]> + Премахни песни от плейлист + %1$d песни от плейлиста?]]> + Преименувай плейлист + Възстанови първоначалното изображение на изпълнител + Възстанови + Възстановена предишна покупка. Моля, рестартирайте приложението, за да можете да се възползвате от всички свойства. + Възстановени предишни покупки. + Възстановяване на покупка... + Retro Music Усилвател + + + Запази като файл + Запази като файлове + Плейлист запазен в %s. + Запазване на промените + Сканиране на файловете + Сканирани %1$d от %2$d файла. + Търсене в библиотеката ти... + Избери всички + Избери снимка за корица + Задай снимка на изпълнител + Разбъркай + Семпъл + Таймерът на заспиване беше отменен. + Таймерът на заспиване е зададен на %d минути от сега. + Социални + Песен + Продължителност на песен + Песни + Ред на сортиране + Покачващ се + Албум + Изпълнител + Дата + Година + Намаляващ + Съжалявам, но устройството не поддържа гласово въвеждане + Търсене в библиотеката + Покажи името ти на началния екран + Подкрепа на разработката + Синхронизиран текст + Системен усилвател + + Telegram + Join the Telegram group to discuss bugs, make suggestions, show off and more + Благодаря! + Аудио файлът + Този месец + Тази седмица + Тази година + Миниатюрен + Контролно табло + Лек следобед + Добър ден + Добър вечер + Добро утро + Лека нощ + Как е името ти + Днес + Топ албуми + Топ изпълнители + "Песен (2 за песен 2 или 3004 за CD3 песен 4)" + Номер на песен + Превод + Помогни да преведем приложението на твоя език + Twitter + Сподели дизайна си с Retro Music + \u041f\u0435\u0441\u0435\u043d\u0442\u0430 \u043d\u0435 \u043c\u043e\u0436\u0430 \u0434\u0430 \u0441\u0435 \u0438\u0437\u043f\u044a\u043b\u043d\u0438. + Следва + Обнови изображение + Обновява се... + Версия + Виртуализатор + Уеб търсене + Какво искаш да споделиш? + Прозорец + Задай %1$s като тон на звънене. + %1$d избрано + Година + Направено с ❤️ в Индия + Изчисти данните от приложението + Възникна неочаквана грешка. Съжалявам, че намери този бъг, ако проблемът продължава +\"Изчисти данните от приложението\" + Грешка + Основна цветова тема + 9+ теми на екрана с песен + Ефект на въртележка на екрана с песен + Заоблени ъгли + Тема на корица на албум + Кръгъл + Въртележка + Персонализирай екрана с песен + Пълна карта + Профил + Биография + Авто + С етикет + Без етикет + Избран +