Add: Share button (only works for fdroid repo apps)

Fix: Switch Colors
This commit is contained in:
LooKeR 2021-10-16 11:25:05 +05:30
parent bafb2714cb
commit 59ebd3394f
12 changed files with 221 additions and 171 deletions

View File

@ -72,7 +72,8 @@ class ProductAdapter(private val callbacks: Callbacks, private val columns: Int)
LAUNCH(R.string.launch),
DETAILS(R.string.details),
UNINSTALL(R.string.uninstall),
CANCEL(R.string.cancel)
CANCEL(R.string.cancel),
SHARE(R.string.share)
}
sealed class Status {

View File

@ -59,7 +59,8 @@ class ProductFragment() : ScreenFragment(), ProductAdapter.Callbacks {
UPDATE(2, ProductAdapter.Action.UPDATE, R.drawable.ic_archive),
LAUNCH(3, ProductAdapter.Action.LAUNCH, R.drawable.ic_launch),
DETAILS(4, ProductAdapter.Action.DETAILS, R.drawable.ic_tune),
UNINSTALL(5, ProductAdapter.Action.UNINSTALL, R.drawable.ic_delete)
UNINSTALL(5, ProductAdapter.Action.UNINSTALL, R.drawable.ic_delete),
SHARE(6, ProductAdapter.Action.SHARE, R.drawable.ic_share)
}
private class Installed(
@ -287,6 +288,7 @@ class ProductFragment() : ScreenFragment(), ProductAdapter.Callbacks {
val canUninstall = product != null && installed != null && !installed.isSystem
val canLaunch =
product != null && installed != null && installed.launcherActivities.isNotEmpty()
val canShare = product != null
val actions = mutableSetOf<Action>()
if (canInstall) {
@ -304,11 +306,15 @@ class ProductFragment() : ScreenFragment(), ProductAdapter.Callbacks {
if (canUninstall) {
actions += Action.UNINSTALL
}
if (canShare) {
actions += Action.SHARE
}
val primaryAction = when {
canUpdate -> Action.UPDATE
canLaunch -> Action.LAUNCH
canInstall -> Action.INSTALL
installed != null -> Action.DETAILS
canShare -> Action.SHARE
else -> null
}
@ -318,7 +324,12 @@ class ProductFragment() : ScreenFragment(), ProductAdapter.Callbacks {
val toolbar = toolbar
if (toolbar != null) {
for (action in sequenceOf(Action.INSTALL, Action.UPDATE, Action.UNINSTALL)) {
for (action in sequenceOf(
Action.INSTALL,
Action.SHARE,
Action.UPDATE,
Action.UNINSTALL
)) {
toolbar.menu.findItem(action.id).isEnabled = !downloading
}
}
@ -420,6 +431,20 @@ class ProductFragment() : ScreenFragment(), ProductAdapter.Callbacks {
binder.cancel(packageName)
} else Unit
}
ProductAdapter.Action.SHARE -> {
val sendIntent: Intent = Intent().apply {
this.action = Intent.ACTION_SEND
putExtra(
Intent.EXTRA_TEXT,
"https://www.f-droid.org/en/packages/${products[0].first.packageName}/"
)
type = "text/plain"
}
val shareIntent = Intent.createChooser(sendIntent, null)
startActivity(shareIntent)
}
}::class
}

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:alpha="0.7" android:color="?android:attr/colorPrimary" android:state_checked="false" />
<item android:color="?android:attr/colorPrimary" android:state_checked="true" />
</selector>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:alpha="0.3" android:color="?android:attr/colorPrimary" android:state_checked="false" />
<item android:alpha="1" android:color="?android:attr/colorPrimary" android:state_checked="true" />
</selector>

View File

@ -0,0 +1,10 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="24dp"
android:height="24dp"
android:tint="?attr/colorControlNormal"
android:viewportWidth="24"
android:viewportHeight="24">
<path
android:fillColor="@android:color/white"
android:pathData="M18,16.08c-0.76,0 -1.44,0.3 -1.96,0.77L8.91,12.7c0.05,-0.23 0.09,-0.46 0.09,-0.7s-0.04,-0.47 -0.09,-0.7l7.05,-4.11c0.54,0.5 1.25,0.81 2.04,0.81 1.66,0 3,-1.34 3,-3s-1.34,-3 -3,-3 -3,1.34 -3,3c0,0.24 0.04,0.47 0.09,0.7L8.04,9.81C7.5,9.31 6.79,9 6,9c-1.66,0 -3,1.34 -3,3s1.34,3 3,3c0.79,0 1.5,-0.31 2.04,-0.81l7.12,4.16c-0.05,0.21 -0.08,0.43 -0.08,0.65 0,1.61 1.31,2.92 2.92,2.92s2.92,-1.31 2.92,-2.92 -1.31,-2.92 -2.92,-2.92z" />
</vector>

View File

@ -2,7 +2,6 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="54dp"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="?android:attr/selectableItemBackground"
android:gravity="center_vertical"
android:orientation="horizontal">
@ -21,7 +20,6 @@
android:id="@+id/enabled"
android:layout_width="wrap_content"
android:layout_height="match_parent"
app:thumbTint="?android:attr/colorPrimary"
android:paddingStart="12dp"
android:paddingEnd="12dp" />

View File

@ -2,7 +2,6 @@
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="48dp"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:background="?android:attr/selectableItemBackground"
android:gravity="center_vertical"
android:orientation="horizontal">
@ -21,7 +20,6 @@
android:id="@+id/enabled"
android:layout_width="wrap_content"
android:layout_height="match_parent"
app:thumbTint="?android:attr/colorPrimary"
android:clickable="false"
android:paddingStart="12dp"
android:paddingEnd="12dp" />

View File

@ -1,160 +1,161 @@
<resources>
<string name="action_failed">Acción fallida</string>
<string name="add_repository">Agregar repositorio</string>
<string name="address">Dirección</string>
<string name="all_applications">Todas las aplicaciones</string>
<string name="all_applications_up_to_date">Las apps están al día</string>
<string name="already_exists">Ya existe</string>
<string name="always">Siempre</string>
<string name="amoled">Amoled</string>
<string name="anti_features">Anti-funciones</string>
<string name="application">Aplicación</string>
<string name="application_not_found">Aplicación no encontrada</string>
<string name="author_email">Email del autor</string>
<string name="author_website">Sitio web del autor</string>
<string name="available">Disponible</string>
<string name="bug_tracker">Rastrea-bugs</string>
<string name="cancel">Cancelar</string>
<string name="cant_edit_sync_DESC">No puede editarse el repositorio porque está sincronizándose.</string>
<string name="changelog">Registro de cambios</string>
<string name="changes">Cambios</string>
<string name="checking_repository">Comprobando repositorio</string>
<string name="compiled_for_debugging">Compilado para depuración</string>
<string name="confirmation">Confirmación</string>
<string name="connecting">Conectando</string>
<string name="contains_non_free_media">Contiene medios no libres</string>
<string name="could_not_download_FORMAT">No se pudo descargar %s</string>
<string name="could_not_sync_FORMAT">No se pudo sincronizar %s</string>
<string name="could_not_validate_FORMAT">No se pudo validar %s</string>
<string name="credits">Créditos</string>
<string name="dark">Oscuro</string>
<string name="date_added">Fecha agregado</string>
<string name="delete">Eliminar</string>
<string name="delete_repository_DESC">¿Seguro querés eliminar el repositorio?</string>
<string name="description">Descripción</string>
<string name="details">Detalles</string>
<string name="donate">Donar</string>
<string name="downloaded_FORMAT"> %s descargado</string>
<string name="downloading">Descargando</string>
<string name="downloading_FORMAT">Descargando %s</string>
<string name="edit_repository">Editar repositorio</string>
<string name="file_format_error_DESC">Formato de archivo inválido.</string>
<string name="fingerprint">Huella</string>
<string name="has_advertising">Tiene anuncios</string>
<string name="has_non_free_dependencies">Tiene dependencias no libres</string>
<string name="has_security_vulnerabilities">Tiene vulnerabilidades de seguridad</string>
<string name="http_error_DESC">Respuesta del servidor inválida.</string>
<string name="http_proxy">Proxy HTTP</string>
<string name="ignore_all_updates">Ignorar todas las actualizaciones</string>
<string name="ignore_this_update">Ignorar esta actualización</string>
<string name="incompatible_api_DESC_FORMAT">Tu %1$s (API versión %2$d) no está soportada. %3$s</string>
<string name="incompatible_api_max_DESC_FORMAT">Versión máxima del API: %d.</string>
<string name="incompatible_api_min_DESC_FORMAT">Versión mínima de API: %d.</string>
<string name="incompatible_features_DESC">Características faltantes.</string>
<string name="incompatible_older_DESC">Esta versión es más antigua que la de tu dispositivo. Desinstalá esa primero.</string>
<string name="incompatible_platforms_DESC_FORMAT">Tu plataforma %1$s no está soportada. Plataformas soportadas: %2$s.</string>
<string name="incompatible_signature_DESC">Esta versión está firmada con un certificado diferente que la instalada en tu dispositivo. Desinstalá esa primero.</string>
<string name="incompatible_version">Versión incompatible</string>
<string name="incompatible_versions">Versiones incompatibles</string>
<string name="incompatible_versions_summary">Mostrar versiones de apps incompatibles con el dispositivo</string>
<string name="incompatible_with_FORMAT">Incompatible con %s</string>
<string name="install">Instalar</string>
<string name="install_types">Tipos de Instalación</string>
<string name="installed">Instalado</string>
<string name="integrity_check_error_DESC">No pudo comprobarse integridad.</string>
<string name="invalid_address">Dirección inválida</string>
<string name="invalid_fingerprint_format">Formato de huella inválido</string>
<string name="invalid_metadata_error_DESC">Metadatos inválidos</string>
<string name="invalid_permissions_error_DESC">Permisos inválidos.</string>
<string name="invalid_signature_error_DESC">Firma inválida.</string>
<string name="invalid_username_format">Formato de nombre de usuario inválido</string>
<string name="last_update">Última actualización</string>
<string name="launch">Lanzar</string>
<string name="license">Licencia</string>
<string name="license_FORMAT">Licencia %s</string>
<string name="light">Claro</string>
<string name="link_copied_to_clipboard">Link copiado al portapapeles</string>
<string name="links">Links</string>
<string name="merging_FORMAT">Uniendo %s</string>
<string name="name">Nombre</string>
<string name="network_error_DESC">Error de red.</string>
<string name="never">Nunca</string>
<string name="new_updates_available">Nuevas actualizaciones disponibles</string>
<string name="no_applications_available">No hay apps disponibles</string>
<string name="no_applications_installed">No hay apps instaladas</string>
<string name="no_description_available_DESC">No hay descripción.</string>
<string name="no_matching_applications_found">No se encontraron apps coincidentes</string>
<string name="no_proxy">Sin proxy</string>
<string name="notify_about_updates">Notificar actualizaciones</string>
<string name="notify_about_updates_summary">Muestra una notificación cuando hay actualizaciones</string>
<string name="number_of_applications">Número de aplicaciones</string>
<string name="ok">OK</string>
<string name="only_compatible_with_FORMAT">Sólo conpatible con %s</string>
<string name="only_on_wifi">Sólo con Wi-Fi</string>
<string name="open_DESC_FORMAT">¿Abrir %s?</string>
<string name="other">Otro</string>
<string name="parsing_index_error_DESC">No pudo analizarse el archivo de índice.</string>
<string name="password">Contraseña</string>
<string name="password_missing">Contraseña faltante</string>
<string name="permissions">Permisos</string>
<string name="plus_more_FORMAT">+%d más</string>
<string name="settings">Ajustes</string>
<string name="processing_FORMAT">Procesando %1$s</string>
<string name="project_website">Sitio web del proyecto</string>
<string name="promotes_non_free_network_services">Promueve servicios de red no libres</string>
<string name="promotes_non_free_software">Promueve software no libre</string>
<string name="provided_by_FORMAT">Provisto por %s</string>
<string name="proxy">Proxy</string>
<string name="proxy_host">Host del Proxy</string>
<string name="proxy_port">Puerto de Proxy</string>
<string name="proxy_type">Tipo de Proxy</string>
<string name="repositories">Repositorios</string>
<string name="repository">Repositorio</string>
<string name="repository_not_used_DESC">Este repositorio aún no se usó. Debés habilitarlo para ver las apps que provee.</string>
<string name="repository_unsigned_DESC">Sin firmar. No se pudo verificar la lista de apps; sé cuidadoso al descargar apps de repositorios sin firmar.</string>
<string name="requires_FORMAT">Requiere %s</string>
<string name="root_permission">Instalación Silenciosa</string>
<string name="root_permission_description">Concede Permisos Root para activar la Instalación Silenciosa</string>
<string name="save">Guardar</string>
<string name="saving_details">Guardando detalles</string>
<string name="screenshots">Capturas</string>
<string name="search">Buscar</string>
<string name="select_mirror">Elegir espejo</string>
<string name="show_more">Mostrar más</string>
<string name="show_older_versions">Mostrar versiones más antiguas</string>
<string name="signature_FORMAT">Firma %s</string>
<string name="signed_using_unsafe_algorithm">Firmado usando un algoritmo inseguro</string>
<string name="skip">Saltar</string>
<string name="socks_proxy">Proxy SOCKS</string>
<string name="sorting_order">Ordenado</string>
<string name="source_code">Código fuente</string>
<string name="source_code_no_longer_available">El código fuente ya no está disponible</string>
<string name="suggested">Sugerido</string>
<string name="sync_repositories">Sincronizar repositorios</string>
<string name="sync_repositories_automatically">Sincronizar repositories automáticamente</string>
<string name="syncing">Sincronizando</string>
<string name="syncing_FORMAT">Sincronizando %s</string>
<string name="system">Sistema</string>
<string name="tap_to_install_DESC">Tocá para instalar.</string>
<string name="theme">Tema</string>
<string name="themes">Temas</string>
<string name="tracks_or_reports_your_activity">Rastrea o informa tu actividad</string>
<string name="uninstall">Desinstalar</string>
<string name="unknown">Desconocido</string>
<string name="unknown_error_DESC">Error desconocido.</string>
<string name="unknown_FORMAT">Desconocido: %s</string>
<string name="unsigned">No firmado</string>
<string name="unstable_updates">Actualizaciones inestables</string>
<string name="unstable_updates_summary">Sugerir instalar versiones inestables</string>
<string name="unverified">No verificado</string>
<string name="update">Actualización</string>
<string name="updates">Actualizaciones</string>
<string name="upstream_source_code_is_not_free">El código original no es libre</string>
<string name="username">Nombre de usuario</string>
<string name="username_missing">Falta el nombre de usuario</string>
<string name="validation_index_error_DESC">El índice no pudo ser validado.</string>
<string name="version_FORMAT">Versión %s</string>
<string name="versions">Versiones</string>
<string name="waiting_to_start_download">Esperando para descargar</string>
<string name="website">Sitio web</string>
<string name="action_failed">Acción fallida</string>
<string name="add_repository">Agregar repositorio</string>
<string name="address">Dirección</string>
<string name="all_applications">Todas las aplicaciones</string>
<string name="all_applications_up_to_date">Las apps están al día</string>
<string name="already_exists">Ya existe</string>
<string name="always">Siempre</string>
<string name="amoled">Amoled</string>
<string name="anti_features">Anti-funciones</string>
<string name="application">Aplicación</string>
<string name="application_not_found">Aplicación no encontrada</string>
<string name="author_email">Email del autor</string>
<string name="author_website">Sitio web del autor</string>
<string name="available">Disponible</string>
<string name="bug_tracker">Rastrea-bugs</string>
<string name="cancel">Cancelar</string>
<string name="cant_edit_sync_DESC">No puede editarse el repositorio porque está sincronizándose.</string>
<string name="changelog">Registro de cambios</string>
<string name="changes">Cambios</string>
<string name="checking_repository">Comprobando repositorio</string>
<string name="compiled_for_debugging">Compilado para depuración</string>
<string name="confirmation">Confirmación</string>
<string name="connecting">Conectando</string>
<string name="contains_non_free_media">Contiene medios no libres</string>
<string name="could_not_download_FORMAT">No se pudo descargar %s</string>
<string name="could_not_sync_FORMAT">No se pudo sincronizar %s</string>
<string name="could_not_validate_FORMAT">No se pudo validar %s</string>
<string name="credits">Créditos</string>
<string name="dark">Oscuro</string>
<string name="date_added">Fecha agregado</string>
<string name="delete">Eliminar</string>
<string name="delete_repository_DESC">¿Seguro querés eliminar el repositorio?</string>
<string name="description">Descripción</string>
<string name="details">Detalles</string>
<string name="donate">Donar</string>
<string name="downloaded_FORMAT"> %s descargado</string>
<string name="downloading">Descargando</string>
<string name="downloading_FORMAT">Descargando %s</string>
<string name="edit_repository">Editar repositorio</string>
<string name="file_format_error_DESC">Formato de archivo inválido.</string>
<string name="fingerprint">Huella</string>
<string name="has_advertising">Tiene anuncios</string>
<string name="has_non_free_dependencies">Tiene dependencias no libres</string>
<string name="has_security_vulnerabilities">Tiene vulnerabilidades de seguridad</string>
<string name="http_error_DESC">Respuesta del servidor inválida.</string>
<string name="http_proxy">Proxy HTTP</string>
<string name="ignore_all_updates">Ignorar todas las actualizaciones</string>
<string name="ignore_this_update">Ignorar esta actualización</string>
<string name="incompatible_api_DESC_FORMAT">Tu %1$s (API versión %2$d) no está soportada. %3$s</string>
<string name="incompatible_api_max_DESC_FORMAT">Versión máxima del API: %d.</string>
<string name="incompatible_api_min_DESC_FORMAT">Versión mínima de API: %d.</string>
<string name="incompatible_features_DESC">Características faltantes.</string>
<string name="incompatible_older_DESC">Esta versión es más antigua que la de tu dispositivo. Desinstalá esa primero.</string>
<string name="incompatible_platforms_DESC_FORMAT">Tu plataforma %1$s no está soportada. Plataformas soportadas: %2$s.</string>
<string name="incompatible_signature_DESC">Esta versión está firmada con un certificado diferente que la instalada en tu dispositivo. Desinstalá esa primero.</string>
<string name="incompatible_version">Versión incompatible</string>
<string name="incompatible_versions">Versiones incompatibles</string>
<string name="incompatible_versions_summary">Mostrar versiones de apps incompatibles con el dispositivo</string>
<string name="incompatible_with_FORMAT">Incompatible con %s</string>
<string name="install">Instalar</string>
<string name="install_types">Tipos de Instalación</string>
<string name="installed">Instalado</string>
<string name="integrity_check_error_DESC">No pudo comprobarse integridad.</string>
<string name="invalid_address">Dirección inválida</string>
<string name="invalid_fingerprint_format">Formato de huella inválido</string>
<string name="invalid_metadata_error_DESC">Metadatos inválidos</string>
<string name="invalid_permissions_error_DESC">Permisos inválidos.</string>
<string name="invalid_signature_error_DESC">Firma inválida.</string>
<string name="invalid_username_format">Formato de nombre de usuario inválido</string>
<string name="last_update">Última actualización</string>
<string name="launch">Lanzar</string>
<string name="license">Licencia</string>
<string name="license_FORMAT">Licencia %s</string>
<string name="light">Claro</string>
<string name="link_copied_to_clipboard">Link copiado al portapapeles</string>
<string name="links">Links</string>
<string name="merging_FORMAT">Uniendo %s</string>
<string name="name">Nombre</string>
<string name="network_error_DESC">Error de red.</string>
<string name="never">Nunca</string>
<string name="new_updates_available">Nuevas actualizaciones disponibles</string>
<string name="no_applications_available">No hay apps disponibles</string>
<string name="no_applications_installed">No hay apps instaladas</string>
<string name="no_description_available_DESC">No hay descripción.</string>
<string name="no_matching_applications_found">No se encontraron apps coincidentes</string>
<string name="no_proxy">Sin proxy</string>
<string name="notify_about_updates">Notificar actualizaciones</string>
<string name="notify_about_updates_summary">Muestra una notificación cuando hay actualizaciones</string>
<string name="number_of_applications">Número de aplicaciones</string>
<string name="ok">OK</string>
<string name="only_compatible_with_FORMAT">Sólo conpatible con %s</string>
<string name="only_on_wifi">Sólo con Wi-Fi</string>
<string name="open_DESC_FORMAT">¿Abrir %s?</string>
<string name="other">Otro</string>
<string name="parsing_index_error_DESC">No pudo analizarse el archivo de índice.</string>
<string name="password">Contraseña</string>
<string name="password_missing">Contraseña faltante</string>
<string name="permissions">Permisos</string>
<string name="plus_more_FORMAT">+%d más</string>
<string name="settings">Ajustes</string>
<string name="processing_FORMAT">Procesando %1$s</string>
<string name="project_website">Sitio web del proyecto</string>
<string name="promotes_non_free_network_services">Promueve servicios de red no libres</string>
<string name="promotes_non_free_software">Promueve software no libre</string>
<string name="provided_by_FORMAT">Provisto por %s</string>
<string name="proxy">Proxy</string>
<string name="proxy_host">Host del Proxy</string>
<string name="proxy_port">Puerto de Proxy</string>
<string name="proxy_type">Tipo de Proxy</string>
<string name="repositories">Repositorios</string>
<string name="repository">Repositorio</string>
<string name="repository_not_used_DESC">Este repositorio aún no se usó. Debés habilitarlo para ver las apps que provee.</string>
<string name="repository_unsigned_DESC">Sin firmar. No se pudo verificar la lista de apps; sé cuidadoso al descargar apps de repositorios sin firmar.</string>
<string name="requires_FORMAT">Requiere %s</string>
<string name="root_permission">Instalación Silenciosa</string>
<string name="root_permission_description">Concede Permisos Root para activar la Instalación Silenciosa</string>
<string name="save">Guardar</string>
<string name="saving_details">Guardando detalles</string>
<string name="screenshots">Capturas</string>
<string name="search">Buscar</string>
<string name="select_mirror">Elegir espejo</string>
<string name="share">Cuota</string>
<string name="show_more">Mostrar más</string>
<string name="show_older_versions">Mostrar versiones más antiguas</string>
<string name="signature_FORMAT">Firma %s</string>
<string name="signed_using_unsafe_algorithm">Firmado usando un algoritmo inseguro</string>
<string name="skip">Saltar</string>
<string name="socks_proxy">Proxy SOCKS</string>
<string name="sorting_order">Ordenado</string>
<string name="source_code">Código fuente</string>
<string name="source_code_no_longer_available">El código fuente ya no está disponible</string>
<string name="suggested">Sugerido</string>
<string name="sync_repositories">Sincronizar repositorios</string>
<string name="sync_repositories_automatically">Sincronizar repositories automáticamente</string>
<string name="syncing">Sincronizando</string>
<string name="syncing_FORMAT">Sincronizando %s</string>
<string name="system">Sistema</string>
<string name="tap_to_install_DESC">Tocá para instalar.</string>
<string name="theme">Tema</string>
<string name="themes">Temas</string>
<string name="tracks_or_reports_your_activity">Rastrea o informa tu actividad</string>
<string name="uninstall">Desinstalar</string>
<string name="unknown">Desconocido</string>
<string name="unknown_error_DESC">Error desconocido.</string>
<string name="unknown_FORMAT">Desconocido: %s</string>
<string name="unsigned">No firmado</string>
<string name="unstable_updates">Actualizaciones inestables</string>
<string name="unstable_updates_summary">Sugerir instalar versiones inestables</string>
<string name="unverified">No verificado</string>
<string name="update">Actualización</string>
<string name="updates">Actualizaciones</string>
<string name="upstream_source_code_is_not_free">El código original no es libre</string>
<string name="username">Nombre de usuario</string>
<string name="username_missing">Falta el nombre de usuario</string>
<string name="validation_index_error_DESC">El índice no pudo ser validado.</string>
<string name="version_FORMAT">Versión %s</string>
<string name="versions">Versiones</string>
<string name="waiting_to_start_download">Esperando para descargar</string>
<string name="website">Sitio web</string>
</resources>

View File

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="action_failed">A ação falhou</string>
<string name="add_repository">Adicionar repositório</string>
<string name="address">Endereço</string>
@ -131,6 +130,7 @@
<string name="screenshots">Capturas de tela</string>
<string name="search">Pesquisar</string>
<string name="select_mirror">Selecione um mirror</string>
<string name="share">Compartilhado</string>
<string name="show_more">Mostrar mais</string>
<string name="show_older_versions">Mostrar versões antigas</string>
<string name="signature_FORMAT">Assinatura %s</string>

View File

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="action_failed">操作失败</string>
<string name="add_repository">添加存储库</string>
<string name="address">地址</string>
@ -28,6 +27,7 @@
<string name="could_not_download_FORMAT">无法下载 %s</string>
<string name="could_not_sync_FORMAT">无法同步 %s</string>
<string name="could_not_validate_FORMAT">无法验证 %s</string>
<string name="credits">鸣谢</string>
<string name="dark">暗色</string>
<string name="date_added">添加日期</string>
<string name="delete">删除</string>
@ -63,6 +63,7 @@
<string name="incompatible_versions_summary">显示与设备不兼容的应用版本</string>
<string name="incompatible_with_FORMAT">与 %s 不兼容</string>
<string name="install">安装</string>
<string name="install_types">安装类型</string>
<string name="installed">已安装</string>
<string name="integrity_check_error_DESC">无法检查完整性。</string>
<string name="invalid_address">地址无效</string>
@ -127,6 +128,7 @@
<string name="screenshots">截图</string>
<string name="search">搜索</string>
<string name="select_mirror">选择一个镜像</string>
<string name="share">分享</string>
<string name="show_more">显示更多</string>
<string name="show_older_versions">显示旧版本</string>
<string name="signature_FORMAT">签名 %s</string>
@ -166,7 +168,4 @@
<string name="root_permission">后台安装</string>
<string name="root_permission_description">允许 Root 权限以启用后台安装</string>
<string name="themes">主题</string>
<string name="credits">鸣谢</string>
<string name="install_types">安装类型</string>
</resources>

View File

@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="action_failed">Action failed</string>
<string name="add_repository">Add repository</string>
<string name="address">Address</string>
@ -132,6 +131,7 @@
<string name="screenshots">Screenshots</string>
<string name="search">Search</string>
<string name="select_mirror">Select a mirror</string>
<string name="share">Share</string>
<string name="show_more">Show more</string>
<string name="show_older_versions">Show older versions</string>
<string name="signature_FORMAT">Signature %s</string>

View File

@ -23,6 +23,7 @@
<item name="android:fastScrollTrackDrawable">@drawable/scrollbar_track</item>
<item name="android:windowLightStatusBar" tools:targetApi="m">true</item>
<item name="android:navigationBarColor">@android:color/transparent</item>
<item name="switchStyle">@style/Theme.Switch</item>
</style>
<style name="Theme.Main.Dark" parent="Theme.Material3.Dark.NoActionBar">
@ -43,6 +44,7 @@
<item name="android:fastScrollThumbDrawable">@drawable/scrollbar_thumb</item>
<item name="android:fastScrollTrackDrawable">@drawable/scrollbar_track</item>
<item name="android:navigationBarColor">@android:color/transparent</item>
<item name="switchStyle">@style/Theme.Switch</item>
</style>
<style name="Theme.Main.Amoled" parent="Theme.Material3.Dark.NoActionBar">
@ -63,6 +65,7 @@
<item name="android:fastScrollThumbDrawable">@drawable/scrollbar_thumb</item>
<item name="android:fastScrollTrackDrawable">@drawable/scrollbar_track</item>
<item name="android:navigationBarColor">@android:color/transparent</item>
<item name="switchStyle">@style/Theme.Switch</item>
</style>
<style name="Widget.Main.Toolbar" parent="Widget.Material3.Toolbar">
@ -84,4 +87,9 @@
<item name="android:colorBackground">@color/black</item>
</style>
<style name="Theme.Switch" parent="Widget.Material3.CompoundButton.Switch">
<item name="trackTint">@color/switch_track_color</item>
<item name="thumbTint">@color/switch_thumb_tint</item>
</style>
</resources>