Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 56a7cf0c authored by Jonathan Klee's avatar Jonathan Klee
Browse files

chore: Add ktlint plugin in Detekt

parent a0e5152d
Loading
Loading
Loading
Loading
Loading
+126 −0
Original line number Diff line number Diff line
@@ -2,6 +2,63 @@
<SmellBaseline>
  <ManuallySuppressedIssues/>
  <CurrentIssues>
    <ID>AnnotationOnSeparateLine:SyncTask.kt$SyncTask$@Suppress("DEPRECATION")</ID>
    <ID>ArgumentListWrapping:AccountAdder.kt$AccountAdder$( AppConstants.SHARED_PREFERENCE_NAME, Context.MODE_PRIVATE )</ID>
    <ID>ArgumentListWrapping:AccountRemover.kt$AccountRemover$( AppConstants.SHARED_PREFERENCE_NAME, Context.MODE_PRIVATE )</ID>
    <ID>ArgumentListWrapping:DownloadFileOperation.kt$DownloadFileOperation$("Local's size $tmpFileSize and remote's size $remoteFileSize " + "of ${remoteFile.remotePath} don't match")</ID>
    <ID>ArgumentListWrapping:DownloadFileOperation.kt$DownloadFileOperation$(context, arrayOf(filePath), arrayOf(remoteFile.mimeType))</ID>
    <ID>ArgumentListWrapping:DownloadFileOperation.kt$DownloadFileOperation$(illegalArgumentException, "remoteFile's lastModifiedTimestamp : ${remoteFile.modifiedTimestamp}")</ID>
    <ID>ArgumentListWrapping:WorkLauncher.kt$WorkLauncher$(FullScanWorker.UNIQUE_WORK_NAME, ExistingWorkPolicy.KEEP, request)</ID>
    <ID>ArgumentListWrapping:WorkLauncher.kt$WorkLauncher$(FullScanWorker.UNIQUE_WORK_NAME, ExistingWorkPolicy.REPLACE, request)</ID>
    <ID>ArgumentListWrapping:WorkLauncher.kt$WorkLauncher$(OneTimeWorkType.FULL_SCAN, null)</ID>
    <ID>ArgumentListWrapping:WorkLauncher.kt$WorkLauncher$(OneTimeWorkType.LIST_APPS, null)</ID>
    <ID>ArgumentListWrapping:WorkLauncher.kt$WorkLauncher$(OneTimeWorkType.USER_TRIGGERED_FULL_SCAN, null)</ID>
    <ID>ArgumentListWrapping:WorkLauncher.kt$WorkLauncher$(PeriodicScanWorker.UNIQUE_WORK_NAME, ExistingPeriodicWorkPolicy.KEEP, request)</ID>
    <ID>ArgumentListWrapping:WorkRequestFactory.kt$WorkRequestFactory$( PERIODIC_WORK_REPEAT_INTERVAL_IN_MIN, MINUTES)</ID>
    <ID>ArgumentListWrapping:WorkRequestFactory.kt$WorkRequestFactory$( PERIODIC_WORK_REPEAT_INTERVAL_IN_MIN, MINUTES, PERIODIC_SCAN_FLEX_TIME_IN_MIN,MINUTES)</ID>
    <ID>ChainWrapping:DownloadFileOperation.kt$DownloadFileOperation$&amp;&amp;</ID>
    <ID>ChainWrapping:DownloadFileOperation.kt$DownloadFileOperation$||</ID>
    <ID>ChainWrapping:FileFilterFactory.kt$FileFilterFactory.&lt;no name provided&gt;$&amp;&amp;</ID>
    <ID>ChainWrapping:FileFilterFactory.kt$FileFilterFactory.&lt;no name provided&gt;$||</ID>
    <ID>ChainWrapping:SyncTask.kt$SyncTask$||</ID>
    <ID>CommentSpacing:AccountRemover.kt$AccountRemover$//If removal failed, clear all data inside</ID>
    <ID>CommentSpacing:DownloadFileOperation.kt$DownloadFileOperation$//already checked in "isFileUpToDate()"</ID>
    <ID>CommentSpacing:FileEventHandler.kt$FileEventHandler$//File update</ID>
    <ID>CommentSpacing:FileEventHandler.kt$FileEventHandler$//If already in DB</ID>
    <ID>CommentSpacing:FileEventHandler.kt$FileEventHandler$//It's a directory update</ID>
    <ID>CommentSpacing:FileEventHandler.kt$FileEventHandler$//New file discovered</ID>
    <ID>CommentSpacing:FileEventHandler.kt$FileEventHandler$//look for parent</ID>
    <ID>CommentSpacing:FileEventHandler.kt$FileEventHandler$//todo check if really relevant</ID>
    <ID>CommentSpacing:FileEventHandler.kt$FileEventHandler$//todo: if file is already sync disabled, we should probably remove file from DB</ID>
    <ID>CommentSpacing:FileUtils.kt$FileUtils$//todo why not simply always use getAbsolutePath?</ID>
    <ID>CommentSpacing:StateMachine.kt$StateMachine$//todo use it to prevent apps to be blocked in one state</ID>
    <ID>CommentSpacing:SyncProxy.kt$SyncProxy$//1h</ID>
    <ID>CommentSpacing:SyncProxy.kt$SyncProxy$//2h</ID>
    <ID>CommentSpacing:SyncProxy.kt$SyncProxy$//could we use channel instead ?</ID>
    <ID>FinalNewline:FileDiffUtils.kt$foundation.e.drive.periodicScan.contentScanner.FileDiffUtils.kt</ID>
    <ID>FinalNewline:FullScanWorker.kt$foundation.e.drive.periodicScan.FullScanWorker.kt</ID>
    <ID>FinalNewline:RootSyncedFolderProvider.kt$foundation.e.drive.utils.RootSyncedFolderProvider.kt</ID>
    <ID>FinalNewline:StateMachine.kt$foundation.e.drive.synchronization.StateMachine.kt</ID>
    <ID>FinalNewline:SyncProxy.kt$foundation.e.drive.synchronization.SyncProxy.kt</ID>
    <ID>FinalNewline:SyncTask.kt$foundation.e.drive.synchronization.SyncTask.kt</ID>
    <ID>FinalNewline:SyncWorker.kt$foundation.e.drive.synchronization.SyncWorker.kt</ID>
    <ID>FinalNewline:SyncedFileState.kt$foundation.e.drive.models.SyncedFileState.kt</ID>
    <ID>FunctionReturnTypeSpacing:FullScanWorker.kt$FullScanWorker$private fun isFileSyncDisabled(account: Account) : Boolean</ID>
    <ID>FunctionReturnTypeSpacing:SyncedFileState.kt$SyncedFileState$fun isLastEtagStored() : Boolean</ID>
    <ID>ImportOrdering:AccountAdder.kt$import android.accounts.AccountManager import android.content.Context import android.content.SharedPreferences import foundation.e.drive.R import foundation.e.drive.utils.AppConstants import foundation.e.drive.utils.DavClientProvider import foundation.e.drive.work.WorkLauncher import timber.log.Timber import androidx.core.content.edit</ID>
    <ID>ImportOrdering:AccountRemover.kt$import android.accounts.AccountManager import android.app.Application import android.app.NotificationManager import android.content.Context import android.content.SharedPreferences import androidx.work.WorkManager import foundation.e.drive.database.DbHelper import foundation.e.drive.database.FailedSyncPrefsManager import foundation.e.drive.synchronization.SyncProxy import foundation.e.drive.utils.AppConstants import foundation.e.drive.utils.AppConstants.INITIAL_FOLDER_NUMBER import foundation.e.drive.utils.AppConstants.SETUP_COMPLETED import foundation.e.drive.utils.DavClientProvider import timber.log.Timber import java.io.File import androidx.core.content.edit</ID>
    <ID>ImportOrdering:DownloadFileOperation.kt$import android.content.Context import android.media.MediaScannerConnection import com.owncloud.android.lib.common.OwnCloudClient import com.owncloud.android.lib.common.operations.RemoteOperation import com.owncloud.android.lib.common.operations.RemoteOperationResult import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode import com.owncloud.android.lib.resources.files.DownloadFileRemoteOperation import com.owncloud.android.lib.resources.files.model.RemoteFile import foundation.e.drive.database.DbHelper import foundation.e.drive.models.SyncedFileState import foundation.e.drive.utils.AppConstants.CORRUPTED_TIMESTAMP_IN_MILLISECOND import foundation.e.drive.utils.FileUtils import timber.log.Timber import java.io.File import java.util.stream.IntStream.range</ID>
    <ID>ImportOrdering:FullScanWorker.kt$import android.accounts.Account import android.app.Application import android.content.Context import android.content.SharedPreferences import androidx.work.Worker import androidx.work.WorkerParameters import com.owncloud.android.lib.common.operations.RemoteOperationResult import com.owncloud.android.lib.resources.files.model.RemoteFile import foundation.e.drive.account.AccountUtils import foundation.e.drive.database.DbHelper import foundation.e.drive.models.SyncRequest import foundation.e.drive.models.SyncedFolder import foundation.e.drive.periodicScan.contentScanner.LocalContentScanner import foundation.e.drive.periodicScan.contentScanner.LocalFileLister import foundation.e.drive.periodicScan.contentScanner.RemoteContentScanner import foundation.e.drive.synchronization.SyncProxy import foundation.e.drive.synchronization.SyncRequestCollector import foundation.e.drive.utils.AppConstants import foundation.e.drive.utils.AppConstants.KEY_LAST_SCAN_TIME import foundation.e.drive.utils.CommonUtils import foundation.e.drive.utils.DavClientProvider import timber.log.Timber import androidx.core.content.edit</ID>
    <ID>ImportOrdering:RecoveryPreferences.kt$import android.content.Context import foundation.e.drive.recovery.RecoveryPreferences.RecoveryStatus.RecoveryCompleted import foundation.e.drive.recovery.RecoveryPreferences.RecoveryStatus.RecoveryNeeded import androidx.core.content.edit</ID>
    <ID>ImportOrdering:SyncTask.kt$import android.accounts.Account import android.content.Context import com.owncloud.android.lib.common.OwnCloudClient import com.owncloud.android.lib.common.operations.RemoteOperationResult import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode.HOST_NOT_AVAILABLE import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode.NO_NETWORK_CONNECTION import com.owncloud.android.lib.common.operations.RemoteOperationResult.ResultCode.WRONG_CONNECTION import foundation.e.drive.database.DbHelper import foundation.e.drive.database.FailedSyncPrefsManager import foundation.e.drive.models.SyncRequest import foundation.e.drive.models.SyncRequest.Type.UPLOAD import foundation.e.drive.models.SyncRequest.Type.DISABLE_SYNCING import foundation.e.drive.models.SyncRequest.Type.DOWNLOAD import foundation.e.drive.models.SyncWrapper import foundation.e.drive.synchronization.tasks.UploadFileOperation import foundation.e.drive.utils.CommonUtils import timber.log.Timber import java.io.File</ID>
    <ID>ImportOrdering:SyncWorker.kt$import android.accounts.Account import android.content.Context import androidx.work.Worker import androidx.work.WorkerParameters import com.owncloud.android.lib.common.OwnCloudClient import foundation.e.drive.EdriveApplication import foundation.e.drive.account.AccountUtils import foundation.e.drive.utils.DavClientProvider import timber.log.Timber import java.util.concurrent.Executors import java.util.concurrent.Future import java.util.concurrent.TimeUnit import java.util.concurrent.atomic.AtomicInteger</ID>
    <ID>Indentation:DirectoryObserver.kt$DirectoryObserver.Companion$ </ID>
    <ID>Indentation:DownloadFileOperation.kt$DownloadFileOperation$ </ID>
    <ID>Indentation:FileFilterFactory.kt$FileFilterFactory.&lt;no name provided&gt;$ </ID>
    <ID>Indentation:FileUtils.kt$FileUtils$ </ID>
    <ID>Indentation:SyncProxy.kt$SyncProxy$ </ID>
    <ID>Indentation:SyncTask.kt$SyncTask$ </ID>
    <ID>Indentation:SyncedFileState.kt$SyncedFileState$ </ID>
    <ID>MagicNumber:SyncProxy.kt$SyncProxy$1000</ID>
    <ID>MagicNumber:SyncProxy.kt$SyncProxy$18000</ID>
    <ID>MagicNumber:SyncProxy.kt$SyncProxy$3</ID>
@@ -13,6 +70,19 @@
    <ID>MaxLineLength:RootSyncedFolderProvider.kt$RootSyncedFolderProvider$private val REMOTE_ROM_SETTINGS_PATH = PATH_SEPARATOR + "Devices" + PATH_SEPARATOR + BRAND + "_" + MODEL + "_" + Build.getSerial() + "/rom_settings/"</ID>
    <ID>MaxLineLength:SyncProxy.kt$SyncProxy$private val syncRequestQueue: ConcurrentLinkedQueue&lt;SyncRequest&gt; = ConcurrentLinkedQueue() //could we use channel instead ?</ID>
    <ID>MaxLineLength:SyncTask.kt$SyncTask$if</ID>
    <ID>MaximumLineLength:FullScanWorker.kt$FullScanWorker$ </ID>
    <ID>MaximumLineLength:RootSyncedFolderProvider.kt$RootSyncedFolderProvider$ </ID>
    <ID>MaximumLineLength:SyncProxy.kt$SyncProxy$ </ID>
    <ID>MaximumLineLength:SyncTask.kt$SyncTask$ </ID>
    <ID>ModifierListSpacing:FileUtils.kt$FileUtils$@JvmStatic</ID>
    <ID>ModifierListSpacing:StateMachine.kt$StateMachine$@Synchronized</ID>
    <ID>MultiLineIfElse:AccountUtils.kt$AccountUtils$null</ID>
    <ID>MultiLineIfElse:AccountUtils.kt$AccountUtils$splitPremiumGroup[1]</ID>
    <ID>MultiLineIfElse:FileDiffUtils.kt$FileDiffUtils$Action.Skip</ID>
    <ID>MultiLineIfElse:FullScanWorker.kt$FullScanWorker$ArrayList()</ID>
    <ID>MultiLineIfElse:FullScanWorker.kt$FullScanWorker$DbHelper.getAllSyncedFolders(context)</ID>
    <ID>MultiLineIfElse:FullScanWorker.kt$FullScanWorker$DbHelper.getSyncedFolderList(context, false)</ID>
    <ID>MultiLineIfElse:FullScanWorker.kt$FullScanWorker$DbHelper.getSyncedFolderList(context, true)</ID>
    <ID>NewLineAtEndOfFile:FileDiffUtils.kt$foundation.e.drive.periodicScan.contentScanner.FileDiffUtils.kt</ID>
    <ID>NewLineAtEndOfFile:FullScanWorker.kt$foundation.e.drive.periodicScan.FullScanWorker.kt</ID>
    <ID>NewLineAtEndOfFile:RootSyncedFolderProvider.kt$foundation.e.drive.utils.RootSyncedFolderProvider.kt</ID>
@@ -21,6 +91,25 @@
    <ID>NewLineAtEndOfFile:SyncTask.kt$foundation.e.drive.synchronization.SyncTask.kt</ID>
    <ID>NewLineAtEndOfFile:SyncWorker.kt$foundation.e.drive.synchronization.SyncWorker.kt</ID>
    <ID>NewLineAtEndOfFile:SyncedFileState.kt$foundation.e.drive.models.SyncedFileState.kt</ID>
    <ID>NoBlankLineBeforeRbrace:FileUtils.kt$FileUtils$ </ID>
    <ID>NoBlankLineBeforeRbrace:FullScanWorker.kt$FullScanWorker$ </ID>
    <ID>NoBlankLineBeforeRbrace:WorkRequestFactory.kt$WorkRequestFactory$ </ID>
    <ID>NoConsecutiveBlankLines:FileDiffUtils.kt$FileDiffUtils$ </ID>
    <ID>NoConsecutiveBlankLines:StateMachine.kt$StateMachine$ </ID>
    <ID>NoConsecutiveBlankLines:SyncProxy.kt$SyncProxy$ </ID>
    <ID>NoConsecutiveBlankLines:SyncTask.kt$SyncTask$ </ID>
    <ID>NoConsecutiveBlankLines:SyncedFileState.kt$ </ID>
    <ID>NoConsecutiveBlankLines:WorkLauncher.kt$WorkLauncher$ </ID>
    <ID>NoConsecutiveBlankLines:WorkRequestFactory.kt$ </ID>
    <ID>NoMultipleSpaces:DownloadFileOperation.kt$DownloadFileOperation$ </ID>
    <ID>NoMultipleSpaces:FileEventHandler.kt$FileEventHandler$ </ID>
    <ID>NoMultipleSpaces:RootSyncedFolderProvider.kt$RootSyncedFolderProvider$ </ID>
    <ID>NoSemicolons:FileFilterFactory.kt$;</ID>
    <ID>NoSemicolons:SyncProxy.kt$SyncProxy$;</ID>
    <ID>NoTrailingSpaces:DownloadFileOperation.kt$DownloadFileOperation$ </ID>
    <ID>NoTrailingSpaces:StateMachine.kt$StateMachine$ </ID>
    <ID>ParameterListWrapping:DownloadFileOperation.kt$DownloadFileOperation$(private val remoteFile: RemoteFile, private val fileState: SyncedFileState, private val context: Context)</ID>
    <ID>ParameterListWrapping:SyncedFileState.kt$SyncedFileState$(var id: Int, val name: String, val localPath: String, val remotePath: String, var lastEtag: String, var lastModified: Long, val syncedFolderId: Long, val isMediaType: Boolean, var scanScope: Int)</ID>
    <ID>ReturnCount:FileDiffUtils.kt$FileDiffUtils$@JvmStatic fun getActionForFileDiff(remoteFile: RemoteFile, fileState: SyncedFileState): Action</ID>
    <ID>ReturnCount:FullScanWorker.kt$FullScanWorker$override fun doWork(): Result</ID>
    <ID>ReturnCount:FullScanWorker.kt$FullScanWorker$private fun checkStartConditions(account: Account?, prefs : SharedPreferences, requestCollector: SyncRequestCollector): Boolean</ID>
@@ -31,9 +120,46 @@
    <ID>ReturnCount:SyncTask.kt$SyncTask$private fun runUpload(syncWrapper: SyncWrapper): Boolean</ID>
    <ID>ReturnCount:SyncTask.kt$SyncTask$private fun updateFailureCounter(request: SyncRequest, success: Boolean)</ID>
    <ID>ReturnCount:SyncWorker.kt$SyncWorker$override fun doWork(): Result</ID>
    <ID>SpacingAroundColon:DownloadFileOperation.kt$DownloadFileOperation$:</ID>
    <ID>SpacingAroundColon:FullScanWorker.kt$FullScanWorker$:</ID>
    <ID>SpacingAroundColon:RootSyncedFolderProvider.kt$RootSyncedFolderProvider$:</ID>
    <ID>SpacingAroundColon:SyncProxy.kt$SyncProxy$:</ID>
    <ID>SpacingAroundColon:SyncedFileState.kt$SyncedFileState$:</ID>
    <ID>SpacingAroundComma:WorkRequestFactory.kt$WorkRequestFactory$,</ID>
    <ID>SpacingAroundCurly:FullScanWorker.kt$FullScanWorker${</ID>
    <ID>SpacingAroundCurly:SyncTask.kt$SyncTask${</ID>
    <ID>SpacingAroundCurly:WorkRequestFactory.kt$PeriodicWorkType$}</ID>
    <ID>SpacingAroundKeyword:DownloadFileOperation.kt$DownloadFileOperation$catch</ID>
    <ID>SpacingAroundKeyword:FileUtils.kt$FileUtils$catch</ID>
    <ID>SpacingAroundKeyword:FullScanWorker.kt$FullScanWorker$catch</ID>
    <ID>SpacingAroundOperators:FullScanWorker.kt$FullScanWorker$?:</ID>
    <ID>SpacingAroundOperators:SyncWorker.kt$SyncWorker$?:</ID>
    <ID>SpacingAroundParens:DownloadFileOperation.kt$DownloadFileOperation$(</ID>
    <ID>SpacingAroundParens:DownloadFileOperation.kt$DownloadFileOperation$)</ID>
    <ID>SpacingAroundParens:FileUtils.kt$FileUtils$)</ID>
    <ID>SpacingAroundParens:SyncedFileState.kt$SyncedFileState$(</ID>
    <ID>SpacingBetweenDeclarationsWithAnnotations:FileDiffUtils.kt$FileDiffUtils$@JvmStatic fun getActionForFileDiff(remoteFile: RemoteFile, fileState: SyncedFileState): Action</ID>
    <ID>SpacingBetweenDeclarationsWithComments:FileDiffUtils.kt$FileDiffUtils$/** * Define what to do of RemoteFile for which we know the Database equivalent * @param remoteFile RemoteFile * @param fileState SyncedFileState instance * @return Action from Enum */</ID>
    <ID>StringTemplate:SyncedFileState.kt$SyncedFileState$${id}</ID>
    <ID>StringTemplate:SyncedFileState.kt$SyncedFileState$${isMediaType}</ID>
    <ID>StringTemplate:SyncedFileState.kt$SyncedFileState$${lastEtag}</ID>
    <ID>StringTemplate:SyncedFileState.kt$SyncedFileState$${lastModified}</ID>
    <ID>StringTemplate:SyncedFileState.kt$SyncedFileState$${localPath}</ID>
    <ID>StringTemplate:SyncedFileState.kt$SyncedFileState$${name}</ID>
    <ID>StringTemplate:SyncedFileState.kt$SyncedFileState$${remotePath}</ID>
    <ID>StringTemplate:SyncedFileState.kt$SyncedFileState$${scanScope}</ID>
    <ID>StringTemplate:SyncedFileState.kt$SyncedFileState$${syncedFolderId}</ID>
    <ID>SwallowedException:FileUtils.kt$FileUtils$e: java.lang.NullPointerException</ID>
    <ID>TooGenericExceptionCaught:FullScanWorker.kt$FullScanWorker$exception: Exception</ID>
    <ID>TooGenericExceptionCaught:SyncWorker.kt$SyncWorker$exception: Exception</ID>
    <ID>TooManyFunctions:SyncProxy.kt$SyncProxy : SyncRequestCollectorSyncManager</ID>
    <ID>Wrapping:DirectoryObserver.kt$DirectoryObserver.Companion$(</ID>
    <ID>Wrapping:DownloadFileOperation.kt$DownloadFileOperation$(</ID>
    <ID>Wrapping:DownloadFileOperation.kt$DownloadFileOperation$-&gt;</ID>
    <ID>Wrapping:FileFilterFactory.kt$FileFilterFactory.&lt;no name provided&gt;$(</ID>
    <ID>Wrapping:SyncTask.kt$SyncTask$(</ID>
    <ID>Wrapping:SyncedFileState.kt$SyncedFileState$(</ID>
    <ID>Wrapping:WorkLauncher.kt$WorkLauncher$(</ID>
    <ID>Wrapping:WorkRequestFactory.kt$WorkRequestFactory$(</ID>
  </CurrentIssues>
</SmellBaseline>
+4 −0
Original line number Diff line number Diff line
@@ -27,3 +27,7 @@ subprojects {
        basePath = projectDir
    }
}

dependencies {
    detektPlugins libs.detekt.formatting
}
+1 −0
Original line number Diff line number Diff line
@@ -26,6 +26,7 @@ compiler = { module = "com.github.bumptech.glide:compiler", version.ref = "glide
constraintlayout = { module = "androidx.constraintlayout:constraintlayout", version.ref = "constraintlayout" }
core = { module = "androidx.test:core", version.ref = "core" }
core-ktx = { module = "androidx.core:core-ktx", version.ref = "coreKtx" }
detekt-formatting = { module = "io.gitlab.arturbosch.detekt:detekt-formatting", version.ref = "detekt" }
elib = { module = "foundation.e:elib", version.ref = "elib" }
espresso-core = { module = "androidx.test.espresso:espresso-core", version.ref = "espressoCore" }
glide = { module = "com.github.bumptech.glide:glide", version.ref = "glide" }