Merge branch 'master' into signApk

This commit is contained in:
Tobias Kaminsky 2017-12-12 08:00:51 +01:00 committed by GitHub
commit 74786b8429
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
67 changed files with 255 additions and 188 deletions

View file

@ -107,8 +107,8 @@ android {
versionDev { versionDev {
applicationId "com.nextcloud.android.beta" applicationId "com.nextcloud.android.beta"
dimension "default" dimension "default"
versionCode 20171211 versionCode 20171212
versionName "20171211" versionName "20171212"
} }
} }

View file

@ -1,2 +1,2 @@
DO NOT TOUCH; GENERATED BY DRONE DO NOT TOUCH; GENERATED BY DRONE
<span class="mdl-layout-title">Lint Report: 335 warnings</span> <span class="mdl-layout-title">Lint Report: 334 warnings</span>

View file

@ -17,15 +17,20 @@ returnValue=$?
echo "Branch: $3" echo "Branch: $3"
if [ $3 = "master" -a $returnValue -eq 0 ]; then if [ $3 = "master" -a $returnValue -ne 1 ]; then
echo "New master at: https://nextcloud.kaminsky.me/index.php/s/tXwtChzyqMj6I8v" echo "New master at: https://nextcloud.kaminsky.me/index.php/s/tXwtChzyqMj6I8v"
curl -u $4:$5 -X PUT https://nextcloud.kaminsky.me/remote.php/webdav/droneLogs/master.html --upload-file build/reports/lint/lint.html curl -u $4:$5 -X PUT https://nextcloud.kaminsky.me/remote.php/webdav/droneLogs/master.html --upload-file build/reports/lint/lint.html
exit 0 exit 0
elif [ $returnValue -eq 1 ]; then else
if [ -e $6 ] ; then if [ -e $6 ]; then
6="master-"$(date +%F) 6="master-"$(date +%F)
fi fi
echo "New results at https://nextcloud.kaminsky.me/index.php/s/tXwtChzyqMj6I8v ->" $6.html echo "New results at https://nextcloud.kaminsky.me/index.php/s/tXwtChzyqMj6I8v ->" $6.html
curl -u $4:$5 -X PUT https://nextcloud.kaminsky.me/remote.php/webdav/droneLogs/$6.html --upload-file build/reports/lint/lint.html curl -u $4:$5 -X PUT https://nextcloud.kaminsky.me/remote.php/webdav/droneLogs/$6.html --upload-file build/reports/lint/lint.html
exit 1
if [ $returnValue -eq 2 ]; then
exit 0
else
exit $returnValue
fi
fi fi

View file

@ -461,7 +461,7 @@ public class AuthenticatorActivity extends AccountAuthenticatorActivity
} }
}).show(); }).show();
} }
}, 1000); }, 60000);
} }
private void parseAndLoginFromWebView(String dataString) { private void parseAndLoginFromWebView(String dataString) {

View file

@ -20,6 +20,8 @@
*/ */
package com.owncloud.android.datamodel; package com.owncloud.android.datamodel;
import android.support.annotation.Nullable;
/* /*
Model for filesystem data from the database Model for filesystem data from the database
*/ */
@ -32,12 +34,13 @@ public class FileSystemDataSet {
private boolean isSentForUpload; private boolean isSentForUpload;
private long foundAt; private long foundAt;
private long syncedFolderId; private long syncedFolderId;
@Nullable private String crc32;
public FileSystemDataSet() { public FileSystemDataSet() {
} }
public FileSystemDataSet(int id, String localPath, long modifiedAt, boolean isFolder, public FileSystemDataSet(int id, String localPath, long modifiedAt, boolean isFolder,
boolean isSentForUpload, long foundAt, long syncedFolderId) { boolean isSentForUpload, long foundAt, long syncedFolderId, @Nullable String crc32) {
this.id = id; this.id = id;
this.localPath = localPath; this.localPath = localPath;
this.modifiedAt = modifiedAt; this.modifiedAt = modifiedAt;
@ -45,6 +48,15 @@ public class FileSystemDataSet {
this.isSentForUpload = isSentForUpload; this.isSentForUpload = isSentForUpload;
this.foundAt = foundAt; this.foundAt = foundAt;
this.syncedFolderId = syncedFolderId; this.syncedFolderId = syncedFolderId;
this.crc32 = crc32;
}
public String getCrc32() {
return crc32;
}
public void setCrc32(String crc32) {
this.crc32 = crc32;
} }
public int getId() { public int getId() {

View file

@ -27,8 +27,14 @@ import android.net.Uri;
import com.owncloud.android.db.ProviderMeta; import com.owncloud.android.db.ProviderMeta;
import com.owncloud.android.lib.common.utils.Log_OC; import com.owncloud.android.lib.common.utils.Log_OC;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashSet; import java.util.HashSet;
import java.util.Set; import java.util.Set;
import java.util.zip.CRC32;
/** /**
* Provider for stored filesystem data. * Provider for stored filesystem data.
@ -119,6 +125,11 @@ public class FilesystemDataProvider {
cv.put(ProviderMeta.ProviderTableMeta.FILESYSTEM_FILE_SENT_FOR_UPLOAD, false); cv.put(ProviderMeta.ProviderTableMeta.FILESYSTEM_FILE_SENT_FOR_UPLOAD, false);
cv.put(ProviderMeta.ProviderTableMeta.FILESYSTEM_SYNCED_FOLDER_ID, syncedFolder.getId()); cv.put(ProviderMeta.ProviderTableMeta.FILESYSTEM_SYNCED_FOLDER_ID, syncedFolder.getId());
long newCrc32 = getFileChecksum(localPath);
if (newCrc32 != -1) {
cv.put(ProviderMeta.ProviderTableMeta.FILESYSTEM_CRC32, Long.toString(newCrc32));
}
Uri result = contentResolver.insert(ProviderMeta.ProviderTableMeta.CONTENT_URI_FILESYSTEM, cv); Uri result = contentResolver.insert(ProviderMeta.ProviderTableMeta.CONTENT_URI_FILESYSTEM, cv);
if (result == null) { if (result == null) {
@ -127,7 +138,11 @@ public class FilesystemDataProvider {
} else { } else {
if (data.getModifiedAt() != modifiedAt) { if (data.getModifiedAt() != modifiedAt) {
cv.put(ProviderMeta.ProviderTableMeta.FILESYSTEM_FILE_SENT_FOR_UPLOAD, 0); long newCrc32 = getFileChecksum(localPath);
if (data.getCrc32() == null || (newCrc32 != -1 && !data.getCrc32().equals(Long.toString(newCrc32)))) {
cv.put(ProviderMeta.ProviderTableMeta.FILESYSTEM_CRC32, Long.toString(newCrc32));
cv.put(ProviderMeta.ProviderTableMeta.FILESYSTEM_FILE_SENT_FOR_UPLOAD, 0);
}
} }
@ -177,11 +192,13 @@ public class FilesystemDataProvider {
isSentForUpload = true; isSentForUpload = true;
} }
String crc32 = cursor.getString(cursor.getColumnIndex(ProviderMeta.ProviderTableMeta.FILESYSTEM_CRC32));
if (id == -1) { if (id == -1) {
Log_OC.e(TAG, "Arbitrary value could not be created from cursor"); Log_OC.e(TAG, "Arbitrary value could not be created from cursor");
} else { } else {
dataSet = new FileSystemDataSet(id, localPath, modifiedAt, isFolder, isSentForUpload, foundAt, dataSet = new FileSystemDataSet(id, localPath, modifiedAt, isFolder, isSentForUpload, foundAt,
syncedFolder.getId()); syncedFolder.getId(), crc32);
} }
} }
cursor.close(); cursor.close();
@ -191,4 +208,24 @@ public class FilesystemDataProvider {
return dataSet; return dataSet;
} }
private static long getFileChecksum(String filepath) {
InputStream inputStream = null;
try {
inputStream = new BufferedInputStream(new FileInputStream(filepath));
CRC32 crc = new CRC32();
int cnt;
while ((cnt = inputStream.read()) != -1) {
crc.update(cnt);
}
return crc.getValue();
} catch (FileNotFoundException e) {
return -1;
} catch (IOException e) {
return -1;
}
}
} }

View file

@ -68,6 +68,7 @@ import java.io.File;
import java.io.FileNotFoundException; import java.io.FileNotFoundException;
import java.io.InputStream; import java.io.InputStream;
import java.lang.ref.WeakReference; import java.lang.ref.WeakReference;
import java.net.URLEncoder;
import java.util.ArrayList; import java.util.ArrayList;
import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings;
@ -293,13 +294,11 @@ public class ThumbnailsCacheManager {
if (serverOCVersion.supportsRemoteThumbnails()) { if (serverOCVersion.supportsRemoteThumbnails()) {
GetMethod getMethod = null; GetMethod getMethod = null;
try { try {
// resized image via gallery app String uri = mClient.getBaseUri() + "/index.php/core/preview.png?file="
String uri = mClient.getBaseUri() + "/index.php/apps/gallery/api/preview/" + + URLEncoder.encode(file.getRemotePath())
Integer.parseInt(file.getRemoteId().substring(0, 8)) + "/" + pxW + "/" + pxH; + "&x=" + pxW + "&y=" + pxH + "&a=1&mode=cover&forceIcon=0";
Log_OC.d(TAG, "generate resizedImage: " + file.getFileName() + " URI: " + uri);
getMethod = new GetMethod(uri); getMethod = new GetMethod(uri);
getMethod.setRequestHeader("Cookie",
"nc_sameSiteCookielax=true;nc_sameSiteCookiestrict=true");
int status = mClient.executeMethod(getMethod); int status = mClient.executeMethod(getMethod);
if (status == HttpStatus.SC_OK) { if (status == HttpStatus.SC_OK) {
InputStream inputStream = getMethod.getResponseBodyAsStream(); InputStream inputStream = getMethod.getResponseBodyAsStream();

View file

@ -32,7 +32,7 @@ import com.owncloud.android.MainApp;
public class ProviderMeta { public class ProviderMeta {
public static final String DB_NAME = "filelist"; public static final String DB_NAME = "filelist";
public static final int DB_VERSION = 25; public static final int DB_VERSION = 26;
private ProviderMeta() { private ProviderMeta() {
} }
@ -218,5 +218,6 @@ public class ProviderMeta {
public static final String FILESYSTEM_FILE_FOUND_RECENTLY = "found_at"; public static final String FILESYSTEM_FILE_FOUND_RECENTLY = "found_at";
public static final String FILESYSTEM_FILE_SENT_FOR_UPLOAD = "upload_triggered"; public static final String FILESYSTEM_FILE_SENT_FOR_UPLOAD = "upload_triggered";
public static final String FILESYSTEM_SYNCED_FOLDER_ID = "syncedfolder_id"; public static final String FILESYSTEM_SYNCED_FOLDER_ID = "syncedfolder_id";
public static final String FILESYSTEM_CRC32 = "crc32";
} }
} }

View file

@ -38,6 +38,9 @@ import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper; import android.database.sqlite.SQLiteOpenHelper;
import android.database.sqlite.SQLiteQueryBuilder; import android.database.sqlite.SQLiteQueryBuilder;
import android.net.Uri; import android.net.Uri;
import android.os.Binder;
import android.os.Build;
import android.support.annotation.NonNull;
import android.text.TextUtils; import android.text.TextUtils;
import com.owncloud.android.MainApp; import com.owncloud.android.MainApp;
@ -63,6 +66,7 @@ import java.util.Locale;
public class FileContentProvider extends ContentProvider { public class FileContentProvider extends ContentProvider {
private DataBaseHelper mDbHelper; private DataBaseHelper mDbHelper;
private Context mContext;
private static final int SINGLE_FILE = 1; private static final int SINGLE_FILE = 1;
private static final int DIRECTORY = 2; private static final int DIRECTORY = 2;
@ -89,9 +93,13 @@ public class FileContentProvider extends ContentProvider {
private static final String UPGRADE_VERSION_MSG = "OUT of the ADD in onUpgrade; oldVersion == %d, newVersion == %d"; private static final String UPGRADE_VERSION_MSG = "OUT of the ADD in onUpgrade; oldVersion == %d, newVersion == %d";
@Override @Override
public int delete(Uri uri, String where, String[] whereArgs) { public int delete(@NonNull Uri uri, String where, String[] whereArgs) {
//Log_OC.d(TAG, "Deleting " + uri + " at provider " + this); int count;
int count = 0;
if (isCallerNotAllowed()) {
return -1;
}
SQLiteDatabase db = mDbHelper.getWritableDatabase(); SQLiteDatabase db = mDbHelper.getWritableDatabase();
db.beginTransaction(); db.beginTransaction();
try { try {
@ -100,11 +108,15 @@ public class FileContentProvider extends ContentProvider {
} finally { } finally {
db.endTransaction(); db.endTransaction();
} }
getContext().getContentResolver().notifyChange(uri, null); mContext.getContentResolver().notifyChange(uri, null);
return count; return count;
} }
private int delete(SQLiteDatabase db, Uri uri, String where, String[] whereArgs) { private int delete(SQLiteDatabase db, Uri uri, String where, String[] whereArgs) {
if (isCallerNotAllowed()) {
return -1;
}
int count = 0; int count = 0;
switch (mUriMatcher.match(uri)) { switch (mUriMatcher.match(uri)) {
case SINGLE_FILE: case SINGLE_FILE:
@ -221,7 +233,7 @@ public class FileContentProvider extends ContentProvider {
} }
@Override @Override
public String getType(Uri uri) { public String getType(@NonNull Uri uri) {
switch (mUriMatcher.match(uri)) { switch (mUriMatcher.match(uri)) {
case ROOT_DIRECTORY: case ROOT_DIRECTORY:
return ProviderTableMeta.CONTENT_TYPE; return ProviderTableMeta.CONTENT_TYPE;
@ -234,8 +246,12 @@ public class FileContentProvider extends ContentProvider {
} }
@Override @Override
public Uri insert(Uri uri, ContentValues values) { public Uri insert(@NonNull Uri uri, ContentValues values) {
Uri newUri = null; if (isCallerNotAllowed()) {
return null;
}
Uri newUri;
SQLiteDatabase db = mDbHelper.getWritableDatabase(); SQLiteDatabase db = mDbHelper.getWritableDatabase();
db.beginTransaction(); db.beginTransaction();
try { try {
@ -244,7 +260,7 @@ public class FileContentProvider extends ContentProvider {
} finally { } finally {
db.endTransaction(); db.endTransaction();
} }
getContext().getContentResolver().notifyChange(newUri, null); mContext.getContentResolver().notifyChange(newUri, null);
return newUri; return newUri;
} }
@ -286,7 +302,7 @@ public class FileContentProvider extends ContentProvider {
} }
case SHARES: case SHARES:
Uri insertedShareUri = null; Uri insertedShareUri;
long rowId = db.insert(ProviderTableMeta.OCSHARES_TABLE_NAME, null, values); long rowId = db.insert(ProviderTableMeta.OCSHARES_TABLE_NAME, null, values);
if (rowId > 0) { if (rowId > 0) {
insertedShareUri = insertedShareUri =
@ -299,7 +315,7 @@ public class FileContentProvider extends ContentProvider {
return insertedShareUri; return insertedShareUri;
case CAPABILITIES: case CAPABILITIES:
Uri insertedCapUri = null; Uri insertedCapUri;
long id = db.insert(ProviderTableMeta.CAPABILITIES_TABLE_NAME, null, values); long id = db.insert(ProviderTableMeta.CAPABILITIES_TABLE_NAME, null, values);
if (id > 0) { if (id > 0) {
insertedCapUri = insertedCapUri =
@ -311,7 +327,7 @@ public class FileContentProvider extends ContentProvider {
return insertedCapUri; return insertedCapUri;
case UPLOADS: case UPLOADS:
Uri insertedUploadUri = null; Uri insertedUploadUri;
long uploadId = db.insert(ProviderTableMeta.UPLOADS_TABLE_NAME, null, values); long uploadId = db.insert(ProviderTableMeta.UPLOADS_TABLE_NAME, null, values);
if (uploadId > 0) { if (uploadId > 0) {
insertedUploadUri = insertedUploadUri =
@ -323,7 +339,7 @@ public class FileContentProvider extends ContentProvider {
return insertedUploadUri; return insertedUploadUri;
case SYNCED_FOLDERS: case SYNCED_FOLDERS:
Uri insertedSyncedFolderUri = null; Uri insertedSyncedFolderUri;
long syncedFolderId = db.insert(ProviderTableMeta.SYNCED_FOLDERS_TABLE_NAME, null, values); long syncedFolderId = db.insert(ProviderTableMeta.SYNCED_FOLDERS_TABLE_NAME, null, values);
if (syncedFolderId > 0) { if (syncedFolderId > 0) {
insertedSyncedFolderUri = insertedSyncedFolderUri =
@ -335,7 +351,7 @@ public class FileContentProvider extends ContentProvider {
return insertedSyncedFolderUri; return insertedSyncedFolderUri;
case EXTERNAL_LINKS: case EXTERNAL_LINKS:
Uri insertedExternalLinkUri = null; Uri insertedExternalLinkUri;
long externalLinkId = db.insert(ProviderTableMeta.EXTERNAL_LINKS_TABLE_NAME, null, values); long externalLinkId = db.insert(ProviderTableMeta.EXTERNAL_LINKS_TABLE_NAME, null, values);
if (externalLinkId > 0) { if (externalLinkId > 0) {
insertedExternalLinkUri = insertedExternalLinkUri =
@ -347,7 +363,7 @@ public class FileContentProvider extends ContentProvider {
return insertedExternalLinkUri; return insertedExternalLinkUri;
case ARBITRARY_DATA: case ARBITRARY_DATA:
Uri insertedArbitraryDataUri = null; Uri insertedArbitraryDataUri;
long arbitraryDataId = db.insert(ProviderTableMeta.ARBITRARY_DATA_TABLE_NAME, null, values); long arbitraryDataId = db.insert(ProviderTableMeta.ARBITRARY_DATA_TABLE_NAME, null, values);
if (arbitraryDataId > 0) { if (arbitraryDataId > 0) {
insertedArbitraryDataUri = insertedArbitraryDataUri =
@ -369,11 +385,11 @@ public class FileContentProvider extends ContentProvider {
return insertedVirtualUri; return insertedVirtualUri;
case FILESYSTEM: case FILESYSTEM:
Uri insertedFilesystemUri = null; Uri insertedFilesystemUri;
long filesystedId = db.insert(ProviderTableMeta.FILESYSTEM_TABLE_NAME, null, values); long filesystemId = db.insert(ProviderTableMeta.FILESYSTEM_TABLE_NAME, null, values);
if (filesystedId > 0) { if (filesystemId > 0) {
insertedFilesystemUri = insertedFilesystemUri =
ContentUris.withAppendedId(ProviderTableMeta.CONTENT_URI_FILESYSTEM, filesystedId); ContentUris.withAppendedId(ProviderTableMeta.CONTENT_URI_FILESYSTEM, filesystemId);
} else { } else {
throw new SQLException("ERROR " + uri); throw new SQLException("ERROR " + uri);
} }
@ -412,8 +428,13 @@ public class FileContentProvider extends ContentProvider {
@Override @Override
public boolean onCreate() { public boolean onCreate() {
mDbHelper = new DataBaseHelper(getContext()); mDbHelper = new DataBaseHelper(getContext());
mContext = getContext();
String authority = getContext().getResources().getString(R.string.authority); if (mContext == null) {
return false;
}
String authority = mContext.getResources().getString(R.string.authority);
mUriMatcher = new UriMatcher(UriMatcher.NO_MATCH); mUriMatcher = new UriMatcher(UriMatcher.NO_MATCH);
mUriMatcher.addURI(authority, null, ROOT_DIRECTORY); mUriMatcher.addURI(authority, null, ROOT_DIRECTORY);
mUriMatcher.addURI(authority, "file/", SINGLE_FILE); mUriMatcher.addURI(authority, "file/", SINGLE_FILE);
@ -437,15 +458,24 @@ public class FileContentProvider extends ContentProvider {
@Override @Override
public Cursor query( public Cursor query(@NonNull Uri uri, String[] projection, String selection, String[] selectionArgs,
Uri uri, String sortOrder) {
String[] projection,
String selection,
String[] selectionArgs,
String sortOrder
) {
Cursor result = null; // skip check for files as they need to be queried to get access via document provider
switch (mUriMatcher.match(uri)) {
case ROOT_DIRECTORY:
case SINGLE_FILE:
case DIRECTORY:
break;
default:
if (isCallerNotAllowed()) {
return null;
}
}
Cursor result;
SQLiteDatabase db = mDbHelper.getReadableDatabase(); SQLiteDatabase db = mDbHelper.getReadableDatabase();
db.beginTransaction(); db.beginTransaction();
try { try {
@ -592,21 +622,26 @@ public class FileContentProvider extends ContentProvider {
sqlQuery.setProjectionMap(projectionMap); sqlQuery.setProjectionMap(projectionMap);
} }
if (selectionArgs == null) { // if both are null, let them pass to query
if (selectionArgs == null && selection != null) {
selectionArgs = new String[]{selection}; selectionArgs = new String[]{selection};
selection = "(?)"; selection = "(?)";
} }
sqlQuery.setStrict(true); sqlQuery.setStrict(true);
Cursor c = sqlQuery.query(db, projectionArray, selection, selectionArgs, null, null, order); Cursor c = sqlQuery.query(db, projectionArray, selection, selectionArgs, null, null, order);
c.setNotificationUri(getContext().getContentResolver(), uri); c.setNotificationUri(mContext.getContentResolver(), uri);
return c; return c;
} }
@Override @Override
public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) { public int update(@NonNull Uri uri, ContentValues values, String selection, String[] selectionArgs) {
int count = 0; if (isCallerNotAllowed()) {
return -1;
}
int count;
SQLiteDatabase db = mDbHelper.getWritableDatabase(); SQLiteDatabase db = mDbHelper.getWritableDatabase();
db.beginTransaction(); db.beginTransaction();
try { try {
@ -615,7 +650,7 @@ public class FileContentProvider extends ContentProvider {
} finally { } finally {
db.endTransaction(); db.endTransaction();
} }
getContext().getContentResolver().notifyChange(uri, null); mContext.getContentResolver().notifyChange(uri, null);
return count; return count;
} }
@ -635,8 +670,7 @@ public class FileContentProvider extends ContentProvider {
case CAPABILITIES: case CAPABILITIES:
return db.update(ProviderTableMeta.CAPABILITIES_TABLE_NAME, values, selection, selectionArgs); return db.update(ProviderTableMeta.CAPABILITIES_TABLE_NAME, values, selection, selectionArgs);
case UPLOADS: case UPLOADS:
int ret = db.update(ProviderTableMeta.UPLOADS_TABLE_NAME, values, selection, selectionArgs); return db.update(ProviderTableMeta.UPLOADS_TABLE_NAME, values, selection, selectionArgs);
return ret;
case SYNCED_FOLDERS: case SYNCED_FOLDERS:
return db.update(ProviderTableMeta.SYNCED_FOLDERS_TABLE_NAME, values, selection, selectionArgs); return db.update(ProviderTableMeta.SYNCED_FOLDERS_TABLE_NAME, values, selection, selectionArgs);
case ARBITRARY_DATA: case ARBITRARY_DATA:
@ -648,8 +682,9 @@ public class FileContentProvider extends ContentProvider {
} }
} }
@NonNull
@Override @Override
public ContentProviderResult[] applyBatch(ArrayList<ContentProviderOperation> operations) public ContentProviderResult[] applyBatch(@NonNull ArrayList<ContentProviderOperation> operations)
throws OperationApplicationException { throws OperationApplicationException {
Log_OC.d("FileContentProvider", "applying batch in provider " + this + Log_OC.d("FileContentProvider", "applying batch in provider " + this +
" (temporary: " + isTemporary() + ")"); " (temporary: " + isTemporary() + ")");
@ -674,7 +709,7 @@ public class FileContentProvider extends ContentProvider {
class DataBaseHelper extends SQLiteOpenHelper { class DataBaseHelper extends SQLiteOpenHelper {
public DataBaseHelper(Context context) { DataBaseHelper(Context context) {
super(context, ProviderMeta.DB_NAME, null, ProviderMeta.DB_VERSION); super(context, ProviderMeta.DB_NAME, null, ProviderMeta.DB_VERSION);
} }
@ -685,7 +720,7 @@ public class FileContentProvider extends ContentProvider {
Log_OC.i(SQL, "Entering in onCreate"); Log_OC.i(SQL, "Entering in onCreate");
createFilesTable(db); createFilesTable(db);
// Create ocshares table // Create OCShares table
createOCSharesTable(db); createOCSharesTable(db);
// Create capabilities table // Create capabilities table
@ -796,7 +831,7 @@ public class FileContentProvider extends ContentProvider {
ADD_COLUMN + ProviderTableMeta.FILE_PUBLIC_LINK + " TEXT " + ADD_COLUMN + ProviderTableMeta.FILE_PUBLIC_LINK + " TEXT " +
" DEFAULT NULL"); " DEFAULT NULL");
// Create table ocshares // Create table OCShares
createOCSharesTable(db); createOCSharesTable(db);
upgraded = true; upgraded = true;
@ -1189,6 +1224,21 @@ public class FileContentProvider extends ContentProvider {
} }
} }
if (oldVersion < 26 && newVersion >= 26) {
Log_OC.i(SQL, "Entering in the #26 Adding CRC32 column to filesystem table");
db.beginTransaction();
try {
db.execSQL(ALTER_TABLE + ProviderTableMeta.FILESYSTEM_TABLE_NAME +
ADD_COLUMN + ProviderTableMeta.FILESYSTEM_CRC32 + " TEXT ");
upgraded = true;
db.setTransactionSuccessful();
} finally {
db.endTransaction();
}
}
if (!upgraded) { if (!upgraded) {
Log_OC.i(SQL, String.format(Locale.ENGLISH, UPGRADE_VERSION_MSG, oldVersion, newVersion)); Log_OC.i(SQL, String.format(Locale.ENGLISH, UPGRADE_VERSION_MSG, oldVersion, newVersion));
} }
@ -1243,7 +1293,7 @@ public class FileContentProvider extends ContentProvider {
} }
private void createOCSharesTable(SQLiteDatabase db) { private void createOCSharesTable(SQLiteDatabase db) {
// Create ocshares table // Create OCShares table
db.execSQL("CREATE TABLE " + ProviderTableMeta.OCSHARES_TABLE_NAME + "(" db.execSQL("CREATE TABLE " + ProviderTableMeta.OCSHARES_TABLE_NAME + "("
+ ProviderTableMeta._ID + " INTEGER PRIMARY KEY, " + ProviderTableMeta._ID + " INTEGER PRIMARY KEY, "
+ ProviderTableMeta.OCSHARES_FILE_SOURCE + INTEGER + ProviderTableMeta.OCSHARES_FILE_SOURCE + INTEGER
@ -1380,6 +1430,7 @@ public class FileContentProvider extends ContentProvider {
+ ProviderTableMeta.FILESYSTEM_FILE_FOUND_RECENTLY + " LONG, " + ProviderTableMeta.FILESYSTEM_FILE_FOUND_RECENTLY + " LONG, "
+ ProviderTableMeta.FILESYSTEM_FILE_SENT_FOR_UPLOAD + " INTEGER, " + ProviderTableMeta.FILESYSTEM_FILE_SENT_FOR_UPLOAD + " INTEGER, "
+ ProviderTableMeta.FILESYSTEM_SYNCED_FOLDER_ID + " STRING, " + ProviderTableMeta.FILESYSTEM_SYNCED_FOLDER_ID + " STRING, "
+ ProviderTableMeta.FILESYSTEM_CRC32 + " STRING, "
+ ProviderTableMeta.FILESYSTEM_FILE_MODIFIED + " LONG );" + ProviderTableMeta.FILESYSTEM_FILE_MODIFIED + " LONG );"
); );
} }
@ -1499,4 +1550,15 @@ public class FileContentProvider extends ContentProvider {
c.close(); c.close();
} }
} }
private boolean isCallerNotAllowed() {
String callingPackage;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
callingPackage = getCallingPackage();
} else {
callingPackage = mContext.getPackageManager().getNameForUid(Binder.getCallingUid());
}
return callingPackage == null || !callingPackage.contains(mContext.getPackageName());
}
} }

View file

@ -1335,53 +1335,50 @@ public abstract class DrawerActivity extends ToolbarActivity implements DisplayU
*/ */
public void fetchExternalLinks(final boolean force) { public void fetchExternalLinks(final boolean force) {
if (getBaseContext().getResources().getBoolean(R.bool.show_external_links)) { if (getBaseContext().getResources().getBoolean(R.bool.show_external_links)) {
Thread t = new Thread(new Runnable() { Thread t = new Thread(() -> {
public void run() { // fetch capabilities as early as possible
// fetch capabilities as early as possible if ((getCapabilities() == null || getCapabilities().getAccountName().isEmpty())
if ((getCapabilities() == null || getCapabilities().getAccountName().isEmpty()) && getStorageManager() != null) {
&& getStorageManager() != null) { GetCapabilitiesOperarion getCapabilities = new GetCapabilitiesOperarion();
GetCapabilitiesOperarion getCapabilities = new GetCapabilitiesOperarion(); getCapabilities.execute(getStorageManager(), getBaseContext());
getCapabilities.execute(getStorageManager(), getBaseContext()); }
}
Account account = AccountUtils.getCurrentOwnCloudAccount(DrawerActivity.this); Account account = AccountUtils.getCurrentOwnCloudAccount(DrawerActivity.this);
if (account != null && getStorageManager() != null && externalLinksProvider.deleteAllExternalLinks();
getStorageManager().getCapability(account.name) != null &&
getStorageManager().getCapability(account.name).getExternalLinks().isTrue()) {
int count = sharedPreferences.getInt(EXTERNAL_LINKS_COUNT, -1); if (account != null && getStorageManager() != null &&
if (count > 10 || count == -1 || force) { getStorageManager().getCapability(account.name) != null &&
if (force) { getStorageManager().getCapability(account.name).getExternalLinks().isTrue()) {
Log_OC.d("ExternalLinks", "force update");
int count = sharedPreferences.getInt(EXTERNAL_LINKS_COUNT, -1);
if (count > 10 || count == -1 || force) {
if (force) {
Log_OC.d("ExternalLinks", "force update");
}
sharedPreferences.edit().putInt(EXTERNAL_LINKS_COUNT, 0).apply();
Log_OC.d("ExternalLinks", "update via api");
RemoteOperation getExternalLinksOperation = new ExternalLinksOperation();
RemoteOperationResult result = getExternalLinksOperation.execute(account, DrawerActivity.this);
if (result.isSuccess() && result.getData() != null) {
externalLinksProvider.deleteAllExternalLinks();
ArrayList<ExternalLink> externalLinks = (ArrayList<ExternalLink>) (Object) result.getData();
for (ExternalLink link : externalLinks) {
externalLinksProvider.storeExternalLink(link);
} }
sharedPreferences.edit().putInt(EXTERNAL_LINKS_COUNT, 0).apply();
Log_OC.d("ExternalLinks", "update via api");
ExternalLinksProvider externalLinksProvider = new ExternalLinksProvider(getContentResolver());
RemoteOperation getExternalLinksOperation = new ExternalLinksOperation();
RemoteOperationResult result = getExternalLinksOperation.execute(account, DrawerActivity.this);
if (result.isSuccess() && result.getData() != null) {
externalLinksProvider.deleteAllExternalLinks();
ArrayList<ExternalLink> externalLinks = (ArrayList<ExternalLink>) (Object) result.getData();
for (ExternalLink link : externalLinks) {
externalLinksProvider.storeExternalLink(link);
}
runOnUiThread(() -> updateExternalLinksInDrawer());
}
} else {
sharedPreferences.edit().putInt(EXTERNAL_LINKS_COUNT, count + 1).apply();
} }
} else { } else {
Log_OC.d("ExternalLinks", "links disabled"); sharedPreferences.edit().putInt(EXTERNAL_LINKS_COUNT, count + 1).apply();
} }
} else {
Log_OC.d("ExternalLinks", "links disabled");
} }
runOnUiThread(() -> updateExternalLinksInDrawer());
}); });
t.start(); t.start();

View file

@ -1449,9 +1449,6 @@ public class FileDisplayActivity extends HookActivity
case OCFileListFragment.DOWNLOAD_SEND: case OCFileListFragment.DOWNLOAD_SEND:
sendDownloadedFile(); sendDownloadedFile();
break; break;
case OCFileListFragment.DOWNLOAD_SET_AS:
setPictureAs();
break;
default: default:
// do nothing // do nothing
break; break;
@ -1609,7 +1606,7 @@ public class FileDisplayActivity extends HookActivity
mUploaderBinder = null; mUploaderBinder = null;
} }
} }
}; }
private MediaServiceConnection newMediaConnection(){ private MediaServiceConnection newMediaConnection(){
return new MediaServiceConnection(); return new MediaServiceConnection();
@ -1639,7 +1636,7 @@ public class FileDisplayActivity extends HookActivity
mMediaServiceBinder = null; mMediaServiceBinder = null;
} }
} }
}; }
/** /**
* Updates the view associated to the activity after the finish of some operation over files * Updates the view associated to the activity after the finish of some operation over files
@ -1986,12 +1983,6 @@ public class FileDisplayActivity extends HookActivity
mWaitingToSend = null; mWaitingToSend = null;
} }
private void setPictureAs() {
getFileOperationsHelper().setPictureAs(mWaitingToSend);
mWaitingToSend = null;
}
/** /**
* Requests the download of the received {@link OCFile} , updates the UI * Requests the download of the received {@link OCFile} , updates the UI
* to monitor the download progress and prepares the activity to send the file * to monitor the download progress and prepares the activity to send the file

View file

@ -1,20 +1,20 @@
/** /*
* ownCloud Android client application * ownCloud Android client application
* *
* @author masensio * @author masensio
* @author David A. Velasco * @author David A. Velasco
* @author Juan Carlos González Cabrero * @author Juan Carlos González Cabrero
* Copyright (C) 2015 ownCloud Inc. * Copyright (C) 2015 ownCloud Inc.
* <p/> *
* This program is free software: you can redistribute it and/or modify * This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2, * it under the terms of the GNU General Public License version 2,
* as published by the Free Software Foundation. * as published by the Free Software Foundation.
* <p/> *
* This program is distributed in the hope that it will be useful, * This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of * but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details. * GNU General Public License for more details.
* <p/> *
* You should have received a copy of the GNU General Public License * You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>. * along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
@ -32,6 +32,7 @@ import android.support.v4.app.FragmentTransaction;
import com.owncloud.android.R; import com.owncloud.android.R;
import com.owncloud.android.datamodel.OCFile; import com.owncloud.android.datamodel.OCFile;
import com.owncloud.android.lib.common.OwnCloudAccount;
import com.owncloud.android.lib.common.accounts.AccountUtils; import com.owncloud.android.lib.common.accounts.AccountUtils;
import com.owncloud.android.lib.common.operations.RemoteOperation; import com.owncloud.android.lib.common.operations.RemoteOperation;
import com.owncloud.android.lib.common.operations.RemoteOperationResult; import com.owncloud.android.lib.common.operations.RemoteOperationResult;
@ -313,7 +314,19 @@ public class ShareActivity extends FileActivity implements ShareFragmentListener
intentToShareLink.putExtra(Intent.EXTRA_TEXT, link); intentToShareLink.putExtra(Intent.EXTRA_TEXT, link);
intentToShareLink.setType("text/plain"); intentToShareLink.setType("text/plain");
String username = AccountUtils.getUsernameForAccount(getAccount());
String username;
try {
OwnCloudAccount oca = new OwnCloudAccount(getAccount(), this);
if (oca.getDisplayName() != null && !oca.getDisplayName().isEmpty()) {
username = oca.getDisplayName();
} else {
username = AccountUtils.getUsernameForAccount(getAccount());
}
} catch (Exception e) {
username = AccountUtils.getUsernameForAccount(getAccount());
}
if (username != null) { if (username != null) {
intentToShareLink.putExtra( intentToShareLink.putExtra(
Intent.EXTRA_SUBJECT, Intent.EXTRA_SUBJECT,

View file

@ -129,7 +129,6 @@ public class OCFileListFragment extends ExtendedListFragment implements OCFileLi
public static final String DOWNLOAD_BEHAVIOUR = "DOWNLOAD_BEHAVIOUR"; public static final String DOWNLOAD_BEHAVIOUR = "DOWNLOAD_BEHAVIOUR";
public static final String DOWNLOAD_SEND = "DOWNLOAD_SEND"; public static final String DOWNLOAD_SEND = "DOWNLOAD_SEND";
public static final String DOWNLOAD_SET_AS = "DOWNLOAD_SET_AS";
public static final String SEARCH_EVENT = "SEARCH_EVENT"; public static final String SEARCH_EVENT = "SEARCH_EVENT";
@ -985,12 +984,7 @@ public class OCFileListFragment extends ExtendedListFragment implements OCFileLi
} }
} }
case R.id.action_set_as_wallpaper: { case R.id.action_set_as_wallpaper: {
if (singleFile.isDown()) { mContainerActivity.getFileOperationsHelper().setPictureAs(singleFile, getView());
mContainerActivity.getFileOperationsHelper().setPictureAs(singleFile);
} else {
Log_OC.d(TAG, singleFile.getRemotePath() + " : File must be downloaded");
((FileDisplayActivity) mContainerActivity).startDownloadForSending(singleFile, DOWNLOAD_SET_AS);
}
return true; return true;
} }
} }

View file

@ -30,9 +30,10 @@ import android.content.pm.ResolveInfo;
import android.net.Uri; import android.net.Uri;
import android.os.Build; import android.os.Build;
import android.support.annotation.Nullable; import android.support.annotation.Nullable;
import android.support.design.widget.Snackbar;
import android.support.v4.content.FileProvider; import android.support.v4.content.FileProvider;
import android.view.View;
import android.webkit.MimeTypeMap; import android.webkit.MimeTypeMap;
import android.widget.Toast;
import com.owncloud.android.MainApp; import com.owncloud.android.MainApp;
import com.owncloud.android.R; import com.owncloud.android.R;
@ -56,6 +57,7 @@ import com.owncloud.android.ui.events.FavoriteEvent;
import com.owncloud.android.ui.events.SyncEventFinished; import com.owncloud.android.ui.events.SyncEventFinished;
import com.owncloud.android.utils.DisplayUtils; import com.owncloud.android.utils.DisplayUtils;
import com.owncloud.android.utils.FileStorageUtils; import com.owncloud.android.utils.FileStorageUtils;
import com.owncloud.android.utils.UriUtils;
import org.greenrobot.eventbus.EventBus; import org.greenrobot.eventbus.EventBus;
@ -580,32 +582,36 @@ public class FileOperationsHelper {
} }
} }
public void setPictureAs(OCFile file) { public void setPictureAs(OCFile file, View view) {
if (file != null) { if (file != null) {
if (file.isDown()) { Context context = MainApp.getAppContext();
Context context = MainApp.getAppContext(); Intent intent = new Intent(Intent.ACTION_ATTACH_DATA);
Uri uri;
try { try {
if (file.isDown()) {
File externalFile = new File(file.getStoragePath()); File externalFile = new File(file.getStoragePath());
Intent intent = new Intent(Intent.ACTION_ATTACH_DATA);
Uri sendUri;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION); intent.setFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
sendUri = FileProvider.getUriForFile(context, uri = FileProvider.getUriForFile(context,
context.getResources().getString(R.string.file_provider_authority), externalFile); context.getResources().getString(R.string.file_provider_authority), externalFile);
} else { } else {
sendUri = Uri.fromFile(externalFile); uri = Uri.fromFile(externalFile);
} }
} else {
intent.setDataAndType(sendUri, file.getMimetype()); uri = Uri.parse(UriUtils.URI_CONTENT_SCHEME +
intent.putExtra("mimeType", file.getMimetype()); context.getResources().getString(R.string.image_cache_provider_authority) +
mFileActivity.startActivityForResult(Intent.createChooser(intent, file.getRemotePath());
mFileActivity.getString(R.string.set_as)), 200);
} catch (ActivityNotFoundException exception) {
Toast.makeText(context, R.string.picture_set_as_no_app, Toast.LENGTH_LONG).show();
} }
intent.setDataAndType(uri, file.getMimetype());
mFileActivity.startActivityForResult(Intent.createChooser(intent,
mFileActivity.getString(R.string.set_as)), 200);
intent.setDataAndType(uri, file.getMimetype());
} catch (ActivityNotFoundException exception) {
Snackbar.make(view, R.string.picture_set_as_no_app, Snackbar.LENGTH_LONG).show();
} }
} else { } else {
Log_OC.wtf(TAG, "Trying to send a NULL OCFile"); Log_OC.wtf(TAG, "Trying to send a NULL OCFile");

View file

@ -452,7 +452,7 @@ public class PreviewImageFragment extends FileFragment {
return true; return true;
case R.id.action_set_as_wallpaper: case R.id.action_set_as_wallpaper:
mContainerActivity.getFileOperationsHelper().setPictureAs(getFile()); mContainerActivity.getFileOperationsHelper().setPictureAs(getFile(), getImageView());
return true; return true;
default: default:

View file

@ -356,7 +356,6 @@
<string name="pref_behaviour_entries_keep_file">guardáu en carpeta orixinal</string> <string name="pref_behaviour_entries_keep_file">guardáu en carpeta orixinal</string>
<string name="pref_behaviour_entries_move">movíu a la carpeta d\'aplicaciones</string> <string name="pref_behaviour_entries_move">movíu a la carpeta d\'aplicaciones</string>
<string name="prefs_storage_path">Camín d\'almacenamientu</string> <string name="prefs_storage_path">Camín d\'almacenamientu</string>
<string name="prefs_common">Común</string>
<string name="share_dialog_title">Compartiendo</string> <string name="share_dialog_title">Compartiendo</string>
<string name="share_file">Compartir %1$s</string> <string name="share_file">Compartir %1$s</string>

View file

@ -300,7 +300,6 @@
<string name="pref_behaviour_entries_move">премествани в папката на приложението</string> <string name="pref_behaviour_entries_move">премествани в папката на приложението</string>
<string name="pref_behaviour_entries_delete_file">изтривани</string> <string name="pref_behaviour_entries_delete_file">изтривани</string>
<string name="prefs_storage_path">Път до хранилището</string> <string name="prefs_storage_path">Път до хранилището</string>
<string name="prefs_common">Познато</string>
<string name="share_dialog_title">Споделяне</string> <string name="share_dialog_title">Споделяне</string>
<string name="share_file">Споделяне на %1$s</string> <string name="share_file">Споделяне на %1$s</string>

View file

@ -392,7 +392,6 @@
<string name="pref_behaviour_entries_move">mogut a la carpeta de l\'aplicació</string> <string name="pref_behaviour_entries_move">mogut a la carpeta de l\'aplicació</string>
<string name="pref_behaviour_entries_delete_file">eliminat</string> <string name="pref_behaviour_entries_delete_file">eliminat</string>
<string name="prefs_storage_path">Ruta d\'emmagatzematge</string> <string name="prefs_storage_path">Ruta d\'emmagatzematge</string>
<string name="prefs_common">Comú</string>
<string name="share_dialog_title">Compartint</string> <string name="share_dialog_title">Compartint</string>
<string name="share_file">Comparteix %1$s</string> <string name="share_file">Comparteix %1$s</string>

View file

@ -467,7 +467,6 @@
<string name="pref_behaviour_entries_move">přesunut do adresáře aplikace</string> <string name="pref_behaviour_entries_move">přesunut do adresáře aplikace</string>
<string name="pref_behaviour_entries_delete_file">smazáno</string> <string name="pref_behaviour_entries_delete_file">smazáno</string>
<string name="prefs_storage_path">Cesta k úložišti</string> <string name="prefs_storage_path">Cesta k úložišti</string>
<string name="prefs_common">Obvyklý</string>
<string name="share_dialog_title">Sdílení</string> <string name="share_dialog_title">Sdílení</string>
<string name="share_file">Sdílet %1$s</string> <string name="share_file">Sdílet %1$s</string>

View file

@ -346,7 +346,6 @@
<string name="select_all">Vælg alle</string> <string name="select_all">Vælg alle</string>
<string name="pref_behaviour_entries_delete_file">Slettet</string> <string name="pref_behaviour_entries_delete_file">Slettet</string>
<string name="prefs_common">Almindelig</string>
<string name="share_dialog_title">Deling</string> <string name="share_dialog_title">Deling</string>
<string name="share_file">Del %1$s</string> <string name="share_file">Del %1$s</string>

View file

@ -470,7 +470,6 @@
<string name="pref_behaviour_entries_move">in den App-Ordner verschoben</string> <string name="pref_behaviour_entries_move">in den App-Ordner verschoben</string>
<string name="pref_behaviour_entries_delete_file">gelöscht</string> <string name="pref_behaviour_entries_delete_file">gelöscht</string>
<string name="prefs_storage_path">Speicherort</string> <string name="prefs_storage_path">Speicherort</string>
<string name="prefs_common">Allgemein</string>
<string name="share_dialog_title">Teilen</string> <string name="share_dialog_title">Teilen</string>
<string name="share_file">Teile %1$s</string> <string name="share_file">Teile %1$s</string>

View file

@ -470,7 +470,6 @@
<string name="pref_behaviour_entries_move">in den App-Ordner verschoben</string> <string name="pref_behaviour_entries_move">in den App-Ordner verschoben</string>
<string name="pref_behaviour_entries_delete_file">gelöscht</string> <string name="pref_behaviour_entries_delete_file">gelöscht</string>
<string name="prefs_storage_path">Speicherort</string> <string name="prefs_storage_path">Speicherort</string>
<string name="prefs_common">Allgemein</string>
<string name="share_dialog_title">Teilen</string> <string name="share_dialog_title">Teilen</string>
<string name="share_file">Teile %1$s</string> <string name="share_file">Teile %1$s</string>

View file

@ -421,7 +421,6 @@
<string name="pref_behaviour_entries_move">μετακινήθηκε στον φάκελο εφαρμογών</string> <string name="pref_behaviour_entries_move">μετακινήθηκε στον φάκελο εφαρμογών</string>
<string name="pref_behaviour_entries_delete_file">διαγράφηκε</string> <string name="pref_behaviour_entries_delete_file">διαγράφηκε</string>
<string name="prefs_storage_path">Διαδρομή αποθηκευτικού χώρου</string> <string name="prefs_storage_path">Διαδρομή αποθηκευτικού χώρου</string>
<string name="prefs_common">Κοινό</string>
<string name="share_dialog_title">Γίνεται διαμοιρασμός</string> <string name="share_dialog_title">Γίνεται διαμοιρασμός</string>
<string name="share_file">Διαμοιρασμός %1$s</string> <string name="share_file">Διαμοιρασμός %1$s</string>

View file

@ -469,7 +469,6 @@
<string name="pref_behaviour_entries_move">moved to app folder</string> <string name="pref_behaviour_entries_move">moved to app folder</string>
<string name="pref_behaviour_entries_delete_file">deleted</string> <string name="pref_behaviour_entries_delete_file">deleted</string>
<string name="prefs_storage_path">Storage path</string> <string name="prefs_storage_path">Storage path</string>
<string name="prefs_common">Common</string>
<string name="share_dialog_title">Sharing</string> <string name="share_dialog_title">Sharing</string>
<string name="share_file">Share %1$s</string> <string name="share_file">Share %1$s</string>

View file

@ -416,7 +416,6 @@
<string name="pref_behaviour_entries_move">movido a la capreta de la aplicación</string> <string name="pref_behaviour_entries_move">movido a la capreta de la aplicación</string>
<string name="pref_behaviour_entries_delete_file">Borrado</string> <string name="pref_behaviour_entries_delete_file">Borrado</string>
<string name="prefs_storage_path">Ruta de almacenamiento</string> <string name="prefs_storage_path">Ruta de almacenamiento</string>
<string name="prefs_common">Común</string>
<string name="share_dialog_title">Compartiendo</string> <string name="share_dialog_title">Compartiendo</string>
<string name="share_file">Compartir %1$s</string> <string name="share_file">Compartir %1$s</string>

View file

@ -469,7 +469,6 @@
<string name="pref_behaviour_entries_move">movido a la capreta de la aplicación</string> <string name="pref_behaviour_entries_move">movido a la capreta de la aplicación</string>
<string name="pref_behaviour_entries_delete_file">Borrado</string> <string name="pref_behaviour_entries_delete_file">Borrado</string>
<string name="prefs_storage_path">Ruta de almacenamiento</string> <string name="prefs_storage_path">Ruta de almacenamiento</string>
<string name="prefs_common">Común</string>
<string name="share_dialog_title">Compartiendo</string> <string name="share_dialog_title">Compartiendo</string>
<string name="share_file">Compartir %1$s</string> <string name="share_file">Compartir %1$s</string>

View file

@ -469,7 +469,6 @@
<string name="pref_behaviour_entries_move">movido a la capreta de la aplicación</string> <string name="pref_behaviour_entries_move">movido a la capreta de la aplicación</string>
<string name="pref_behaviour_entries_delete_file">Borrado</string> <string name="pref_behaviour_entries_delete_file">Borrado</string>
<string name="prefs_storage_path">Ruta de almacenamiento</string> <string name="prefs_storage_path">Ruta de almacenamiento</string>
<string name="prefs_common">Común</string>
<string name="share_dialog_title">Compartiendo</string> <string name="share_dialog_title">Compartiendo</string>
<string name="share_file">Compartir %1$s</string> <string name="share_file">Compartir %1$s</string>

View file

@ -469,7 +469,6 @@
<string name="pref_behaviour_entries_move">movido a la capreta de la aplicación</string> <string name="pref_behaviour_entries_move">movido a la capreta de la aplicación</string>
<string name="pref_behaviour_entries_delete_file">Borrado</string> <string name="pref_behaviour_entries_delete_file">Borrado</string>
<string name="prefs_storage_path">Ruta de almacenamiento</string> <string name="prefs_storage_path">Ruta de almacenamiento</string>
<string name="prefs_common">Común</string>
<string name="share_dialog_title">Compartiendo</string> <string name="share_dialog_title">Compartiendo</string>
<string name="share_file">Compartir %1$s</string> <string name="share_file">Compartir %1$s</string>

View file

@ -469,7 +469,6 @@
<string name="pref_behaviour_entries_move">movido a la capreta de la aplicación</string> <string name="pref_behaviour_entries_move">movido a la capreta de la aplicación</string>
<string name="pref_behaviour_entries_delete_file">Borrado</string> <string name="pref_behaviour_entries_delete_file">Borrado</string>
<string name="prefs_storage_path">Ruta de almacenamiento</string> <string name="prefs_storage_path">Ruta de almacenamiento</string>
<string name="prefs_common">Común</string>
<string name="share_dialog_title">Compartiendo</string> <string name="share_dialog_title">Compartiendo</string>
<string name="share_file">Compartir %1$s</string> <string name="share_file">Compartir %1$s</string>

View file

@ -469,7 +469,6 @@
<string name="pref_behaviour_entries_move">movido a la capreta de la aplicación</string> <string name="pref_behaviour_entries_move">movido a la capreta de la aplicación</string>
<string name="pref_behaviour_entries_delete_file">Borrado</string> <string name="pref_behaviour_entries_delete_file">Borrado</string>
<string name="prefs_storage_path">Ruta de almacenamiento</string> <string name="prefs_storage_path">Ruta de almacenamiento</string>
<string name="prefs_common">Común</string>
<string name="share_dialog_title">Compartiendo</string> <string name="share_dialog_title">Compartiendo</string>
<string name="share_file">Compartir %1$s</string> <string name="share_file">Compartir %1$s</string>

View file

@ -469,7 +469,6 @@
<string name="pref_behaviour_entries_move">movido a la capreta de la aplicación</string> <string name="pref_behaviour_entries_move">movido a la capreta de la aplicación</string>
<string name="pref_behaviour_entries_delete_file">Borrado</string> <string name="pref_behaviour_entries_delete_file">Borrado</string>
<string name="prefs_storage_path">Ruta de almacenamiento</string> <string name="prefs_storage_path">Ruta de almacenamiento</string>
<string name="prefs_common">Común</string>
<string name="share_dialog_title">Compartiendo</string> <string name="share_dialog_title">Compartiendo</string>
<string name="share_file">Compartir %1$s</string> <string name="share_file">Compartir %1$s</string>

View file

@ -469,7 +469,6 @@
<string name="pref_behaviour_entries_move">movido a la capreta de la aplicación</string> <string name="pref_behaviour_entries_move">movido a la capreta de la aplicación</string>
<string name="pref_behaviour_entries_delete_file">Borrado</string> <string name="pref_behaviour_entries_delete_file">Borrado</string>
<string name="prefs_storage_path">Ruta de almacenamiento</string> <string name="prefs_storage_path">Ruta de almacenamiento</string>
<string name="prefs_common">Común</string>
<string name="share_dialog_title">Compartiendo</string> <string name="share_dialog_title">Compartiendo</string>
<string name="share_file">Compartir %1$s</string> <string name="share_file">Compartir %1$s</string>

View file

@ -469,7 +469,6 @@
<string name="pref_behaviour_entries_move">movido a la capreta de la aplicación</string> <string name="pref_behaviour_entries_move">movido a la capreta de la aplicación</string>
<string name="pref_behaviour_entries_delete_file">Borrado</string> <string name="pref_behaviour_entries_delete_file">Borrado</string>
<string name="prefs_storage_path">Ruta de almacenamiento</string> <string name="prefs_storage_path">Ruta de almacenamiento</string>
<string name="prefs_common">Común</string>
<string name="share_dialog_title">Compartiendo</string> <string name="share_dialog_title">Compartiendo</string>
<string name="share_file">Compartir %1$s</string> <string name="share_file">Compartir %1$s</string>

View file

@ -469,7 +469,6 @@
<string name="pref_behaviour_entries_move">movido a la capreta de la aplicación</string> <string name="pref_behaviour_entries_move">movido a la capreta de la aplicación</string>
<string name="pref_behaviour_entries_delete_file">Borrado</string> <string name="pref_behaviour_entries_delete_file">Borrado</string>
<string name="prefs_storage_path">Ruta de almacenamiento</string> <string name="prefs_storage_path">Ruta de almacenamiento</string>
<string name="prefs_common">Común</string>
<string name="share_dialog_title">Compartiendo</string> <string name="share_dialog_title">Compartiendo</string>
<string name="share_file">Compartir %1$s</string> <string name="share_file">Compartir %1$s</string>

View file

@ -469,7 +469,6 @@
<string name="pref_behaviour_entries_move">movido a la capreta de la aplicación</string> <string name="pref_behaviour_entries_move">movido a la capreta de la aplicación</string>
<string name="pref_behaviour_entries_delete_file">Borrado</string> <string name="pref_behaviour_entries_delete_file">Borrado</string>
<string name="prefs_storage_path">Ruta de almacenamiento</string> <string name="prefs_storage_path">Ruta de almacenamiento</string>
<string name="prefs_common">Común</string>
<string name="share_dialog_title">Compartiendo</string> <string name="share_dialog_title">Compartiendo</string>
<string name="share_file">Compartir %1$s</string> <string name="share_file">Compartir %1$s</string>

View file

@ -469,7 +469,6 @@
<string name="pref_behaviour_entries_move">movido a la capreta de la aplicación</string> <string name="pref_behaviour_entries_move">movido a la capreta de la aplicación</string>
<string name="pref_behaviour_entries_delete_file">Borrado</string> <string name="pref_behaviour_entries_delete_file">Borrado</string>
<string name="prefs_storage_path">Ruta de almacenamiento</string> <string name="prefs_storage_path">Ruta de almacenamiento</string>
<string name="prefs_common">Común</string>
<string name="share_dialog_title">Compartiendo</string> <string name="share_dialog_title">Compartiendo</string>
<string name="share_file">Compartir %1$s</string> <string name="share_file">Compartir %1$s</string>

View file

@ -469,7 +469,6 @@
<string name="pref_behaviour_entries_move">movido a la capreta de la aplicación</string> <string name="pref_behaviour_entries_move">movido a la capreta de la aplicación</string>
<string name="pref_behaviour_entries_delete_file">Borrado</string> <string name="pref_behaviour_entries_delete_file">Borrado</string>
<string name="prefs_storage_path">Ruta de almacenamiento</string> <string name="prefs_storage_path">Ruta de almacenamiento</string>
<string name="prefs_common">Común</string>
<string name="share_dialog_title">Compartiendo</string> <string name="share_dialog_title">Compartiendo</string>
<string name="share_file">Compartir %1$s</string> <string name="share_file">Compartir %1$s</string>

View file

@ -469,7 +469,6 @@
<string name="pref_behaviour_entries_move">movido a la capreta de la aplicación</string> <string name="pref_behaviour_entries_move">movido a la capreta de la aplicación</string>
<string name="pref_behaviour_entries_delete_file">Borrado</string> <string name="pref_behaviour_entries_delete_file">Borrado</string>
<string name="prefs_storage_path">Ruta de almacenamiento</string> <string name="prefs_storage_path">Ruta de almacenamiento</string>
<string name="prefs_common">Común</string>
<string name="share_dialog_title">Compartiendo</string> <string name="share_dialog_title">Compartiendo</string>
<string name="share_file">Compartir %1$s</string> <string name="share_file">Compartir %1$s</string>

View file

@ -469,7 +469,6 @@
<string name="pref_behaviour_entries_move">movido a la capreta de la aplicación</string> <string name="pref_behaviour_entries_move">movido a la capreta de la aplicación</string>
<string name="pref_behaviour_entries_delete_file">Borrado</string> <string name="pref_behaviour_entries_delete_file">Borrado</string>
<string name="prefs_storage_path">Ruta de almacenamiento</string> <string name="prefs_storage_path">Ruta de almacenamiento</string>
<string name="prefs_common">Común</string>
<string name="share_dialog_title">Compartiendo</string> <string name="share_dialog_title">Compartiendo</string>
<string name="share_file">Compartir %1$s</string> <string name="share_file">Compartir %1$s</string>

View file

@ -469,7 +469,6 @@
<string name="pref_behaviour_entries_move">movido a la capreta de la aplicación</string> <string name="pref_behaviour_entries_move">movido a la capreta de la aplicación</string>
<string name="pref_behaviour_entries_delete_file">Borrado</string> <string name="pref_behaviour_entries_delete_file">Borrado</string>
<string name="prefs_storage_path">Ruta de almacenamiento</string> <string name="prefs_storage_path">Ruta de almacenamiento</string>
<string name="prefs_common">Común</string>
<string name="share_dialog_title">Compartiendo</string> <string name="share_dialog_title">Compartiendo</string>
<string name="share_file">Compartir %1$s</string> <string name="share_file">Compartir %1$s</string>

View file

@ -469,7 +469,6 @@
<string name="pref_behaviour_entries_move">movido a la carpeta de la app</string> <string name="pref_behaviour_entries_move">movido a la carpeta de la app</string>
<string name="pref_behaviour_entries_delete_file">borrado</string> <string name="pref_behaviour_entries_delete_file">borrado</string>
<string name="prefs_storage_path">Ruta de almacenamiento</string> <string name="prefs_storage_path">Ruta de almacenamiento</string>
<string name="prefs_common">Común</string>
<string name="share_dialog_title">Compartiendo</string> <string name="share_dialog_title">Compartiendo</string>
<string name="share_file">Compartir %1$s</string> <string name="share_file">Compartir %1$s</string>

View file

@ -363,7 +363,6 @@ Mesedez, baimendu berriz</string>
<string name="pref_behaviour_entries_move">Aplikazioaren karpetara mugitu</string> <string name="pref_behaviour_entries_move">Aplikazioaren karpetara mugitu</string>
<string name="pref_behaviour_entries_delete_file">Borratua</string> <string name="pref_behaviour_entries_delete_file">Borratua</string>
<string name="prefs_storage_path">Biltegiratze helbidea</string> <string name="prefs_storage_path">Biltegiratze helbidea</string>
<string name="prefs_common">Komuna</string>
<string name="share_dialog_title">Partekatzea</string> <string name="share_dialog_title">Partekatzea</string>
<string name="share_file">Partekatu %1$s</string> <string name="share_file">Partekatu %1$s</string>

View file

@ -366,7 +366,6 @@
<string name="pref_behaviour_entries_move">siirretään sovelluskansioon</string> <string name="pref_behaviour_entries_move">siirretään sovelluskansioon</string>
<string name="pref_behaviour_entries_delete_file">poistettu</string> <string name="pref_behaviour_entries_delete_file">poistettu</string>
<string name="prefs_storage_path">Tallennustilan polku</string> <string name="prefs_storage_path">Tallennustilan polku</string>
<string name="prefs_common">Yleinen</string>
<string name="share_dialog_title">Jakaminen</string> <string name="share_dialog_title">Jakaminen</string>
<string name="share_file">Jaa %1$s</string> <string name="share_file">Jaa %1$s</string>

View file

@ -471,7 +471,6 @@ Attention la suppression est irréversible.</string>
<string name="pref_behaviour_entries_move">déplacé vers le dossier de l\'application</string> <string name="pref_behaviour_entries_move">déplacé vers le dossier de l\'application</string>
<string name="pref_behaviour_entries_delete_file">supprimé</string> <string name="pref_behaviour_entries_delete_file">supprimé</string>
<string name="prefs_storage_path">Chemin de stockage</string> <string name="prefs_storage_path">Chemin de stockage</string>
<string name="prefs_common">Commun</string>
<string name="share_dialog_title">Partage</string> <string name="share_dialog_title">Partage</string>
<string name="share_file">Partager %1$s</string> <string name="share_file">Partager %1$s</string>

View file

@ -470,7 +470,6 @@
<string name="pref_behaviour_entries_move">áthelyezve az alkalmazás mappába</string> <string name="pref_behaviour_entries_move">áthelyezve az alkalmazás mappába</string>
<string name="pref_behaviour_entries_delete_file">törölt</string> <string name="pref_behaviour_entries_delete_file">törölt</string>
<string name="prefs_storage_path">Tároló útvonal</string> <string name="prefs_storage_path">Tároló útvonal</string>
<string name="prefs_common">Általános</string>
<string name="share_dialog_title">Megosztás</string> <string name="share_dialog_title">Megosztás</string>
<string name="share_file">%1$s megosztása</string> <string name="share_file">%1$s megosztása</string>

View file

@ -417,7 +417,6 @@
<string name="pref_behaviour_entries_move">Dipindahkan ke folder aplikasi</string> <string name="pref_behaviour_entries_move">Dipindahkan ke folder aplikasi</string>
<string name="pref_behaviour_entries_delete_file">terhapus</string> <string name="pref_behaviour_entries_delete_file">terhapus</string>
<string name="prefs_storage_path">Jalur penyimpanan</string> <string name="prefs_storage_path">Jalur penyimpanan</string>
<string name="prefs_common">Umum</string>
<string name="share_dialog_title">Berbagi</string> <string name="share_dialog_title">Berbagi</string>
<string name="share_file">Bagikan %1$s</string> <string name="share_file">Bagikan %1$s</string>

View file

@ -463,7 +463,6 @@ Smelltu hér til að fá þér einn frá þjónustuaðila.</string>
<string name="pref_behaviour_entries_move">færð í forritsmöppu</string> <string name="pref_behaviour_entries_move">færð í forritsmöppu</string>
<string name="pref_behaviour_entries_delete_file">eytt</string> <string name="pref_behaviour_entries_delete_file">eytt</string>
<string name="prefs_storage_path">Slóð á gagnageymslu</string> <string name="prefs_storage_path">Slóð á gagnageymslu</string>
<string name="prefs_common">Algengt</string>
<string name="share_dialog_title">Deiling</string> <string name="share_dialog_title">Deiling</string>
<string name="share_file">Deila %1$s</string> <string name="share_file">Deila %1$s</string>

View file

@ -469,7 +469,6 @@
<string name="pref_behaviour_entries_move">spostato nella cartella dell\'applicazione</string> <string name="pref_behaviour_entries_move">spostato nella cartella dell\'applicazione</string>
<string name="pref_behaviour_entries_delete_file">eliminato</string> <string name="pref_behaviour_entries_delete_file">eliminato</string>
<string name="prefs_storage_path">Percorso di archiviazione</string> <string name="prefs_storage_path">Percorso di archiviazione</string>
<string name="prefs_common">Comune</string>
<string name="share_dialog_title">Condivisione</string> <string name="share_dialog_title">Condivisione</string>
<string name="share_file">Condividi %1$s</string> <string name="share_file">Condividi %1$s</string>

View file

@ -334,7 +334,6 @@
<string name="pref_behaviour_entries_move">アプリフォルダに移動</string> <string name="pref_behaviour_entries_move">アプリフォルダに移動</string>
<string name="pref_behaviour_entries_delete_file">削除されました</string> <string name="pref_behaviour_entries_delete_file">削除されました</string>
<string name="prefs_storage_path">ストレージの場所</string> <string name="prefs_storage_path">ストレージの場所</string>
<string name="prefs_common">共通の</string>
<string name="share_dialog_title">共有</string> <string name="share_dialog_title">共有</string>
<string name="share_file">%1$s を共有</string> <string name="share_file">%1$s を共有</string>

View file

@ -465,7 +465,6 @@
<string name="pref_behaviour_entries_move">გადატანილია აპლიკაციის დირექტორიაში</string> <string name="pref_behaviour_entries_move">გადატანილია აპლიკაციის დირექტორიაში</string>
<string name="pref_behaviour_entries_delete_file">გაუქმებულია</string> <string name="pref_behaviour_entries_delete_file">გაუქმებულია</string>
<string name="prefs_storage_path">საცავის მისამართი</string> <string name="prefs_storage_path">საცავის მისამართი</string>
<string name="prefs_common">ჩვეული</string>
<string name="share_dialog_title">გაზიარება</string> <string name="share_dialog_title">გაზიარება</string>
<string name="share_file">%1$s-ის გაზიარება</string> <string name="share_file">%1$s-ის გაზიარება</string>

View file

@ -429,7 +429,6 @@
<string name="pref_behaviour_entries_move">perkelti į app aplanką</string> <string name="pref_behaviour_entries_move">perkelti į app aplanką</string>
<string name="pref_behaviour_entries_delete_file">Ištrintas</string> <string name="pref_behaviour_entries_delete_file">Ištrintas</string>
<string name="prefs_storage_path">Saugojimo kelias</string> <string name="prefs_storage_path">Saugojimo kelias</string>
<string name="prefs_common">Bendras pavadinimas:</string>
<string name="share_dialog_title">Dalijimasis</string> <string name="share_dialog_title">Dalijimasis</string>
<string name="share_file">Dalintis %1$s</string> <string name="share_file">Dalintis %1$s</string>

View file

@ -469,7 +469,6 @@
<string name="pref_behaviour_entries_move">flyttet til program-mappe</string> <string name="pref_behaviour_entries_move">flyttet til program-mappe</string>
<string name="pref_behaviour_entries_delete_file">slettet</string> <string name="pref_behaviour_entries_delete_file">slettet</string>
<string name="prefs_storage_path">Lagrings-sti</string> <string name="prefs_storage_path">Lagrings-sti</string>
<string name="prefs_common">Felles</string>
<string name="share_dialog_title">Deling</string> <string name="share_dialog_title">Deling</string>
<string name="share_file">Del %1$s</string> <string name="share_file">Del %1$s</string>

View file

@ -470,7 +470,6 @@ Kies er eentje van een provider.</string>
<string name="pref_behaviour_entries_move">verplaatst worden naar app-map</string> <string name="pref_behaviour_entries_move">verplaatst worden naar app-map</string>
<string name="pref_behaviour_entries_delete_file">verwijderd worden</string> <string name="pref_behaviour_entries_delete_file">verwijderd worden</string>
<string name="prefs_storage_path">Opslagpad</string> <string name="prefs_storage_path">Opslagpad</string>
<string name="prefs_common">Gemeenschappelijk</string>
<string name="share_dialog_title">Delen</string> <string name="share_dialog_title">Delen</string>
<string name="share_file">Deel %1$s</string> <string name="share_file">Deel %1$s</string>

View file

@ -453,7 +453,6 @@
<string name="pref_behaviour_entries_move">przeniesiony do folderu aplikacji</string> <string name="pref_behaviour_entries_move">przeniesiony do folderu aplikacji</string>
<string name="pref_behaviour_entries_delete_file">usunięty</string> <string name="pref_behaviour_entries_delete_file">usunięty</string>
<string name="prefs_storage_path">Ścieżka przechowywania</string> <string name="prefs_storage_path">Ścieżka przechowywania</string>
<string name="prefs_common">Wspólny</string>
<string name="share_dialog_title">Udostępnianie</string> <string name="share_dialog_title">Udostępnianie</string>
<string name="share_file">Współdziel %1$s</string> <string name="share_file">Współdziel %1$s</string>

View file

@ -469,7 +469,6 @@
<string name="pref_behaviour_entries_move">movido para a pasta aplicativos</string> <string name="pref_behaviour_entries_move">movido para a pasta aplicativos</string>
<string name="pref_behaviour_entries_delete_file">excluído</string> <string name="pref_behaviour_entries_delete_file">excluído</string>
<string name="prefs_storage_path">Caminho do armazenamento</string> <string name="prefs_storage_path">Caminho do armazenamento</string>
<string name="prefs_common">Comum</string>
<string name="share_dialog_title">Compartilhamento</string> <string name="share_dialog_title">Compartilhamento</string>
<string name="share_file">Compartilhar %1$s</string> <string name="share_file">Compartilhar %1$s</string>

View file

@ -294,7 +294,6 @@
<string name="pref_behaviour_entries_move">mutate în dosarul aplicației</string> <string name="pref_behaviour_entries_move">mutate în dosarul aplicației</string>
<string name="pref_behaviour_entries_delete_file">șterge</string> <string name="pref_behaviour_entries_delete_file">șterge</string>
<string name="prefs_storage_path">Calea către spațiul de depozitare</string> <string name="prefs_storage_path">Calea către spațiul de depozitare</string>
<string name="prefs_common">General</string>
<string name="share_dialog_title">Partajare</string> <string name="share_dialog_title">Partajare</string>
<string name="share_file">Partajare %1$s</string> <string name="share_file">Partajare %1$s</string>

View file

@ -477,7 +477,6 @@
<string name="pref_behaviour_entries_move">перемещен в каталог приложения</string> <string name="pref_behaviour_entries_move">перемещен в каталог приложения</string>
<string name="pref_behaviour_entries_delete_file">удалён</string> <string name="pref_behaviour_entries_delete_file">удалён</string>
<string name="prefs_storage_path">Путь к хранилищу</string> <string name="prefs_storage_path">Путь к хранилищу</string>
<string name="prefs_common">Основные</string>
<string name="share_dialog_title">Общий доступ</string> <string name="share_dialog_title">Общий доступ</string>
<string name="share_file">Общий ресурс «%1$s»</string> <string name="share_file">Общий ресурс «%1$s»</string>

View file

@ -347,7 +347,6 @@
<string name="pref_behaviour_entries_move">presunuté do aplikačného priečinka</string> <string name="pref_behaviour_entries_move">presunuté do aplikačného priečinka</string>
<string name="pref_behaviour_entries_delete_file">vymazané</string> <string name="pref_behaviour_entries_delete_file">vymazané</string>
<string name="prefs_storage_path">Cesta úložiska</string> <string name="prefs_storage_path">Cesta úložiska</string>
<string name="prefs_common">Bežný</string>
<string name="share_dialog_title">Sprístupnenie</string> <string name="share_dialog_title">Sprístupnenie</string>
<string name="share_file">Sprístupni %1$s</string> <string name="share_file">Sprístupni %1$s</string>

View file

@ -416,7 +416,6 @@
<string name="pref_behaviour_entries_move">premakni v mapo programa</string> <string name="pref_behaviour_entries_move">premakni v mapo programa</string>
<string name="pref_behaviour_entries_delete_file">pobrisano</string> <string name="pref_behaviour_entries_delete_file">pobrisano</string>
<string name="prefs_storage_path">Mesto shrambe</string> <string name="prefs_storage_path">Mesto shrambe</string>
<string name="prefs_common">Splošno</string>
<string name="share_dialog_title">Souporaba</string> <string name="share_dialog_title">Souporaba</string>
<string name="share_file">Omogoči souporabo %1$s</string> <string name="share_file">Omogoči souporabo %1$s</string>

View file

@ -444,7 +444,6 @@
<string name="pref_behaviour_entries_move">u kalua te dosja e aplikacionit</string> <string name="pref_behaviour_entries_move">u kalua te dosja e aplikacionit</string>
<string name="pref_behaviour_entries_delete_file">të fshira</string> <string name="pref_behaviour_entries_delete_file">të fshira</string>
<string name="prefs_storage_path">Rruga e hapsirës ruajtëse</string> <string name="prefs_storage_path">Rruga e hapsirës ruajtëse</string>
<string name="prefs_common">E përbashkët</string>
<string name="share_dialog_title">Ndarje me të tjerët</string> <string name="share_dialog_title">Ndarje me të tjerët</string>
<string name="share_file">Ndajeni %1$s</string> <string name="share_file">Ndajeni %1$s</string>

View file

@ -473,7 +473,6 @@
<string name="pref_behaviour_entries_move">премештен у фасциклу апликације</string> <string name="pref_behaviour_entries_move">премештен у фасциклу апликације</string>
<string name="pref_behaviour_entries_delete_file">обрисано</string> <string name="pref_behaviour_entries_delete_file">обрисано</string>
<string name="prefs_storage_path">Путања до складишта</string> <string name="prefs_storage_path">Путања до складишта</string>
<string name="prefs_common">Опште</string>
<string name="share_dialog_title">Дељење</string> <string name="share_dialog_title">Дељење</string>
<string name="share_file">Подели %1$s</string> <string name="share_file">Подели %1$s</string>

View file

@ -421,7 +421,6 @@
<string name="pref_behaviour_entries_move">flyttas till Nextcloud-mapp</string> <string name="pref_behaviour_entries_move">flyttas till Nextcloud-mapp</string>
<string name="pref_behaviour_entries_delete_file">raderas</string> <string name="pref_behaviour_entries_delete_file">raderas</string>
<string name="prefs_storage_path">Lagringsplats</string> <string name="prefs_storage_path">Lagringsplats</string>
<string name="prefs_common">Vanlig</string>
<string name="share_dialog_title">Dela</string> <string name="share_dialog_title">Dela</string>
<string name="share_file">Dela %1$s</string> <string name="share_file">Dela %1$s</string>

View file

@ -469,7 +469,6 @@
<string name="pref_behaviour_entries_move">app klasörüne taşındı</string> <string name="pref_behaviour_entries_move">app klasörüne taşındı</string>
<string name="pref_behaviour_entries_delete_file">silindi</string> <string name="pref_behaviour_entries_delete_file">silindi</string>
<string name="prefs_storage_path">Depolama yolu</string> <string name="prefs_storage_path">Depolama yolu</string>
<string name="prefs_common">Genel</string>
<string name="share_dialog_title">Paylaşım</string> <string name="share_dialog_title">Paylaşım</string>
<string name="share_file">%1$s paylaş</string> <string name="share_file">%1$s paylaş</string>

View file

@ -437,7 +437,6 @@
<string name="pref_behaviour_entries_move">移动到应用文件夹</string> <string name="pref_behaviour_entries_move">移动到应用文件夹</string>
<string name="pref_behaviour_entries_delete_file">删除</string> <string name="pref_behaviour_entries_delete_file">删除</string>
<string name="prefs_storage_path">存储路径</string> <string name="prefs_storage_path">存储路径</string>
<string name="prefs_common">普通</string>
<string name="share_dialog_title">共享</string> <string name="share_dialog_title">共享</string>
<string name="share_file">分享 %1$s</string> <string name="share_file">分享 %1$s</string>

View file

@ -446,7 +446,6 @@
<string name="pref_behaviour_entries_move">移動到應用程式資料夾</string> <string name="pref_behaviour_entries_move">移動到應用程式資料夾</string>
<string name="pref_behaviour_entries_delete_file">已刪除</string> <string name="pref_behaviour_entries_delete_file">已刪除</string>
<string name="prefs_storage_path">儲存路徑</string> <string name="prefs_storage_path">儲存路徑</string>
<string name="prefs_common">共用</string>
<string name="share_dialog_title">分享</string> <string name="share_dialog_title">分享</string>
<string name="share_file">分享 %1$s</string> <string name="share_file">分享 %1$s</string>

View file

@ -471,7 +471,6 @@
<string name="pref_behaviour_entries_move">moved to app folder</string> <string name="pref_behaviour_entries_move">moved to app folder</string>
<string name="pref_behaviour_entries_delete_file">deleted</string> <string name="pref_behaviour_entries_delete_file">deleted</string>
<string name="prefs_storage_path">Storage path</string> <string name="prefs_storage_path">Storage path</string>
<string name="prefs_common">Common</string>
<string name="share_dialog_title">Sharing</string> <string name="share_dialog_title">Sharing</string>
<string name="share_file">Share %1$s</string> <string name="share_file">Share %1$s</string>

View file

@ -16,6 +16,7 @@
<string name="default_display_name_for_root_folder">Nextcloud dev</string> <string name="default_display_name_for_root_folder">Nextcloud dev</string>
<bool name="logger_enabled">true</bool> <bool name="logger_enabled">true</bool>
<string name="dev_changelog">https://github.com/nextcloud/android/commits/master</string>
<!--Destination mail for sending log files --> <!--Destination mail for sending log files -->
<string name="mail_logger">android@nextcloud.com</string> <string name="mail_logger">android@nextcloud.com</string>