mirror of
https://github.com/ImranR98/Obtainium.git
synced 2025-07-13 05:16:43 +02:00
Merge pull request #2247 from ImranR98/dev
- Remove Oxford comma (#2245) - Show error dialog box when error notification tapped (#2246)
This commit is contained in:
2
.flutter
2
.flutter
Submodule .flutter updated: c236373904...ea121f8859
@ -320,11 +320,12 @@
|
||||
"stayOneVersionBehind": "Stay one version behind latest",
|
||||
"refreshBeforeDownload": "Refresh app details before download",
|
||||
"tencentAppStore": "Tencent App Store",
|
||||
"coolApk": "CoolApk",
|
||||
"name": "Name",
|
||||
"smartname": "Name (Smart)",
|
||||
"sortMethod": "Sort Method",
|
||||
"welcome": "Welcome",
|
||||
"documentationLinksNote": "The Obtainium GitHub page linked below contains links to videos, articles, discussions, and other resources that will help you understand how to use the app.",
|
||||
"documentationLinksNote": "The Obtainium GitHub page linked below contains links to videos, articles, discussions and other resources that will help you understand how to use the app.",
|
||||
"removeAppQuestion": {
|
||||
"one": "Želite li ukloniti aplikaciju?",
|
||||
"other": "Želite li ukloniti aplikacije?"
|
||||
|
@ -320,6 +320,7 @@
|
||||
"stayOneVersionBehind": "Roman a la versió anterior a l'última",
|
||||
"refreshBeforeDownload": "Actualitza les dades de l'aplicació abans de descarregar-la",
|
||||
"tencentAppStore": "Tencent App Store",
|
||||
"coolApk": "CoolApk",
|
||||
"name": "Nom",
|
||||
"smartname": "Nom (smart)",
|
||||
"sortMethod": "Mètode d'ordenació",
|
||||
|
@ -320,6 +320,7 @@
|
||||
"stayOneVersionBehind": "Zůstaňte o jednu verzi pozadu za nejnovější",
|
||||
"refreshBeforeDownload": "Obnovení údajů o aplikaci před stažením",
|
||||
"tencentAppStore": "Tencent App Store",
|
||||
"coolApk": "CoolApk",
|
||||
"name": "Název",
|
||||
"smartname": "Název (Smart)",
|
||||
"sortMethod": "Metoda třídění",
|
||||
|
@ -320,6 +320,7 @@
|
||||
"stayOneVersionBehind": "Forbliv én version bagud den seneste",
|
||||
"refreshBeforeDownload": "Opdater app-detaljer før download",
|
||||
"tencentAppStore": "Tencent App Store",
|
||||
"coolApk": "CoolApk",
|
||||
"name": "Navn",
|
||||
"smartname": "Navn (Smart)",
|
||||
"sortMethod": "Sorteringsmetode",
|
||||
|
@ -320,6 +320,7 @@
|
||||
"stayOneVersionBehind": "Eine Version hinter der neuesten Version bleiben",
|
||||
"refreshBeforeDownload": "App-Details vor dem Download aktualisieren",
|
||||
"tencentAppStore": "Tencent App Store",
|
||||
"coolApk": "CoolApk",
|
||||
"name": "Name",
|
||||
"smartname": "Name (Smart)",
|
||||
"sortMethod": "Sortierverfahren",
|
||||
|
@ -320,11 +320,12 @@
|
||||
"stayOneVersionBehind": "Stay one version behind latest",
|
||||
"refreshBeforeDownload": "Refresh app details before download",
|
||||
"tencentAppStore": "Tencent App Store",
|
||||
"coolApk": "CoolApk",
|
||||
"name": "Name",
|
||||
"smartname": "Name (Smart)",
|
||||
"sortMethod": "Sort Method",
|
||||
"welcome": "Welcome",
|
||||
"documentationLinksNote": "The Obtainium GitHub page linked below contains links to videos, articles, discussions, and other resources that will help you understand how to use the app.",
|
||||
"documentationLinksNote": "The Obtainium GitHub page linked below contains links to videos, articles, discussions and other resources that will help you understand how to use the app.",
|
||||
"removeAppQuestion": {
|
||||
"one": "Forigi la aplikaĵon?",
|
||||
"other": "Forigi la aplikaĵojn?"
|
||||
|
@ -325,7 +325,7 @@
|
||||
"smartname": "Name (smart)",
|
||||
"sortMethod": "Sort method",
|
||||
"welcome": "Welcome",
|
||||
"documentationLinksNote": "The Obtainium GitHub page linked below contains links to videos, articles, discussions, and other resources that will help you understand how to use the app.",
|
||||
"documentationLinksNote": "The Obtainium GitHub page linked below contains links to videos, articles, discussions and other resources that will help you understand how to use the app.",
|
||||
"removeAppQuestion": {
|
||||
"one": "Remove App?",
|
||||
"other": "Remove Apps?"
|
||||
|
@ -320,6 +320,7 @@
|
||||
"stayOneVersionBehind": "Mantenerse una versión por detrás de la última",
|
||||
"refreshBeforeDownload": "Actualiza los datos de la aplicación antes de descargarla",
|
||||
"tencentAppStore": "Tencent App Store",
|
||||
"coolApk": "CoolApk",
|
||||
"name": "Nombre",
|
||||
"smartname": "Nombre (Smart)",
|
||||
"sortMethod": "Método de clasificación",
|
||||
|
@ -320,11 +320,12 @@
|
||||
"stayOneVersionBehind": "یک نسخه از آخرین نسخه پشت سر بگذارید",
|
||||
"refreshBeforeDownload": "قبل از دانلود، جزئیات برنامه را بازخوانی کنید",
|
||||
"tencentAppStore": "Tencent App Store",
|
||||
"coolApk": "CoolApk",
|
||||
"name": "Name",
|
||||
"smartname": "Name (Smart)",
|
||||
"sortMethod": "Sort Method",
|
||||
"welcome": "Welcome",
|
||||
"documentationLinksNote": "The Obtainium GitHub page linked below contains links to videos, articles, discussions, and other resources that will help you understand how to use the app.",
|
||||
"documentationLinksNote": "The Obtainium GitHub page linked below contains links to videos, articles, discussions and other resources that will help you understand how to use the app.",
|
||||
"removeAppQuestion": {
|
||||
"one": "برنامه حذف شود؟",
|
||||
"other": "برنامه ها حذف شوند؟"
|
||||
|
@ -320,6 +320,7 @@
|
||||
"stayOneVersionBehind": "Rester une version en arrière de la dernière",
|
||||
"refreshBeforeDownload": "Actualiser les détails de l'application avant de la télécharger",
|
||||
"tencentAppStore": "Tencent App Store",
|
||||
"coolApk": "CoolApk",
|
||||
"name": "Nom",
|
||||
"smartname": "Nom (Smart)",
|
||||
"sortMethod": "Méthode de tri",
|
||||
|
@ -320,6 +320,7 @@
|
||||
"stayOneVersionBehind": "Maradjon egy verzióval a legújabb mögött",
|
||||
"refreshBeforeDownload": "Az alkalmazás adatainak frissítése a letöltés előtt",
|
||||
"tencentAppStore": "Tencent Appstore",
|
||||
"coolApk": "CoolApk",
|
||||
"name": "Név",
|
||||
"smartname": "Név (Okos)",
|
||||
"sortMethod": "Rendezési eljárás",
|
||||
|
@ -320,6 +320,7 @@
|
||||
"stayOneVersionBehind": "Tetap satu versi di belakang versi terbaru",
|
||||
"refreshBeforeDownload": "Segarkan detail aplikasi sebelum mengunduh",
|
||||
"tencentAppStore": "Tencent App Store",
|
||||
"coolApk": "CoolApk",
|
||||
"name": "Nama",
|
||||
"smartname": "Nama (Cerdas)",
|
||||
"sortMethod": "Metode Penyortiran",
|
||||
|
@ -320,6 +320,7 @@
|
||||
"stayOneVersionBehind": "Rimanere una versione indietro rispetto alla più recente",
|
||||
"refreshBeforeDownload": "Aggiornare i dettagli dell'app prima del download",
|
||||
"tencentAppStore": "Tencent App Store",
|
||||
"coolApk": "CoolApk",
|
||||
"name": "Nome",
|
||||
"smartname": "Nome (intelligente)",
|
||||
"sortMethod": "Metodo di ordinamento",
|
||||
|
@ -320,6 +320,7 @@
|
||||
"stayOneVersionBehind": "最新のバージョンから1つ前のものを使用する",
|
||||
"refreshBeforeDownload": "ダウンロード前にアプリの詳細を更新する",
|
||||
"tencentAppStore": "Tencent App Store",
|
||||
"coolApk": "CoolApk",
|
||||
"name": "名称",
|
||||
"smartname": "名前(スマート)",
|
||||
"sortMethod": "ソート方法",
|
||||
|
@ -320,6 +320,7 @@
|
||||
"stayOneVersionBehind": "최신 버전보다 한 버전 뒤에 머무르기",
|
||||
"refreshBeforeDownload": "다운로드 전에 앱 세부 정보 새로 고침",
|
||||
"tencentAppStore": "텐센트 앱 스토어",
|
||||
"coolApk": "CoolApk",
|
||||
"name": "이름",
|
||||
"smartname": "이름(스마트)",
|
||||
"sortMethod": "정렬 방법",
|
||||
|
@ -320,6 +320,7 @@
|
||||
"stayOneVersionBehind": "Blijf een versie achter op de nieuwste",
|
||||
"refreshBeforeDownload": "Vernieuw app details voor download",
|
||||
"tencentAppStore": "Tencent App Store",
|
||||
"coolApk": "CoolApk",
|
||||
"name": "Naam",
|
||||
"smartname": "Naam (Slim)",
|
||||
"sortMethod": "Sorteermethode",
|
||||
|
@ -320,6 +320,7 @@
|
||||
"stayOneVersionBehind": "Pozostań jedną wersję w tyle za najnowszą",
|
||||
"refreshBeforeDownload": "Odśwież szczegóły aplikacji przed pobraniem",
|
||||
"tencentAppStore": "Tencent App Store",
|
||||
"coolApk": "CoolApk",
|
||||
"name": "Nazwa",
|
||||
"smartname": "Nazwa (Smart)",
|
||||
"sortMethod": "Metoda sortowania",
|
||||
|
@ -1,7 +1,10 @@
|
||||
{
|
||||
"invalidURLForSource": "Não é uma URL de app válida de {}",
|
||||
"noReleaseFound": "Não foi possível encontrar um lançamento adequado",
|
||||
"noVersionFound": "Não foi possível determinar a versão do lançamento",
|
||||
"urlMatchesNoSource": "A URL não corresponde com nenhuma fonte conhecida",
|
||||
"cantInstallOlderVersion": "Não é possível instalar uma versão mais antiga de um app",
|
||||
"appIdMismatch": "O ID do pacote baixado não corresponde ao existente",
|
||||
"functionNotImplemented": "Essa classe não implementou esse recurso ainda",
|
||||
"placeholder": "Espaço reservado",
|
||||
"someErrors": "Ocorreram alguns erros",
|
||||
@ -10,23 +13,27 @@
|
||||
"and": "e",
|
||||
"githubPATLabel": "Token de acesso pessoal do GitHub (aumenta o limite de taxa)",
|
||||
"includePrereleases": "Incluir pré-lançamentos",
|
||||
"fallbackToOlderReleases": "Recorrer à lançamentos mais antigos",
|
||||
"filterReleaseTitlesByRegEx": "Filtrar títulos de lançamentos por expressão regular",
|
||||
"invalidRegEx": "Expressão regular inválida",
|
||||
"noDescription": "Sem descrição",
|
||||
"cancel": "Cancelar",
|
||||
"continue": "Continuar",
|
||||
"requiredInBrackets": "(obrigatório)",
|
||||
"dropdownNoOptsError": "ERRO: O MENU DEVE TER PELO MENOS UMA OPÇÃO",
|
||||
"colour": "Cor",
|
||||
"standard": "Padrão",
|
||||
"custom": "Personalizado",
|
||||
"useMaterialYou": "Usar Material You",
|
||||
"githubStarredRepos": "Repositórios com estrela do GitHub",
|
||||
"uname": "Nome de usuário",
|
||||
"wrongArgNum": "Número errado de argumentos fornecidos",
|
||||
"xIsTrackOnly": "{} é somente de rastreio",
|
||||
"source": "Fonte",
|
||||
"app": "App",
|
||||
"appsFromSourceAreTrackOnly": "Apps desta fonte são somente para rastreamento.",
|
||||
"youPickedTrackOnly": "Você selecionou a opção de somente rastreamento.",
|
||||
"trackOnlyAppDescription": "As atualizações do app serão rastreadas, mas o Obtainium não baixará ou instalará elas.",
|
||||
"cancelled": "Cancelado",
|
||||
"appAlreadyAdded": "O app já foi adicionado",
|
||||
"alreadyUpToDateQuestion": "O app já está atualizado?",
|
||||
@ -41,14 +48,17 @@
|
||||
"trackOnlyInBrackets": "(somente rastreamento)",
|
||||
"searchableInBrackets": "(pesquisável)",
|
||||
"appsString": "Apps",
|
||||
"noApps": "Nenhum app",
|
||||
"noAppsForFilter": "Nenhum app pro filtro",
|
||||
"byX": "Por {}",
|
||||
"percentProgress": "Progresso: {}%",
|
||||
"pleaseWait": "Por favor aguarde",
|
||||
"updateAvailable": "Atualização disponível",
|
||||
"notInstalled": "Não instalado",
|
||||
"pseudoVersion": "pseudo-versão",
|
||||
"selectAll": "Selecionar tudo",
|
||||
"deselectX": "Desselecionar {}",
|
||||
"xWillBeRemovedButRemainInstalled": "{} será removido do Obtainium mas continuará instalado no dispositivo.",
|
||||
"removeSelectedAppsQuestion": "Remover os apps selecionados?",
|
||||
"removeSelectedApps": "Remover apps selecionados",
|
||||
"updateX": "Atualizar {}",
|
||||
@ -57,12 +67,14 @@
|
||||
"changeX": "Alterar {}",
|
||||
"installUpdateApps": "Instalar/atualizar apps",
|
||||
"installUpdateSelectedApps": "Instalar/atualizar apps selecionados",
|
||||
"markXSelectedAppsAsUpdated": "Marcar os {} apps selecionados como atualizados?",
|
||||
"no": "Não",
|
||||
"yes": "Sim",
|
||||
"markSelectedAppsUpdated": "Marcar apps selecionados como atualizados",
|
||||
"pinToTop": "Fixar ao topo",
|
||||
"unpinFromTop": "Desfixar do topo",
|
||||
"resetInstallStatusForSelectedAppsQuestion": "Redefinir o estado de instalação dos apps selecionados?",
|
||||
"installStatusOfXWillBeResetExplanation": "Os estados de instalação dos apps selecionados serão redefinidos.\n\nIsso pode ajudar quando a versão exibida no Obtainium está incorreta devido a atualizações malsucedidas ou outros problemas.",
|
||||
"customLinkMessage": "Esses links funcionarão em dispositivos com o Obtainium instalado",
|
||||
"shareAppConfigLinks": "Compartilhar configuração do app como um link HTML",
|
||||
"shareSelectedAppURLs": "Compartilhar as URLs dos apps selecionados",
|
||||
@ -77,16 +89,20 @@
|
||||
"upToDateApps": "Apps atualizados",
|
||||
"nonInstalledApps": "Apps não instalados",
|
||||
"importExport": "Importar/Exportar",
|
||||
"settings": "Configurações",
|
||||
"exportedTo": "Exportado para {}",
|
||||
"obtainiumExport": "Exportação do Obtainium",
|
||||
"invalidInput": "Entrada inválida",
|
||||
"importedX": "{} importado(s)",
|
||||
"obtainiumImport": "Importação do Obtainium",
|
||||
"importFromURLList": "Importar da lista de URLs",
|
||||
"searchQuery": "Consulta de pesquisa",
|
||||
"appURLList": "Lista de URLs dos apps",
|
||||
"line": "Linha",
|
||||
"searchX": "Pesquisar {}",
|
||||
"noResults": "Nenhum resultado encontrado",
|
||||
"importX": "Importar {}",
|
||||
"importedAppsIdDisclaimer": "Os apps importados podem ser exibidos incorretamente como se não estivessem instalados.\nPara resolver isso, reinstale eles pelo Obtainium.\nIsso não afetará os dados dos apps.\n\nIsso somente afeta a URL e os métodos de importação de terceiros.",
|
||||
"importErrors": "Erros de importação",
|
||||
"importedXOfYApps": "{} de {} foram importados.",
|
||||
"followingURLsHadErrors": "As seguintes URLs tiveram erros:",
|
||||
@ -97,6 +113,7 @@
|
||||
"dark": "Escuro",
|
||||
"light": "Claro",
|
||||
"followSystem": "Seguir o sistema",
|
||||
"followSystemThemeExplanation": "Só é possível seguir o tema do sistema ao usar aplicativos de terceiros",
|
||||
"useBlackTheme": "Usar o tema escuro de preto profundo",
|
||||
"appSortBy": "Ordenar apps por",
|
||||
"authorName": "Autor/nome",
|
||||
@ -108,6 +125,7 @@
|
||||
"bgUpdateCheckInterval": "Intervalo de busca por atualizações em segundo plano",
|
||||
"neverManualOnly": "Nunca - somente manualmente",
|
||||
"appearance": "Aparência",
|
||||
"showWebInAppView": "Mostrar a fonte da pagina web na tela de apps",
|
||||
"pinUpdates": "Fixar atualizações no topo da tela de apps",
|
||||
"updates": "Atualizações",
|
||||
"sourceSpecific": "Específico à fonte",
|
||||
@ -116,29 +134,37 @@
|
||||
"appLogs": "Registros do app",
|
||||
"close": "Fechar",
|
||||
"share": "Compartilhar",
|
||||
"appNotFound": "O app não foi encontrado",
|
||||
"obtainiumExportHyphenatedLowercase": "obtainium-export",
|
||||
"pickAnAPK": "Selecione um APK",
|
||||
"appHasMoreThanOnePackage": "{} tem mais de um pacote:",
|
||||
"deviceSupportsXArch": "Seu dispositivo suporta a arquitetura de CPU {}.",
|
||||
"deviceSupportsFollowingArchs": "Seu dispositivo suporta as seguintes arquiteturas de CPU:",
|
||||
"warning": "Alerta",
|
||||
"sourceIsXButPackageFromYPrompt": "A fonte do app é '{}' mas o pacote de lançamento vem de '{}'. Continuar mesmo assim?",
|
||||
"updatesAvailable": "Atualizações disponíveis",
|
||||
"updatesAvailableNotifDescription": "Notifica o usuário que atualizações estão disponíveis para um ou mais apps rastreados pelo Obtainium",
|
||||
"noNewUpdates": "Nenhuma atualização disponível.",
|
||||
"xHasAnUpdate": "{} tem uma atualização.",
|
||||
"appsUpdated": "Apps atualizados",
|
||||
"appsNotUpdated": "Falhou ao atualizar os aplicativos",
|
||||
"appsUpdatedNotifDescription": "Notifica o usuário que atualizações de um ou mais apps foram aplicadas em segundo plano",
|
||||
"xWasUpdatedToY": "{} foi atualizado para a versão {}.",
|
||||
"xWasNotUpdatedToY": "Falha ao atualizar {} para a versão {}.",
|
||||
"errorCheckingUpdates": "Ocorreu um erro ao buscar atualizações",
|
||||
"errorCheckingUpdatesNotifDescription": "Uma notificação que mostra quando a busca de atualizações em segundo plano falha",
|
||||
"appsRemoved": "Apps removidos",
|
||||
"appsRemovedNotifDescription": "Notifica o usuário que um ou mais apps foram removidos devido a erros ao carregá-los",
|
||||
"xWasRemovedDueToErrorY": "{} for removido devido ao erro: {}",
|
||||
"completeAppInstallation": "Concluir instalação do app",
|
||||
"obtainiumMustBeOpenToInstallApps": "O Obtainium precisa estar aberto para instalar apps",
|
||||
"completeAppInstallationNotifDescription": "Pede pro usuário voltar ao Obtainium para concluir a instalação de um app",
|
||||
"checkingForUpdates": "Buscando atualizações",
|
||||
"checkingForUpdatesNotifDescription": "Notificação transitória que aparece ao buscar atualizações",
|
||||
"pleaseAllowInstallPerm": "Permita que o Obtainium instale apps",
|
||||
"trackOnly": "Somente rastreamento",
|
||||
"errorWithHttpStatusCode": "Erro {}",
|
||||
"versionCorrectionDisabled": "Correção de versão desativada (o plugin parece não funcionar)",
|
||||
"unknown": "Desconhecido",
|
||||
"none": "Nenhum",
|
||||
"never": "Nunca",
|
||||
@ -150,6 +176,7 @@
|
||||
"fdroid": "Oficial do F-Droid",
|
||||
"appIdOrName": "ID do app ou nome",
|
||||
"appId": "ID do app",
|
||||
"appWithIdOrNameNotFound": "Nenhum app foi encontrado com aquele ID ou nome",
|
||||
"reposHaveMultipleApps": "Repositórios podem conter vários apps",
|
||||
"fdroidThirdPartyRepo": "Repositório de terceiros do F-Droid",
|
||||
"install": "Instalar",
|
||||
@ -157,6 +184,8 @@
|
||||
"update": "Atualizar",
|
||||
"markUpdated": "Marcar como atualizado",
|
||||
"additionalOptions": "Opções adicionais",
|
||||
"disableVersionDetection": "Desativar detecção de versão",
|
||||
"noVersionDetectionExplanation": "Essa opção só seve ser usada para apps aonde a detecção de versão não funciona corretamente.",
|
||||
"downloadingX": "Baixando {}",
|
||||
"downloadX": "Baixar {}",
|
||||
"downloadedX": "{} foi baixado",
|
||||
@ -168,7 +197,9 @@
|
||||
"categories": "Categorias",
|
||||
"category": "Categoria",
|
||||
"noCategory": "Nenhuma categoria",
|
||||
"noCategories": "Nenhuma categoria",
|
||||
"deleteCategoriesQuestion": "Excluir categorias?",
|
||||
"categoryDeleteWarning": "Todos os apps em categorias excluídas ficarão sem categoria.",
|
||||
"addCategory": "Adicionar categoria",
|
||||
"label": "Rótulo",
|
||||
"language": "Idioma",
|
||||
@ -177,8 +208,11 @@
|
||||
"selectedCategorizeWarning": "Isso substituirá a configuração de categoria existente dos apps selecionados.",
|
||||
"filterAPKsByRegEx": "Filtrar APKs por expressão regular",
|
||||
"removeFromObtainium": "Remover do Obtainium",
|
||||
"uninstallFromDevice": "Desinstalar do dispositivo",
|
||||
"onlyWorksWithNonVersionDetectApps": "Funciona somente em apps com a detecção de versão desativada.",
|
||||
"releaseDateAsVersion": "Usar data de lançamento como número da versão",
|
||||
"releaseTitleAsVersion": "Usar título do lançamento como número da versão",
|
||||
"releaseDateAsVersionExplanation": "Essa opção só deve ser usada para apps quais a detecção de versão não funciona corretamente, mas uma data de lançamento está disponível.",
|
||||
"changes": "Alterações",
|
||||
"releaseDate": "Data de lançamento",
|
||||
"importFromURLsInFile": "Importar das URLs em arquivo (como OPML)",
|
||||
@ -191,64 +225,81 @@
|
||||
"overrideSource": "Sobrescrever fonte",
|
||||
"dontShowAgain": "Não mostrar isso novamente",
|
||||
"dontShowTrackOnlyWarnings": "Não mostrar alertas de \"somente rastreamento\"",
|
||||
"dontShowAPKOriginWarnings": "Não mostrar alertas de origem dos APKs",
|
||||
"moveNonInstalledAppsToBottom": "Mover apps não instalados ao final da tela de apps",
|
||||
"gitlabPATLabel": "Token de acesso pessoal do GitLab",
|
||||
"about": "Sobre",
|
||||
"requiresCredentialsInSettings": "{} precisa de credenciais adicionais (nas Configurações)",
|
||||
"checkOnStart": "Buscar atualizações ao abrir o app",
|
||||
"tryInferAppIdFromCode": "Tentar inferir o ID do app pelo código fonte",
|
||||
"removeOnExternalUninstall": "Remover automaticamente apps desinstalados externamente",
|
||||
"pickHighestVersionCode": "Selecionar APK de versão mais alta automaticamente",
|
||||
"checkUpdateOnDetailPage": "Buscar atualizações ao abrir a tela de detalhes de um app",
|
||||
"disablePageTransitions": "Desativar animações de transição de tela",
|
||||
"reversePageTransitions": "Inverter animações de transição de tela",
|
||||
"minStarCount": "Número de estrelas mínimo",
|
||||
"addInfoBelow": "Adicione essa informação abaixo.",
|
||||
"addInfoInSettings": "Adicione essa informação nas Configurações.",
|
||||
"githubSourceNote": "O limite de taxa do GitHub pode ser evitado ao usar uma chave de API.",
|
||||
"sortByLastLinkSegment": "Ordenar somente pelo ultimo segmento do link",
|
||||
"filterReleaseNotesByRegEx": "Filtrar notas de lançamento por expressão regular",
|
||||
"customLinkFilterRegex": "Filtro de link de APK personalizado por expressão regular (padrão '.apk$')",
|
||||
"appsPossiblyUpdated": "Tentativas de atualização de apps",
|
||||
"appsPossiblyUpdatedNotifDescription": "Notifica o usuário que atualizações de um ou mais apps podem ter sido aplicadas em segundo plano",
|
||||
"xWasPossiblyUpdatedToY": "{} pode ter sido atualizado para a versão {}.",
|
||||
"enableBackgroundUpdates": "Ativar atualizações em segundo plano",
|
||||
"backgroundUpdateReqsExplanation": "Atualizações em segundo plano podem não funcionar com todos os apps.",
|
||||
"backgroundUpdateLimitsExplanation": "O sucesso de uma instalação em segundo plano só pode ser determinada ao abrir o Obtainium.",
|
||||
"verifyLatestTag": "Verificar a tag 'mais recente'",
|
||||
"intermediateLinkRegex": "Filtrar por um link 'intermediário' para visitar",
|
||||
"filterByLinkText": "Filtrar links por texto do link",
|
||||
"intermediateLinkNotFound": "Link intermediário não encontrado",
|
||||
"intermediateLink": "Link intermediário",
|
||||
"exemptFromBackgroundUpdates": "Isento de atualizações em segundo plano (caso ativadas)",
|
||||
"bgUpdatesOnWiFiOnly": "Desativar atualizações em segundo plano fora do Wi-Fi",
|
||||
"bgUpdatesWhileChargingOnly": "Desativar atualizações em segundo plano fora do carregador",
|
||||
"autoSelectHighestVersionCode": "Selecionar automaticamente APK com o código de versão mais alto",
|
||||
"versionExtractionRegEx": "ExReg de extração do número da versão",
|
||||
"trimVersionString": "Cortar número da versal com ExReg",
|
||||
"matchGroupToUseForX": "Corresponder grupo para o uso em \"{}\"",
|
||||
"matchGroupToUse": "Corresponder grupo para o uso para a extração do número da versão por ExReg",
|
||||
"highlightTouchTargets": "Acentuar alvos de toque menos óbvios",
|
||||
"pickExportDir": "Selecionar pasta de exportação",
|
||||
"autoExportOnChanges": "Exportar automaticamente ao ocorrer alterações",
|
||||
"includeSettings": "Incluir configurações",
|
||||
"filterVersionsByRegEx": "Filtrar versões por expressão regular",
|
||||
"trySelectingSuggestedVersionCode": "Tente selecionar o APK com o código de versão sugerido",
|
||||
"dontSortReleasesList": "Manter ordem de lançamento da API",
|
||||
"reverseSort": "Ordem inversa",
|
||||
"takeFirstLink": "Usar o primeiro link",
|
||||
"skipSort": "Pular ordenação",
|
||||
"debugMenu": "Menu de depuração",
|
||||
"bgTaskStarted": "Tarefa em segundo plano iniada - verifique os registros.",
|
||||
"runBgCheckNow": "Executar busca por atualizações em segundo plano agora",
|
||||
"versionExtractWholePage": "Aplicar ExReg de extração de número de versão à página inteira",
|
||||
"installing": "Instalando",
|
||||
"skipUpdateNotifications": "Pular notificações de atualização",
|
||||
"updatesAvailableNotifChannel": "Atualizações disponíveis",
|
||||
"appsUpdatedNotifChannel": "Apps atualizados",
|
||||
"appsPossiblyUpdatedNotifChannel": "Tentativas de atualização de apps",
|
||||
"errorCheckingUpdatesNotifChannel": "Erro ao buscar atualizações",
|
||||
"appsRemovedNotifChannel": "Apps removidos",
|
||||
"downloadingXNotifChannel": "Baixando {}",
|
||||
"completeAppInstallationNotifChannel": "Concluir instalação do app",
|
||||
"checkingForUpdatesNotifChannel": "Buscando atualizações",
|
||||
"onlyCheckInstalledOrTrackOnlyApps": "Buscar atualizações somente para apps instalados e de somente rastreamento",
|
||||
"supportFixedAPKURL": "Suportar URLs de APK fixas",
|
||||
"selectX": "Selecionar {}",
|
||||
"parallelDownloads": "Permitir downloads em paralelo",
|
||||
"useShizuku": "Usar Shizuku ou Sui para instalação",
|
||||
"shizukuBinderNotFound": "Serviço Shizuku não está em execução",
|
||||
"shizukuOld": "Versão do Shizuku antiga (<11) - atualize",
|
||||
"shizukuOldAndroidWithADB": "Shizuku sendo executado no Android < 8.1 com ADB - atualize o Android ou use o Sui",
|
||||
"shizukuPretendToBeGooglePlay": "Definir Google Play como a fonte de instalação (se o Shizuku é usado)",
|
||||
"useSystemFont": "Usar a fonte do sistema",
|
||||
"useVersionCodeAsOSVersion": "Usar código de versão do app como a versão detectada pelo sistema",
|
||||
"requestHeader": "Cabeçalho da solicitação",
|
||||
"useLatestAssetDateAsReleaseDate": "Usar o envio de item mais recente como a data de lançamento",
|
||||
"defaultPseudoVersioningMethod": "Método de pseudo-versão padrão",
|
||||
"partialAPKHash": "Hash do APK parcial",
|
||||
"APKLinkHash": "Hash do link do APK",
|
||||
@ -258,18 +309,23 @@
|
||||
"latest": "Mais recente",
|
||||
"invertRegEx": "Inverter expressão regular",
|
||||
"note": "Observação",
|
||||
"selfHostedNote": "O menu de opções \"{}\" pode ser usado para alcançar instâncias hospedadas-por-você/personalizadas de qualquer fonte.",
|
||||
"badDownload": "O APK não pode ser interpretado (incompatível ou baixado parcialmente)",
|
||||
"beforeNewInstallsShareToAppVerifier": "Compartilhar apps novos com o AppVerifier (se disponível)",
|
||||
"appVerifierInstructionToast": "Compartilhe com o AppVerifier, e volte aqui ao estar pronto.",
|
||||
"wiki": "Ajuda/Wiki",
|
||||
"crowdsourcedConfigsLabel": "Configurações de app pela comunidade (use ao seu próprio risco)",
|
||||
"crowdsourcedConfigsShort": "Configurações de app da comunidade",
|
||||
"allowInsecure": "Permitir solicitações de HTTP inseguras",
|
||||
"stayOneVersionBehind": "Ficar uma versão antes da mais recente",
|
||||
"refreshBeforeDownload": "Atualizar detalhes do app antes de baixar",
|
||||
"tencentAppStore": "Loja de Apps da Tencent",
|
||||
"coolApk": "CoolApk",
|
||||
"name": "Nome",
|
||||
"smartname": "Nome (inteligente)",
|
||||
"sortMethod": "Método de ordenação",
|
||||
"welcome": "Boas vindas",
|
||||
"documentationLinksNote": "A página do Obtainium no GitHub visível abaixo contém links de vídeos, artigos, discussões, e outros recursos que podem te ajudar ao usar o app.",
|
||||
"removeAppQuestion": {
|
||||
"one": "Remover app?",
|
||||
"other": "Remover apps?"
|
||||
@ -282,6 +338,10 @@
|
||||
"one": "A busca de atualizações em segundo plano encontrou um {}, será agendado uma nova tentativa em {} minuto",
|
||||
"other": "A busca de atualizações em segundo plano encontrou um {}, será agendado uma nova tentativa em {} minutos"
|
||||
},
|
||||
"bgCheckFoundUpdatesWillNotifyIfNeeded": {
|
||||
"one": "BG update checking found {} update - will notify user if needed",
|
||||
"other": "BG update checking found {} updates - will notify user if needed"
|
||||
},
|
||||
"apps": {
|
||||
"one": "{} app",
|
||||
"other": "{} apps"
|
||||
@ -302,6 +362,10 @@
|
||||
"one": "{} dia",
|
||||
"other": "{} dias"
|
||||
},
|
||||
"clearedNLogsBeforeXAfterY": {
|
||||
"one": "Cleared {n} log (before = {before}, after = {after})",
|
||||
"other": "Cleared {n} logs (before = {before}, after = {after})"
|
||||
},
|
||||
"xAndNMoreUpdatesAvailable": {
|
||||
"one": "{} e mais 1 app têm atualizações.",
|
||||
"other": "{} e mais {} apps têm atualizações."
|
||||
@ -321,59 +385,5 @@
|
||||
"apk": {
|
||||
"one": "{} APK",
|
||||
"other": "{} APKs"
|
||||
},
|
||||
"invalidURLForSource": "Não é uma URL de app válida de {}",
|
||||
"noReleaseFound": "Não foi possível encontrar um lançamento adequado",
|
||||
"appIdMismatch": "O ID do pacote baixado não corresponde ao existente",
|
||||
"fallbackToOlderReleases": "Recorrer à lançamentos mais antigos",
|
||||
"dropdownNoOptsError": "ERRO: O MENU DEVE TER PELO MENOS UMA OPÇÃO",
|
||||
"wrongArgNum": "Número errado de argumentos fornecidos",
|
||||
"trackOnlyAppDescription": "As atualizações do app serão rastreadas, mas o Obtainium não baixará ou instalará elas.",
|
||||
"noApps": "Nenhum app",
|
||||
"updateAvailable": "Atualização disponível",
|
||||
"xWillBeRemovedButRemainInstalled": "{} será removido do Obtainium mas continuará instalado no dispositivo.",
|
||||
"markXSelectedAppsAsUpdated": "Marcar os {} apps selecionados como atualizados?",
|
||||
"installStatusOfXWillBeResetExplanation": "Os estados de instalação dos apps selecionados serão redefinidos.\n\nIsso pode ajudar quando a versão exibida no Obtainium está incorreta devido a atualizações malsucedidas ou outros problemas.",
|
||||
"settings": "Configurações",
|
||||
"importFromURLList": "Importar da lista de URLs",
|
||||
"line": "Linha",
|
||||
"importedAppsIdDisclaimer": "Os apps importados podem ser exibidos incorretamente como se não estivessem instalados.\nPara resolver isso, reinstale eles pelo Obtainium.\nIsso não afetará os dados dos apps.\n\nIsso somente afeta a URL e os métodos de importação de terceiros.",
|
||||
"followSystemThemeExplanation": "Só é possível seguir o tema do sistema ao usar aplicativos de terceiros",
|
||||
"appNotFound": "O app não foi encontrado",
|
||||
"updatesAvailableNotifDescription": "Notifica o usuário que atualizações estão disponíveis para um ou mais apps rastreados pelo Obtainium",
|
||||
"xWasUpdatedToY": "{} foi atualizado para a versão {}.",
|
||||
"showWebInAppView": "Mostrar a fonte da pagina web na tela de apps",
|
||||
"deviceSupportsFollowingArchs": "Seu dispositivo suporta as seguintes arquiteturas de CPU:",
|
||||
"errorCheckingUpdatesNotifDescription": "Uma notificação que mostra quando a busca de atualizações em segundo plano falha",
|
||||
"obtainiumMustBeOpenToInstallApps": "O Obtainium precisa estar aberto para instalar apps",
|
||||
"versionCorrectionDisabled": "Correção de versão desativada (o plugin parece não funcionar)",
|
||||
"appWithIdOrNameNotFound": "Nenhum app foi encontrado com aquele ID ou nome",
|
||||
"disableVersionDetection": "Desativar detecção de versão",
|
||||
"noVersionDetectionExplanation": "Essa opção só seve ser usada para apps aonde a detecção de versão não funciona corretamente.",
|
||||
"noCategories": "Nenhuma categoria",
|
||||
"categoryDeleteWarning": "Todos os apps em categorias excluídas ficarão sem categoria.",
|
||||
"uninstallFromDevice": "Desinstalar do dispositivo",
|
||||
"releaseDateAsVersion": "Usar data de lançamento como número da versão",
|
||||
"dontShowAPKOriginWarnings": "Não mostrar alertas de origem dos APKs",
|
||||
"tryInferAppIdFromCode": "Tentar inferir o ID do app pelo código fonte",
|
||||
"checkUpdateOnDetailPage": "Buscar atualizações ao abrir a tela de detalhes de um app",
|
||||
"githubSourceNote": "O limite de taxa do GitHub pode ser evitado ao usar uma chave de API.",
|
||||
"customLinkFilterRegex": "Filtro de link de APK personalizado por expressão regular (padrão '.apk$')",
|
||||
"appsPossiblyUpdatedNotifDescription": "Notifica o usuário que atualizações de um ou mais apps podem ter sido aplicadas em segundo plano",
|
||||
"bgUpdatesOnWiFiOnly": "Desativar atualizações em segundo plano fora do Wi-Fi",
|
||||
"matchGroupToUse": "Corresponder grupo para o uso para a extração do número da versão por ExReg",
|
||||
"filterVersionsByRegEx": "Filtrar versões por expressão regular",
|
||||
"completeAppInstallationNotifChannel": "Concluir instalação do app",
|
||||
"useShizuku": "Usar Shizuku ou Sui para instalação",
|
||||
"useLatestAssetDateAsReleaseDate": "Usar o envio de item mais recente como a data de lançamento",
|
||||
"crowdsourcedConfigsLabel": "Configurações de app pela comunidade (use ao seu próprio risco)",
|
||||
"releaseDateAsVersionExplanation": "Essa opção só deve ser usada para apps quais a detecção de versão não funciona corretamente, mas uma data de lançamento está disponível.",
|
||||
"intermediateLinkRegex": "Filtrar por um link 'intermediário' para visitar",
|
||||
"bgTaskStarted": "Tarefa em segundo plano iniada - verifique os registros.",
|
||||
"skipUpdateNotifications": "Pular notificações de atualização",
|
||||
"selectX": "Selecionar {}",
|
||||
"shizukuOldAndroidWithADB": "Shizuku sendo executado no Android < 8.1 com ADB - atualize o Android ou use o Sui",
|
||||
"selfHostedNote": "O menu de opções \"{}\" pode ser usado para alcançar instâncias hospedadas-por-você/personalizadas de qualquer fonte.",
|
||||
"sortMethod": "Método de ordenação",
|
||||
"documentationLinksNote": "A página do Obtainium no GitHub visível abaixo contém links de vídeos, artigos, discussões, e outros recursos que podem te ajudar ao usar o app."
|
||||
}
|
||||
}
|
||||
|
@ -320,6 +320,7 @@
|
||||
"stayOneVersionBehind": "Manter-se uma versão atrás da mais recente",
|
||||
"refreshBeforeDownload": "Atualizar os detalhes da aplicação antes da transferência",
|
||||
"tencentAppStore": "Tencent App Store",
|
||||
"coolApk": "CoolApk",
|
||||
"name": "Nome",
|
||||
"smartname": "Nome (Smart)",
|
||||
"sortMethod": "Método de ordenação",
|
||||
|
@ -320,6 +320,7 @@
|
||||
"stayOneVersionBehind": "Не отставайте от последней версии",
|
||||
"refreshBeforeDownload": "Обновляйте информацию о приложении перед загрузкой",
|
||||
"tencentAppStore": "Tencent App Store",
|
||||
"coolApk": "CoolApk",
|
||||
"name": "Имя",
|
||||
"smartname": "Имя (умное)",
|
||||
"sortMethod": "Метод сортировки",
|
||||
|
@ -320,6 +320,7 @@
|
||||
"stayOneVersionBehind": "Håll dig en version bakom den senaste",
|
||||
"refreshBeforeDownload": "Uppdatera appdetaljerna före nedladdning",
|
||||
"tencentAppStore": "Tencent App Store",
|
||||
"coolApk": "CoolApk",
|
||||
"name": "Namn",
|
||||
"smartname": "Namn (Smart)",
|
||||
"sortMethod": "Sorteringsmetod",
|
||||
|
@ -320,6 +320,7 @@
|
||||
"stayOneVersionBehind": "En son sürümün bir sürüm gerisinde kalın",
|
||||
"refreshBeforeDownload": "İndirmeden önce uygulama ayrıntılarını yenileyin",
|
||||
"tencentAppStore": "Tencent App Store",
|
||||
"coolApk": "CoolApk",
|
||||
"name": "İsim",
|
||||
"smartname": "İsim (Akıllı)",
|
||||
"sortMethod": "Sıralama Yöntemi",
|
||||
|
@ -320,6 +320,7 @@
|
||||
"stayOneVersionBehind": "Залишайтеся на одну версію актуальнішою",
|
||||
"refreshBeforeDownload": "Оновіть інформацію про програму перед завантаженням",
|
||||
"tencentAppStore": "Tencent App Store",
|
||||
"coolApk": "CoolApk",
|
||||
"name": "Ім'я",
|
||||
"smartname": "Ім'я (Smart)",
|
||||
"sortMethod": "Метод сортування",
|
||||
|
@ -320,11 +320,12 @@
|
||||
"stayOneVersionBehind": "Stay one version behind latest",
|
||||
"refreshBeforeDownload": "Refresh app details before download",
|
||||
"tencentAppStore": "Tencent App Store",
|
||||
"coolApk": "CoolApk",
|
||||
"name": "Name",
|
||||
"smartname": "Name (Smart)",
|
||||
"sortMethod": "Sort Method",
|
||||
"welcome": "Welcome",
|
||||
"documentationLinksNote": "The Obtainium GitHub page linked below contains links to videos, articles, discussions, and other resources that will help you understand how to use the app.",
|
||||
"documentationLinksNote": "The Obtainium GitHub page linked below contains links to videos, articles, discussions and other resources that will help you understand how to use the app.",
|
||||
"removeAppQuestion": {
|
||||
"one": "Gỡ ứng dụng?",
|
||||
"other": "Gỡ ứng dụng?"
|
||||
|
@ -320,6 +320,7 @@
|
||||
"stayOneVersionBehind": "保持比最新版本落後一個版本",
|
||||
"refreshBeforeDownload": "下載前刷新應用程式詳細資訊",
|
||||
"tencentAppStore": "騰訊應用寶",
|
||||
"coolApk": "CoolApk",
|
||||
"name": "名稱",
|
||||
"smartname": "名稱(智慧)",
|
||||
"sortMethod": "排序方式",
|
||||
|
@ -154,7 +154,7 @@ String list2FriendlyString(List<String> list) {
|
||||
(e.key == list.length - 1
|
||||
? ''
|
||||
: e.key == list.length - 2
|
||||
? ', and '
|
||||
? ' and '
|
||||
: ', '))
|
||||
.join('');
|
||||
}
|
||||
|
@ -34,7 +34,8 @@ List<MapEntry<Locale, String>> supportedLocales = const [
|
||||
MapEntry(Locale('pl'), 'Polski'),
|
||||
MapEntry(Locale('ru'), 'Русский'),
|
||||
MapEntry(Locale('bs'), 'Bosanski'),
|
||||
MapEntry(Locale('pt'), 'Brasileiro'),
|
||||
MapEntry(Locale('pt'), 'Português'),
|
||||
MapEntry(Locale('pt', 'BR'), 'Brasileiro'),
|
||||
MapEntry(Locale('cs'), 'Česky'),
|
||||
MapEntry(Locale('sv'), 'Svenska'),
|
||||
MapEntry(Locale('nl'), 'Nederlands'),
|
||||
@ -109,11 +110,13 @@ void main() async {
|
||||
);
|
||||
SystemChrome.setEnabledSystemUIMode(SystemUiMode.edgeToEdge);
|
||||
}
|
||||
final np = NotificationsProvider();
|
||||
await np.initialize();
|
||||
runApp(MultiProvider(
|
||||
providers: [
|
||||
ChangeNotifierProvider(create: (context) => AppsProvider()),
|
||||
ChangeNotifierProvider(create: (context) => SettingsProvider()),
|
||||
Provider(create: (context) => NotificationsProvider()),
|
||||
Provider(create: (context) => np),
|
||||
Provider(create: (context) => LogsProvider())
|
||||
],
|
||||
child: EasyLocalization(
|
||||
@ -168,6 +171,7 @@ class _ObtainiumState extends State<Obtainium> {
|
||||
SettingsProvider settingsProvider = context.watch<SettingsProvider>();
|
||||
AppsProvider appsProvider = context.read<AppsProvider>();
|
||||
LogsProvider logs = context.read<LogsProvider>();
|
||||
NotificationsProvider notifs = context.read<NotificationsProvider>();
|
||||
|
||||
if (settingsProvider.prefs == null) {
|
||||
settingsProvider.initializeSettings();
|
||||
@ -211,6 +215,10 @@ class _ObtainiumState extends State<Obtainium> {
|
||||
}
|
||||
}
|
||||
|
||||
WidgetsBinding.instance.addPostFrameCallback((_) {
|
||||
notifs.checkLaunchByNotif();
|
||||
});
|
||||
|
||||
return DynamicColorBuilder(
|
||||
builder: (ColorScheme? lightDynamic, ColorScheme? darkDynamic) {
|
||||
// Decide on a colour/brightness scheme based on OS and user settings
|
||||
|
@ -2,7 +2,9 @@
|
||||
// Contains a set of pre-defined ObtainiumNotification objects that should be used throughout the app
|
||||
|
||||
import 'package:easy_localization/easy_localization.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_local_notifications/flutter_local_notifications.dart';
|
||||
import 'package:obtainium/main.dart';
|
||||
import 'package:obtainium/providers/settings_provider.dart';
|
||||
import 'package:obtainium/providers/source_provider.dart';
|
||||
|
||||
@ -16,10 +18,11 @@ class ObtainiumNotification {
|
||||
Importance importance;
|
||||
int? progPercent;
|
||||
bool onlyAlertOnce;
|
||||
String? payload;
|
||||
|
||||
ObtainiumNotification(this.id, this.title, this.message, this.channelCode,
|
||||
this.channelName, this.channelDescription, this.importance,
|
||||
{this.onlyAlertOnce = false, this.progPercent});
|
||||
{this.onlyAlertOnce = false, this.progPercent, this.payload});
|
||||
}
|
||||
|
||||
class UpdateNotification extends ObtainiumNotification {
|
||||
@ -88,7 +91,8 @@ class ErrorCheckingUpdatesNotification extends ObtainiumNotification {
|
||||
'BG_UPDATE_CHECK_ERROR',
|
||||
tr('errorCheckingUpdatesNotifChannel'),
|
||||
tr('errorCheckingUpdatesNotifDescription'),
|
||||
Importance.high);
|
||||
Importance.high,
|
||||
payload: "${tr('errorCheckingUpdates')}\n$error");
|
||||
}
|
||||
|
||||
class AppsRemovedNotification extends ObtainiumNotification {
|
||||
@ -173,11 +177,48 @@ class NotificationsProvider {
|
||||
};
|
||||
|
||||
Future<void> initialize() async {
|
||||
isInitialized = await notifications.initialize(const InitializationSettings(
|
||||
android: AndroidInitializationSettings('ic_notification'))) ??
|
||||
isInitialized = await notifications.initialize(
|
||||
const InitializationSettings(
|
||||
android: AndroidInitializationSettings('ic_notification')),
|
||||
onDidReceiveNotificationResponse: (NotificationResponse response) {
|
||||
_showNotificationPayload(response.payload);
|
||||
},
|
||||
) ??
|
||||
false;
|
||||
}
|
||||
|
||||
checkLaunchByNotif() async {
|
||||
final NotificationAppLaunchDetails? launchDetails =
|
||||
await notifications.getNotificationAppLaunchDetails();
|
||||
if (launchDetails?.didNotificationLaunchApp ?? false) {
|
||||
_showNotificationPayload(launchDetails!.notificationResponse?.payload,
|
||||
doublePop: true);
|
||||
}
|
||||
}
|
||||
|
||||
_showNotificationPayload(String? payload, {bool doublePop = false}) {
|
||||
var title = (payload ?? '\n\n').split('\n').first;
|
||||
var content = (payload ?? '\n\n').split('\n').sublist(1).join('\n');
|
||||
globalNavigatorKey.currentState?.push(
|
||||
PageRouteBuilder(
|
||||
pageBuilder: (context, _, __) => AlertDialog(
|
||||
title: Text(title),
|
||||
content: Text(content),
|
||||
actions: [
|
||||
TextButton(
|
||||
onPressed: () {
|
||||
Navigator.of(context).pop(null);
|
||||
if (doublePop) {
|
||||
Navigator.of(context).pop(null);
|
||||
}
|
||||
},
|
||||
child: Text(tr('ok'))),
|
||||
],
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
|
||||
Future<void> cancel(int id) async {
|
||||
if (!isInitialized) {
|
||||
await initialize();
|
||||
@ -195,7 +236,8 @@ class NotificationsProvider {
|
||||
Importance importance,
|
||||
{bool cancelExisting = false,
|
||||
int? progPercent,
|
||||
bool onlyAlertOnce = false}) async {
|
||||
bool onlyAlertOnce = false,
|
||||
String? payload}) async {
|
||||
if (cancelExisting) {
|
||||
await cancel(id);
|
||||
}
|
||||
@ -216,7 +258,8 @@ class NotificationsProvider {
|
||||
maxProgress: 100,
|
||||
showProgress: progPercent != null,
|
||||
onlyAlertOnce: onlyAlertOnce,
|
||||
indeterminate: progPercent != null && progPercent < 0)));
|
||||
indeterminate: progPercent != null && progPercent < 0)),
|
||||
payload: payload);
|
||||
}
|
||||
|
||||
Future<void> notify(ObtainiumNotification notif,
|
||||
@ -225,5 +268,6 @@ class NotificationsProvider {
|
||||
notif.channelName, notif.channelDescription, notif.importance,
|
||||
cancelExisting: cancelExisting,
|
||||
onlyAlertOnce: notif.onlyAlertOnce,
|
||||
progPercent: notif.progPercent);
|
||||
progPercent: notif.progPercent,
|
||||
payload: notif.payload);
|
||||
}
|
||||
|
48
pubspec.lock
48
pubspec.lock
@ -80,10 +80,10 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: archive
|
||||
sha256: "7dcbd0f87fe5f61cb28da39a1a8b70dbc106e2fe0516f7836eb7bb2948481a12"
|
||||
sha256: a7f37ff061d7abc2fcf213554b9dcaca713c5853afa5c065c44888bc9ccaf813
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "4.0.5"
|
||||
version: "4.0.6"
|
||||
args:
|
||||
dependency: transitive
|
||||
description:
|
||||
@ -312,10 +312,10 @@ packages:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: file_picker
|
||||
sha256: "36a1652d99cb6bf8ccc8b9f43aded1fd60b234d23ce78af422c07f950a436ef7"
|
||||
sha256: "8986dec4581b4bcd4b6df5d75a2ea0bede3db802f500635d05fa8be298f9467f"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "10.0.0"
|
||||
version: "10.1.2"
|
||||
fixnum:
|
||||
dependency: transitive
|
||||
description:
|
||||
@ -564,10 +564,10 @@ packages:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: html
|
||||
sha256: "1fc58edeaec4307368c60d59b7e15b9d658b57d7f3125098b6294153c75337ec"
|
||||
sha256: "9475be233c437f0e3637af55e7702cbbe5c23a68bd56e8a5fa2d426297b7c6c8"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "0.15.5"
|
||||
version: "0.15.5+1"
|
||||
http:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@ -756,26 +756,26 @@ packages:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: permission_handler
|
||||
sha256: "59adad729136f01ea9e35a48f5d1395e25cba6cea552249ddbe9cf950f5d7849"
|
||||
sha256: "2d070d8684b68efb580a5997eb62f675e8a885ef0be6e754fb9ef489c177470f"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "11.4.0"
|
||||
version: "12.0.0+1"
|
||||
permission_handler_android:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: permission_handler_android
|
||||
sha256: d3971dcdd76182a0c198c096b5db2f0884b0d4196723d21a866fc4cdea057ebc
|
||||
sha256: "1e3bc410ca1bf84662104b100eb126e066cb55791b7451307f9708d4007350e6"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "12.1.0"
|
||||
version: "13.0.1"
|
||||
permission_handler_apple:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: permission_handler_apple
|
||||
sha256: f84a188e79a35c687c132a0a0556c254747a08561e99ab933f12f6ca71ef3c98
|
||||
sha256: f000131e755c54cf4d84a5d8bd6e4149e262cc31c5a8b1d698de1ac85fa41023
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "9.4.6"
|
||||
version: "9.4.7"
|
||||
permission_handler_html:
|
||||
dependency: transitive
|
||||
description:
|
||||
@ -860,10 +860,10 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: posix
|
||||
sha256: a0117dc2167805aa9125b82eee515cc891819bac2f538c83646d355b16f58b9a
|
||||
sha256: f0d7856b6ca1887cfa6d1d394056a296ae33489db914e365e2044fdada449e62
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "6.0.1"
|
||||
version: "6.0.2"
|
||||
provider:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
@ -900,10 +900,10 @@ packages:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: shared_preferences_android
|
||||
sha256: "3ec7210872c4ba945e3244982918e502fa2bfb5230dff6832459ca0e1879b7ad"
|
||||
sha256: c2c8c46297b5d6a80bed7741ec1f2759742c77d272f1a1698176ae828f8e1a18
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.4.8"
|
||||
version: "2.4.9"
|
||||
shared_preferences_foundation:
|
||||
dependency: transitive
|
||||
description:
|
||||
@ -1195,34 +1195,34 @@ packages:
|
||||
dependency: "direct main"
|
||||
description:
|
||||
name: webview_flutter
|
||||
sha256: "889a0a678e7c793c308c68739996227c9661590605e70b1f6cf6b9a6634f7aec"
|
||||
sha256: caf0f5a1012aa3c2d33c4215adc72dc1194bb59a2d3ed901f457965626805e66
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "4.10.0"
|
||||
version: "4.11.0"
|
||||
webview_flutter_android:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: webview_flutter_android
|
||||
sha256: e09150b28a07933839adef0e4a088bb43e8c8d9e6b93025b01882d4067a58ab0
|
||||
sha256: "3315f1306eb22f98c48fe203fb8a448fb23f9e49d55a4da6e17ab7d795774166"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "4.3.4"
|
||||
version: "4.4.0"
|
||||
webview_flutter_platform_interface:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: webview_flutter_platform_interface
|
||||
sha256: d937581d6e558908d7ae3dc1989c4f87b786891ab47bb9df7de548a151779d8d
|
||||
sha256: "18b1640839cf6546784a524c72aded5b6e86b23e7167dc2311cc96f7658b64bd"
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "2.10.0"
|
||||
version: "2.11.0"
|
||||
webview_flutter_wkwebview:
|
||||
dependency: transitive
|
||||
description:
|
||||
name: webview_flutter_wkwebview
|
||||
sha256: c14455137ce60a68e1ccaf4e8f2dae8cebcb3465ddaa2fcfb57584fb7c5afe4d
|
||||
sha256: c9f9be526fa0d3347374ceaa05c4b3acb85f4f112abd62f7d74b7d301fa515ff
|
||||
url: "https://pub.dev"
|
||||
source: hosted
|
||||
version: "3.18.5"
|
||||
version: "3.20.0"
|
||||
win32:
|
||||
dependency: transitive
|
||||
description:
|
||||
|
@ -16,7 +16,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
|
||||
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
|
||||
# In Windows, build-name is used as the major, minor, and patch parts
|
||||
# of the product and file versions while build-number is used as the build suffix.
|
||||
version: 1.1.49+2306
|
||||
version: 1.1.50+2307
|
||||
|
||||
environment:
|
||||
sdk: ^3.6.0
|
||||
@ -44,7 +44,7 @@ dependencies:
|
||||
html: ^0.15.0
|
||||
shared_preferences: ^2.0.15
|
||||
url_launcher: ^6.1.5
|
||||
permission_handler: ^11.0.0
|
||||
permission_handler: ^12.0.0+1
|
||||
fluttertoast: ^8.0.9
|
||||
device_info_plus: ^11.0.0
|
||||
file_picker: ^10.0.0
|
||||
|
Reference in New Issue
Block a user