mirror of
https://github.com/nextcloud/android.git
synced 2024-12-20 07:52:18 +03:00
Merge remote-tracking branch 'origin/master' into dev
This commit is contained in:
commit
b36caee4c7
12 changed files with 217 additions and 80 deletions
|
@ -22,8 +22,6 @@ package com.nextcloud.client.files.downloader
|
||||||
import android.app.Service
|
import android.app.Service
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.content.pm.ServiceInfo
|
|
||||||
import android.os.Build
|
|
||||||
import android.os.IBinder
|
import android.os.IBinder
|
||||||
import com.nextcloud.client.account.User
|
import com.nextcloud.client.account.User
|
||||||
import com.nextcloud.client.core.AsyncRunner
|
import com.nextcloud.client.core.AsyncRunner
|
||||||
|
@ -33,7 +31,9 @@ import com.nextcloud.client.logger.Logger
|
||||||
import com.nextcloud.client.network.ClientFactory
|
import com.nextcloud.client.network.ClientFactory
|
||||||
import com.nextcloud.client.network.ConnectivityService
|
import com.nextcloud.client.network.ConnectivityService
|
||||||
import com.nextcloud.client.notifications.AppNotificationManager
|
import com.nextcloud.client.notifications.AppNotificationManager
|
||||||
|
import com.nextcloud.utils.ForegroundServiceHelper
|
||||||
import com.owncloud.android.datamodel.FileDataStorageManager
|
import com.owncloud.android.datamodel.FileDataStorageManager
|
||||||
|
import com.owncloud.android.datamodel.ForegroundServiceType
|
||||||
import com.owncloud.android.datamodel.UploadsStorageManager
|
import com.owncloud.android.datamodel.UploadsStorageManager
|
||||||
import dagger.android.AndroidInjection
|
import dagger.android.AndroidInjection
|
||||||
import javax.inject.Inject
|
import javax.inject.Inject
|
||||||
|
@ -109,18 +109,12 @@ class FileTransferService : Service() {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!isRunning) {
|
if (!isRunning) {
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
|
ForegroundServiceHelper.startService(
|
||||||
startForeground(
|
this,
|
||||||
AppNotificationManager.TRANSFER_NOTIFICATION_ID,
|
AppNotificationManager.TRANSFER_NOTIFICATION_ID,
|
||||||
notificationsManager.buildDownloadServiceForegroundNotification(),
|
notificationsManager.buildDownloadServiceForegroundNotification(),
|
||||||
ServiceInfo.FOREGROUND_SERVICE_TYPE_DATA_SYNC
|
ForegroundServiceType.DataSync
|
||||||
)
|
)
|
||||||
} else {
|
|
||||||
startForeground(
|
|
||||||
AppNotificationManager.TRANSFER_NOTIFICATION_ID,
|
|
||||||
notificationsManager.buildDownloadServiceForegroundNotification()
|
|
||||||
)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
val request: Request = intent.getParcelableExtra(EXTRA_REQUEST)!!
|
val request: Request = intent.getParcelableExtra(EXTRA_REQUEST)!!
|
||||||
|
|
|
@ -22,7 +22,6 @@ package com.nextcloud.client.media
|
||||||
import android.app.PendingIntent
|
import android.app.PendingIntent
|
||||||
import android.app.Service
|
import android.app.Service
|
||||||
import android.content.Intent
|
import android.content.Intent
|
||||||
import android.content.pm.ServiceInfo
|
|
||||||
import android.media.AudioManager
|
import android.media.AudioManager
|
||||||
import android.os.Build
|
import android.os.Build
|
||||||
import android.os.Bundle
|
import android.os.Bundle
|
||||||
|
@ -32,7 +31,9 @@ import android.widget.Toast
|
||||||
import androidx.core.app.NotificationCompat
|
import androidx.core.app.NotificationCompat
|
||||||
import com.nextcloud.client.account.User
|
import com.nextcloud.client.account.User
|
||||||
import com.nextcloud.client.network.ClientFactory
|
import com.nextcloud.client.network.ClientFactory
|
||||||
|
import com.nextcloud.utils.ForegroundServiceHelper
|
||||||
import com.owncloud.android.R
|
import com.owncloud.android.R
|
||||||
|
import com.owncloud.android.datamodel.ForegroundServiceType
|
||||||
import com.owncloud.android.datamodel.OCFile
|
import com.owncloud.android.datamodel.OCFile
|
||||||
import com.owncloud.android.ui.notifications.NotificationUtils
|
import com.owncloud.android.ui.notifications.NotificationUtils
|
||||||
import com.owncloud.android.utils.theme.ViewThemeUtils
|
import com.owncloud.android.utils.theme.ViewThemeUtils
|
||||||
|
@ -173,15 +174,12 @@ class PlayerService : Service() {
|
||||||
notificationBuilder.setChannelId(NotificationUtils.NOTIFICATION_CHANNEL_MEDIA)
|
notificationBuilder.setChannelId(NotificationUtils.NOTIFICATION_CHANNEL_MEDIA)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
|
ForegroundServiceHelper.startService(
|
||||||
startForeground(
|
this,
|
||||||
R.string.media_notif_ticker,
|
R.string.media_notif_ticker,
|
||||||
notificationBuilder.build(),
|
notificationBuilder.build(),
|
||||||
ServiceInfo.FOREGROUND_SERVICE_TYPE_MEDIA_PLAYBACK
|
ForegroundServiceType.MediaPlayback
|
||||||
)
|
)
|
||||||
} else {
|
|
||||||
startForeground(R.string.media_notif_ticker, notificationBuilder.build())
|
|
||||||
}
|
|
||||||
|
|
||||||
isRunning = true
|
isRunning = true
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,48 @@
|
||||||
|
/*
|
||||||
|
* Nextcloud Android client application
|
||||||
|
*
|
||||||
|
* @author Alper Ozturk
|
||||||
|
* Copyright (C) 2023 Alper Ozturk
|
||||||
|
* Copyright (C) 2023 Nextcloud GmbH
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Affero General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU Affero General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Affero General Public License
|
||||||
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.nextcloud.utils
|
||||||
|
|
||||||
|
import android.app.Notification
|
||||||
|
import android.app.Service
|
||||||
|
import android.os.Build
|
||||||
|
import androidx.core.app.ServiceCompat
|
||||||
|
import com.owncloud.android.datamodel.ForegroundServiceType
|
||||||
|
|
||||||
|
object ForegroundServiceHelper {
|
||||||
|
fun startService(
|
||||||
|
service: Service,
|
||||||
|
id: Int,
|
||||||
|
notification: Notification,
|
||||||
|
foregroundServiceType: ForegroundServiceType
|
||||||
|
) {
|
||||||
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
|
||||||
|
ServiceCompat.startForeground(
|
||||||
|
service,
|
||||||
|
id,
|
||||||
|
notification,
|
||||||
|
foregroundServiceType.getId()
|
||||||
|
)
|
||||||
|
} else {
|
||||||
|
service.startForeground(id, notification)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,45 @@
|
||||||
|
/*
|
||||||
|
* Nextcloud Android client application
|
||||||
|
*
|
||||||
|
* @author Alper Ozturk
|
||||||
|
* Copyright (C) 2023 Alper Ozturk
|
||||||
|
* Copyright (C) 2023 Nextcloud GmbH
|
||||||
|
*
|
||||||
|
* This program is free software: you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU Affero General Public License as published by
|
||||||
|
* the Free Software Foundation, either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU Affero General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU Affero General Public License
|
||||||
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package com.owncloud.android.datamodel
|
||||||
|
|
||||||
|
import android.content.pm.ServiceInfo
|
||||||
|
import android.os.Build
|
||||||
|
import androidx.annotation.RequiresApi
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enum to specify the type of foreground service.
|
||||||
|
* Use this enum when starting a foreground service to indicate its purpose.
|
||||||
|
* Note: Foreground service type is not available for older Android versions.
|
||||||
|
* This wrapper is designed for compatibility on those versions.
|
||||||
|
*/
|
||||||
|
enum class ForegroundServiceType {
|
||||||
|
DataSync, MediaPlayback;
|
||||||
|
|
||||||
|
@RequiresApi(Build.VERSION_CODES.Q)
|
||||||
|
fun getId(): Int {
|
||||||
|
return if (this == DataSync) {
|
||||||
|
ServiceInfo.FOREGROUND_SERVICE_TYPE_DATA_SYNC
|
||||||
|
} else {
|
||||||
|
ServiceInfo.FOREGROUND_SERVICE_TYPE_MEDIA_PLAYBACK
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -28,10 +28,8 @@ import android.app.NotificationManager;
|
||||||
import android.app.PendingIntent;
|
import android.app.PendingIntent;
|
||||||
import android.app.Service;
|
import android.app.Service;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.pm.ServiceInfo;
|
|
||||||
import android.graphics.BitmapFactory;
|
import android.graphics.BitmapFactory;
|
||||||
import android.os.Binder;
|
import android.os.Binder;
|
||||||
import android.os.Build;
|
|
||||||
import android.os.Handler;
|
import android.os.Handler;
|
||||||
import android.os.HandlerThread;
|
import android.os.HandlerThread;
|
||||||
import android.os.IBinder;
|
import android.os.IBinder;
|
||||||
|
@ -44,9 +42,11 @@ import com.nextcloud.client.account.User;
|
||||||
import com.nextcloud.client.account.UserAccountManager;
|
import com.nextcloud.client.account.UserAccountManager;
|
||||||
import com.nextcloud.client.files.downloader.DownloadTask;
|
import com.nextcloud.client.files.downloader.DownloadTask;
|
||||||
import com.nextcloud.java.util.Optional;
|
import com.nextcloud.java.util.Optional;
|
||||||
|
import com.nextcloud.utils.ForegroundServiceHelper;
|
||||||
import com.owncloud.android.R;
|
import com.owncloud.android.R;
|
||||||
import com.owncloud.android.authentication.AuthenticatorActivity;
|
import com.owncloud.android.authentication.AuthenticatorActivity;
|
||||||
import com.owncloud.android.datamodel.FileDataStorageManager;
|
import com.owncloud.android.datamodel.FileDataStorageManager;
|
||||||
|
import com.owncloud.android.datamodel.ForegroundServiceType;
|
||||||
import com.owncloud.android.datamodel.OCFile;
|
import com.owncloud.android.datamodel.OCFile;
|
||||||
import com.owncloud.android.datamodel.UploadsStorageManager;
|
import com.owncloud.android.datamodel.UploadsStorageManager;
|
||||||
import com.owncloud.android.lib.common.OwnCloudAccount;
|
import com.owncloud.android.lib.common.OwnCloudAccount;
|
||||||
|
@ -83,7 +83,6 @@ import java.util.Vector;
|
||||||
import javax.inject.Inject;
|
import javax.inject.Inject;
|
||||||
|
|
||||||
import androidx.core.app.NotificationCompat;
|
import androidx.core.app.NotificationCompat;
|
||||||
import androidx.core.app.ServiceCompat;
|
|
||||||
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
|
import androidx.localbroadcastmanager.content.LocalBroadcastManager;
|
||||||
import dagger.android.AndroidInjection;
|
import dagger.android.AndroidInjection;
|
||||||
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
|
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
|
||||||
|
@ -156,7 +155,7 @@ public class FileDownloader extends Service
|
||||||
mBinder = new FileDownloaderBinder();
|
mBinder = new FileDownloaderBinder();
|
||||||
|
|
||||||
NotificationCompat.Builder builder = NotificationUtils.newNotificationBuilder(this, viewThemeUtils).setContentTitle(
|
NotificationCompat.Builder builder = NotificationUtils.newNotificationBuilder(this, viewThemeUtils).setContentTitle(
|
||||||
getApplicationContext().getResources().getString(R.string.app_name))
|
getApplicationContext().getResources().getString(R.string.app_name))
|
||||||
.setContentText(getApplicationContext().getResources().getString(R.string.foreground_service_download))
|
.setContentText(getApplicationContext().getResources().getString(R.string.foreground_service_download))
|
||||||
.setSmallIcon(R.drawable.notification_icon)
|
.setSmallIcon(R.drawable.notification_icon)
|
||||||
.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.notification_icon));
|
.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.notification_icon));
|
||||||
|
@ -195,23 +194,15 @@ public class FileDownloader extends Service
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Entry point to add one or several files to the queue of downloads.
|
* Entry point to add one or several files to the queue of downloads.
|
||||||
*
|
* <p>
|
||||||
* New downloads are added calling to startService(), resulting in a call to this method.
|
* New downloads are added calling to startService(), resulting in a call to this method. This ensures the service
|
||||||
* This ensures the service will keep on working although the caller activity goes away.
|
* will keep on working although the caller activity goes away.
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public int onStartCommand(Intent intent, int flags, int startId) {
|
public int onStartCommand(Intent intent, int flags, int startId) {
|
||||||
Log_OC.d(TAG, "Starting command with id " + startId);
|
Log_OC.d(TAG, "Starting command with id " + startId);
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
|
ForegroundServiceHelper.INSTANCE.startService(this, FOREGROUND_SERVICE_ID, mNotification, ForegroundServiceType.DataSync);
|
||||||
ServiceCompat.startForeground(
|
|
||||||
this,
|
|
||||||
FOREGROUND_SERVICE_ID,
|
|
||||||
mNotification,
|
|
||||||
ServiceInfo.FOREGROUND_SERVICE_TYPE_DATA_SYNC);
|
|
||||||
} else {
|
|
||||||
startForeground(FOREGROUND_SERVICE_ID, mNotification);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (intent == null || !intent.hasExtra(EXTRA_USER) || !intent.hasExtra(EXTRA_FILE)) {
|
if (intent == null || !intent.hasExtra(EXTRA_USER) || !intent.hasExtra(EXTRA_FILE)) {
|
||||||
Log_OC.e(TAG, "Not enough information provided in intent");
|
Log_OC.e(TAG, "Not enough information provided in intent");
|
||||||
|
|
|
@ -37,7 +37,6 @@ import android.app.Service;
|
||||||
import android.content.BroadcastReceiver;
|
import android.content.BroadcastReceiver;
|
||||||
import android.content.Context;
|
import android.content.Context;
|
||||||
import android.content.Intent;
|
import android.content.Intent;
|
||||||
import android.content.pm.ServiceInfo;
|
|
||||||
import android.graphics.BitmapFactory;
|
import android.graphics.BitmapFactory;
|
||||||
import android.os.Binder;
|
import android.os.Binder;
|
||||||
import android.os.Build;
|
import android.os.Build;
|
||||||
|
@ -59,10 +58,12 @@ import com.nextcloud.client.network.Connectivity;
|
||||||
import com.nextcloud.client.network.ConnectivityService;
|
import com.nextcloud.client.network.ConnectivityService;
|
||||||
import com.nextcloud.client.utils.FileUploaderDelegate;
|
import com.nextcloud.client.utils.FileUploaderDelegate;
|
||||||
import com.nextcloud.java.util.Optional;
|
import com.nextcloud.java.util.Optional;
|
||||||
|
import com.nextcloud.utils.ForegroundServiceHelper;
|
||||||
import com.owncloud.android.MainApp;
|
import com.owncloud.android.MainApp;
|
||||||
import com.owncloud.android.R;
|
import com.owncloud.android.R;
|
||||||
import com.owncloud.android.authentication.AuthenticatorActivity;
|
import com.owncloud.android.authentication.AuthenticatorActivity;
|
||||||
import com.owncloud.android.datamodel.FileDataStorageManager;
|
import com.owncloud.android.datamodel.FileDataStorageManager;
|
||||||
|
import com.owncloud.android.datamodel.ForegroundServiceType;
|
||||||
import com.owncloud.android.datamodel.OCFile;
|
import com.owncloud.android.datamodel.OCFile;
|
||||||
import com.owncloud.android.datamodel.ThumbnailsCacheManager;
|
import com.owncloud.android.datamodel.ThumbnailsCacheManager;
|
||||||
import com.owncloud.android.datamodel.UploadsStorageManager;
|
import com.owncloud.android.datamodel.UploadsStorageManager;
|
||||||
|
@ -315,11 +316,7 @@ public class FileUploader extends Service
|
||||||
public int onStartCommand(Intent intent, int flags, int startId) {
|
public int onStartCommand(Intent intent, int flags, int startId) {
|
||||||
Log_OC.d(TAG, "Starting command with id " + startId);
|
Log_OC.d(TAG, "Starting command with id " + startId);
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) {
|
ForegroundServiceHelper.INSTANCE.startService(this, FOREGROUND_SERVICE_ID, mNotification, ForegroundServiceType.DataSync);
|
||||||
startForeground(FOREGROUND_SERVICE_ID, mNotification, ServiceInfo.FOREGROUND_SERVICE_TYPE_DATA_SYNC);
|
|
||||||
} else {
|
|
||||||
startForeground(FOREGROUND_SERVICE_ID, mNotification);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (intent == null) {
|
if (intent == null) {
|
||||||
Log_OC.e(TAG, "Intent is null");
|
Log_OC.e(TAG, "Intent is null");
|
||||||
|
@ -389,7 +386,7 @@ public class FileUploader extends Service
|
||||||
List<String> requestedUploads,
|
List<String> requestedUploads,
|
||||||
boolean onWifiOnly,
|
boolean onWifiOnly,
|
||||||
boolean whileChargingOnly
|
boolean whileChargingOnly
|
||||||
) {
|
) {
|
||||||
String[] localPaths = null;
|
String[] localPaths = null;
|
||||||
String[] remotePaths = null;
|
String[] remotePaths = null;
|
||||||
String[] mimeTypes = null;
|
String[] mimeTypes = null;
|
||||||
|
@ -428,7 +425,7 @@ public class FileUploader extends Service
|
||||||
remotePaths[i],
|
remotePaths[i],
|
||||||
localPaths[i],
|
localPaths[i],
|
||||||
mimeTypes != null ? mimeTypes[i] : null
|
mimeTypes != null ? mimeTypes[i] : null
|
||||||
);
|
);
|
||||||
if (files[i] == null) {
|
if (files[i] == null) {
|
||||||
Log_OC.e(TAG, "obtainNewOCFileToUpload() returned null for remotePaths[i]:" + remotePaths[i]
|
Log_OC.e(TAG, "obtainNewOCFileToUpload() returned null for remotePaths[i]:" + remotePaths[i]
|
||||||
+ " and localPaths[i]:" + localPaths[i]);
|
+ " and localPaths[i]:" + localPaths[i]);
|
||||||
|
@ -528,7 +525,7 @@ public class FileUploader extends Service
|
||||||
user.getAccountName(),
|
user.getAccountName(),
|
||||||
file.getRemotePath(),
|
file.getRemotePath(),
|
||||||
newUpload
|
newUpload
|
||||||
);
|
);
|
||||||
|
|
||||||
if (putResult != null) {
|
if (putResult != null) {
|
||||||
requestedUploads.add(putResult.first);
|
requestedUploads.add(putResult.first);
|
||||||
|
@ -575,7 +572,7 @@ public class FileUploader extends Service
|
||||||
user.getAccountName(),
|
user.getAccountName(),
|
||||||
upload.getRemotePath(),
|
upload.getRemotePath(),
|
||||||
newUpload
|
newUpload
|
||||||
);
|
);
|
||||||
if (putResult != null) {
|
if (putResult != null) {
|
||||||
String uploadKey = putResult.first;
|
String uploadKey = putResult.first;
|
||||||
requestedUploads.add(uploadKey);
|
requestedUploads.add(uploadKey);
|
||||||
|
@ -717,12 +714,12 @@ public class FileUploader extends Service
|
||||||
*/
|
*/
|
||||||
private void notifyUploadStart(UploadFileOperation upload) {
|
private void notifyUploadStart(UploadFileOperation upload) {
|
||||||
// / create status notification with a progress bar
|
// / create status notification with a progress bar
|
||||||
Intent notificationActionIntent = new Intent(getApplicationContext(),UploadNotificationActionReceiver.class);
|
Intent notificationActionIntent = new Intent(getApplicationContext(), UploadNotificationActionReceiver.class);
|
||||||
notificationActionIntent.putExtra(EXTRA_ACCOUNT_NAME,upload.getUser().getAccountName());
|
notificationActionIntent.putExtra(EXTRA_ACCOUNT_NAME, upload.getUser().getAccountName());
|
||||||
notificationActionIntent.putExtra(EXTRA_REMOTE_PATH,upload.getRemotePath());
|
notificationActionIntent.putExtra(EXTRA_REMOTE_PATH, upload.getRemotePath());
|
||||||
notificationActionIntent.setAction(ACTION_CANCEL_BROADCAST);
|
notificationActionIntent.setAction(ACTION_CANCEL_BROADCAST);
|
||||||
|
|
||||||
PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplicationContext(),secureRandomGenerator.nextInt(),notificationActionIntent, PendingIntent.FLAG_IMMUTABLE);
|
PendingIntent pendingIntent = PendingIntent.getBroadcast(getApplicationContext(), secureRandomGenerator.nextInt(), notificationActionIntent, PendingIntent.FLAG_IMMUTABLE);
|
||||||
mLastPercent = 0;
|
mLastPercent = 0;
|
||||||
mNotificationBuilder = NotificationUtils.newNotificationBuilder(this, viewThemeUtils);
|
mNotificationBuilder = NotificationUtils.newNotificationBuilder(this, viewThemeUtils);
|
||||||
mNotificationBuilder
|
mNotificationBuilder
|
||||||
|
@ -735,7 +732,7 @@ public class FileUploader extends Service
|
||||||
String.format(getString(R.string.uploader_upload_in_progress_content), 0, upload.getFileName())
|
String.format(getString(R.string.uploader_upload_in_progress_content), 0, upload.getFileName())
|
||||||
)
|
)
|
||||||
.clearActions() // to make sure there is only one action
|
.clearActions() // to make sure there is only one action
|
||||||
.addAction(R.drawable.ic_action_cancel_grey,getApplicationContext().getString(R.string.common_cancel),pendingIntent);
|
.addAction(R.drawable.ic_action_cancel_grey, getApplicationContext().getString(R.string.common_cancel), pendingIntent);
|
||||||
|
|
||||||
|
|
||||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
|
||||||
|
@ -773,7 +770,7 @@ public class FileUploader extends Service
|
||||||
long totalTransferredSoFar,
|
long totalTransferredSoFar,
|
||||||
long totalToTransfer,
|
long totalToTransfer,
|
||||||
String filePath
|
String filePath
|
||||||
) {
|
) {
|
||||||
int percent = (int) (100.0 * ((double) totalTransferredSoFar) / ((double) totalToTransfer));
|
int percent = (int) (100.0 * ((double) totalTransferredSoFar) / ((double) totalToTransfer));
|
||||||
if (percent != mLastPercent) {
|
if (percent != mLastPercent) {
|
||||||
mNotificationBuilder.setProgress(100, percent, false);
|
mNotificationBuilder.setProgress(100, percent, false);
|
||||||
|
@ -839,11 +836,11 @@ public class FileUploader extends Service
|
||||||
Intent updateAccountCredentials = new Intent(this, AuthenticatorActivity.class);
|
Intent updateAccountCredentials = new Intent(this, AuthenticatorActivity.class);
|
||||||
updateAccountCredentials.putExtra(
|
updateAccountCredentials.putExtra(
|
||||||
AuthenticatorActivity.EXTRA_ACCOUNT, upload.getUser().toPlatformAccount()
|
AuthenticatorActivity.EXTRA_ACCOUNT, upload.getUser().toPlatformAccount()
|
||||||
);
|
);
|
||||||
updateAccountCredentials.putExtra(
|
updateAccountCredentials.putExtra(
|
||||||
AuthenticatorActivity.EXTRA_ACTION,
|
AuthenticatorActivity.EXTRA_ACTION,
|
||||||
AuthenticatorActivity.ACTION_UPDATE_EXPIRED_TOKEN
|
AuthenticatorActivity.ACTION_UPDATE_EXPIRED_TOKEN
|
||||||
);
|
);
|
||||||
|
|
||||||
updateAccountCredentials.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
updateAccountCredentials.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||||
updateAccountCredentials.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
|
updateAccountCredentials.addFlags(Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS);
|
||||||
|
@ -853,7 +850,7 @@ public class FileUploader extends Service
|
||||||
(int) System.currentTimeMillis(),
|
(int) System.currentTimeMillis(),
|
||||||
updateAccountCredentials,
|
updateAccountCredentials,
|
||||||
PendingIntent.FLAG_ONE_SHOT | PendingIntent.FLAG_IMMUTABLE
|
PendingIntent.FLAG_ONE_SHOT | PendingIntent.FLAG_IMMUTABLE
|
||||||
));
|
));
|
||||||
} else {
|
} else {
|
||||||
Intent intent;
|
Intent intent;
|
||||||
if (uploadResult.getCode() == ResultCode.SYNC_CONFLICT) {
|
if (uploadResult.getCode() == ResultCode.SYNC_CONFLICT) {
|
||||||
|
@ -1179,11 +1176,11 @@ public class FileUploader extends Service
|
||||||
*/
|
*/
|
||||||
public void cancel(String accountName, String remotePath, @Nullable ResultCode resultCode) {
|
public void cancel(String accountName, String remotePath, @Nullable ResultCode resultCode) {
|
||||||
// Cancel for Android version >= Android 11
|
// Cancel for Android version >= Android 11
|
||||||
if (useFilesUploadWorker(getApplicationContext())){
|
if (useFilesUploadWorker(getApplicationContext())) {
|
||||||
try{
|
try {
|
||||||
new FilesUploadHelper().cancelFileUpload(remotePath, accountManager.getUser(accountName).get());
|
new FilesUploadHelper().cancelFileUpload(remotePath, accountManager.getUser(accountName).get());
|
||||||
}catch(NoSuchElementException e){
|
} catch (NoSuchElementException e) {
|
||||||
Log_OC.e(TAG,"Error cancelling current upload because user does not exist!");
|
Log_OC.e(TAG, "Error cancelling current upload because user does not exist!");
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// Cancel for Android version <= Android 10
|
// Cancel for Android version <= Android 10
|
||||||
|
@ -1222,7 +1219,7 @@ public class FileUploader extends Service
|
||||||
cancelPendingUploads(accountName);
|
cancelPendingUploads(accountName);
|
||||||
if (useFilesUploadWorker(getApplicationContext())) {
|
if (useFilesUploadWorker(getApplicationContext())) {
|
||||||
new FilesUploadHelper().restartUploadJob(accountManager.getUser(accountName).get());
|
new FilesUploadHelper().restartUploadJob(accountManager.getUser(accountName).get());
|
||||||
}else{
|
} else {
|
||||||
if (mCurrentUpload != null && mCurrentUpload.getUser().nameEquals(accountName)) {
|
if (mCurrentUpload != null && mCurrentUpload.getUser().nameEquals(accountName)) {
|
||||||
mCurrentUpload.cancel(ResultCode.CANCELLED);
|
mCurrentUpload.cancel(ResultCode.CANCELLED);
|
||||||
}
|
}
|
||||||
|
@ -1273,7 +1270,7 @@ public class FileUploader extends Service
|
||||||
OnDatatransferProgressListener listener,
|
OnDatatransferProgressListener listener,
|
||||||
User user,
|
User user,
|
||||||
OCFile file
|
OCFile file
|
||||||
) {
|
) {
|
||||||
if (user == null || file == null || listener == null) {
|
if (user == null || file == null || listener == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -1291,7 +1288,7 @@ public class FileUploader extends Service
|
||||||
public void addDatatransferProgressListener(
|
public void addDatatransferProgressListener(
|
||||||
OnDatatransferProgressListener listener,
|
OnDatatransferProgressListener listener,
|
||||||
OCUpload ocUpload
|
OCUpload ocUpload
|
||||||
) {
|
) {
|
||||||
if (ocUpload == null || listener == null) {
|
if (ocUpload == null || listener == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -1311,7 +1308,7 @@ public class FileUploader extends Service
|
||||||
OnDatatransferProgressListener listener,
|
OnDatatransferProgressListener listener,
|
||||||
User user,
|
User user,
|
||||||
OCFile file
|
OCFile file
|
||||||
) {
|
) {
|
||||||
if (user == null || file == null || listener == null) {
|
if (user == null || file == null || listener == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -1331,7 +1328,7 @@ public class FileUploader extends Service
|
||||||
public void removeDatatransferProgressListener(
|
public void removeDatatransferProgressListener(
|
||||||
OnDatatransferProgressListener listener,
|
OnDatatransferProgressListener listener,
|
||||||
OCUpload ocUpload
|
OCUpload ocUpload
|
||||||
) {
|
) {
|
||||||
if (ocUpload == null || listener == null) {
|
if (ocUpload == null || listener == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -1348,7 +1345,7 @@ public class FileUploader extends Service
|
||||||
long totalTransferredSoFar,
|
long totalTransferredSoFar,
|
||||||
long totalToTransfer,
|
long totalToTransfer,
|
||||||
String fileName
|
String fileName
|
||||||
) {
|
) {
|
||||||
String key = buildRemoteName(mCurrentUpload.getUser().getAccountName(), mCurrentUpload.getFile().getRemotePath());
|
String key = buildRemoteName(mCurrentUpload.getUser().getAccountName(), mCurrentUpload.getFile().getRemotePath());
|
||||||
OnDatatransferProgressListener boundListener = mBoundListeners.get(key);
|
OnDatatransferProgressListener boundListener = mBoundListeners.get(key);
|
||||||
|
|
||||||
|
@ -1373,7 +1370,7 @@ public class FileUploader extends Service
|
||||||
mCurrentUpload.getUser().getAccountName(),
|
mCurrentUpload.getUser().getAccountName(),
|
||||||
mCurrentUpload.getFile().getRemotePath(),
|
mCurrentUpload.getFile().getRemotePath(),
|
||||||
cancelReason
|
cancelReason
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1444,11 +1441,13 @@ public class FileUploader extends Service
|
||||||
if (ACTION_CANCEL_BROADCAST.equals(action)) {
|
if (ACTION_CANCEL_BROADCAST.equals(action)) {
|
||||||
Log_OC.d(TAG, "Cancel broadcast received for file " + remotePath + " at " + System.currentTimeMillis());
|
Log_OC.d(TAG, "Cancel broadcast received for file " + remotePath + " at " + System.currentTimeMillis());
|
||||||
|
|
||||||
if (accountName == null || remotePath == null) return;
|
if (accountName == null || remotePath == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
FileUploaderBinder uploadBinder = (FileUploaderBinder) mBinder;
|
FileUploaderBinder uploadBinder = (FileUploaderBinder) mBinder;
|
||||||
uploadBinder.cancel(accountName, remotePath, null);
|
uploadBinder.cancel(accountName, remotePath, null);
|
||||||
}else if(ACTION_PAUSE_BROADCAST.equals(action)){
|
} else if (ACTION_PAUSE_BROADCAST.equals(action)) {
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
Log_OC.d(TAG, "Unknown action to perform as UploadNotificationActionReceiver.");
|
Log_OC.d(TAG, "Unknown action to perform as UploadNotificationActionReceiver.");
|
||||||
|
|
|
@ -66,6 +66,7 @@ import com.owncloud.android.lib.common.operations.RemoteOperation;
|
||||||
import com.owncloud.android.lib.common.operations.RemoteOperationResult;
|
import com.owncloud.android.lib.common.operations.RemoteOperationResult;
|
||||||
import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode;
|
import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode;
|
||||||
import com.owncloud.android.lib.common.utils.Log_OC;
|
import com.owncloud.android.lib.common.utils.Log_OC;
|
||||||
|
import com.owncloud.android.lib.resources.files.model.ServerFileInterface;
|
||||||
import com.owncloud.android.lib.resources.shares.OCShare;
|
import com.owncloud.android.lib.resources.shares.OCShare;
|
||||||
import com.owncloud.android.lib.resources.shares.ShareType;
|
import com.owncloud.android.lib.resources.shares.ShareType;
|
||||||
import com.owncloud.android.operations.CreateShareViaLinkOperation;
|
import com.owncloud.android.operations.CreateShareViaLinkOperation;
|
||||||
|
@ -709,7 +710,7 @@ public abstract class FileActivity extends DrawerActivity
|
||||||
snackbar.show();
|
snackbar.show();
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void showShareLinkDialog(FileActivity activity, OCFile file, String link) {
|
public static void showShareLinkDialog(FileActivity activity, ServerFileInterface file, String link) {
|
||||||
// Create dialog to allow the user choose an app to send the link
|
// Create dialog to allow the user choose an app to send the link
|
||||||
Intent intentToShareLink = new Intent(Intent.ACTION_SEND);
|
Intent intentToShareLink = new Intent(Intent.ACTION_SEND);
|
||||||
|
|
||||||
|
@ -780,9 +781,11 @@ public abstract class FileActivity extends DrawerActivity
|
||||||
}
|
}
|
||||||
|
|
||||||
public void refreshList() {
|
public void refreshList() {
|
||||||
final Fragment fileListFragment = getSupportFragmentManager().findFragmentByTag(FileDisplayActivity.TAG_LIST_OF_FILES);
|
final Fragment fragment = getSupportFragmentManager().findFragmentByTag(FileDisplayActivity.TAG_LIST_OF_FILES);
|
||||||
if (fileListFragment != null) {
|
if (fragment instanceof OCFileListFragment listFragment) {
|
||||||
((OCFileListFragment) fileListFragment).onRefresh();
|
listFragment.onRefresh();
|
||||||
|
} else if (fragment instanceof FileDetailFragment detailFragment) {
|
||||||
|
detailFragment.goBackToOCFileListFragment();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -864,8 +867,7 @@ public abstract class FileActivity extends DrawerActivity
|
||||||
|
|
||||||
if (fragment instanceof FileDetailSharingFragment) {
|
if (fragment instanceof FileDetailSharingFragment) {
|
||||||
return (FileDetailSharingFragment) fragment;
|
return (FileDetailSharingFragment) fragment;
|
||||||
} else if (fragment instanceof FileDetailFragment) {
|
} else if (fragment instanceof FileDetailFragment fileDetailFragment) {
|
||||||
FileDetailFragment fileDetailFragment = (FileDetailFragment) fragment;
|
|
||||||
return fileDetailFragment.getFileDetailSharingFragment();
|
return fileDetailFragment.getFileDetailSharingFragment();
|
||||||
} else {
|
} else {
|
||||||
return null;
|
return null;
|
||||||
|
|
|
@ -844,7 +844,6 @@ public class FileDisplayActivity extends FileActivity
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
|
||||||
|
|
||||||
if (requestCode == REQUEST_CODE__SELECT_CONTENT_FROM_APPS &&
|
if (requestCode == REQUEST_CODE__SELECT_CONTENT_FROM_APPS &&
|
||||||
(resultCode == RESULT_OK ||
|
(resultCode == RESULT_OK ||
|
||||||
resultCode == UploadFilesActivity.RESULT_OK_AND_MOVE)) {
|
resultCode == UploadFilesActivity.RESULT_OK_AND_MOVE)) {
|
||||||
|
|
|
@ -195,6 +195,10 @@ public class FileDetailFragment extends FileFragment implements OnClickListener,
|
||||||
return ((FileDetailTabAdapter) binding.pager.getAdapter()).getFileDetailActivitiesFragment();
|
return ((FileDetailTabAdapter) binding.pager.getAdapter()).getFileDetailActivitiesFragment();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void goBackToOCFileListFragment() {
|
||||||
|
requireActivity().onBackPressed();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onActivityCreated(Bundle savedInstanceState) {
|
public void onActivityCreated(Bundle savedInstanceState) {
|
||||||
super.onActivityCreated(savedInstanceState);
|
super.onActivityCreated(savedInstanceState);
|
||||||
|
|
|
@ -18,6 +18,7 @@
|
||||||
<string name="actionbar_copy">Kopírovať</string>
|
<string name="actionbar_copy">Kopírovať</string>
|
||||||
<string name="actionbar_mkdir">Nový priečinok</string>
|
<string name="actionbar_mkdir">Nový priečinok</string>
|
||||||
<string name="actionbar_move">Presunúť</string>
|
<string name="actionbar_move">Presunúť</string>
|
||||||
|
<string name="actionbar_move_or_copy">Presunúť alebo Kopírovať</string>
|
||||||
<string name="actionbar_open_with">Otvoriť pomocou</string>
|
<string name="actionbar_open_with">Otvoriť pomocou</string>
|
||||||
<string name="actionbar_search">Hľadať</string>
|
<string name="actionbar_search">Hľadať</string>
|
||||||
<string name="actionbar_see_details">Podrobnosti</string>
|
<string name="actionbar_see_details">Podrobnosti</string>
|
||||||
|
@ -32,6 +33,7 @@
|
||||||
<string name="activity_icon">Aktivita</string>
|
<string name="activity_icon">Aktivita</string>
|
||||||
<string name="add_another_public_share_link">Pridať ďalší odkaz</string>
|
<string name="add_another_public_share_link">Pridať ďalší odkaz</string>
|
||||||
<string name="add_new_public_share">Pridajte nový odkaz na verejné zdieľanie</string>
|
<string name="add_new_public_share">Pridajte nový odkaz na verejné zdieľanie</string>
|
||||||
|
<string name="add_new_secure_file_drop">Pridať nový zabezpečený file drop</string>
|
||||||
<string name="add_to_cloud">Pridaj do %1$s</string>
|
<string name="add_to_cloud">Pridaj do %1$s</string>
|
||||||
<string name="advanced_settings">Rozšírené nastavenia</string>
|
<string name="advanced_settings">Rozšírené nastavenia</string>
|
||||||
<string name="allow_resharing">Povoliť sprístupňovanie ďalej</string>
|
<string name="allow_resharing">Povoliť sprístupňovanie ďalej</string>
|
||||||
|
@ -157,6 +159,8 @@
|
||||||
<string name="conflict_local_file">Lokálny súbor</string>
|
<string name="conflict_local_file">Lokálny súbor</string>
|
||||||
<string name="conflict_message_description">Ak vyberiete obe verzie, miestny súbor bude mať k svojmu názvu pridané číslo.</string>
|
<string name="conflict_message_description">Ak vyberiete obe verzie, miestny súbor bude mať k svojmu názvu pridané číslo.</string>
|
||||||
<string name="conflict_server_file">Súbor na serveri</string>
|
<string name="conflict_server_file">Súbor na serveri</string>
|
||||||
|
<string name="contact_backup_title">Záloha kontaktov</string>
|
||||||
|
<string name="contact_no_permission">Vyžaduje sa prístup ku kontaktom</string>
|
||||||
<string name="contactlist_item_icon">Používateľská ikona pre zoznam kontaktov</string>
|
<string name="contactlist_item_icon">Používateľská ikona pre zoznam kontaktov</string>
|
||||||
<string name="contactlist_no_permission">Žiadne povolenia neboli udelené, nič nebolo importnuté.</string>
|
<string name="contactlist_no_permission">Žiadne povolenia neboli udelené, nič nebolo importnuté.</string>
|
||||||
<string name="contacts">Kontakty</string>
|
<string name="contacts">Kontakty</string>
|
||||||
|
@ -202,14 +206,21 @@
|
||||||
<string name="did_not_check_for_dupes">Nekontrolovať duplicity</string>
|
<string name="did_not_check_for_dupes">Nekontrolovať duplicity</string>
|
||||||
<string name="digest_algorithm_not_available">Algoritmus digest nie je na vašom telefóne dostupný.</string>
|
<string name="digest_algorithm_not_available">Algoritmus digest nie je na vašom telefóne dostupný.</string>
|
||||||
<string name="direct_login_failed">Prihlásenie pomocou priameho odkazu zlyhalo!</string>
|
<string name="direct_login_failed">Prihlásenie pomocou priameho odkazu zlyhalo!</string>
|
||||||
|
<string name="direct_login_text">Prihlásiť sa s %1$s do %2$s</string>
|
||||||
<string name="disable_new_media_folder_detection_notifications">Zakázať</string>
|
<string name="disable_new_media_folder_detection_notifications">Zakázať</string>
|
||||||
<string name="dismiss">Odmietnuť</string>
|
<string name="dismiss">Odmietnuť</string>
|
||||||
<string name="dismiss_notification_description">Odmietnuť upozornenie</string>
|
<string name="dismiss_notification_description">Odmietnuť upozornenie</string>
|
||||||
<string name="displays_mnemonic">Zobrazí vaše prístupové heslo o 12-tich slovách</string>
|
<string name="displays_mnemonic">Zobrazí vaše prístupové heslo o 12-tich slovách</string>
|
||||||
<string name="dnd">Nerušiť</string>
|
<string name="dnd">Nerušiť</string>
|
||||||
|
<string name="document_scan_export_dialog_images">Viacero obrázkov</string>
|
||||||
|
<string name="document_scan_export_dialog_pdf">PDF súbor</string>
|
||||||
|
<string name="document_scan_export_dialog_title">Vyberte typ exportu</string>
|
||||||
|
<string name="document_scan_pdf_generation_failed">Generovanie PDF zlyhalo</string>
|
||||||
|
<string name="document_scan_pdf_generation_in_progress">Generuje sa PDF...</string>
|
||||||
<string name="done">Hotové</string>
|
<string name="done">Hotové</string>
|
||||||
<string name="dontClear">Nemazať</string>
|
<string name="dontClear">Nemazať</string>
|
||||||
<string name="download_cannot_create_file">Nieje možné vytvoriť lokálny súbor</string>
|
<string name="download_cannot_create_file">Nieje možné vytvoriť lokálny súbor</string>
|
||||||
|
<string name="download_download_invalid_local_file_name">Nesprávny názov pre lokálny súbor</string>
|
||||||
<string name="download_latest_dev_version">Stiahnuť poslednú vývojársku verziu</string>
|
<string name="download_latest_dev_version">Stiahnuť poslednú vývojársku verziu</string>
|
||||||
<string name="downloader_download_failed_content">Nepodarilo sa stiahnuť %1$s</string>
|
<string name="downloader_download_failed_content">Nepodarilo sa stiahnuť %1$s</string>
|
||||||
<string name="downloader_download_failed_credentials_error">Sťahovanie neúspešné, je potrebné sa znovu prihlásiť</string>
|
<string name="downloader_download_failed_credentials_error">Sťahovanie neúspešné, je potrebné sa znovu prihlásiť</string>
|
||||||
|
@ -227,6 +238,7 @@
|
||||||
<string name="drawer_item_all_files">Všetky súbory</string>
|
<string name="drawer_item_all_files">Všetky súbory</string>
|
||||||
<string name="drawer_item_favorites">Obľúbené</string>
|
<string name="drawer_item_favorites">Obľúbené</string>
|
||||||
<string name="drawer_item_gallery">Média</string>
|
<string name="drawer_item_gallery">Média</string>
|
||||||
|
<string name="drawer_item_groupfolders">Skupinové priečinky</string>
|
||||||
<string name="drawer_item_home">Domov</string>
|
<string name="drawer_item_home">Domov</string>
|
||||||
<string name="drawer_item_notifications">Upozornenia</string>
|
<string name="drawer_item_notifications">Upozornenia</string>
|
||||||
<string name="drawer_item_on_device">V zariadení</string>
|
<string name="drawer_item_on_device">V zariadení</string>
|
||||||
|
@ -240,10 +252,14 @@
|
||||||
<string name="drawer_quota_unlimited">%1$s použitých</string>
|
<string name="drawer_quota_unlimited">%1$s použitých</string>
|
||||||
<string name="drawer_synced_folders">Automatické nahratie</string>
|
<string name="drawer_synced_folders">Automatické nahratie</string>
|
||||||
<string name="e2e_not_yet_setup">E2E zatiaľ nie je nastavené</string>
|
<string name="e2e_not_yet_setup">E2E zatiaľ nie je nastavené</string>
|
||||||
|
<string name="e2e_offline">Nie je možné bez internetového pripojenia</string>
|
||||||
<string name="ecosystem_apps_display_more">Viac</string>
|
<string name="ecosystem_apps_display_more">Viac</string>
|
||||||
<string name="ecosystem_apps_display_notes">Poznámky</string>
|
<string name="ecosystem_apps_display_notes">Poznámky</string>
|
||||||
<string name="ecosystem_apps_display_talk">Rozhovor</string>
|
<string name="ecosystem_apps_display_talk">Rozhovor</string>
|
||||||
|
<string name="ecosystem_apps_more">Ďalšie Nextcloud aplikácie</string>
|
||||||
<string name="ecosystem_apps_notes">Nextcloud poznámky</string>
|
<string name="ecosystem_apps_notes">Nextcloud poznámky</string>
|
||||||
|
<string name="ecosystem_apps_talk">Nextcloud Talk</string>
|
||||||
|
<string name="email_pick_failed">Nepodarilo sa vybrať e-mailovú adresu.</string>
|
||||||
<string name="encrypted">Nastaviť ako zašifrované</string>
|
<string name="encrypted">Nastaviť ako zašifrované</string>
|
||||||
<string name="end_to_end_encryption_confirm_button">Nastavenie šifrovania</string>
|
<string name="end_to_end_encryption_confirm_button">Nastavenie šifrovania</string>
|
||||||
<string name="end_to_end_encryption_decrypting">Dešifrujem…</string>
|
<string name="end_to_end_encryption_decrypting">Dešifrujem…</string>
|
||||||
|
@ -274,7 +290,9 @@
|
||||||
<string name="error_report_issue_text">Nahlásiť chybu? (vyžaduje účet na Githube)</string>
|
<string name="error_report_issue_text">Nahlásiť chybu? (vyžaduje účet na Githube)</string>
|
||||||
<string name="error_retrieving_file">Chyba pri získavaní súboru</string>
|
<string name="error_retrieving_file">Chyba pri získavaní súboru</string>
|
||||||
<string name="error_retrieving_templates">Chyba pri načítaní šablón</string>
|
<string name="error_retrieving_templates">Chyba pri načítaní šablón</string>
|
||||||
|
<string name="error_showing_encryption_dialog">Chyba pri zobrazovaní dialogu nastavenia šifrovania!</string>
|
||||||
<string name="error_starting_direct_camera_upload">Chyba pri otváraní fotoaparátu</string>
|
<string name="error_starting_direct_camera_upload">Chyba pri otváraní fotoaparátu</string>
|
||||||
|
<string name="error_starting_doc_scan">Chyba pri spustení skenovania dokumentu</string>
|
||||||
<string name="etm_accounts">Účty</string>
|
<string name="etm_accounts">Účty</string>
|
||||||
<string name="etm_background_job_name">Názov úlohy</string>
|
<string name="etm_background_job_name">Názov úlohy</string>
|
||||||
<string name="etm_background_job_progress">Pokrok</string>
|
<string name="etm_background_job_progress">Pokrok</string>
|
||||||
|
@ -371,12 +389,14 @@
|
||||||
<string name="filename_hint">Názov súboru</string>
|
<string name="filename_hint">Názov súboru</string>
|
||||||
<string name="first_run_1_text">Majte svoje dáta pod vlastnou kontrolou a zabezpečené</string>
|
<string name="first_run_1_text">Majte svoje dáta pod vlastnou kontrolou a zabezpečené</string>
|
||||||
<string name="first_run_2_text">Bezpečná kolaborácia&výmena súborov</string>
|
<string name="first_run_2_text">Bezpečná kolaborácia&výmena súborov</string>
|
||||||
|
<string name="first_run_3_text">Jednoduchý webmail, kalendár & kontakty</string>
|
||||||
<string name="first_run_4_text">Zdieľanie obrazovky, online meetingy & web konferencie</string>
|
<string name="first_run_4_text">Zdieľanie obrazovky, online meetingy & web konferencie</string>
|
||||||
<string name="folder_already_exists">Priečinok už existuje</string>
|
<string name="folder_already_exists">Priečinok už existuje</string>
|
||||||
<string name="folder_confirm_create">Vytvoriť</string>
|
<string name="folder_confirm_create">Vytvoriť</string>
|
||||||
<string name="folder_list_empty_headline">Nie sú tu žiadne priečinky</string>
|
<string name="folder_list_empty_headline">Nie sú tu žiadne priečinky</string>
|
||||||
<string name="folder_picker_choose_button_text">Vybrať</string>
|
<string name="folder_picker_choose_button_text">Vybrať</string>
|
||||||
<string name="folder_picker_choose_caption_text">Vyberte cieľový priečinok</string>
|
<string name="folder_picker_choose_caption_text">Vyberte cieľový priečinok</string>
|
||||||
|
<string name="folder_picker_copy_button_text">Kopírovať</string>
|
||||||
<string name="folder_picker_move_button_text">Presunúť</string>
|
<string name="folder_picker_move_button_text">Presunúť</string>
|
||||||
<string name="forbidden_permissions">Nemáte oprávnenie %s</string>
|
<string name="forbidden_permissions">Nemáte oprávnenie %s</string>
|
||||||
<string name="forbidden_permissions_copy">kopírovať súbor</string>
|
<string name="forbidden_permissions_copy">kopírovať súbor</string>
|
||||||
|
@ -402,6 +422,19 @@
|
||||||
<string name="icon_for_empty_list">Ikona pre prázdny zoznam</string>
|
<string name="icon_for_empty_list">Ikona pre prázdny zoznam</string>
|
||||||
<string name="icon_of_dashboard_widget">Ikona widgetu na hlavnom paneli</string>
|
<string name="icon_of_dashboard_widget">Ikona widgetu na hlavnom paneli</string>
|
||||||
<string name="icon_of_widget_entry">Ikona položky ovládacieho panelu</string>
|
<string name="icon_of_widget_entry">Ikona položky ovládacieho panelu</string>
|
||||||
|
<string name="image_editor_file_edited_suffix">upravené</string>
|
||||||
|
<string name="image_editor_flip_horizontal">Preklopiť horizontálne</string>
|
||||||
|
<string name="image_editor_flip_vertical">Preklopiť vertikálne</string>
|
||||||
|
<string name="image_editor_rotate_ccw">Otočť v protismere hodinových ručičiek</string>
|
||||||
|
<string name="image_editor_rotate_cw">Otočiť v smere hodinových ručičiek</string>
|
||||||
|
<string name="image_editor_unable_to_edit_image">Nie je možné upraviť obrázok</string>
|
||||||
|
<string name="image_preview_filedetails">Detaily súboru</string>
|
||||||
|
<string name="image_preview_image_taking_conditions">Podmienky snímania</string>
|
||||||
|
<string name="image_preview_unit_fnumber">ƒ/%s</string>
|
||||||
|
<string name="image_preview_unit_iso">ISO %s</string>
|
||||||
|
<string name="image_preview_unit_megapixel">%s MP</string>
|
||||||
|
<string name="image_preview_unit_millimetres">%s mm</string>
|
||||||
|
<string name="image_preview_unit_seconds">%s s</string>
|
||||||
<string name="in_folder">v priečinku %1$s</string>
|
<string name="in_folder">v priečinku %1$s</string>
|
||||||
<string name="instant_upload_existing">Nahrať aj existujúce súbory</string>
|
<string name="instant_upload_existing">Nahrať aj existujúce súbory</string>
|
||||||
<string name="instant_upload_on_charging">Nahrať iba počas nabíjania</string>
|
<string name="instant_upload_on_charging">Nahrať iba počas nabíjania</string>
|
||||||
|
@ -429,6 +462,7 @@
|
||||||
<string name="locked_by_app">Zamknuté od aplikácie %1$s</string>
|
<string name="locked_by_app">Zamknuté od aplikácie %1$s</string>
|
||||||
<string name="log_send_mail_subject">%1$s Android app logs</string>
|
<string name="log_send_mail_subject">%1$s Android app logs</string>
|
||||||
<string name="log_send_no_mail_app">Aplikácia na odoslanie logov nenájdená. Prosím nainštalujte emailovú aplikáciu.</string>
|
<string name="log_send_no_mail_app">Aplikácia na odoslanie logov nenájdená. Prosím nainštalujte emailovú aplikáciu.</string>
|
||||||
|
<string name="logged_in_as">Prihlásený ako %1$s</string>
|
||||||
<string name="login">Prihlásiť sa</string>
|
<string name="login">Prihlásiť sa</string>
|
||||||
<string name="login_url_helper_text">Odkaz k vašemu %1$s webovému rozhraniu keď ho otvoríte v prehliadači. </string>
|
<string name="login_url_helper_text">Odkaz k vašemu %1$s webovému rozhraniu keď ho otvoríte v prehliadači. </string>
|
||||||
<string name="logs_menu_delete">Zmazať záznamy</string>
|
<string name="logs_menu_delete">Zmazať záznamy</string>
|
||||||
|
@ -481,6 +515,7 @@
|
||||||
<string name="no_calendar_exists">Neexistuje žiadny kalendár</string>
|
<string name="no_calendar_exists">Neexistuje žiadny kalendár</string>
|
||||||
<string name="no_email_app_available">Aplikácia pre prácu s e-mailovými adresami nenájdená</string>
|
<string name="no_email_app_available">Aplikácia pre prácu s e-mailovými adresami nenájdená</string>
|
||||||
<string name="no_items">Žiadne položky</string>
|
<string name="no_items">Žiadne položky</string>
|
||||||
|
<string name="no_map_app_availble">Nie je dostupná žiadna aplikácia na spracovanie máp.</string>
|
||||||
<string name="no_mutliple_accounts_allowed">Povolený je iba jeden účet</string>
|
<string name="no_mutliple_accounts_allowed">Povolený je iba jeden účet</string>
|
||||||
<string name="no_pdf_app_available">Aplikácia na prácu s PDF nenájdená</string>
|
<string name="no_pdf_app_available">Aplikácia na prácu s PDF nenájdená</string>
|
||||||
<string name="no_send_app">Nie je k dispozícii žiadna aplikácia na odosielanie vybratých súborov</string>
|
<string name="no_send_app">Nie je k dispozícii žiadna aplikácia na odosielanie vybratých súborov</string>
|
||||||
|
@ -519,6 +554,7 @@
|
||||||
<string name="pass_code_removed">Bezpečnostný kód odstránený</string>
|
<string name="pass_code_removed">Bezpečnostný kód odstránený</string>
|
||||||
<string name="pass_code_stored">Bezpečnostný kód uložený</string>
|
<string name="pass_code_stored">Bezpečnostný kód uložený</string>
|
||||||
<string name="pass_code_wrong">Nesprávne heslo</string>
|
<string name="pass_code_wrong">Nesprávne heslo</string>
|
||||||
|
<string name="pdf_password_protected">Nepodarilo sa otvoriť heslom chránený PDF súbor. Prosím, použite externý PDF prehliadač.</string>
|
||||||
<string name="pdf_zoom_tip">Klepnutím na stránku priblížite</string>
|
<string name="pdf_zoom_tip">Klepnutím na stránku priblížite</string>
|
||||||
<string name="permission_allow">Povoliť</string>
|
<string name="permission_allow">Povoliť</string>
|
||||||
<string name="permission_deny">Odmietnuť</string>
|
<string name="permission_deny">Odmietnuť</string>
|
||||||
|
@ -555,6 +591,7 @@
|
||||||
<string name="prefs_category_more">Viac</string>
|
<string name="prefs_category_more">Viac</string>
|
||||||
<string name="prefs_daily_backup_summary">Denná záloha vašeho kalendára & kontaktov</string>
|
<string name="prefs_daily_backup_summary">Denná záloha vašeho kalendára & kontaktov</string>
|
||||||
<string name="prefs_daily_contact_backup_summary">Denná záloha vašich kontaktov</string>
|
<string name="prefs_daily_contact_backup_summary">Denná záloha vašich kontaktov</string>
|
||||||
|
<string name="prefs_davx5_setup_error">Neočakávaná chyba pri nastavovaní DAVx5 (predtým známy ako DAVdroid)</string>
|
||||||
<string name="prefs_e2e_active">End-to-end šifrovanie je nastavené!</string>
|
<string name="prefs_e2e_active">End-to-end šifrovanie je nastavené!</string>
|
||||||
<string name="prefs_e2e_mnemonic">E2E mnemotechnické</string>
|
<string name="prefs_e2e_mnemonic">E2E mnemotechnické</string>
|
||||||
<string name="prefs_e2e_no_device_credentials">Pre zobrazenie mnemotechnické, zapnite prihlasovacie údaje zariadenia.</string>
|
<string name="prefs_e2e_no_device_credentials">Pre zobrazenie mnemotechnické, zapnite prihlasovacie údaje zariadenia.</string>
|
||||||
|
@ -565,7 +602,9 @@
|
||||||
<string name="prefs_imprint">Podmienky používania</string>
|
<string name="prefs_imprint">Podmienky používania</string>
|
||||||
<string name="prefs_instant_behaviour_dialogTitle">Pôvodný súbor bude…</string>
|
<string name="prefs_instant_behaviour_dialogTitle">Pôvodný súbor bude…</string>
|
||||||
<string name="prefs_instant_behaviour_title">Pôvodný súbor bude…</string>
|
<string name="prefs_instant_behaviour_title">Pôvodný súbor bude…</string>
|
||||||
|
<string name="prefs_instant_upload_path_use_date_subfolders_summary">Uložiť v podpriečinkoch podľa dátumu</string>
|
||||||
<string name="prefs_instant_upload_path_use_subfolders_title">Použi podpriečinky</string>
|
<string name="prefs_instant_upload_path_use_subfolders_title">Použi podpriečinky</string>
|
||||||
|
<string name="prefs_instant_upload_subfolder_rule_title">Možnosti podpriečinka</string>
|
||||||
<string name="prefs_keys_exist">Pridať end-to-end šifrovanie do tohto klienta</string>
|
<string name="prefs_keys_exist">Pridať end-to-end šifrovanie do tohto klienta</string>
|
||||||
<string name="prefs_license">Licencia</string>
|
<string name="prefs_license">Licencia</string>
|
||||||
<string name="prefs_lock">Prístupový kód apky</string>
|
<string name="prefs_lock">Prístupový kód apky</string>
|
||||||
|
@ -579,6 +618,8 @@
|
||||||
<string name="prefs_recommend">Odporučiť priateľom</string>
|
<string name="prefs_recommend">Odporučiť priateľom</string>
|
||||||
<string name="prefs_remove_e2e">Lokálne odstrániť šifrovanie</string>
|
<string name="prefs_remove_e2e">Lokálne odstrániť šifrovanie</string>
|
||||||
<string name="prefs_setup_e2e">Nastaviť šifrovanie end-to-end</string>
|
<string name="prefs_setup_e2e">Nastaviť šifrovanie end-to-end</string>
|
||||||
|
<string name="prefs_show_ecosystem_apps">Zobraziť prepínač aplikácií</string>
|
||||||
|
<string name="prefs_show_ecosystem_apps_summary">Návrhy Nextcloud aplikácií v navigačnom záhlaví</string>
|
||||||
<string name="prefs_show_hidden_files">Zobraziť skryté súbory</string>
|
<string name="prefs_show_hidden_files">Zobraziť skryté súbory</string>
|
||||||
<string name="prefs_sourcecode">Získajte zdrojový kód</string>
|
<string name="prefs_sourcecode">Získajte zdrojový kód</string>
|
||||||
<string name="prefs_storage_path">Priečinok dátového úložiska</string>
|
<string name="prefs_storage_path">Priečinok dátového úložiska</string>
|
||||||
|
@ -606,7 +647,11 @@
|
||||||
<string name="reload">Znovu načítať</string>
|
<string name="reload">Znovu načítať</string>
|
||||||
<string name="remote">(vzdialené)</string>
|
<string name="remote">(vzdialené)</string>
|
||||||
<string name="remote_file_fetch_failed">Nepodarilo sa nájsť súbor</string>
|
<string name="remote_file_fetch_failed">Nepodarilo sa nájsť súbor</string>
|
||||||
|
<string name="remove_e2e">Môžete odstrániť end-to-end šifrovanie lokálne na tomto klientovi.</string>
|
||||||
|
<string name="remove_e2e_message">Môžete odstrániť end-to-end šifrovanie lokálne na tomto klientovi. Šifrované súbory zostanú na serveri, ale už nebudú synchronizované s týmto počítačom.</string>
|
||||||
<string name="remove_fail_msg">Zmazanie zlyhalo</string>
|
<string name="remove_fail_msg">Zmazanie zlyhalo</string>
|
||||||
|
<string name="remove_local_account">Odstrániť lokálny účet</string>
|
||||||
|
<string name="remove_local_account_details">Odstrániť účet zo zariadenia a odstrániť všetky lokálne súbory</string>
|
||||||
<string name="remove_notification_failed">Odstránenie upozornenia zlyhalo.</string>
|
<string name="remove_notification_failed">Odstránenie upozornenia zlyhalo.</string>
|
||||||
<string name="remove_push_notification">Odstrániť</string>
|
<string name="remove_push_notification">Odstrániť</string>
|
||||||
<string name="remove_success_msg">Zmazané</string>
|
<string name="remove_success_msg">Zmazané</string>
|
||||||
|
@ -614,6 +659,8 @@
|
||||||
<string name="rename_local_fail_msg">Nepodarilo sa premenovať lokálnu kópiu, skúste iné meno</string>
|
<string name="rename_local_fail_msg">Nepodarilo sa premenovať lokálnu kópiu, skúste iné meno</string>
|
||||||
<string name="rename_server_fail_msg">Premenovanie sa nepodarilo, meno sa už používa</string>
|
<string name="rename_server_fail_msg">Premenovanie sa nepodarilo, meno sa už používa</string>
|
||||||
<string name="request_account_deletion">Žiadosť o zmazanie účtu</string>
|
<string name="request_account_deletion">Žiadosť o zmazanie účtu</string>
|
||||||
|
<string name="request_account_deletion_button">Žiadosť o zmazanie</string>
|
||||||
|
<string name="request_account_deletion_details">Žiadosť o trvalé odstránenie účtu poskytovateľom</string>
|
||||||
<string name="reshare_not_allowed">Opätovné sprístupňovanie nie je povolené</string>
|
<string name="reshare_not_allowed">Opätovné sprístupňovanie nie je povolené</string>
|
||||||
<string name="resharing_is_not_allowed">Sprístupnenie už sprístupnenej položky nie je povolené</string>
|
<string name="resharing_is_not_allowed">Sprístupnenie už sprístupnenej položky nie je povolené</string>
|
||||||
<string name="resized_image_not_possible_download">Obrázok v inom rozlíšení nedostupný. Stiahnuť pôvodný obrázok?</string>
|
<string name="resized_image_not_possible_download">Obrázok v inom rozlíšení nedostupný. Stiahnuť pôvodný obrázok?</string>
|
||||||
|
@ -624,6 +671,7 @@
|
||||||
<string name="retrieving_file">Získava sa súbor…</string>
|
<string name="retrieving_file">Získava sa súbor…</string>
|
||||||
<string name="richdocuments_failed_to_load_document">Nepodarilo sa načítať dokument!</string>
|
<string name="richdocuments_failed_to_load_document">Nepodarilo sa načítať dokument!</string>
|
||||||
<string name="scanQR_description">Prihlásiť sa pomocou QR kódu</string>
|
<string name="scanQR_description">Prihlásiť sa pomocou QR kódu</string>
|
||||||
|
<string name="scan_page">Skenovať stránku</string>
|
||||||
<string name="screenshot_01_gridView_heading">Chránte vaše údaje</string>
|
<string name="screenshot_01_gridView_heading">Chránte vaše údaje</string>
|
||||||
<string name="screenshot_01_gridView_subline">Nástroje pre produktivitu s vlastným hosťovaním</string>
|
<string name="screenshot_01_gridView_subline">Nástroje pre produktivitu s vlastným hosťovaním</string>
|
||||||
<string name="screenshot_02_listView_heading">Prehliadajte a zdieľajte</string>
|
<string name="screenshot_02_listView_heading">Prehliadajte a zdieľajte</string>
|
||||||
|
@ -650,6 +698,7 @@
|
||||||
<string name="set_picture_as">Použiť obrázok ako</string>
|
<string name="set_picture_as">Použiť obrázok ako</string>
|
||||||
<string name="set_status">Nastaviť stav</string>
|
<string name="set_status">Nastaviť stav</string>
|
||||||
<string name="set_status_message">Nastaviť správu o stave</string>
|
<string name="set_status_message">Nastaviť správu o stave</string>
|
||||||
|
<string name="setup_e2e">Počas nastavovania end-to-end šifrovania dostanete náhodný 12-slovový mnemotechnický záznam, ktorý budete potrebovať na otvorenie svojich súborov na iných zariadeniach. Tento záznam bude uložený iba na tomto zariadení a môže byť znovu zobrazený na tejto obrazovke. Prosím, zapíšte si ho na bezpečné miesto!</string>
|
||||||
<string name="share">Zdieľať</string>
|
<string name="share">Zdieľať</string>
|
||||||
<string name="share_copy_link">Zdieľať & Kopírovať Odkaz</string>
|
<string name="share_copy_link">Zdieľať & Kopírovať Odkaz</string>
|
||||||
<string name="share_dialog_title">Sprístupnenie</string>
|
<string name="share_dialog_title">Sprístupnenie</string>
|
||||||
|
@ -674,6 +723,7 @@
|
||||||
<string name="share_password_title">Chránené heslom</string>
|
<string name="share_password_title">Chránené heslom</string>
|
||||||
<string name="share_permission_can_edit">Môže upravovať</string>
|
<string name="share_permission_can_edit">Môže upravovať</string>
|
||||||
<string name="share_permission_file_drop">Vložiť súbor</string>
|
<string name="share_permission_file_drop">Vložiť súbor</string>
|
||||||
|
<string name="share_permission_secure_file_drop">Zabezpečený file drop</string>
|
||||||
<string name="share_permission_view_only">Iba pre čítanie</string>
|
<string name="share_permission_view_only">Iba pre čítanie</string>
|
||||||
<string name="share_permissions">Zdieľať oprávnenia</string>
|
<string name="share_permissions">Zdieľať oprávnenia</string>
|
||||||
<string name="share_remote_clarification">%1$s (vzdialený)</string>
|
<string name="share_remote_clarification">%1$s (vzdialený)</string>
|
||||||
|
@ -749,6 +799,8 @@
|
||||||
<string name="stream_not_possible_headline">Vnútorné streamovanie nie je možné</string>
|
<string name="stream_not_possible_headline">Vnútorné streamovanie nie je možné</string>
|
||||||
<string name="stream_not_possible_message">Médium si namiesto toho stiahnite alebo použite externú aplikáciu.</string>
|
<string name="stream_not_possible_message">Médium si namiesto toho stiahnite alebo použite externú aplikáciu.</string>
|
||||||
<string name="strict_mode">Striktný mód: HTTP spojenie nie je povolené!</string>
|
<string name="strict_mode">Striktný mód: HTTP spojenie nie je povolené!</string>
|
||||||
|
<string name="sub_folder_rule_day">Rok/Mesiac/Deň</string>
|
||||||
|
<string name="sub_folder_rule_month">Rok/Mesiac</string>
|
||||||
<string name="sub_folder_rule_year">Rok</string>
|
<string name="sub_folder_rule_year">Rok</string>
|
||||||
<string name="subject_shared_with_you">\"%1$s\" vám bol sprístupnený</string>
|
<string name="subject_shared_with_you">\"%1$s\" vám bol sprístupnený</string>
|
||||||
<string name="subject_user_shared_with_you">%1$s vám sprístupnil \"%2$s\"</string>
|
<string name="subject_user_shared_with_you">%1$s vám sprístupnil \"%2$s\"</string>
|
||||||
|
@ -788,6 +840,7 @@
|
||||||
<string name="thumbnail">Náhľad</string>
|
<string name="thumbnail">Náhľad</string>
|
||||||
<string name="thumbnail_for_existing_file_description">Náhľad existujúceho súboru</string>
|
<string name="thumbnail_for_existing_file_description">Náhľad existujúceho súboru</string>
|
||||||
<string name="thumbnail_for_new_file_desc">Náhľad nového súboru</string>
|
<string name="thumbnail_for_new_file_desc">Náhľad nového súboru</string>
|
||||||
|
<string name="timeout_richDocuments">Načítavanie trvá dlhšie ako sa očakávalo</string>
|
||||||
<string name="today">Dnes</string>
|
<string name="today">Dnes</string>
|
||||||
<string name="trashbin_activity_title">Zmazané súbory</string>
|
<string name="trashbin_activity_title">Zmazané súbory</string>
|
||||||
<string name="trashbin_empty_headline">Žiadne zmazané súbory</string>
|
<string name="trashbin_empty_headline">Žiadne zmazané súbory</string>
|
||||||
|
@ -831,6 +884,7 @@
|
||||||
<string name="upload_lock_failed">Uzamknutie priečinka zlyhalo</string>
|
<string name="upload_lock_failed">Uzamknutie priečinka zlyhalo</string>
|
||||||
<string name="upload_old_android">Šifrovanie je možné iba pri >= Android 5.0</string>
|
<string name="upload_old_android">Šifrovanie je možné iba pri >= Android 5.0</string>
|
||||||
<string name="upload_query_move_foreign_files">Pre skopírovanie vybratých súborov do adresára %1$s nie je dostatok voľného miesta. Chcete ich namiesto toho presunúť?</string>
|
<string name="upload_query_move_foreign_files">Pre skopírovanie vybratých súborov do adresára %1$s nie je dostatok voľného miesta. Chcete ich namiesto toho presunúť?</string>
|
||||||
|
<string name="upload_quota_exceeded">Kapacita úložiska prekročená</string>
|
||||||
<string name="upload_scan_doc_upload">Naskenujte dokument z fotoaparátu</string>
|
<string name="upload_scan_doc_upload">Naskenujte dokument z fotoaparátu</string>
|
||||||
<string name="upload_sync_conflict">Chyba synchronizácie, prosím vyriešte manuálne</string>
|
<string name="upload_sync_conflict">Chyba synchronizácie, prosím vyriešte manuálne</string>
|
||||||
<string name="upload_unknown_error">Neznáma chyba</string>
|
<string name="upload_unknown_error">Neznáma chyba</string>
|
||||||
|
@ -899,7 +953,9 @@
|
||||||
<string name="wait_a_moment">Počkajte chvíľu…</string>
|
<string name="wait_a_moment">Počkajte chvíľu…</string>
|
||||||
<string name="wait_checking_credentials">Overujem uložené prihlasovacie údaje</string>
|
<string name="wait_checking_credentials">Overujem uložené prihlasovacie údaje</string>
|
||||||
<string name="wait_for_tmp_copy_from_private_storage">Kopírovanie súboru z privátneho úložiska</string>
|
<string name="wait_for_tmp_copy_from_private_storage">Kopírovanie súboru z privátneho úložiska</string>
|
||||||
|
<string name="webview_version_check_alert_dialog_message">Pre prihlásenie prosím aktualizujte aplikáciu Android System WebView</string>
|
||||||
<string name="webview_version_check_alert_dialog_positive_button_title">Aktualizovať</string>
|
<string name="webview_version_check_alert_dialog_positive_button_title">Aktualizovať</string>
|
||||||
|
<string name="webview_version_check_alert_dialog_title">Aktualizujte Android System WebView</string>
|
||||||
<string name="what_s_new_image">Obrázok čo je nové</string>
|
<string name="what_s_new_image">Obrázok čo je nové</string>
|
||||||
<string name="whats_new_skip">Preskočiť</string>
|
<string name="whats_new_skip">Preskočiť</string>
|
||||||
<string name="whats_new_title">Nové v %1$s</string>
|
<string name="whats_new_title">Nové v %1$s</string>
|
||||||
|
|
|
@ -885,6 +885,7 @@
|
||||||
<string name="upload_lock_failed">Misslyckades låsa mappen</string>
|
<string name="upload_lock_failed">Misslyckades låsa mappen</string>
|
||||||
<string name="upload_old_android">Kryptering är endast möjlig med >= Android 5.0</string>
|
<string name="upload_old_android">Kryptering är endast möjlig med >= Android 5.0</string>
|
||||||
<string name="upload_query_move_foreign_files">Otillräckligt utrymme förhindrar kopiering av de valda filerna till %1$s -mappen. Vill du flytta dem dit i stället?</string>
|
<string name="upload_query_move_foreign_files">Otillräckligt utrymme förhindrar kopiering av de valda filerna till %1$s -mappen. Vill du flytta dem dit i stället?</string>
|
||||||
|
<string name="upload_quota_exceeded">Lagringskvot överskriden</string>
|
||||||
<string name="upload_scan_doc_upload">Slams dokument från kamera</string>
|
<string name="upload_scan_doc_upload">Slams dokument från kamera</string>
|
||||||
<string name="upload_sync_conflict">Synkroniseringskonflikt, lös problemet manuellt</string>
|
<string name="upload_sync_conflict">Synkroniseringskonflikt, lös problemet manuellt</string>
|
||||||
<string name="upload_unknown_error">Okänt fel</string>
|
<string name="upload_unknown_error">Okänt fel</string>
|
||||||
|
|
|
@ -1,2 +1,2 @@
|
||||||
DO NOT TOUCH; GENERATED BY DRONE
|
DO NOT TOUCH; GENERATED BY DRONE
|
||||||
<span class="mdl-layout-title">Lint Report: 9 errors and 75 warnings</span>
|
<span class="mdl-layout-title">Lint Report: 3 errors and 75 warnings</span>
|
||||||
|
|
Loading…
Reference in a new issue