From e315793137832e2e4f27205bc06084d5224177c6 Mon Sep 17 00:00:00 2001 From: tobiasKaminsky Date: Fri, 29 Nov 2024 07:08:48 +0100 Subject: [PATCH 1/7] MANAGE_EXTERNAL_STORAGE not possible for gplay flavor anylonger Signed-off-by: tobiasKaminsky --- app/src/gplay/AndroidManifest.xml | 5 ++ .../client/preferences/AppPreferences.java | 3 ++ .../preferences/AppPreferencesImpl.java | 12 +++++ .../java/com/owncloud/android/MainApp.java | 4 ++ .../ui/activity/FileDisplayActivity.java | 46 ++++++++++++++++++- .../ui/activity/UploadFilesActivity.java | 4 +- .../SyncedFolderPreferencesDialogFragment.kt | 3 +- .../android/utils/FileStorageUtils.java | 10 ++++ app/src/main/res/values/strings.xml | 2 + 9 files changed, 86 insertions(+), 3 deletions(-) diff --git a/app/src/gplay/AndroidManifest.xml b/app/src/gplay/AndroidManifest.xml index 8d9ec96b73..9e2d78552b 100644 --- a/app/src/gplay/AndroidManifest.xml +++ b/app/src/gplay/AndroidManifest.xml @@ -13,6 +13,11 @@ android:name="android.permission.REQUEST_INSTALL_PACKAGES" tools:node="remove"/> + + { + dialog.dismiss(); + }) + .setIcon(R.drawable.nav_synced_folders) + .create() + .show(); + } + + preferences.setAutoUploadGPlayWarningShown(true); + } + @SuppressWarnings("unchecked") private void loadSavedInstanceState(Bundle savedInstanceState) { if (savedInstanceState != null) { diff --git a/app/src/main/java/com/owncloud/android/ui/activity/UploadFilesActivity.java b/app/src/main/java/com/owncloud/android/ui/activity/UploadFilesActivity.java index 9b7514bd01..36b12acd7e 100644 --- a/app/src/main/java/com/owncloud/android/ui/activity/UploadFilesActivity.java +++ b/app/src/main/java/com/owncloud/android/ui/activity/UploadFilesActivity.java @@ -49,6 +49,7 @@ import com.owncloud.android.ui.fragment.ExtendedListFragment; import com.owncloud.android.ui.fragment.LocalFileListFragment; import com.owncloud.android.utils.DisplayUtils; import com.owncloud.android.utils.FileSortOrder; +import com.owncloud.android.utils.FileStorageUtils; import com.owncloud.android.utils.PermissionUtil; import java.io.File; @@ -563,7 +564,8 @@ public class UploadFilesActivity extends DrawerActivity implements LocalFileList } private void checkWritableFolder(File folder) { - boolean canWriteIntoFolder = folder.canWrite(); + boolean canWriteIntoFolder = FileStorageUtils.isFolderWritable(folder); + binding.uploadFilesSpinnerBehaviour.setEnabled(canWriteIntoFolder); TextView textView = findViewById(R.id.upload_files_upload_files_behaviour_text); diff --git a/app/src/main/java/com/owncloud/android/ui/dialog/SyncedFolderPreferencesDialogFragment.kt b/app/src/main/java/com/owncloud/android/ui/dialog/SyncedFolderPreferencesDialogFragment.kt index aba0d565d8..37825ab92d 100644 --- a/app/src/main/java/com/owncloud/android/ui/dialog/SyncedFolderPreferencesDialogFragment.kt +++ b/app/src/main/java/com/owncloud/android/ui/dialog/SyncedFolderPreferencesDialogFragment.kt @@ -277,7 +277,8 @@ class SyncedFolderPreferencesDialogFragment : DialogFragment(), Injectable { binding?.settingInstantBehaviourContainer?.alpha = ALPHA_DISABLED return } - if (syncedFolder!!.localPath != null && File(syncedFolder!!.localPath).canWrite()) { + if (syncedFolder!!.localPath != null && + FileStorageUtils.isFolderWritable(File(syncedFolder!!.localPath))) { binding?.settingInstantBehaviourContainer?.isEnabled = true binding?.settingInstantBehaviourContainer?.alpha = ALPHA_ENABLED binding?.settingInstantBehaviourSummary?.text = diff --git a/app/src/main/java/com/owncloud/android/utils/FileStorageUtils.java b/app/src/main/java/com/owncloud/android/utils/FileStorageUtils.java index eaf81854b8..11f95da1d1 100644 --- a/app/src/main/java/com/owncloud/android/utils/FileStorageUtils.java +++ b/app/src/main/java/com/owncloud/android/utils/FileStorageUtils.java @@ -680,6 +680,16 @@ public final class FileStorageUtils { return checkIfEnoughSpace(availableSpaceOnDevice, file); } + + public static boolean isFolderWritable(File folder) { + File[] children = folder.listFiles(); + + if (children != null && children.length > 0) { + return children[0].canWrite(); + } else { + return folder.canWrite(); + } + } @VisibleForTesting public static boolean checkIfEnoughSpace(long availableSpaceOnDevice, OCFile file) { diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index dd01ccb130..1cea61f70c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1275,4 +1275,6 @@ Disable for all folders Pending Remove Operation Changing the extension might cause this file to open in a different application + Auto upload behaviour changed + Due to Google restrictions auto upload cannot move or delete files after uploading. From 4811df6f6c990ea1d435a430ce2ec5c982d10b83 Mon Sep 17 00:00:00 2001 From: Tobias Kaminsky Date: Tue, 3 Dec 2024 14:11:19 +0100 Subject: [PATCH 2/7] Update app/src/main/res/values/strings.xml Co-authored-by: Tom <70907959+ZetaTom@users.noreply.github.com> Signed-off-by: Tobias Kaminsky --- app/src/main/res/values/strings.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1cea61f70c..e48003d717 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -1276,5 +1276,5 @@ Pending Remove Operation Changing the extension might cause this file to open in a different application Auto upload behaviour changed - Due to Google restrictions auto upload cannot move or delete files after uploading. + Due to new restrictions imposed by Google, the auto upload feature will no longer be able to automatically remove uploaded files. From 63d2c665185e25c5a09681a82356d0f1d420c9e0 Mon Sep 17 00:00:00 2001 From: nextcloud-android-bot Date: Wed, 4 Dec 2024 03:00:08 +0000 Subject: [PATCH 3/7] =?UTF-8?q?=F0=9F=94=84=20synced=20local=20'.github/wo?= =?UTF-8?q?rkflows/'=20with=20remote=20'config/workflows/'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: nextcloud-android-bot --- .github/workflows/codeql.yml | 4 ++-- .github/workflows/scorecard.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index ff223f223b..e8289d23e1 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -39,7 +39,7 @@ jobs: with: swap-size-gb: 10 - name: Initialize CodeQL - uses: github/codeql-action/init@f09c1c0a94de965c15400f5634aa42fac8fb8f88 # v3.27.5 + uses: github/codeql-action/init@aa578102511db1f4524ed59b8cc2bae4f6e88195 # v3.27.6 with: languages: ${{ matrix.language }} - name: Set up JDK 17 @@ -53,4 +53,4 @@ jobs: echo "org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=512m -XX:+HeapDumpOnOutOfMemoryError" > "$HOME/.gradle/gradle.properties" ./gradlew assembleDebug - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@f09c1c0a94de965c15400f5634aa42fac8fb8f88 # v3.27.5 + uses: github/codeql-action/analyze@aa578102511db1f4524ed59b8cc2bae4f6e88195 # v3.27.6 diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 7f3c962e1b..f2aecf6782 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -42,6 +42,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: "Upload to code-scanning" - uses: github/codeql-action/upload-sarif@f09c1c0a94de965c15400f5634aa42fac8fb8f88 # v3.27.5 + uses: github/codeql-action/upload-sarif@aa578102511db1f4524ed59b8cc2bae4f6e88195 # v3.27.6 with: sarif_file: results.sarif From 0dc680269f35a11106047b23a072c4cb7e1508ed Mon Sep 17 00:00:00 2001 From: Nextcloud bot Date: Wed, 4 Dec 2024 03:28:22 +0000 Subject: [PATCH 4/7] Fix(l10n): Update translations from Transifex Signed-off-by: Nextcloud bot --- app/src/main/res/values-eu/strings.xml | 1 + app/src/main/res/values-gl/strings.xml | 12 +- app/src/main/res/values-it/strings.xml | 121 ++++++++++++++++++ app/src/main/res/values-ja-rJP/strings.xml | 18 +++ app/src/main/res/values-pl/strings.xml | 14 ++ .../android/it-IT/full_description.txt | 25 ++-- 6 files changed, 173 insertions(+), 18 deletions(-) diff --git a/app/src/main/res/values-eu/strings.xml b/app/src/main/res/values-eu/strings.xml index 8a63c6c4cb..8ee414c991 100644 --- a/app/src/main/res/values-eu/strings.xml +++ b/app/src/main/res/values-eu/strings.xml @@ -692,6 +692,7 @@ Karpeta lokala Urruneko karpeta Gaia + Tarteak Kudeatu barruko karpetak bi norabideko sinkronizaziorako Iluna Argia diff --git a/app/src/main/res/values-gl/strings.xml b/app/src/main/res/values-gl/strings.xml index 5422750c56..95b7ced214 100644 --- a/app/src/main/res/values-gl/strings.xml +++ b/app/src/main/res/values-gl/strings.xml @@ -524,7 +524,7 @@ Bloqueado pola aplicación %1$s Atopáronse %1$s aplicacións de rexistros para Android Non se atopou ningunha aplicación para enviar rexistros. Instale un cliente de correo-e. - Accedeu como %1$s + Conectado como %1$s Acceder A ligazón á súa interface web %1$s cando a abre no navegador. Eliminar rexistros @@ -595,8 +595,8 @@ Notificacións xerais Progreso do reprodutor de música Reprodutor de medios - Amosar as notificacións automáticas: mencións en comentarios, recepción de novos ficheiros compartidos remotos, anuncios publicados por un administrador, etc. - Notificacións automáticas + Amosar as notificacións emerxentes: mencións en comentarios, recepción de novos ficheiros compartidos remotos, anuncios publicados por un administrador, etc. + Notificacións emerxentes Amosa o progreso do envío Envíos Icona de notificación @@ -724,9 +724,9 @@ Desculpe. Privacidade Nome novo - Foron desactivadas as notificacións automáticas por depender de servizos propietarios de Google Play. - Non dispón de notificacións automáticas por mor dun acceso á sesión caducado. Considere volver engadir a súa conta. - Actualmente non están dispoñíbeis as notificacións automáticas. + Foron desactivadas as notificacións emerxentes por depender de servizos propietarios de Google Play. + Non dispón de notificacións emerxentes por mor dun acceso á sesión caducado. Considere volver engadir a súa conta. + Actualmente non están dispoñíbeis as notificacións emerxentes. Non foi posíbel ler o código QR. Non é posíbel atopar o cartafol, a operación de sincronización foi cancelada Non é posíbel atopar o ficheiro para enviar diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index f578a9f687..10c45e1844 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -35,6 +35,14 @@ Impostazioni avanzate Consenti la ri-condivisione URL di base + Disabilita Clipboard + Disabilita Intro + Disabilita Log + Disabilita Siti Esterni + Disabilita Multi Account + Disabilita Condivisione + Applicare Protezione + Hostname Proxy Porta proxy Mostra un widget dal cruscotto Cerca in %s @@ -43,6 +51,9 @@ Sei sicuro di voler rimuovere questa attività? Elimina attività Non riuscito + Lista dei Task in caricamento, si prega di attendere + Nessun task disponibile. Scegli un tipo di Task per crearne uno nuovo. + Nessun task disponibile per la tipologia %s, puoi crearne uno nuovo in basso a destra. In corso Programmato Completato @@ -50,7 +61,10 @@ Task creato con successo Un errore è intercorso durante la cancellazione del task Task cancellato con successo + Impossibile recuperare la lista dei Task, verifica la tua connessione a internet. Cancella task + Il risultato del task non è ancora pronto. + Impossibile recuperare i tipi di task, per favore verifica la tua connessione a internet. Assistente Sconosciuto Input @@ -99,6 +113,7 @@ Avatar Assente Impostazioni di backup + Backup dei contatti e del calendario Chiudi Disabilita Il tuo dispositivo potrebbe avere l\'ottimizzazione della batteria abilitata. Il caricamento automatico funziona correttamente solo se escludi questa applicazione dall\'ottimizzazione. @@ -170,9 +185,12 @@ Vuoi davvero rimuovere %1$s e il relativo contenuto? Vuoi davvero eliminare gli elementi selezionati e il loro contenuto? Solo localmente + Impossibile creare la finestra di dialogo per la risoluzione dei conflitti File %1$s in conflitto + Cartella in Conflitto File locale Se selezioni entrambe le versioni, il file locale ha un numero aggiunto al suo nome. + Se selezioni entrambe le versioni, alla cartella locale verrà aggiunto un numero al nome. File su server Backup contatti Autorizzazione Contatti richiesta @@ -202,6 +220,7 @@ Nuova presentazione Nuovo foglio elettronico Aggiungi descrizione cartella + Aggiungi una descrizione della cartella Credenziali disabilitate Backup giornaliero Dati di cui eseguire il backup @@ -242,7 +261,10 @@ Scaricamento in corso… %1$s scaricato Scaricati + Alcuni file sono stati cancellati dall\'utente durante il download + Errore durante lo scaricamento dei file Non ancora scaricato + Errore inaspettato durante il download dei file Chiudi barra laterale Comunità Immagine di sfondo sull\'intestazione del cassetto @@ -265,8 +287,11 @@ %1$s di %2$s utilizzati %1$s utilizzato Caricamento automatico + Contatore troppo vecchio + Hash non trovato L\'E2E non è ancora configurato Impossibile senza connessione internet + La firma non corrisponde Assistente Altro Note @@ -308,7 +333,9 @@ Errore durante la visualizzazione della finestra di dialogo per l\'impostazione della crittografia! Errore di avvio della fotocamera Errore all\'avvio della scansione del documento + Impossibile caricare i media catturati Account + Volte avviato in 48h Creato il Nome operazione Avanzamento @@ -338,9 +365,11 @@ Aggiornamento interfaccia non riuscito Aggiungi ai preferiti Preferito + Il file condiviso non può essere aggiornato Questo nome per il file esiste già Elimina Errore durante il recupero delle attività per i file + Nessuna app disponibile per selezionare i contatti Caricamento dettagli non riuscito File Mantieni @@ -351,6 +380,7 @@ Qui non c\'è alcun file Nessun risultato in questa cartella Nessun risultato + Nessun file o cartella corrisponde alla tua ricerca Non c\'è niente qui. Puoi aggiungere una cartella. I file e le cartelle scaricati saranno mostrati qui. Non è stato trovato alcun file modificato negli ultimi 7 giorni @@ -367,6 +397,7 @@ Autorizzazioni di archiviazione %1$s funziona meglio con l\'autorizzazione di accedere all\'archiviazione. Puoi scegliere l\'accesso completo a tutti i file o quello in sola lettura a foto e video. %1$s richiede l\'autorizzazione di gestione file per inviare i file. Puoi scegliere l\'accesso completo a tutti i file o quello in sola lettura a foto e video. + Permetti l\'accesso da altre app Controllo della destinazione… Pulizia in corso… Aggiornamento della cartella di archiviazione dei dati @@ -377,6 +408,7 @@ Impossibile scrivere il file di destinazione Problema durante la migrazione Aggiornamento dell\'indice non riuscito + %1$s\n(%2$s / %3$s) Spostamento dei dati… Fine Sostituisci @@ -388,9 +420,18 @@ Aggiornamento dell\'indice… Usa In attesa della sincronizzazione completa… + Il nome della cartella corrente non è valido, rinomina la cartella. Reindirizzamento alla home... + Il percorso della cartella contiene nomi riservati o caratteri non validi + %s è una estensione di file non permessa + I nomi dei file non devono contenere spazi all\'inizio o alla fine + Il nome contiene dei caratteri non validi: %s + %s è un nome non consentito + %s. Per favore rinomina il file prima di spostarlo o copiarlo + Alcuni contenuti non possono essere caricati poiché contengono nomi riservati o caratteri non validi File non trovato Il file non può essere sincronizzato. Viene mostrata l\'ultima versione disponibile. Rinomina + Lo stesso file esiste già, nessun conflitto rilevato Errore durante il ripristino della versione del file! Versione del file ripristinata correttamente. Dettagli @@ -404,9 +445,13 @@ Il nome del file contiene almeno un carattere non valido Nome file Mantieni i tuoi dati sicuri e sotto il tuo controllo + Collaborazione sicura e scambio di file + Webmail, calendario e contatti facili da usare + Condivisione dello schermo, riunioni online e conferenze web La cartella esiste già Crea Qui non c\'è alcuna cartella + Il nome della cartella non può essere vuoto Scegli Scegli la cartella di destinazione Copia @@ -425,6 +470,8 @@ Tutti i file sono stati spostati Inoltra 4 ore + Google ha limitato il download di file APK/AAB! + Questa icona indica la disponibilità di foto dal vivo Il nome renderà il file nascosto Nome Nota @@ -451,6 +498,9 @@ Carica anche i file esistenti Carica solo durante la ricarica /InstantUpload + Sincronizzazione bidirezionale interna + Non ancora, sarà sincronizzato a breve + È necessaria una connessione Internet per configurare la cartella crittografata URL non valido Invisibile L\'etichetta non può essere vuota @@ -489,6 +539,7 @@ Cancella i dati Impostazioni, database e certificati del server dai dati di %1$s saranno eliminati definitivamente.\n\nI file scaricati non saranno interessati.\n\nQuesto processo può richiedere del tempo. Gestisci lo spazio + Hai raggiunto il limite massimo di caricamento file. Carica meno di 500 file alla volta. Il file multimediale non può essere trasmesso Impossibile leggere il file multimediale Il file multimediale ha una codifica non corretta @@ -534,6 +585,8 @@ Impossibile inviare la nota Icona della nota Esecuzione dell\'azione non riuscita. + Mostra notifiche per interagire con il risultato delle operazioni in background + Operazioni in Background Mostra l\'avanzamento degli scaricamenti Scaricamenti Mostra l\'avanzamento e i risultati della sincronizzazione file @@ -547,9 +600,20 @@ Mostra l\'avanzamento dei caricamenti Upload Icona di notifica + Sono presenti notifiche non lette Nessuna notifica Controlla nuovamente più tardi. + Operazione in Sospeso + Operazione di Rimozione in Sospeso Nessuna connessione a Internet + Puoi organizzare le tue cartelle, creare file anche senza connessione Internet. Una volta tornato online le azioni in sospeso verranno sincronizzate automaticamente. + Sei Offline, Ma Puoi Continuare a Lavorare + Il file non esiste ancora. Per favore carica prima il file. + Cartelle in Conflitto: %s + Cancella Cartella Offline + L\'operazione offline non può essere completata. %s + Operazioni Offline + Avvio delle Operazioni Online 1 ora In linea Stato in linea @@ -579,6 +643,7 @@ 2012/05/18 12:23 PM ferma attiva + Per favore, seleziona un server... La disabilitazione del controllo di risparmio energetico potrebbe risultare in caricamenti di file in uno stato di bassa carica della batteria. eliminato lasciato nella cartella originale @@ -590,6 +655,7 @@ Rinomina la nuova versione Cosa fare se il file esiste già? Aggiungi account + Sincronizza calendario e contatti F-Droid o Google Play non installato Configura DAVx5 (originariamente conosciuto come DAVdroid) (v1.3.0+) per l\'account corrente Sincronizzazione calendario e contatti configurata @@ -599,7 +665,10 @@ Generale Altro Sincronizzazione + Backup giornaliero del tuo calendario e dei contatti Backup giornaliero dei tuoi contatti + Posizione di archiviazione dei dati + Gestisci la posizione di archiviazione dei dati Errore inaspettato nella configurazione di Davx5 (precedentemente DAVdroid) La cifratura end-to-end è impostata! Codice mnemonico E2E @@ -612,6 +681,7 @@ Il file originale sarà… Il file originale sarà… Escludi file e cartelle nascoste + Escludi nascosti Archivia in sottocartelle in base alla data Usa sottocartelle Opzioni sottocartella @@ -637,13 +707,19 @@ Cartella locale Cartella remota Tema + Intervallo + Gestisci le cartelle interne per la sincronizzazione bidirezionale + Abilita sincronizzazione bidirezionale Scuro Chiaro Segui il sistema Anteprima dell\'immagine + Download dell\'immagine in corso per avviare la schermata di modifica, attendere... Non esiste un file locale per l\'anteprima Impossibile mostrare l\'immagine + Il file non è stato scaricato Il file non esiste + Il file è attualmente bloccato da un altro utente o processo e quindi non eliminabile. Per favore riprova più tardi. Spiacenti Riservatezza Nuovo nome @@ -651,6 +727,8 @@ Nessuna notifica push a causa della sessione di accesso scaduta. Considera di aggiungere nuovamente il tuo account. Notifiche push attualmente non disponibili. Il codice QR non può essere letto! + Impossibile trovare la cartella, l\'operazione di sincronizzazione è stata annullata + Impossibile trovare il file da caricare Prova %1$s sul tuo dispositivo! Vorrei invitarti a utilizzare %1$s sul tuo dispositivo.\nScaricalo qui:%2$s %1$s o %2$s @@ -672,6 +750,7 @@ Richiesta di eliminazione account Richiedi eliminazione Richiedi l\'eliminazione permanente dell\'account al fornitore del servizio + La policy o le autorizzazioni impediscono la ricondivisione Immagine ridimensionata non disponibile. Scaricare l\'immagine completa? Ripristina file Ripristina backup @@ -692,8 +771,11 @@ in un posto Caricamento automatico per le tue foto e video + Calendario e contatti Sincronizza con DAVx5 Errore nel recuperare i risultati della ricerca + La condivisione sicura non è configurata per questo utente + Condivisione sicura... Seleziona tutto Imposta cartella multimediale Scegli un modello @@ -728,6 +810,7 @@ Collegamento di condivisione (%1$s) Imposta data di scadenza Imposta password + La ricondivisione non è consentita durante il file drop sicuro Protetta da password Può modificare Elimina file @@ -736,6 +819,7 @@ Condividi permessi %1$s (remota) %1$s (conversazione) + Nome, Federated Cloud ID o indirizzo e-mail... Invia una nuova email Nota per destinatario Impostazioni @@ -750,6 +834,7 @@ condiviso tramite collegamento Condiviso con te da %1$s Aggiunta condivisione non riuscita + Aggiunta della condivisione non riuscita. Questo file o cartella è già stato condiviso con questa persona o gruppo. Mostra le foto Mostra i video Registrati a un fornitore @@ -793,6 +878,7 @@ Accesso completo Multimediali in sola lettura Immagini + La piattaforma di produttività self-hosted che ti mantiene sotto controllo.\n\nCaratteristiche:\n* Interfaccia semplice e moderna, adatta al tema del tuo server\n* Carica file sul tuo server Nextcloud\n* Condividili con altri\n * Mantieni sincronizzati i tuoi file e le tue cartelle preferiti\n* Cerca in tutte le cartelle sul tuo server\n* Caricamento automatico delle foto e dei video acquisiti dal tuo dispositivo\n* Tieniti aggiornato con le notifiche\n* Supporto per più account\n* Accesso sicuro ai tuoi dati con l\'impronta digitale o PIN\n* Integrazione con DAVx5 (precedentemente noto come DAVdroid) per una facile configurazione della sincronizzazione del calendario e dei contatti\n\nSegnala tutti i problemi su https://github.com/nextcloud/android/issues e discuti questa app su https://help.nextcloud.com/c/clients/android\n\nNuovo su Nextcloud? Nextcloud è un server privato di sincronizzazione, condivisione e comunicazione di file. È un software gratuito e puoi ospitarlo tu stesso o pagare un\'azienda per farlo per te. In questo modo, hai il controllo delle tue foto, del tuo calendario, dei dati di contatto, dei tuoi documenti e di tutto il resto.\n\nDai un\'occhiata a Nextcloud su https://nextcloud.com La piattaforma di produttività auto-gestita che ti lascia al comando.\nQuesta è la versione di sviluppo ufficiale e include funzionalità nuove, non testate che potrebbero provocare instabilità e perdite di dati. Questa applicazione è pensata per gli utenti che desiderano provare le nuove funzionalità e segnalare bug, se si verificano. Non utilizzarla in ambienti di produzione!\n\nSia la versione di sviluppo che quella normale sono disponibili su F-droid, e possono essere installate contemporaneamente. La piattaforma di produttività auto-gestita che ti lascia al comando La piattaforma di produttività auto-gestita che ti lascia al comando (versione in anteprima di sviluppo) @@ -852,11 +938,19 @@ Elimina permanentemente Caricamento cestino non riuscito! I file non possono essere scaricati definitivamente! + Disabilita per tutte le cartelle + Per impostare una cartella di sincronizzazione bidirezionale, abilitala nella tab dei dettagli della cartella in questione. + Sincronizzazione bidirezionale non configurata + Sincronizzazione bidirezionale interna Si è verificato un errore inatteso + Evento non trovato, puoi sempre sincronizzarti per aggiornare. Reindirizzamento al Web... + Contatto non trovato, puoi sempre sincronizzare per aggiornare. Reindirizzamento al Web... + Sono necessarie le autorizzazioni per aprire il risultato della ricerca, altrimenti verrà reindirizzato al web... Sblocca file Sono presenti commenti non letti Rimuovi cifratura Rimuovi dai preferiti + Rimuovi la cartella dalla sincronizzazione bidirezionale interna Si è verificato un errore durante il tentativo di rimozione della condivisione del file o della cartella. Impossibile rimuovere la condivisione. Assicurati che il file esista. per rimuovere la condivisione di questo file @@ -866,12 +960,20 @@ Impossibile aggiornare. Assicurati che il file esista. per aggiornare questa condivisione Aggiornamento condivisione non riuscito + Cancella caricamenti annullati + Ripristina caricamenti annullati Cancella caricamenti non riusciti Riprova caricamenti non riusciti + Alcuni file non esistono più. Questi caricamenti non possono essere ripresi. + Metti in pausa tutti i caricamenti + Riprendi tutti i caricamenti Impossibile creare il file locale Carica da… Carica contenuti da altre applicazioni + Foto + Vuoi fare una foto o un video? Carica dalla fotocamera + Video Nome file Tipo file File di scorciatoia Google Maps (%s) @@ -879,15 +981,18 @@ File di frammento di testo(.txt) Digita il nome e il tipo di file da caricare Carica file + Tutti i caricamenti sono in pausa Pulsante azione Carica elemento Elimina Nessun caricamento disponibile Carica dei contenuti o attiva il caricamento automatico. + Attiva/disattiva l\'espansione dell\'intestazione Risolvi conflitto Archiviazione locale piena Il file non può essere copiato nell\'archiviazione locale Blocco della cartella non riuscito Caricamento annullato dall\'utente + %1$d / %2$d - %3$s La cifratura è possibile solo con >= Android 5.0 La mancanza di spazio impedisce di copiare i file selezionati nella cartella %1$s. Vuoi spostarli in quella cartella? Quota di archiviazione superata @@ -902,7 +1007,10 @@ File selezionato per il caricamento non trovato. Controlla se il file esiste. Questo file non può essere caricato Nessun file da caricare + File non trovato. Sei sicuro che questo file esista o che un conflitto precedente non sia stato risolto? + Non siamo riusciti a individuare il file sul server. Un altro utente potrebbe aver eliminato il file Nome della cartella + Riprova a caricare i file locali non riusciti Scegli la cartella di caricamento Impossibile caricare %1$s Caricamento non riuscito, effettua nuovamente l\'accesso @@ -940,6 +1048,7 @@ Recupero versione del server… Applicazione terminata Completati + Stesso file trovato in remoto, salto il caricamento Errore sconosciuto Virus rilevato! Impossibile caricare il file! In attesa di uscire dal risparmio energetico @@ -960,6 +1069,7 @@ Attendi… Controllo delle credenziali memorizzate Copia file dall\'archiviazione privata + La modifica dell\'estensione potrebbe causare l\'apertura di questo file in un\'applicazione diversa Aggiorna l\'applicazione System WebView di Android per accedere Aggiorna Aggiorna System WebView di Android @@ -967,11 +1077,22 @@ Salta Prima volta su %1$s Qual è il tuo stato? + I Widgets sono disponibili solamente in %1$s 25 o superiore con l\'app Dashboard abilitata Non disponibile Scaricamento file in corso… Invia email La cartella di archiviazione dei dati non esiste! Ciò potrebbe essere dovuto a un ripristino di backup su un altro dispositivo. Ripristino del valore predefinito. Controlla le impostazioni per modificare la cartella di archiviazione dei dati. + + %d ora + %d ore + %d ore + + + %d minuto + %d minuti + %d minuti + Impossibile sincronizzare %1$d file (conflitto con: %2$d) Impossibile sincronizzare %1$d file (conflitto con: %2$d) diff --git a/app/src/main/res/values-ja-rJP/strings.xml b/app/src/main/res/values-ja-rJP/strings.xml index 1584dad901..d53a73d720 100644 --- a/app/src/main/res/values-ja-rJP/strings.xml +++ b/app/src/main/res/values-ja-rJP/strings.xml @@ -708,12 +708,18 @@ リモートフォルダー テーマ 間隔 + 内部フォルダを管理して双方向同期を行う + 双方向同期を有効にする 暗い 明るい システムの設定に従う イメージプレビュー + 編集画面を開始するために画像をダウンロードしています。しばらくお待ちください... プレビューするローカルファイルはありません 画像を表示できません + ファイルがダウンロードされていません + ファイルが存在しません + ファイルは別のユーザまたはプロセスによって現在ロックされているため、削除できません。後でもう一度試してください。 申し訳ありません プライバシー 新しい名前 @@ -721,6 +727,8 @@ 古くなったログインセッションによるプッシュ通知はありません。 アカウントを再追加することを検討してください。 プッシュ通知は現在利用できません。 QRコードを読み込めません! + フォルダが見つからないため、同期操作はキャンセルされました + アップロードするファイルが見つかりません デバイスで %1$s をお試しください あなたのデバイスで %1$s を使用してください。\nダウンロードはこちらです: %2$s %1$s または %2$s @@ -728,7 +736,11 @@ 再読み込み (リモート) ファイルが見つかりません! + このクライアントでローカルに End-to-End 暗号化を解除できます + このクライアントでローカルに End-to-End 暗号化を解除できます。暗号化されたファイルはサーバ上に残りますが、このコンピュータには同期されなくなります。 削除失敗 + ローカルアカウントを削除 + デバイスからアカウントを削除し、すべてのローカルファイルを削除する 通知の削除に失敗 削除 削除済み @@ -736,6 +748,9 @@ ローカルコピーの名前が変更できません。別の名前を試してください 名前の変更ができません。その名前は使われています アカウントの削除をリクエストする + 削除要求 + サービスプロバイダによるアカウントの永久削除を要求する + ポリシーまたは権限により再共有ができません サイズ変更された画像はありません。 フルイメージをダウンロードしますか? ファイルを復元 バックアップを復元 @@ -755,9 +770,12 @@ あなたのすべてのアカウント ひとつの場所に 自動アップロード + あなたの写真とビデオのために カレンダーと連絡先 DAVx5で同期 検索結果の取得中にエラーが発生しました + このユーザのためにセキュアな共有が設定されていません + セキュアシェア... すべて選択 メディア用のフォルダーの設定 テンプレートを選択してください diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 80608d90fd..8c164208ef 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -35,6 +35,13 @@ Ustawienia zaawansowane Zezwalaj na udostępnianie dalej Podstawowy adres URL + Wyłącz schowek + Wyłącz intro + Wyłącz log + Wyłącz zewnętrzne strony + Wyłącz multi konta + Wyłącz udostępnianie + Host Proxy Port proxy Pokazuje jeden widżet z pulpitu nawigacyjnego Szukaj w %s @@ -55,6 +62,7 @@ Zadanie pomyślnie usunięte Nie można pobrać listy zadań. Sprawdź swoje połączenie internetowe. Usuń zadanie + Wynik zadanie nie jest jeszcze gotowy Nie można pobrać typów zadań. Sprawdź swoje połączenie internetowe. Asystent Nieznany @@ -360,6 +368,7 @@ Nazwa pliku już istnieje Usuń Błąd podczas pobierania aktywności dla pliku + Brak aplikacji dla wybranego kontaktu Nie udało się załadować szczegółów Plik Zachowaj @@ -387,6 +396,7 @@ Uprawnienia do pamięci %1$s działa najlepiej z uprawnieniami dostępu do pamięci. Możesz wybrać pełny dostęp do wszystkich plików lub dostęp tylko do odczytu dla zdjęć i filmów. %1$s potrzebuje uprawnień do zarządzania plikami, aby wysyłać pliki. Możesz wybrać pełny dostęp do wszystkich plików lub dostęp tylko do odczytu dla zdjęć i filmów. + Zezwól na dostęp z innych aplikacji Sprawdzanie miejsca… Czyszczenie… Aktualizacja katalogu przechowywania danych @@ -397,6 +407,7 @@ Nie można zapisać w pliku docelowym Błąd podczas migracji Nie udało się zaktualizować indeksu + %1$s\n(%2$s / %3$s) Przenoszenie danych… Skończone Zamień @@ -592,6 +603,7 @@ Brak powiadomień Sprawdź później. Trwające działania + Trwa usuwanie Brak połączenia z Internetem Nawet bez połączenia internetowego możesz organizować swoje katalogi, tworzyć pliki. Gdy tylko wrócisz do połączenia z internetem, Twoje oczekujące działania zostaną automatycznie zsynchronizowane. Jesteś offline, ale praca trwa @@ -803,6 +815,7 @@ Uprawnienia udostępniania %1$s (zdalny) %1$s (rozmowa) + Nazwa, ID chmury stowarzyszonej lub adres e-mail Wyślij nowy e-mail Notatka dla odbiorcy Ustawienia @@ -1052,6 +1065,7 @@ Proszę czekać… Sprawdzanie danych Kopiowanie pliku z prywatnego magazynu + Zmiana rozszerzenia spowoduje otwarcie pliku w innej aplikacji Aby się zalogować, zaktualizuj aplikację WebView systemu Android Aktualizuj Zaktualizuj WebView systemu Android diff --git a/src/generic/fastlane/metadata/android/it-IT/full_description.txt b/src/generic/fastlane/metadata/android/it-IT/full_description.txt index 3e6a86a80e..a717caf1bb 100644 --- a/src/generic/fastlane/metadata/android/it-IT/full_description.txt +++ b/src/generic/fastlane/metadata/android/it-IT/full_description.txt @@ -1,18 +1,19 @@ -La piattaforma di produttività auto-gestita che ti lascia al comando. +La piattaforma di produttività self-hosted che ti mantiene sotto controllo. -* Interfaccia semplice e moderna, allineata al tema del tuo server -* Carica i file sul tuo server Nextcloud -* Condividi i tuoi file con altri -* Mantieni i tuoi file e le cartelle preferite sincronizzate -* Ricerca attraverso tutte le cartelle sul tuo server -* Caricamento automatico per le foto e i video acquisiti con il tuo dispositivo +Caratteristiche: +* Interfaccia semplice e moderna, adatta al tema del tuo server +* Carica file sul tuo server Nextcloud +* Condividili con altri + * Mantieni sincronizzati i tuoi file e le tue cartelle preferiti +* Cerca in tutte le cartelle sul tuo server +* Caricamento automatico delle foto e dei video acquisiti dal tuo dispositivo * Tieniti aggiornato con le notifiche -* Supporto di più account -* Proteggi l'accesso ai tuoi dati con impronta digitale o PIN -* Integrazione con DAVx5 (conosciuto originariamente come DAVdroid) per una facile configurazione della sincronizzazione di calendari e contatti +* Supporto per più account +* Accesso sicuro ai tuoi dati con l'impronta digitale o PIN +* Integrazione con DAVx5 (precedentemente noto come DAVdroid) per una facile configurazione della sincronizzazione del calendario e dei contatti -Segnala tutti i problemi su https://github.com/nextcloud/android/issues e discuti questa applicazione su https://help.nextcloud.com/c/clients/android +Segnala tutti i problemi su https://github.com/nextcloud/android/issues e discuti questa app su https://help.nextcloud.com/c/clients/android -Nuovo di Nextcloud? Nextcloud è un server privato di sincronizzazione e condivisione dei file e un server di comunicazione. È software libero e puoi ospitarlo a casa tua o pagare una società che lo faccia per conto tuo. In questo modo, avrai il controllo delle tue foto, del tuo calendario e dei tuoi contatti, dei tuoi documenti e di qualsiasi altra cosa. +Nuovo su Nextcloud? Nextcloud è un server privato di sincronizzazione, condivisione e comunicazione di file. È un software gratuito e puoi ospitarlo tu stesso o pagare un'azienda per farlo per te. In questo modo, hai il controllo delle tue foto, del tuo calendario, dei dati di contatto, dei tuoi documenti e di tutto il resto. Dai un'occhiata a Nextcloud su https://nextcloud.com \ No newline at end of file From ef81f43730c76e64a0cc7daa60709716460a288d Mon Sep 17 00:00:00 2001 From: tobiasKaminsky Date: Wed, 4 Dec 2024 11:20:13 +0100 Subject: [PATCH 5/7] show warning only on Android 11+ Signed-off-by: tobiasKaminsky --- .../owncloud/android/ui/activity/FileDisplayActivity.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java b/app/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java index ccc5d7a718..d31052fec1 100644 --- a/app/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java +++ b/app/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java @@ -295,6 +295,11 @@ public class FileDisplayActivity extends FileActivity if (!"gplay".equals(BuildConfig.FLAVOR)) { return; } + + // only show on Android11+ + if (Build.VERSION.SDK_INT < Build.VERSION_CODES.R) { + return; + } if (PermissionUtil.checkSelfPermission(this, Manifest.permission.MANAGE_EXTERNAL_STORAGE)) { return; From 536a821d825b6fe05204fb1a4b6648184a9b7e9b Mon Sep 17 00:00:00 2001 From: tobiasKaminsky Date: Wed, 4 Dec 2024 15:17:07 +0100 Subject: [PATCH 6/7] better gplay check Signed-off-by: tobiasKaminsky --- app/src/main/java/com/nextcloud/utils/BuildHelper.kt | 11 +++++++++++ .../java/com/owncloud/android/datamodel/OCFile.java | 3 ++- .../android/ui/activity/FileDisplayActivity.java | 3 ++- .../dialog/SyncedFolderPreferencesDialogFragment.kt | 5 +++-- 4 files changed, 18 insertions(+), 4 deletions(-) create mode 100644 app/src/main/java/com/nextcloud/utils/BuildHelper.kt diff --git a/app/src/main/java/com/nextcloud/utils/BuildHelper.kt b/app/src/main/java/com/nextcloud/utils/BuildHelper.kt new file mode 100644 index 0000000000..fd0a258d96 --- /dev/null +++ b/app/src/main/java/com/nextcloud/utils/BuildHelper.kt @@ -0,0 +1,11 @@ +/* + * Nextcloud - Android Client + * + * SPDX-FileCopyrightText: 2024 Your Name + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +package com.nextcloud.utils + +object BuildHelper { + const val GPLAY: String = "gplay" +} diff --git a/app/src/main/java/com/owncloud/android/datamodel/OCFile.java b/app/src/main/java/com/owncloud/android/datamodel/OCFile.java index d4bfa5164f..02ac9a2343 100644 --- a/app/src/main/java/com/owncloud/android/datamodel/OCFile.java +++ b/app/src/main/java/com/owncloud/android/datamodel/OCFile.java @@ -20,6 +20,7 @@ import android.os.Parcel; import android.os.Parcelable; import android.text.TextUtils; +import com.nextcloud.utils.BuildHelper; import com.owncloud.android.BuildConfig; import com.owncloud.android.R; import com.owncloud.android.lib.common.network.WebdavEntry; @@ -1092,7 +1093,7 @@ public class OCFile implements Parcelable, Comparable, ServerFileInterfa } public boolean isAPKorAAB() { - if ("gplay".equals(BuildConfig.FLAVOR)) { + if (BuildHelper.GPLAY.equals(BuildConfig.FLAVOR)) { return getFileName().endsWith(".apk") || getFileName().endsWith(".aab"); } else { return false; diff --git a/app/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java b/app/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java index d31052fec1..bbcad936f2 100644 --- a/app/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java +++ b/app/src/main/java/com/owncloud/android/ui/activity/FileDisplayActivity.java @@ -65,6 +65,7 @@ import com.nextcloud.client.preferences.AppPreferences; import com.nextcloud.client.utils.IntentUtil; import com.nextcloud.model.WorkerState; import com.nextcloud.model.WorkerStateLiveData; +import com.nextcloud.utils.BuildHelper; import com.nextcloud.utils.extensions.ActivityExtensionsKt; import com.nextcloud.utils.extensions.BundleExtensionsKt; import com.nextcloud.utils.extensions.FileExtensionsKt; @@ -292,7 +293,7 @@ public class FileDisplayActivity extends FileActivity } private void checkAutoUploadOnGPlay() { - if (!"gplay".equals(BuildConfig.FLAVOR)) { + if (!BuildHelper.GPLAY.equals(BuildConfig.FLAVOR)) { return; } diff --git a/app/src/main/java/com/owncloud/android/ui/dialog/SyncedFolderPreferencesDialogFragment.kt b/app/src/main/java/com/owncloud/android/ui/dialog/SyncedFolderPreferencesDialogFragment.kt index 37825ab92d..556dac4db7 100644 --- a/app/src/main/java/com/owncloud/android/ui/dialog/SyncedFolderPreferencesDialogFragment.kt +++ b/app/src/main/java/com/owncloud/android/ui/dialog/SyncedFolderPreferencesDialogFragment.kt @@ -277,8 +277,9 @@ class SyncedFolderPreferencesDialogFragment : DialogFragment(), Injectable { binding?.settingInstantBehaviourContainer?.alpha = ALPHA_DISABLED return } - if (syncedFolder!!.localPath != null && - FileStorageUtils.isFolderWritable(File(syncedFolder!!.localPath))) { + if (syncedFolder!!.localPath != null && + FileStorageUtils.isFolderWritable(File(syncedFolder!!.localPath)) + ) { binding?.settingInstantBehaviourContainer?.isEnabled = true binding?.settingInstantBehaviourContainer?.alpha = ALPHA_ENABLED binding?.settingInstantBehaviourSummary?.text = From a30de8a424a7389d706543e83ab42404a7a363be Mon Sep 17 00:00:00 2001 From: tobiasKaminsky Date: Wed, 4 Dec 2024 15:32:14 +0100 Subject: [PATCH 7/7] license Signed-off-by: tobiasKaminsky --- app/src/main/java/com/nextcloud/utils/BuildHelper.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/com/nextcloud/utils/BuildHelper.kt b/app/src/main/java/com/nextcloud/utils/BuildHelper.kt index fd0a258d96..24e3ae331e 100644 --- a/app/src/main/java/com/nextcloud/utils/BuildHelper.kt +++ b/app/src/main/java/com/nextcloud/utils/BuildHelper.kt @@ -1,7 +1,7 @@ /* * Nextcloud - Android Client * - * SPDX-FileCopyrightText: 2024 Your Name + * SPDX-FileCopyrightText: 2024 Tobias Kaminsky * SPDX-License-Identifier: AGPL-3.0-or-later */ package com.nextcloud.utils