Browse Source

codacy: avoid instantiating new objects inside loops

AndyScherzinger 6 years ago
parent
commit
7e17aca4ff
1 changed files with 9 additions and 4 deletions
  1. 9 4
      src/main/java/com/owncloud/android/jobs/FilesSyncJob.java

+ 9 - 4
src/main/java/com/owncloud/android/jobs/FilesSyncJob.java

@@ -130,18 +130,23 @@ public class FilesSyncJob extends Job {
         Integer uploadAction;
         boolean needsCharging;
         boolean needsWifi;
+        File file;
+        ArbitraryDataProvider arbitraryDataProvider;
         Account account = AccountUtils.getOwnCloudAccountByName(context, syncedFolder.getAccount());
 
+        if (lightVersion) {
+            arbitraryDataProvider = new ArbitraryDataProvider(context.getContentResolver());
+        } else {
+            arbitraryDataProvider = null;
+        }
+
         for (String path : filesystemDataProvider.getFilesForUpload(syncedFolder.getLocalPath(),
                 Long.toString(syncedFolder.getId()))) {
-            File file = new File(path);
+            file = new File(path);
             Long lastModificationTime = calculateLastModificationTime(file, syncedFolder, sFormatter);
             String mimeType = MimeTypeUtil.getBestMimeTypeByFilename(file.getAbsolutePath());
 
             if (lightVersion) {
-                ArbitraryDataProvider arbitraryDataProvider = new ArbitraryDataProvider(
-                        context.getContentResolver());
-
                 needsCharging = resources.getBoolean(R.bool.syncedFolder_light_on_charging);
                 needsWifi = account == null || arbitraryDataProvider.getBooleanValue(account.name,
                         Preferences.SYNCED_FOLDER_LIGHT_UPLOAD_ON_WIFI);