From 0df9b19bebbc6301ec11766901c1b561964aed75 Mon Sep 17 00:00:00 2001
From: Kamal Bramwell <kamal@elixxir.io>
Date: Mon, 5 Dec 2022 15:37:13 -0500
Subject: [PATCH] Cleaned up unused imports across project

---
 .../backup/bindings/BindingsBackupHandler.kt      |  1 -
 .../backup/bindings/BindingsRestoreHandler.kt     |  4 +++-
 .../xxlabs/messenger/backup/cloud/CloudStorage.kt |  6 ++++--
 .../xxlabs/messenger/backup/cloud/crust/Crust.kt  |  2 --
 .../messenger/backup/cloud/drive/GoogleDrive.kt   | 13 ++++++++-----
 .../messenger/backup/cloud/dropbox/Dropbox.kt     |  7 +++++--
 .../backup/cloud/dropbox/DropboxAuthHandler.kt    |  4 ++--
 .../backup/cloud/sftp/login/SshClient.kt          |  1 -
 .../cloud/sftp/login/ui/SshLoginActivity.kt       |  1 -
 .../messenger/backup/cloud/sftp/transfer/Sftp.kt  |  3 +--
 .../backup/data/BackupLocationRepository.kt       |  1 -
 .../messenger/backup/model/AccountBackup.kt       |  1 -
 .../backup/ui/backup/BackupDetailFragment.kt      | 10 +++++-----
 .../messenger/backup/ui/backup/BackupDetailUI.kt  |  2 +-
 .../backup/ui/backup/BackupDetailViewModel.kt     |  5 +++--
 .../backup/ui/backup/BackupSettingsFragment.kt    |  6 +++---
 .../backup/ui/backup/BackupSettingsViewModel.kt   |  3 ++-
 .../messenger/backup/ui/backup/BackupViewModel.kt |  2 +-
 .../backup/ui/list/BackupLocationsViewModel.kt    |  6 +++---
 .../backup/ui/list/RestoreListFragment.kt         |  1 -
 .../backup/ui/restore/RestoreDetailFragment.kt    |  4 ++--
 .../backup/ui/restore/RestoreDetailViewModel.kt   |  6 ++++--
 .../xxlabs/messenger/data/room/model/Contact.kt   |  1 -
 .../messenger/data/room/model/ContactData.kt      |  2 --
 .../messenger/data/room/model/RequestData.kt      |  1 -
 .../di/modules/FragmentMainBuildersModule.kt      |  2 +-
 .../messenger/notifications/MessagingService.kt   |  2 +-
 .../requests/bindings/BindingsRequestMediator.kt  |  1 -
 .../requests/data/LocalRequestsDataSource.kt      |  2 --
 .../data/contact/ContactRequestRepository.kt      |  7 ++++---
 .../requests/data/contact/RequestMigrator.kt      |  4 +++-
 .../requests/data/group/GroupRequestRepository.kt |  5 ++++-
 .../messenger/requests/ui/RequestsFragment.kt     |  1 -
 .../messenger/requests/ui/RequestsViewModel.kt    |  2 +-
 .../ui/accepted/group/InvitationAcceptedDialog.kt |  1 -
 .../ui/details/group/InvitationDetails.kt         |  1 -
 .../ui/details/group/InvitationDetailsDialog.kt   |  1 -
 .../requests/ui/list/RequestListFragment.kt       | 15 +++------------
 .../requests/ui/list/adapter/RequestItem.kt       |  1 -
 .../ui/list/adapter/RequestItemViewHolder.kt      |  7 +------
 .../xxlabs/messenger/search/FactSearchFragment.kt |  4 ----
 .../xxlabs/messenger/search/UserSearchFragment.kt |  2 --
 .../messenger/support/view/SingleClickButton.kt   |  3 +--
 .../xxlabs/messenger/ui/base/BasePhotoFragment.kt |  2 --
 .../ui/dialog/action/ActionDialogLauncher.kt      |  2 +-
 .../ui/dialog/textinput/TextInputDialog.kt        |  3 ---
 .../messenger/ui/global/ContactsViewModel.kt      |  2 +-
 .../email/RegistrationEmailFragment.kt            |  2 +-
 .../phone/RegistrationPhoneFragment.kt            |  2 +-
 .../registration/tfa/RegistrationTfaFragment.kt   |  2 +-
 .../registration/username/UsernameRegistration.kt |  1 -
 .../splash/SplashScreenPlaceholderActivity.kt     |  1 -
 .../io/xxlabs/messenger/ui/main/MainActivity.kt   | 13 +++++++++----
 .../io/xxlabs/messenger/ui/main/MainViewModel.kt  |  1 -
 .../ui/main/chat/PrivateMessagesViewModel.kt      |  4 +---
 .../messenger/ui/main/chats/ChatsFragment.kt      |  4 ----
 .../messenger/ui/main/chats/ChatsViewModel.kt     |  1 -
 .../chats/newConnections/NewConnectionsAdapter.kt |  2 --
 .../ui/main/chats/search/SearchResult.kt          |  1 -
 .../ui/main/chats/search/SearchResultAdapter.kt   |  1 -
 .../main/contacts/deprecated/ContactsFragment.kt  |  5 +++--
 .../messenger/ui/main/contacts/list/Connection.kt |  5 ++++-
 .../ui/main/contacts/list/ConnectionsViewModel.kt |  4 +++-
 .../contacts/profile/ContactProfileFragment.kt    |  4 ++--
 .../contacts/select/ContactSelectionFragment.kt   |  1 -
 .../ui/main/groups/GroupMessagesFragment.kt       |  4 ++--
 .../ui/main/qrcode/scan/QrCodeScanFragment.kt     |  3 +--
 .../ui/main/qrcode/scan/RoundedSquareMaskView.kt  |  4 ----
 68 files changed, 96 insertions(+), 132 deletions(-)

diff --git a/app/src/main/java/io/xxlabs/messenger/backup/bindings/BindingsBackupHandler.kt b/app/src/main/java/io/xxlabs/messenger/backup/bindings/BindingsBackupHandler.kt
index 1f70a531..51a11dd2 100644
--- a/app/src/main/java/io/xxlabs/messenger/backup/bindings/BindingsBackupHandler.kt
+++ b/app/src/main/java/io/xxlabs/messenger/backup/bindings/BindingsBackupHandler.kt
@@ -6,7 +6,6 @@ import bindings.Client
 import bindings.UpdateBackupFunc
 import io.xxlabs.messenger.backup.data.restore.ExtrasJson
 import io.xxlabs.messenger.bindings.wrapper.contact.ContactWrapperBase
-import io.xxlabs.messenger.bindings.wrapper.contact.ContactWrapperBindings
 import io.xxlabs.messenger.repository.PreferencesRepository
 import io.xxlabs.messenger.repository.client.ClientRepository
 import io.xxlabs.messenger.support.appContext
diff --git a/app/src/main/java/io/xxlabs/messenger/backup/bindings/BindingsRestoreHandler.kt b/app/src/main/java/io/xxlabs/messenger/backup/bindings/BindingsRestoreHandler.kt
index f26fb4af..864bde64 100644
--- a/app/src/main/java/io/xxlabs/messenger/backup/bindings/BindingsRestoreHandler.kt
+++ b/app/src/main/java/io/xxlabs/messenger/backup/bindings/BindingsRestoreHandler.kt
@@ -1,6 +1,8 @@
 package io.xxlabs.messenger.backup.bindings
 
-import bindings.*
+import bindings.Bindings
+import bindings.Client
+import bindings.Contact
 import io.xxlabs.messenger.backup.data.restore.BackupReport
 import io.xxlabs.messenger.backup.data.restore.RestoreLogger
 import io.xxlabs.messenger.bindings.listeners.MessageReceivedListener
diff --git a/app/src/main/java/io/xxlabs/messenger/backup/cloud/CloudStorage.kt b/app/src/main/java/io/xxlabs/messenger/backup/cloud/CloudStorage.kt
index 0deb331d..5fb5e342 100644
--- a/app/src/main/java/io/xxlabs/messenger/backup/cloud/CloudStorage.kt
+++ b/app/src/main/java/io/xxlabs/messenger/backup/cloud/CloudStorage.kt
@@ -10,11 +10,13 @@ import io.xxlabs.messenger.backup.data.backup.BackupOption
 import io.xxlabs.messenger.backup.data.restore.RestoreEnvironment
 import io.xxlabs.messenger.backup.data.restore.RestoreLog
 import io.xxlabs.messenger.backup.data.restore.RestoreOption
-import io.xxlabs.messenger.backup.model.*
+import io.xxlabs.messenger.backup.model.AccountBackup
+import io.xxlabs.messenger.backup.model.BackupLocation
+import io.xxlabs.messenger.backup.model.BackupProgress
+import io.xxlabs.messenger.backup.model.BackupSnapshot
 import kotlinx.coroutines.*
 import kotlinx.coroutines.flow.MutableStateFlow
 import kotlinx.coroutines.flow.StateFlow
-import java.lang.Exception
 
 const val BACKUP_DIRECTORY_NAME = "backup"
 
diff --git a/app/src/main/java/io/xxlabs/messenger/backup/cloud/crust/Crust.kt b/app/src/main/java/io/xxlabs/messenger/backup/cloud/crust/Crust.kt
index 5d501b70..e7ae83f6 100644
--- a/app/src/main/java/io/xxlabs/messenger/backup/cloud/crust/Crust.kt
+++ b/app/src/main/java/io/xxlabs/messenger/backup/cloud/crust/Crust.kt
@@ -7,8 +7,6 @@ import io.xxlabs.messenger.backup.bindings.BackupService
 import io.xxlabs.messenger.backup.cloud.AuthHandler
 import io.xxlabs.messenger.backup.cloud.CloudStorage
 import io.xxlabs.messenger.backup.cloud.crust.login.ui.CrustLoginActivity
-import io.xxlabs.messenger.backup.cloud.sftp.login.SshCredentials
-import io.xxlabs.messenger.backup.cloud.sftp.login.ui.SshLoginActivity
 import io.xxlabs.messenger.backup.data.backup.BackupPreferencesRepository
 import io.xxlabs.messenger.backup.data.restore.RestoreEnvironment
 import io.xxlabs.messenger.backup.model.BackupLocation
diff --git a/app/src/main/java/io/xxlabs/messenger/backup/cloud/drive/GoogleDrive.kt b/app/src/main/java/io/xxlabs/messenger/backup/cloud/drive/GoogleDrive.kt
index 469dd9c0..c70d680b 100644
--- a/app/src/main/java/io/xxlabs/messenger/backup/cloud/drive/GoogleDrive.kt
+++ b/app/src/main/java/io/xxlabs/messenger/backup/cloud/drive/GoogleDrive.kt
@@ -9,19 +9,22 @@ import com.google.api.services.drive.Drive
 import com.google.api.services.drive.DriveScopes
 import com.google.api.services.drive.model.FileList
 import io.xxlabs.messenger.R
-import io.xxlabs.messenger.backup.bindings.*
+import io.xxlabs.messenger.backup.bindings.AccountArchive
+import io.xxlabs.messenger.backup.bindings.BACKUP_FILE_NAME
+import io.xxlabs.messenger.backup.bindings.BackupService
 import io.xxlabs.messenger.backup.cloud.BACKUP_DIRECTORY_NAME
 import io.xxlabs.messenger.backup.cloud.CloudStorage
 import io.xxlabs.messenger.backup.data.backup.BackupPreferencesRepository
 import io.xxlabs.messenger.backup.data.restore.RestoreEnvironment
-import io.xxlabs.messenger.backup.model.*
-import io.xxlabs.messenger.repository.PreferencesRepository
+import io.xxlabs.messenger.backup.model.BackupLocation
+import io.xxlabs.messenger.backup.model.BackupSnapshot
 import io.xxlabs.messenger.support.appContext
-import kotlinx.coroutines.*
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.withContext
 import timber.log.Timber
 import java.io.ByteArrayOutputStream
 import java.io.File
-import java.lang.Exception
 import java.util.*
 import com.google.api.services.drive.model.File as DriveFile
 
diff --git a/app/src/main/java/io/xxlabs/messenger/backup/cloud/dropbox/Dropbox.kt b/app/src/main/java/io/xxlabs/messenger/backup/cloud/dropbox/Dropbox.kt
index 9e4027a5..cd344cdf 100644
--- a/app/src/main/java/io/xxlabs/messenger/backup/cloud/dropbox/Dropbox.kt
+++ b/app/src/main/java/io/xxlabs/messenger/backup/cloud/dropbox/Dropbox.kt
@@ -17,9 +17,12 @@ import io.xxlabs.messenger.backup.cloud.BACKUP_DIRECTORY_NAME
 import io.xxlabs.messenger.backup.cloud.CloudStorage
 import io.xxlabs.messenger.backup.data.backup.BackupPreferencesRepository
 import io.xxlabs.messenger.backup.data.restore.RestoreEnvironment
-import io.xxlabs.messenger.backup.model.*
+import io.xxlabs.messenger.backup.model.BackupLocation
+import io.xxlabs.messenger.backup.model.BackupSnapshot
 import io.xxlabs.messenger.support.appContext
-import kotlinx.coroutines.*
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.withContext
 import timber.log.Timber
 import java.io.ByteArrayOutputStream
 import java.io.File
diff --git a/app/src/main/java/io/xxlabs/messenger/backup/cloud/dropbox/DropboxAuthHandler.kt b/app/src/main/java/io/xxlabs/messenger/backup/cloud/dropbox/DropboxAuthHandler.kt
index a851f479..4bf74bad 100644
--- a/app/src/main/java/io/xxlabs/messenger/backup/cloud/dropbox/DropboxAuthHandler.kt
+++ b/app/src/main/java/io/xxlabs/messenger/backup/cloud/dropbox/DropboxAuthHandler.kt
@@ -1,10 +1,10 @@
 package io.xxlabs.messenger.backup.cloud.dropbox
 
 import android.content.Intent
-import io.xxlabs.messenger.backup.cloud.dropbox.DropboxAuthActivity.Companion.EXTRA_DBX_CREDENTIAL
-import io.xxlabs.messenger.backup.cloud.dropbox.DropboxAuthActivity.Companion.START_OAUTH_INTENT
 import io.xxlabs.messenger.backup.cloud.AuthHandler
 import io.xxlabs.messenger.backup.cloud.AuthResultCallback
+import io.xxlabs.messenger.backup.cloud.dropbox.DropboxAuthActivity.Companion.EXTRA_DBX_CREDENTIAL
+import io.xxlabs.messenger.backup.cloud.dropbox.DropboxAuthActivity.Companion.START_OAUTH_INTENT
 import io.xxlabs.messenger.support.appContext
 import timber.log.Timber
 
diff --git a/app/src/main/java/io/xxlabs/messenger/backup/cloud/sftp/login/SshClient.kt b/app/src/main/java/io/xxlabs/messenger/backup/cloud/sftp/login/SshClient.kt
index 992e1eee..cbd8bf2d 100644
--- a/app/src/main/java/io/xxlabs/messenger/backup/cloud/sftp/login/SshClient.kt
+++ b/app/src/main/java/io/xxlabs/messenger/backup/cloud/sftp/login/SshClient.kt
@@ -1,6 +1,5 @@
 package io.xxlabs.messenger.backup.cloud.sftp.login
 
-import io.xxlabs.messenger.BuildConfig
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.withContext
 import net.schmizz.sshj.SSHClient
diff --git a/app/src/main/java/io/xxlabs/messenger/backup/cloud/sftp/login/ui/SshLoginActivity.kt b/app/src/main/java/io/xxlabs/messenger/backup/cloud/sftp/login/ui/SshLoginActivity.kt
index e8b8e47d..f75918f4 100644
--- a/app/src/main/java/io/xxlabs/messenger/backup/cloud/sftp/login/ui/SshLoginActivity.kt
+++ b/app/src/main/java/io/xxlabs/messenger/backup/cloud/sftp/login/ui/SshLoginActivity.kt
@@ -2,7 +2,6 @@ package io.xxlabs.messenger.backup.cloud.sftp.login.ui
 
 import android.content.Intent
 import android.os.Bundle
-import android.widget.Toast
 import androidx.activity.viewModels
 import androidx.appcompat.app.AppCompatActivity
 import io.xxlabs.messenger.backup.cloud.sftp.login.SshCredentials
diff --git a/app/src/main/java/io/xxlabs/messenger/backup/cloud/sftp/transfer/Sftp.kt b/app/src/main/java/io/xxlabs/messenger/backup/cloud/sftp/transfer/Sftp.kt
index c1106342..2b6abcda 100644
--- a/app/src/main/java/io/xxlabs/messenger/backup/cloud/sftp/transfer/Sftp.kt
+++ b/app/src/main/java/io/xxlabs/messenger/backup/cloud/sftp/transfer/Sftp.kt
@@ -10,13 +10,12 @@ import io.xxlabs.messenger.backup.cloud.sftp.login.SshCredentials
 import io.xxlabs.messenger.backup.cloud.sftp.login.ui.SshLoginActivity
 import io.xxlabs.messenger.backup.data.backup.BackupPreferencesRepository
 import io.xxlabs.messenger.backup.data.restore.RestoreEnvironment
-import io.xxlabs.messenger.backup.model.*
+import io.xxlabs.messenger.backup.model.BackupLocation
 import io.xxlabs.messenger.support.appContext
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.launch
 import kotlinx.coroutines.withContext
 import java.io.File
-import kotlin.Exception
 
 /**
  * Encapsulates SFTP API.
diff --git a/app/src/main/java/io/xxlabs/messenger/backup/data/BackupLocationRepository.kt b/app/src/main/java/io/xxlabs/messenger/backup/data/BackupLocationRepository.kt
index 67741c02..a115e52e 100644
--- a/app/src/main/java/io/xxlabs/messenger/backup/data/BackupLocationRepository.kt
+++ b/app/src/main/java/io/xxlabs/messenger/backup/data/BackupLocationRepository.kt
@@ -1,7 +1,6 @@
 package io.xxlabs.messenger.backup.data
 
 import io.xxlabs.messenger.backup.bindings.BackupService
-import io.xxlabs.messenger.backup.cloud.crust.BindingsCrustMediator
 import io.xxlabs.messenger.backup.cloud.crust.Crust
 import io.xxlabs.messenger.backup.cloud.drive.GoogleDrive
 import io.xxlabs.messenger.backup.cloud.dropbox.Dropbox
diff --git a/app/src/main/java/io/xxlabs/messenger/backup/model/AccountBackup.kt b/app/src/main/java/io/xxlabs/messenger/backup/model/AccountBackup.kt
index a43a4c77..c659c32b 100644
--- a/app/src/main/java/io/xxlabs/messenger/backup/model/AccountBackup.kt
+++ b/app/src/main/java/io/xxlabs/messenger/backup/model/AccountBackup.kt
@@ -4,7 +4,6 @@ import androidx.lifecycle.LiveData
 import io.xxlabs.messenger.backup.cloud.AuthHandler
 import io.xxlabs.messenger.backup.cloud.AuthResultCallback
 import kotlinx.coroutines.flow.StateFlow
-import java.io.Serializable
 
 /**
  * An account backup or restore option.
diff --git a/app/src/main/java/io/xxlabs/messenger/backup/ui/backup/BackupDetailFragment.kt b/app/src/main/java/io/xxlabs/messenger/backup/ui/backup/BackupDetailFragment.kt
index da3ba2f3..28194699 100644
--- a/app/src/main/java/io/xxlabs/messenger/backup/ui/backup/BackupDetailFragment.kt
+++ b/app/src/main/java/io/xxlabs/messenger/backup/ui/backup/BackupDetailFragment.kt
@@ -1,20 +1,20 @@
 package io.xxlabs.messenger.backup.ui.backup
 
 import android.os.Bundle
-import androidx.fragment.app.Fragment
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
 import androidx.databinding.DataBindingUtil
+import androidx.fragment.app.Fragment
 import androidx.fragment.app.viewModels
 import io.xxlabs.messenger.R
-import io.xxlabs.messenger.ui.dialog.textinput.TextInputDialogUI
-import io.xxlabs.messenger.ui.dialog.textinput.TextInputDialog
-import io.xxlabs.messenger.ui.dialog.radiobutton.RadioButtonDialog
-import io.xxlabs.messenger.ui.dialog.radiobutton.RadioButtonDialogUI
 import io.xxlabs.messenger.databinding.FragmentBackupDetailBinding
 import io.xxlabs.messenger.di.utils.Injectable
 import io.xxlabs.messenger.support.extensions.toast
+import io.xxlabs.messenger.ui.dialog.radiobutton.RadioButtonDialog
+import io.xxlabs.messenger.ui.dialog.radiobutton.RadioButtonDialogUI
+import io.xxlabs.messenger.ui.dialog.textinput.TextInputDialog
+import io.xxlabs.messenger.ui.dialog.textinput.TextInputDialogUI
 import javax.inject.Inject
 
 /**
diff --git a/app/src/main/java/io/xxlabs/messenger/backup/ui/backup/BackupDetailUI.kt b/app/src/main/java/io/xxlabs/messenger/backup/ui/backup/BackupDetailUI.kt
index 36e8cfdc..7630ba78 100644
--- a/app/src/main/java/io/xxlabs/messenger/backup/ui/backup/BackupDetailUI.kt
+++ b/app/src/main/java/io/xxlabs/messenger/backup/ui/backup/BackupDetailUI.kt
@@ -4,8 +4,8 @@ import android.text.Spanned
 import androidx.lifecycle.LiveData
 import io.xxlabs.messenger.backup.data.backup.BackupSettings
 import io.xxlabs.messenger.backup.model.AccountBackup
-import io.xxlabs.messenger.ui.dialog.textinput.TextInputDialogUI
 import io.xxlabs.messenger.ui.dialog.radiobutton.RadioButtonDialogUI
+import io.xxlabs.messenger.ui.dialog.textinput.TextInputDialogUI
 
 interface BackupPasswordUI {
     val isBackupReady: LiveData<Boolean>
diff --git a/app/src/main/java/io/xxlabs/messenger/backup/ui/backup/BackupDetailViewModel.kt b/app/src/main/java/io/xxlabs/messenger/backup/ui/backup/BackupDetailViewModel.kt
index db71456b..3ad3f1ea 100644
--- a/app/src/main/java/io/xxlabs/messenger/backup/ui/backup/BackupDetailViewModel.kt
+++ b/app/src/main/java/io/xxlabs/messenger/backup/ui/backup/BackupDetailViewModel.kt
@@ -11,11 +11,12 @@ import io.xxlabs.messenger.backup.data.BackupSource
 import io.xxlabs.messenger.backup.data.backup.BackupManager
 import io.xxlabs.messenger.backup.data.backup.BackupOption
 import io.xxlabs.messenger.backup.data.backup.BackupSettings
-import io.xxlabs.messenger.backup.data.backup.BackupSettings.*
+import io.xxlabs.messenger.backup.data.backup.BackupSettings.Frequency
+import io.xxlabs.messenger.backup.data.backup.BackupSettings.Network
 import io.xxlabs.messenger.backup.model.AccountBackup
+import io.xxlabs.messenger.support.appContext
 import io.xxlabs.messenger.ui.dialog.radiobutton.RadioButtonDialogOption
 import io.xxlabs.messenger.ui.dialog.radiobutton.RadioButtonDialogUI
-import io.xxlabs.messenger.support.appContext
 
 class BackupDetailViewModel @AssistedInject constructor(
     backupManager: BackupManager,
diff --git a/app/src/main/java/io/xxlabs/messenger/backup/ui/backup/BackupSettingsFragment.kt b/app/src/main/java/io/xxlabs/messenger/backup/ui/backup/BackupSettingsFragment.kt
index 794271a1..82b719d5 100644
--- a/app/src/main/java/io/xxlabs/messenger/backup/ui/backup/BackupSettingsFragment.kt
+++ b/app/src/main/java/io/xxlabs/messenger/backup/ui/backup/BackupSettingsFragment.kt
@@ -1,10 +1,10 @@
 package io.xxlabs.messenger.backup.ui.backup
 
 import android.os.Bundle
-import androidx.fragment.app.Fragment
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
+import androidx.fragment.app.Fragment
 import androidx.fragment.app.viewModels
 import androidx.lifecycle.LifecycleOwner
 import androidx.navigation.fragment.findNavController
@@ -12,12 +12,12 @@ import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.recyclerview.widget.RecyclerView
 import io.xxlabs.messenger.backup.cloud.CloudAuthentication
 import io.xxlabs.messenger.backup.data.BackupSource
-import io.xxlabs.messenger.ui.dialog.textinput.TextInputDialogUI
-import io.xxlabs.messenger.ui.dialog.textinput.TextInputDialog
 import io.xxlabs.messenger.databinding.FragmentBackupSettingsBinding
 import io.xxlabs.messenger.databinding.ListItemBackupOptionBinding
 import io.xxlabs.messenger.di.utils.Injectable
 import io.xxlabs.messenger.support.view.SnackBarActivity
+import io.xxlabs.messenger.ui.dialog.textinput.TextInputDialog
+import io.xxlabs.messenger.ui.dialog.textinput.TextInputDialogUI
 import javax.inject.Inject
 
 /**
diff --git a/app/src/main/java/io/xxlabs/messenger/backup/ui/backup/BackupSettingsViewModel.kt b/app/src/main/java/io/xxlabs/messenger/backup/ui/backup/BackupSettingsViewModel.kt
index 2a60f2fe..bd63d6b1 100644
--- a/app/src/main/java/io/xxlabs/messenger/backup/ui/backup/BackupSettingsViewModel.kt
+++ b/app/src/main/java/io/xxlabs/messenger/backup/ui/backup/BackupSettingsViewModel.kt
@@ -13,7 +13,8 @@ import io.xxlabs.messenger.backup.data.BackupSource
 import io.xxlabs.messenger.backup.data.backup.BackupManager
 import io.xxlabs.messenger.backup.data.backup.BackupOption
 import io.xxlabs.messenger.backup.data.backup.BackupSettings
-import io.xxlabs.messenger.backup.model.*
+import io.xxlabs.messenger.backup.model.AccountBackup
+import io.xxlabs.messenger.backup.model.BackupLocation
 import io.xxlabs.messenger.backup.ui.list.LocationOption
 import io.xxlabs.messenger.support.appContext
 
diff --git a/app/src/main/java/io/xxlabs/messenger/backup/ui/backup/BackupViewModel.kt b/app/src/main/java/io/xxlabs/messenger/backup/ui/backup/BackupViewModel.kt
index 68f2f188..59c617d5 100644
--- a/app/src/main/java/io/xxlabs/messenger/backup/ui/backup/BackupViewModel.kt
+++ b/app/src/main/java/io/xxlabs/messenger/backup/ui/backup/BackupViewModel.kt
@@ -9,10 +9,10 @@ import io.xxlabs.messenger.R
 import io.xxlabs.messenger.backup.data.backup.BackupManager
 import io.xxlabs.messenger.backup.data.backup.BackupOption
 import io.xxlabs.messenger.backup.data.backup.BackupTaskListener
-import io.xxlabs.messenger.ui.dialog.textinput.TextInputDialogUI
 import io.xxlabs.messenger.support.appContext
 import io.xxlabs.messenger.ui.dialog.info.InfoDialogUI
 import io.xxlabs.messenger.ui.dialog.info.TwoButtonInfoDialogUI
+import io.xxlabs.messenger.ui.dialog.textinput.TextInputDialogUI
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.launch
 import kotlinx.coroutines.withContext
diff --git a/app/src/main/java/io/xxlabs/messenger/backup/ui/list/BackupLocationsViewModel.kt b/app/src/main/java/io/xxlabs/messenger/backup/ui/list/BackupLocationsViewModel.kt
index 3ffe3c10..8e1b6d74 100644
--- a/app/src/main/java/io/xxlabs/messenger/backup/ui/list/BackupLocationsViewModel.kt
+++ b/app/src/main/java/io/xxlabs/messenger/backup/ui/list/BackupLocationsViewModel.kt
@@ -4,12 +4,12 @@ import androidx.lifecycle.LiveData
 import androidx.lifecycle.MutableLiveData
 import androidx.lifecycle.ViewModel
 import io.xxlabs.messenger.R
-import io.xxlabs.messenger.backup.cloud.CloudAuthentication
-import io.xxlabs.messenger.backup.model.AccountBackup
-import io.xxlabs.messenger.backup.model.BackupLocation
 import io.xxlabs.messenger.backup.cloud.AuthResultCallback
+import io.xxlabs.messenger.backup.cloud.CloudAuthentication
 import io.xxlabs.messenger.backup.data.AccountBackupDataSource
 import io.xxlabs.messenger.backup.data.BackupSource
+import io.xxlabs.messenger.backup.model.AccountBackup
+import io.xxlabs.messenger.backup.model.BackupLocation
 import io.xxlabs.messenger.support.appContext
 import io.xxlabs.messenger.ui.dialog.info.InfoDialogUI
 import io.xxlabs.messenger.ui.dialog.info.TwoButtonInfoDialogUI
diff --git a/app/src/main/java/io/xxlabs/messenger/backup/ui/list/RestoreListFragment.kt b/app/src/main/java/io/xxlabs/messenger/backup/ui/list/RestoreListFragment.kt
index f77f35d7..97c756cb 100644
--- a/app/src/main/java/io/xxlabs/messenger/backup/ui/list/RestoreListFragment.kt
+++ b/app/src/main/java/io/xxlabs/messenger/backup/ui/list/RestoreListFragment.kt
@@ -10,7 +10,6 @@ import com.google.firebase.crashlytics.FirebaseCrashlytics
 import io.xxlabs.messenger.R
 import io.xxlabs.messenger.backup.data.BackupSource
 import io.xxlabs.messenger.ui.dialog.warning.showConfirmDialog
-import java.lang.Exception
 import javax.inject.Inject
 
 /**
diff --git a/app/src/main/java/io/xxlabs/messenger/backup/ui/restore/RestoreDetailFragment.kt b/app/src/main/java/io/xxlabs/messenger/backup/ui/restore/RestoreDetailFragment.kt
index 1bf5128c..f1684df1 100644
--- a/app/src/main/java/io/xxlabs/messenger/backup/ui/restore/RestoreDetailFragment.kt
+++ b/app/src/main/java/io/xxlabs/messenger/backup/ui/restore/RestoreDetailFragment.kt
@@ -9,12 +9,12 @@ import androidx.fragment.app.Fragment
 import androidx.fragment.app.viewModels
 import androidx.navigation.fragment.findNavController
 import io.xxlabs.messenger.R
-import io.xxlabs.messenger.ui.dialog.textinput.TextInputDialogUI
-import io.xxlabs.messenger.ui.dialog.textinput.TextInputDialog
 import io.xxlabs.messenger.databinding.FragmentRestoreDetailBinding
 import io.xxlabs.messenger.di.utils.Injectable
 import io.xxlabs.messenger.support.extensions.toast
 import io.xxlabs.messenger.ui.base.BaseKeystoreActivity
+import io.xxlabs.messenger.ui.dialog.textinput.TextInputDialog
+import io.xxlabs.messenger.ui.dialog.textinput.TextInputDialogUI
 import io.xxlabs.messenger.ui.dialog.warning.showConfirmDialog
 import io.xxlabs.messenger.ui.intro.registration.success.RegistrationStep
 import javax.inject.Inject
diff --git a/app/src/main/java/io/xxlabs/messenger/backup/ui/restore/RestoreDetailViewModel.kt b/app/src/main/java/io/xxlabs/messenger/backup/ui/restore/RestoreDetailViewModel.kt
index 0860884c..b7540003 100644
--- a/app/src/main/java/io/xxlabs/messenger/backup/ui/restore/RestoreDetailViewModel.kt
+++ b/app/src/main/java/io/xxlabs/messenger/backup/ui/restore/RestoreDetailViewModel.kt
@@ -12,12 +12,14 @@ import io.xxlabs.messenger.backup.data.restore.RestoreLog
 import io.xxlabs.messenger.backup.data.restore.RestoreManager
 import io.xxlabs.messenger.backup.model.AccountBackup
 import io.xxlabs.messenger.backup.ui.backup.BackupPassword
-import io.xxlabs.messenger.ui.dialog.textinput.TextInputDialogUI
 import io.xxlabs.messenger.bindings.wrapper.bindings.BindingsWrapperBindings
 import io.xxlabs.messenger.support.appContext
 import io.xxlabs.messenger.ui.dialog.info.InfoDialogUI
 import io.xxlabs.messenger.ui.dialog.info.TwoButtonInfoDialogUI
-import kotlinx.coroutines.*
+import io.xxlabs.messenger.ui.dialog.textinput.TextInputDialogUI
+import kotlinx.coroutines.CoroutineExceptionHandler
+import kotlinx.coroutines.Job
+import kotlinx.coroutines.launch
 
 class RestoreDetailViewModel @AssistedInject constructor(
     private val restoreManager: RestoreManager,
diff --git a/app/src/main/java/io/xxlabs/messenger/data/room/model/Contact.kt b/app/src/main/java/io/xxlabs/messenger/data/room/model/Contact.kt
index 45fb236e..77cb6031 100644
--- a/app/src/main/java/io/xxlabs/messenger/data/room/model/Contact.kt
+++ b/app/src/main/java/io/xxlabs/messenger/data/room/model/Contact.kt
@@ -1,7 +1,6 @@
 package io.xxlabs.messenger.data.room.model
 
 import android.graphics.Bitmap
-import io.xxlabs.messenger.data.data.Country
 import io.xxlabs.messenger.requests.ui.list.adapter.ItemThumbnail
 import io.xxlabs.messenger.support.view.BitmapResolver
 import kotlinx.coroutines.Dispatchers
diff --git a/app/src/main/java/io/xxlabs/messenger/data/room/model/ContactData.kt b/app/src/main/java/io/xxlabs/messenger/data/room/model/ContactData.kt
index bc484ff5..4a4aeccd 100644
--- a/app/src/main/java/io/xxlabs/messenger/data/room/model/ContactData.kt
+++ b/app/src/main/java/io/xxlabs/messenger/data/room/model/ContactData.kt
@@ -8,8 +8,6 @@ import io.xxlabs.messenger.bindings.wrapper.contact.ContactWrapperBase
 import io.xxlabs.messenger.data.datatype.RequestStatus
 import io.xxlabs.messenger.support.util.Utils
 import timber.log.Timber
-import java.io.Serializable
-import java.util.*
 
 @Entity(
     tableName = "Contacts",
diff --git a/app/src/main/java/io/xxlabs/messenger/data/room/model/RequestData.kt b/app/src/main/java/io/xxlabs/messenger/data/room/model/RequestData.kt
index 5641fba2..44f6a0a3 100644
--- a/app/src/main/java/io/xxlabs/messenger/data/room/model/RequestData.kt
+++ b/app/src/main/java/io/xxlabs/messenger/data/room/model/RequestData.kt
@@ -2,7 +2,6 @@ package io.xxlabs.messenger.data.room.model
 
 import androidx.room.ColumnInfo
 import androidx.room.Entity
-import androidx.room.Index
 import androidx.room.PrimaryKey
 import io.xxlabs.messenger.requests.model.Request
 
diff --git a/app/src/main/java/io/xxlabs/messenger/di/modules/FragmentMainBuildersModule.kt b/app/src/main/java/io/xxlabs/messenger/di/modules/FragmentMainBuildersModule.kt
index a59f54eb..369ee763 100644
--- a/app/src/main/java/io/xxlabs/messenger/di/modules/FragmentMainBuildersModule.kt
+++ b/app/src/main/java/io/xxlabs/messenger/di/modules/FragmentMainBuildersModule.kt
@@ -20,9 +20,9 @@ import io.xxlabs.messenger.requests.ui.send.SendRequestDialog
 import io.xxlabs.messenger.search.*
 import io.xxlabs.messenger.ui.main.chat.PrivateMessagesFragment
 import io.xxlabs.messenger.ui.main.chats.ChatsFragment
-import io.xxlabs.messenger.ui.main.contacts.list.ContactListFragment
 import io.xxlabs.messenger.ui.main.contacts.PhotoSelectorFragment
 import io.xxlabs.messenger.ui.main.contacts.invitation.ContactInvitation
+import io.xxlabs.messenger.ui.main.contacts.list.ContactListFragment
 import io.xxlabs.messenger.ui.main.contacts.profile.ContactProfileFragment
 import io.xxlabs.messenger.ui.main.contacts.select.ContactSelectionFragment
 import io.xxlabs.messenger.ui.main.contacts.success.ContactSuccessFragment
diff --git a/app/src/main/java/io/xxlabs/messenger/notifications/MessagingService.kt b/app/src/main/java/io/xxlabs/messenger/notifications/MessagingService.kt
index 967ef11d..c951aa6c 100644
--- a/app/src/main/java/io/xxlabs/messenger/notifications/MessagingService.kt
+++ b/app/src/main/java/io/xxlabs/messenger/notifications/MessagingService.kt
@@ -27,8 +27,8 @@ import io.xxlabs.messenger.requests.ui.RequestsFragment
 import io.xxlabs.messenger.support.util.value
 import io.xxlabs.messenger.ui.intro.splash.SplashScreenPlaceholderActivity
 import io.xxlabs.messenger.ui.main.MainActivity
-import io.xxlabs.messenger.ui.main.MainActivity.Companion.INTENT_NOTIFICATION_CLICK
 import io.xxlabs.messenger.ui.main.MainActivity.Companion.INTENT_GROUP_CHAT
+import io.xxlabs.messenger.ui.main.MainActivity.Companion.INTENT_NOTIFICATION_CLICK
 import io.xxlabs.messenger.ui.main.MainActivity.Companion.INTENT_PRIVATE_CHAT
 import io.xxlabs.messenger.ui.main.MainActivity.Companion.INTENT_REQUEST
 import kotlinx.coroutines.*
diff --git a/app/src/main/java/io/xxlabs/messenger/requests/bindings/BindingsRequestMediator.kt b/app/src/main/java/io/xxlabs/messenger/requests/bindings/BindingsRequestMediator.kt
index 09ecfa31..329b5c32 100644
--- a/app/src/main/java/io/xxlabs/messenger/requests/bindings/BindingsRequestMediator.kt
+++ b/app/src/main/java/io/xxlabs/messenger/requests/bindings/BindingsRequestMediator.kt
@@ -1,6 +1,5 @@
 package io.xxlabs.messenger.requests.bindings
 
-import com.dropbox.core.android.AuthActivity.result
 import io.xxlabs.messenger.bindings.wrapper.contact.ContactWrapperBase
 import io.xxlabs.messenger.data.room.model.Contact
 import io.xxlabs.messenger.repository.base.BaseRepository
diff --git a/app/src/main/java/io/xxlabs/messenger/requests/data/LocalRequestsDataSource.kt b/app/src/main/java/io/xxlabs/messenger/requests/data/LocalRequestsDataSource.kt
index b94bb691..8be1e655 100644
--- a/app/src/main/java/io/xxlabs/messenger/requests/data/LocalRequestsDataSource.kt
+++ b/app/src/main/java/io/xxlabs/messenger/requests/data/LocalRequestsDataSource.kt
@@ -1,8 +1,6 @@
 package io.xxlabs.messenger.requests.data
 
 import io.xxlabs.messenger.data.room.model.RequestData
-import io.xxlabs.messenger.requests.model.ContactRequest
-import io.xxlabs.messenger.requests.model.GroupInvitation
 import kotlinx.coroutines.flow.Flow
 
 interface LocalRequestsDataSource {
diff --git a/app/src/main/java/io/xxlabs/messenger/requests/data/contact/ContactRequestRepository.kt b/app/src/main/java/io/xxlabs/messenger/requests/data/contact/ContactRequestRepository.kt
index 76eed4ac..bae78f0c 100644
--- a/app/src/main/java/io/xxlabs/messenger/requests/data/contact/ContactRequestRepository.kt
+++ b/app/src/main/java/io/xxlabs/messenger/requests/data/contact/ContactRequestRepository.kt
@@ -10,11 +10,12 @@ import io.xxlabs.messenger.requests.bindings.VerificationResult
 import io.xxlabs.messenger.requests.data.LocalRequestsDataSource
 import io.xxlabs.messenger.requests.data.RequestDataSource
 import io.xxlabs.messenger.requests.model.ContactRequest
-import io.xxlabs.messenger.support.appContext
-import io.xxlabs.messenger.support.extensions.toast
 import io.xxlabs.messenger.support.util.value
 import kotlinx.coroutines.*
-import kotlinx.coroutines.flow.*
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.collectLatest
+import kotlinx.coroutines.flow.map
+import kotlinx.coroutines.flow.take
 import timber.log.Timber
 import javax.inject.Inject
 
diff --git a/app/src/main/java/io/xxlabs/messenger/requests/data/contact/RequestMigrator.kt b/app/src/main/java/io/xxlabs/messenger/requests/data/contact/RequestMigrator.kt
index c5fc10c2..d3f1f627 100644
--- a/app/src/main/java/io/xxlabs/messenger/requests/data/contact/RequestMigrator.kt
+++ b/app/src/main/java/io/xxlabs/messenger/requests/data/contact/RequestMigrator.kt
@@ -5,7 +5,9 @@ import io.xxlabs.messenger.data.room.model.Contact
 import io.xxlabs.messenger.repository.DaoRepository
 import io.xxlabs.messenger.repository.PreferencesRepository
 import io.xxlabs.messenger.support.util.value
-import kotlinx.coroutines.*
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.withContext
 import timber.log.Timber
 
 object RequestMigrator {
diff --git a/app/src/main/java/io/xxlabs/messenger/requests/data/group/GroupRequestRepository.kt b/app/src/main/java/io/xxlabs/messenger/requests/data/group/GroupRequestRepository.kt
index 766aae07..2d45c9c4 100644
--- a/app/src/main/java/io/xxlabs/messenger/requests/data/group/GroupRequestRepository.kt
+++ b/app/src/main/java/io/xxlabs/messenger/requests/data/group/GroupRequestRepository.kt
@@ -9,7 +9,10 @@ import io.xxlabs.messenger.requests.data.RequestDataSource
 import io.xxlabs.messenger.requests.model.GroupInvitation
 import io.xxlabs.messenger.support.util.value
 import kotlinx.coroutines.*
-import kotlinx.coroutines.flow.*
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.collectLatest
+import kotlinx.coroutines.flow.map
+import kotlinx.coroutines.flow.take
 import javax.inject.Inject
 
 class GroupRequestsRepository @Inject constructor(
diff --git a/app/src/main/java/io/xxlabs/messenger/requests/ui/RequestsFragment.kt b/app/src/main/java/io/xxlabs/messenger/requests/ui/RequestsFragment.kt
index 5f5cd421..82783333 100644
--- a/app/src/main/java/io/xxlabs/messenger/requests/ui/RequestsFragment.kt
+++ b/app/src/main/java/io/xxlabs/messenger/requests/ui/RequestsFragment.kt
@@ -45,7 +45,6 @@ import kotlinx.android.synthetic.main.fragment_requests.*
 import kotlinx.coroutines.flow.launchIn
 import kotlinx.coroutines.flow.onEach
 import kotlinx.coroutines.launch
-import java.lang.Exception
 import javax.inject.Inject
 
 open class RequestsFragment : BaseFragment() {
diff --git a/app/src/main/java/io/xxlabs/messenger/requests/ui/RequestsViewModel.kt b/app/src/main/java/io/xxlabs/messenger/requests/ui/RequestsViewModel.kt
index 3873c490..b1f61165 100644
--- a/app/src/main/java/io/xxlabs/messenger/requests/ui/RequestsViewModel.kt
+++ b/app/src/main/java/io/xxlabs/messenger/requests/ui/RequestsViewModel.kt
@@ -14,9 +14,9 @@ import io.xxlabs.messenger.requests.data.contact.ContactRequestsRepository
 import io.xxlabs.messenger.requests.data.group.GroupRequestsRepository
 import io.xxlabs.messenger.requests.model.ContactRequest
 import io.xxlabs.messenger.requests.model.GroupInvitation
+import io.xxlabs.messenger.requests.ui.accepted.RequestAcceptedUI
 import io.xxlabs.messenger.requests.ui.accepted.contact.RequestAccepted
 import io.xxlabs.messenger.requests.ui.accepted.contact.RequestAcceptedListener
-import io.xxlabs.messenger.requests.ui.accepted.RequestAcceptedUI
 import io.xxlabs.messenger.requests.ui.accepted.group.InvitationAccepted
 import io.xxlabs.messenger.requests.ui.accepted.group.InvitationAcceptedListener
 import io.xxlabs.messenger.requests.ui.details.contact.RequestDetails
diff --git a/app/src/main/java/io/xxlabs/messenger/requests/ui/accepted/group/InvitationAcceptedDialog.kt b/app/src/main/java/io/xxlabs/messenger/requests/ui/accepted/group/InvitationAcceptedDialog.kt
index 31dbcca8..01c7cff4 100644
--- a/app/src/main/java/io/xxlabs/messenger/requests/ui/accepted/group/InvitationAcceptedDialog.kt
+++ b/app/src/main/java/io/xxlabs/messenger/requests/ui/accepted/group/InvitationAcceptedDialog.kt
@@ -14,7 +14,6 @@ import io.xxlabs.messenger.data.room.model.Group
 import io.xxlabs.messenger.databinding.ComponentRequestAcceptedDialogBinding
 import io.xxlabs.messenger.di.utils.Injectable
 import io.xxlabs.messenger.requests.ui.RequestsViewModel
-import io.xxlabs.messenger.requests.ui.details.contact.RequestDetailsDialog
 import javax.inject.Inject
 
 /**
diff --git a/app/src/main/java/io/xxlabs/messenger/requests/ui/details/group/InvitationDetails.kt b/app/src/main/java/io/xxlabs/messenger/requests/ui/details/group/InvitationDetails.kt
index af66c140..5aad8d89 100644
--- a/app/src/main/java/io/xxlabs/messenger/requests/ui/details/group/InvitationDetails.kt
+++ b/app/src/main/java/io/xxlabs/messenger/requests/ui/details/group/InvitationDetails.kt
@@ -4,7 +4,6 @@ import androidx.lifecycle.LiveData
 import androidx.lifecycle.MutableLiveData
 import io.xxlabs.messenger.R
 import io.xxlabs.messenger.requests.model.GroupInvitation
-import io.xxlabs.messenger.requests.ui.details.group.adapter.MemberItem
 import io.xxlabs.messenger.requests.ui.list.adapter.GroupInviteItem
 
 /**
diff --git a/app/src/main/java/io/xxlabs/messenger/requests/ui/details/group/InvitationDetailsDialog.kt b/app/src/main/java/io/xxlabs/messenger/requests/ui/details/group/InvitationDetailsDialog.kt
index a3e4442c..073ca29a 100644
--- a/app/src/main/java/io/xxlabs/messenger/requests/ui/details/group/InvitationDetailsDialog.kt
+++ b/app/src/main/java/io/xxlabs/messenger/requests/ui/details/group/InvitationDetailsDialog.kt
@@ -19,7 +19,6 @@ import io.xxlabs.messenger.di.utils.Injectable
 import io.xxlabs.messenger.requests.model.GroupInvitation
 import io.xxlabs.messenger.requests.ui.RequestsViewModel
 import io.xxlabs.messenger.requests.ui.details.group.adapter.MembersAdapter
-import kotlinx.coroutines.flow.collectLatest
 import kotlinx.coroutines.flow.launchIn
 import kotlinx.coroutines.flow.onEach
 import kotlinx.coroutines.launch
diff --git a/app/src/main/java/io/xxlabs/messenger/requests/ui/list/RequestListFragment.kt b/app/src/main/java/io/xxlabs/messenger/requests/ui/list/RequestListFragment.kt
index aa431b57..70f73f2a 100644
--- a/app/src/main/java/io/xxlabs/messenger/requests/ui/list/RequestListFragment.kt
+++ b/app/src/main/java/io/xxlabs/messenger/requests/ui/list/RequestListFragment.kt
@@ -1,32 +1,23 @@
 package io.xxlabs.messenger.requests.ui.list
 
 import android.os.Bundle
-import androidx.fragment.app.Fragment
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
+import androidx.fragment.app.Fragment
 import androidx.fragment.app.viewModels
 import androidx.lifecycle.Lifecycle
 import androidx.lifecycle.ViewModelProvider
 import androidx.lifecycle.lifecycleScope
 import androidx.lifecycle.repeatOnLifecycle
-import androidx.navigation.fragment.findNavController
 import androidx.recyclerview.widget.LinearLayoutManager
-import io.xxlabs.messenger.data.room.model.Contact
-import io.xxlabs.messenger.data.room.model.Group
 import io.xxlabs.messenger.databinding.FragmentRequestListBinding
 import io.xxlabs.messenger.di.utils.Injectable
-import io.xxlabs.messenger.requests.model.ContactRequest
-import io.xxlabs.messenger.requests.model.GroupInvitation
 import io.xxlabs.messenger.requests.ui.RequestsViewModel
-import io.xxlabs.messenger.requests.ui.accepted.contact.RequestAcceptedDialog
-import io.xxlabs.messenger.requests.ui.accepted.group.InvitationAcceptedDialog
-import io.xxlabs.messenger.requests.ui.details.contact.RequestDetailsDialog
-import io.xxlabs.messenger.requests.ui.details.group.InvitationDetailsDialog
 import io.xxlabs.messenger.requests.ui.list.adapter.RequestItem
 import io.xxlabs.messenger.requests.ui.list.adapter.RequestsAdapter
-import io.xxlabs.messenger.support.extensions.toBase64String
-import kotlinx.coroutines.flow.*
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.collect
 import kotlinx.coroutines.launch
 import javax.inject.Inject
 
diff --git a/app/src/main/java/io/xxlabs/messenger/requests/ui/list/adapter/RequestItem.kt b/app/src/main/java/io/xxlabs/messenger/requests/ui/list/adapter/RequestItem.kt
index 8bc44075..2f118879 100644
--- a/app/src/main/java/io/xxlabs/messenger/requests/ui/list/adapter/RequestItem.kt
+++ b/app/src/main/java/io/xxlabs/messenger/requests/ui/list/adapter/RequestItem.kt
@@ -4,7 +4,6 @@ import android.graphics.Bitmap
 import androidx.annotation.IdRes
 import io.xxlabs.messenger.R
 import io.xxlabs.messenger.data.datatype.RequestStatus.*
-import io.xxlabs.messenger.data.room.model.ContactData
 import io.xxlabs.messenger.data.room.model.formattedEmail
 import io.xxlabs.messenger.data.room.model.formattedPhone
 import io.xxlabs.messenger.requests.model.ContactRequest
diff --git a/app/src/main/java/io/xxlabs/messenger/requests/ui/list/adapter/RequestItemViewHolder.kt b/app/src/main/java/io/xxlabs/messenger/requests/ui/list/adapter/RequestItemViewHolder.kt
index c6fcb919..3820e603 100644
--- a/app/src/main/java/io/xxlabs/messenger/requests/ui/list/adapter/RequestItemViewHolder.kt
+++ b/app/src/main/java/io/xxlabs/messenger/requests/ui/list/adapter/RequestItemViewHolder.kt
@@ -6,12 +6,7 @@ import android.view.ViewGroup
 import androidx.recyclerview.widget.RecyclerView
 import com.google.firebase.crashlytics.FirebaseCrashlytics
 import io.xxlabs.messenger.R
-import io.xxlabs.messenger.databinding.ListItemEmptyPlaceholderBinding
-import io.xxlabs.messenger.databinding.ListItemHiddenRequestsToggleBinding
-import io.xxlabs.messenger.databinding.ListItemRequestBinding
-import io.xxlabs.messenger.databinding.ListItemRequestSearchResultBinding
-import io.xxlabs.messenger.databinding.ListItemSectionDividerBinding
-import timber.log.Timber
+import io.xxlabs.messenger.databinding.*
 import java.io.InvalidObjectException
 
 abstract class RequestItemViewHolder(view: View) : RecyclerView.ViewHolder(view) {
diff --git a/app/src/main/java/io/xxlabs/messenger/search/FactSearchFragment.kt b/app/src/main/java/io/xxlabs/messenger/search/FactSearchFragment.kt
index 5b5e87be..fb5a1c6c 100644
--- a/app/src/main/java/io/xxlabs/messenger/search/FactSearchFragment.kt
+++ b/app/src/main/java/io/xxlabs/messenger/search/FactSearchFragment.kt
@@ -1,18 +1,14 @@
 package io.xxlabs.messenger.search
 
 import android.os.Bundle
-import android.text.Editable
-import android.text.SpannableString
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
 import android.view.inputmethod.EditorInfo
 import androidx.fragment.app.Fragment
 import androidx.fragment.app.viewModels
-import androidx.lifecycle.Lifecycle
 import androidx.lifecycle.ViewModelProvider
 import androidx.lifecycle.lifecycleScope
-import androidx.lifecycle.repeatOnLifecycle
 import androidx.recyclerview.widget.LinearLayoutManager
 import com.google.android.material.textfield.TextInputEditText
 import io.xxlabs.messenger.databinding.FragmentFactSearchBinding
diff --git a/app/src/main/java/io/xxlabs/messenger/search/UserSearchFragment.kt b/app/src/main/java/io/xxlabs/messenger/search/UserSearchFragment.kt
index 59ef598b..6e2cc258 100644
--- a/app/src/main/java/io/xxlabs/messenger/search/UserSearchFragment.kt
+++ b/app/src/main/java/io/xxlabs/messenger/search/UserSearchFragment.kt
@@ -17,7 +17,6 @@ import com.google.android.material.tabs.TabLayout
 import com.google.android.material.tabs.TabLayout.OnTabSelectedListener
 import com.google.android.material.tabs.TabLayoutMediator
 import io.xxlabs.messenger.R
-import io.xxlabs.messenger.bindings.wrapper.contact.ContactWrapperBase
 import io.xxlabs.messenger.data.room.model.ContactData
 import io.xxlabs.messenger.databinding.FragmentUserSearchBinding
 import io.xxlabs.messenger.requests.ui.RequestsFragment
@@ -41,7 +40,6 @@ import kotlinx.coroutines.flow.launchIn
 import kotlinx.coroutines.flow.onEach
 import kotlinx.coroutines.launch
 import timber.log.Timber
-import java.lang.Exception
 
 class UserSearchFragment : RequestsFragment() {
 
diff --git a/app/src/main/java/io/xxlabs/messenger/support/view/SingleClickButton.kt b/app/src/main/java/io/xxlabs/messenger/support/view/SingleClickButton.kt
index d1b2a220..0b5ae9a4 100644
--- a/app/src/main/java/io/xxlabs/messenger/support/view/SingleClickButton.kt
+++ b/app/src/main/java/io/xxlabs/messenger/support/view/SingleClickButton.kt
@@ -2,8 +2,7 @@ package io.xxlabs.messenger.support.view
 
 import android.content.Context
 import android.util.AttributeSet
-import android.widget.ImageView
-import android.widget.TextView
+import android.view.View.OnClickListener
 import androidx.appcompat.widget.AppCompatButton
 import androidx.appcompat.widget.AppCompatImageView
 import androidx.appcompat.widget.AppCompatTextView
diff --git a/app/src/main/java/io/xxlabs/messenger/ui/base/BasePhotoFragment.kt b/app/src/main/java/io/xxlabs/messenger/ui/base/BasePhotoFragment.kt
index c5f9ecb6..602a44cc 100644
--- a/app/src/main/java/io/xxlabs/messenger/ui/base/BasePhotoFragment.kt
+++ b/app/src/main/java/io/xxlabs/messenger/ui/base/BasePhotoFragment.kt
@@ -29,7 +29,6 @@ import io.xxlabs.messenger.R
 import io.xxlabs.messenger.media.CameraProvider
 import io.xxlabs.messenger.media.DeviceStorageProvider
 import io.xxlabs.messenger.media.MediaCallback
-import io.xxlabs.messenger.media.MicrophoneProvider
 import io.xxlabs.messenger.support.dialog.PopupActionDialog
 import io.xxlabs.messenger.support.extensions.toast
 import io.xxlabs.messenger.support.view.BitmapResolver
@@ -38,7 +37,6 @@ import timber.log.Timber
 import java.io.ByteArrayOutputStream
 import java.io.File
 import java.io.IOException
-import java.lang.ClassCastException
 import java.text.SimpleDateFormat
 import java.util.*
 
diff --git a/app/src/main/java/io/xxlabs/messenger/ui/dialog/action/ActionDialogLauncher.kt b/app/src/main/java/io/xxlabs/messenger/ui/dialog/action/ActionDialogLauncher.kt
index 6826a1a0..c68c9c98 100644
--- a/app/src/main/java/io/xxlabs/messenger/ui/dialog/action/ActionDialogLauncher.kt
+++ b/app/src/main/java/io/xxlabs/messenger/ui/dialog/action/ActionDialogLauncher.kt
@@ -1,8 +1,8 @@
 package io.xxlabs.messenger.ui.dialog.action
 
 import androidx.fragment.app.Fragment
-import io.xxlabs.messenger.ui.dialog.warning.WarningDialogUI
 import io.xxlabs.messenger.ui.dialog.info.InfoDialogUI
+import io.xxlabs.messenger.ui.dialog.warning.WarningDialogUI
 
 /**
  * Launches an ActionDialog with a positive button.
diff --git a/app/src/main/java/io/xxlabs/messenger/ui/dialog/textinput/TextInputDialog.kt b/app/src/main/java/io/xxlabs/messenger/ui/dialog/textinput/TextInputDialog.kt
index f1d30af4..cd0f0e62 100644
--- a/app/src/main/java/io/xxlabs/messenger/ui/dialog/textinput/TextInputDialog.kt
+++ b/app/src/main/java/io/xxlabs/messenger/ui/dialog/textinput/TextInputDialog.kt
@@ -2,7 +2,6 @@ package io.xxlabs.messenger.ui.dialog.textinput
 
 import android.content.DialogInterface
 import android.os.Bundle
-import android.text.InputType
 import android.text.Spannable
 import android.text.SpannableStringBuilder
 import android.text.method.LinkMovementMethod
@@ -12,8 +11,6 @@ import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
 import androidx.databinding.DataBindingUtil
-import com.google.android.material.bottomsheet.BottomSheetBehavior
-import com.google.android.material.bottomsheet.BottomSheetDialog
 import com.google.android.material.textfield.TextInputLayout
 import io.xxlabs.messenger.R
 import io.xxlabs.messenger.databinding.ComponentTextinputDialogBinding
diff --git a/app/src/main/java/io/xxlabs/messenger/ui/global/ContactsViewModel.kt b/app/src/main/java/io/xxlabs/messenger/ui/global/ContactsViewModel.kt
index 08f14102..37ce1504 100644
--- a/app/src/main/java/io/xxlabs/messenger/ui/global/ContactsViewModel.kt
+++ b/app/src/main/java/io/xxlabs/messenger/ui/global/ContactsViewModel.kt
@@ -15,9 +15,9 @@ import io.xxlabs.messenger.bindings.wrapper.contact.ContactWrapperMock
 import io.xxlabs.messenger.data.data.DataRequestState
 import io.xxlabs.messenger.data.data.PayloadWrapper
 import io.xxlabs.messenger.data.data.SimpleRequestState
-import io.xxlabs.messenger.data.datatype.RequestStatus
 import io.xxlabs.messenger.data.datatype.FactType
 import io.xxlabs.messenger.data.datatype.MessageStatus
+import io.xxlabs.messenger.data.datatype.RequestStatus
 import io.xxlabs.messenger.data.datatype.RequestStatus.*
 import io.xxlabs.messenger.data.room.model.*
 import io.xxlabs.messenger.repository.DaoRepository
diff --git a/app/src/main/java/io/xxlabs/messenger/ui/intro/registration/email/RegistrationEmailFragment.kt b/app/src/main/java/io/xxlabs/messenger/ui/intro/registration/email/RegistrationEmailFragment.kt
index ac452d37..9785ceb1 100644
--- a/app/src/main/java/io/xxlabs/messenger/ui/intro/registration/email/RegistrationEmailFragment.kt
+++ b/app/src/main/java/io/xxlabs/messenger/ui/intro/registration/email/RegistrationEmailFragment.kt
@@ -10,8 +10,8 @@ import io.xxlabs.messenger.R
 import io.xxlabs.messenger.databinding.FragmentRegistrationEmailBinding
 import io.xxlabs.messenger.di.utils.Injectable
 import io.xxlabs.messenger.ui.dialog.info.InfoDialog
-import io.xxlabs.messenger.ui.intro.registration.tfa.TwoFactorAuthCredentials
 import io.xxlabs.messenger.ui.intro.registration.RegistrationFlowFragment
+import io.xxlabs.messenger.ui.intro.registration.tfa.TwoFactorAuthCredentials
 
 class RegistrationEmailFragment : RegistrationFlowFragment(), Injectable {
 
diff --git a/app/src/main/java/io/xxlabs/messenger/ui/intro/registration/phone/RegistrationPhoneFragment.kt b/app/src/main/java/io/xxlabs/messenger/ui/intro/registration/phone/RegistrationPhoneFragment.kt
index e307a437..2e30a6ff 100644
--- a/app/src/main/java/io/xxlabs/messenger/ui/intro/registration/phone/RegistrationPhoneFragment.kt
+++ b/app/src/main/java/io/xxlabs/messenger/ui/intro/registration/phone/RegistrationPhoneFragment.kt
@@ -11,8 +11,8 @@ import io.xxlabs.messenger.data.data.Country
 import io.xxlabs.messenger.databinding.FragmentRegistrationPhoneBinding
 import io.xxlabs.messenger.di.utils.Injectable
 import io.xxlabs.messenger.ui.dialog.info.InfoDialog
-import io.xxlabs.messenger.ui.intro.registration.tfa.TwoFactorAuthCredentials
 import io.xxlabs.messenger.ui.intro.registration.RegistrationFlowFragment
+import io.xxlabs.messenger.ui.intro.registration.tfa.TwoFactorAuthCredentials
 import io.xxlabs.messenger.ui.main.countrycode.CountryFullscreenDialog
 import io.xxlabs.messenger.ui.main.countrycode.CountrySelectionListener
 
diff --git a/app/src/main/java/io/xxlabs/messenger/ui/intro/registration/tfa/RegistrationTfaFragment.kt b/app/src/main/java/io/xxlabs/messenger/ui/intro/registration/tfa/RegistrationTfaFragment.kt
index 0e49bb86..93441697 100644
--- a/app/src/main/java/io/xxlabs/messenger/ui/intro/registration/tfa/RegistrationTfaFragment.kt
+++ b/app/src/main/java/io/xxlabs/messenger/ui/intro/registration/tfa/RegistrationTfaFragment.kt
@@ -11,8 +11,8 @@ import io.xxlabs.messenger.data.datatype.FactType
 import io.xxlabs.messenger.databinding.FragmentRegistration2faBinding
 import io.xxlabs.messenger.di.utils.Injectable
 import io.xxlabs.messenger.ui.dialog.info.InfoDialog
-import io.xxlabs.messenger.ui.intro.registration.success.RegistrationStep
 import io.xxlabs.messenger.ui.intro.registration.RegistrationFlowFragment
+import io.xxlabs.messenger.ui.intro.registration.success.RegistrationStep
 
 class RegistrationTfaFragment : RegistrationFlowFragment(), Injectable {
 
diff --git a/app/src/main/java/io/xxlabs/messenger/ui/intro/registration/username/UsernameRegistration.kt b/app/src/main/java/io/xxlabs/messenger/ui/intro/registration/username/UsernameRegistration.kt
index dfc7dd9b..742d7b02 100644
--- a/app/src/main/java/io/xxlabs/messenger/ui/intro/registration/username/UsernameRegistration.kt
+++ b/app/src/main/java/io/xxlabs/messenger/ui/intro/registration/username/UsernameRegistration.kt
@@ -19,7 +19,6 @@ import io.xxlabs.messenger.bindings.wrapper.bindings.bindingsErrorMessage
 import io.xxlabs.messenger.repository.PreferencesRepository
 import io.xxlabs.messenger.repository.base.BaseRepository
 import io.xxlabs.messenger.support.appContext
-import io.xxlabs.messenger.support.util.value
 import io.xxlabs.messenger.ui.dialog.info.InfoDialogUI
 import io.xxlabs.messenger.ui.dialog.info.SpanConfig
 import io.xxlabs.messenger.ui.global.NetworkViewModel
diff --git a/app/src/main/java/io/xxlabs/messenger/ui/intro/splash/SplashScreenPlaceholderActivity.kt b/app/src/main/java/io/xxlabs/messenger/ui/intro/splash/SplashScreenPlaceholderActivity.kt
index 68bc8605..04be8062 100644
--- a/app/src/main/java/io/xxlabs/messenger/ui/intro/splash/SplashScreenPlaceholderActivity.kt
+++ b/app/src/main/java/io/xxlabs/messenger/ui/intro/splash/SplashScreenPlaceholderActivity.kt
@@ -21,7 +21,6 @@ import io.xxlabs.messenger.ui.base.BaseInjectorActivity
 import io.xxlabs.messenger.ui.main.MainActivity
 import io.xxlabs.messenger.ui.main.MainActivity.Companion.INTENT_INVITATION
 import io.xxlabs.messenger.ui.main.MainActivity.Companion.INTENT_NOTIFICATION_CLICK
-import timber.log.Timber
 import javax.inject.Inject
 
 class SplashScreenPlaceholderActivity : BaseInjectorActivity() {
diff --git a/app/src/main/java/io/xxlabs/messenger/ui/main/MainActivity.kt b/app/src/main/java/io/xxlabs/messenger/ui/main/MainActivity.kt
index e6edbd54..34aab0bc 100755
--- a/app/src/main/java/io/xxlabs/messenger/ui/main/MainActivity.kt
+++ b/app/src/main/java/io/xxlabs/messenger/ui/main/MainActivity.kt
@@ -11,16 +11,16 @@ import android.graphics.Color
 import android.os.Bundle
 import android.view.*
 import android.view.inputmethod.InputMethodManager
-import android.widget.ProgressBar
 import androidx.coordinatorlayout.widget.CoordinatorLayout
 import androidx.core.os.bundleOf
 import androidx.core.view.WindowInsetsCompat
 import androidx.core.view.setPadding
-import androidx.lifecycle.*
 import androidx.lifecycle.Observer
+import androidx.lifecycle.ViewModelProvider
+import androidx.lifecycle.lifecycleScope
+import androidx.lifecycle.observe
 import androidx.navigation.NavController
 import androidx.navigation.Navigation
-import androidx.navigation.findNavController
 import androidx.navigation.ui.onNavDestinationSelected
 import com.bumptech.glide.Glide
 import com.google.android.material.shape.CornerFamily
@@ -57,11 +57,16 @@ import io.xxlabs.messenger.ui.main.chats.ChatsViewModel
 import io.xxlabs.messenger.ui.main.contacts.PhotoSelectorFragment
 import kotlinx.android.synthetic.main.activity_main.*
 import kotlinx.android.synthetic.main.component_menu.*
-import kotlinx.android.synthetic.main.fragment_delete_account.*
 import kotlinx.coroutines.flow.launchIn
 import kotlinx.coroutines.flow.onEach
 import timber.log.Timber
 import javax.inject.Inject
+import kotlin.collections.MutableList
+import kotlin.collections.MutableMap
+import kotlin.collections.mutableListOf
+import kotlin.collections.mutableMapOf
+import kotlin.collections.removeLastOrNull
+import kotlin.collections.set
 
 private val Bundle.isPrivateMessage: Boolean
     get() = getByteArray(MainActivity.INTENT_PRIVATE_CHAT) != null
diff --git a/app/src/main/java/io/xxlabs/messenger/ui/main/MainViewModel.kt b/app/src/main/java/io/xxlabs/messenger/ui/main/MainViewModel.kt
index 46fc0cea..a63994a6 100644
--- a/app/src/main/java/io/xxlabs/messenger/ui/main/MainViewModel.kt
+++ b/app/src/main/java/io/xxlabs/messenger/ui/main/MainViewModel.kt
@@ -27,7 +27,6 @@ import io.xxlabs.messenger.repository.base.BaseRepository
 import io.xxlabs.messenger.requests.data.group.GroupInvitationData
 import io.xxlabs.messenger.requests.data.group.GroupRequestsRepository
 import io.xxlabs.messenger.requests.data.group.InvitationMigrator
-import io.xxlabs.messenger.requests.model.GroupInvitation
 import io.xxlabs.messenger.support.extensions.toBase64String
 import io.xxlabs.messenger.support.isMockVersion
 import io.xxlabs.messenger.support.util.Utils
diff --git a/app/src/main/java/io/xxlabs/messenger/ui/main/chat/PrivateMessagesViewModel.kt b/app/src/main/java/io/xxlabs/messenger/ui/main/chat/PrivateMessagesViewModel.kt
index 11e20a19..5a3e848c 100644
--- a/app/src/main/java/io/xxlabs/messenger/ui/main/chat/PrivateMessagesViewModel.kt
+++ b/app/src/main/java/io/xxlabs/messenger/ui/main/chat/PrivateMessagesViewModel.kt
@@ -30,6 +30,7 @@ import io.xxlabs.messenger.filetransfer.*
 import io.xxlabs.messenger.repository.DaoRepository
 import io.xxlabs.messenger.repository.PreferencesRepository
 import io.xxlabs.messenger.repository.base.BaseRepository
+import io.xxlabs.messenger.support.appContext
 import io.xxlabs.messenger.support.extensions.toBase64String
 import io.xxlabs.messenger.support.isMockVersion
 import io.xxlabs.messenger.support.misc.DummyGenerator
@@ -40,9 +41,6 @@ import kotlinx.coroutines.Job
 import kotlinx.coroutines.delay
 import kotlinx.coroutines.launch
 import timber.log.Timber
-import kotlin.NoSuchElementException
-import kotlin.collections.HashMap
-import io.xxlabs.messenger.support.appContext
 
 private const val MINIMUM_RECORDING_DURATION_MS = 1000
 
diff --git a/app/src/main/java/io/xxlabs/messenger/ui/main/chats/ChatsFragment.kt b/app/src/main/java/io/xxlabs/messenger/ui/main/chats/ChatsFragment.kt
index 39be8ce4..a80259b6 100755
--- a/app/src/main/java/io/xxlabs/messenger/ui/main/chats/ChatsFragment.kt
+++ b/app/src/main/java/io/xxlabs/messenger/ui/main/chats/ChatsFragment.kt
@@ -3,9 +3,6 @@ package io.xxlabs.messenger.ui.main.chats
 import android.os.Bundle
 import android.os.Handler
 import android.os.Looper
-import android.text.Editable
-import android.text.SpannableString
-import android.text.SpannableStringBuilder
 import android.view.LayoutInflater
 import android.view.View
 import android.view.ViewGroup
@@ -38,7 +35,6 @@ import io.xxlabs.messenger.ui.dialog.warning.showConfirmDialog
 import io.xxlabs.messenger.ui.global.ContactsViewModel
 import io.xxlabs.messenger.ui.global.NetworkViewModel
 import io.xxlabs.messenger.ui.main.MainViewModel
-import io.xxlabs.messenger.ui.dialog.warning.showConfirmDialog
 import io.xxlabs.messenger.ui.main.chats.newConnections.NewConnectionUI
 import io.xxlabs.messenger.ui.main.chats.newConnections.NewConnectionsAdapter
 import io.xxlabs.messenger.ui.main.chats.search.SearchResultAdapter
diff --git a/app/src/main/java/io/xxlabs/messenger/ui/main/chats/ChatsViewModel.kt b/app/src/main/java/io/xxlabs/messenger/ui/main/chats/ChatsViewModel.kt
index 5bd5a0c2..17e99656 100644
--- a/app/src/main/java/io/xxlabs/messenger/ui/main/chats/ChatsViewModel.kt
+++ b/app/src/main/java/io/xxlabs/messenger/ui/main/chats/ChatsViewModel.kt
@@ -29,7 +29,6 @@ import kotlinx.coroutines.withContext
 import timber.log.Timber
 import java.util.*
 import javax.inject.Inject
-import kotlin.collections.HashMap
 import kotlin.collections.set
 
 class ChatsViewModel @Inject constructor(
diff --git a/app/src/main/java/io/xxlabs/messenger/ui/main/chats/newConnections/NewConnectionsAdapter.kt b/app/src/main/java/io/xxlabs/messenger/ui/main/chats/newConnections/NewConnectionsAdapter.kt
index 203e79a7..be3ea1c0 100644
--- a/app/src/main/java/io/xxlabs/messenger/ui/main/chats/newConnections/NewConnectionsAdapter.kt
+++ b/app/src/main/java/io/xxlabs/messenger/ui/main/chats/newConnections/NewConnectionsAdapter.kt
@@ -5,8 +5,6 @@ import android.view.ViewGroup
 import androidx.recyclerview.widget.DiffUtil
 import androidx.recyclerview.widget.ListAdapter
 import androidx.recyclerview.widget.RecyclerView
-import io.xxlabs.messenger.data.room.model.ContactData
-import io.xxlabs.messenger.data.room.model.GroupData
 import io.xxlabs.messenger.databinding.ListItemNewConnectionBinding
 
 class NewConnectionsAdapter :
diff --git a/app/src/main/java/io/xxlabs/messenger/ui/main/chats/search/SearchResult.kt b/app/src/main/java/io/xxlabs/messenger/ui/main/chats/search/SearchResult.kt
index 061571af..c99db61f 100644
--- a/app/src/main/java/io/xxlabs/messenger/ui/main/chats/search/SearchResult.kt
+++ b/app/src/main/java/io/xxlabs/messenger/ui/main/chats/search/SearchResult.kt
@@ -4,7 +4,6 @@ import io.xxlabs.messenger.data.room.model.Contact
 import io.xxlabs.messenger.data.room.model.Group
 import io.xxlabs.messenger.data.room.model.thumbnail
 import io.xxlabs.messenger.requests.ui.list.adapter.ItemThumbnail
-import io.xxlabs.messenger.support.extensions.toBase64String
 
 sealed interface SearchResultItem {
     val id: Int
diff --git a/app/src/main/java/io/xxlabs/messenger/ui/main/chats/search/SearchResultAdapter.kt b/app/src/main/java/io/xxlabs/messenger/ui/main/chats/search/SearchResultAdapter.kt
index b1569a83..a0060bce 100644
--- a/app/src/main/java/io/xxlabs/messenger/ui/main/chats/search/SearchResultAdapter.kt
+++ b/app/src/main/java/io/xxlabs/messenger/ui/main/chats/search/SearchResultAdapter.kt
@@ -8,7 +8,6 @@ import androidx.recyclerview.widget.RecyclerView
 import io.xxlabs.messenger.databinding.ListItemSearchResultBinding
 import io.xxlabs.messenger.databinding.ListItemSectionHeaderBinding
 import io.xxlabs.messenger.ui.main.chat.setVisibility
-import java.lang.ClassCastException
 
 class SearchResultAdapter :
     ListAdapter<SearchResultItem, RecyclerView.ViewHolder>(SearchResultDiffUtil()) {
diff --git a/app/src/main/java/io/xxlabs/messenger/ui/main/contacts/deprecated/ContactsFragment.kt b/app/src/main/java/io/xxlabs/messenger/ui/main/contacts/deprecated/ContactsFragment.kt
index fadcf355..c630da10 100644
--- a/app/src/main/java/io/xxlabs/messenger/ui/main/contacts/deprecated/ContactsFragment.kt
+++ b/app/src/main/java/io/xxlabs/messenger/ui/main/contacts/deprecated/ContactsFragment.kt
@@ -16,14 +16,15 @@ import io.xxlabs.messenger.data.datatype.RequestStatus
 import io.xxlabs.messenger.data.room.model.ContactData
 import io.xxlabs.messenger.support.dialog.PopupActionBottomDialog
 import io.xxlabs.messenger.support.dialog.PopupActionBottomDialogFragment
-import io.xxlabs.messenger.support.extensions.*
+import io.xxlabs.messenger.support.extensions.setInsets
+import io.xxlabs.messenger.support.extensions.setOnSingleClickListener
+import io.xxlabs.messenger.support.extensions.toast
 import io.xxlabs.messenger.support.view.LooperCircularProgressBar
 import io.xxlabs.messenger.ui.base.BaseFragment
 import io.xxlabs.messenger.ui.dialog.info.showInfoDialog
 import io.xxlabs.messenger.ui.global.ContactsViewModel
 import io.xxlabs.messenger.ui.global.NetworkViewModel
 import io.xxlabs.messenger.ui.main.MainActivity
-import io.xxlabs.messenger.ui.main.contacts.*
 import io.xxlabs.messenger.ui.main.groups.create.CreateGroupDialog
 import io.xxlabs.messenger.ui.main.groups.create.CreateGroupDialogUI
 import kotlinx.android.synthetic.main.component_toolbar_generic.*
diff --git a/app/src/main/java/io/xxlabs/messenger/ui/main/contacts/list/Connection.kt b/app/src/main/java/io/xxlabs/messenger/ui/main/contacts/list/Connection.kt
index 8900d4c9..d66f504d 100644
--- a/app/src/main/java/io/xxlabs/messenger/ui/main/contacts/list/Connection.kt
+++ b/app/src/main/java/io/xxlabs/messenger/ui/main/contacts/list/Connection.kt
@@ -1,6 +1,9 @@
 package io.xxlabs.messenger.ui.main.contacts.list
 
-import io.xxlabs.messenger.data.room.model.*
+import io.xxlabs.messenger.data.room.model.Contact
+import io.xxlabs.messenger.data.room.model.ContactData
+import io.xxlabs.messenger.data.room.model.Group
+import io.xxlabs.messenger.data.room.model.dummyThumbnail
 import io.xxlabs.messenger.requests.ui.list.adapter.ItemThumbnail
 import io.xxlabs.messenger.support.dummy.randomString
 import kotlinx.coroutines.flow.Flow
diff --git a/app/src/main/java/io/xxlabs/messenger/ui/main/contacts/list/ConnectionsViewModel.kt b/app/src/main/java/io/xxlabs/messenger/ui/main/contacts/list/ConnectionsViewModel.kt
index 99e69259..f646e1bf 100644
--- a/app/src/main/java/io/xxlabs/messenger/ui/main/contacts/list/ConnectionsViewModel.kt
+++ b/app/src/main/java/io/xxlabs/messenger/ui/main/contacts/list/ConnectionsViewModel.kt
@@ -14,7 +14,9 @@ import io.xxlabs.messenger.support.toolbar.*
 import io.xxlabs.messenger.ui.main.contacts.select.SelectedContact
 import io.xxlabs.messenger.ui.main.contacts.select.SelectedContactListener
 import io.xxlabs.messenger.ui.main.contacts.select.SelectedContactUI
-import kotlinx.coroutines.flow.*
+import kotlinx.coroutines.flow.MutableStateFlow
+import kotlinx.coroutines.flow.combine
+import kotlinx.coroutines.flow.map
 import kotlinx.coroutines.launch
 import javax.inject.Inject
 import kotlin.math.abs
diff --git a/app/src/main/java/io/xxlabs/messenger/ui/main/contacts/profile/ContactProfileFragment.kt b/app/src/main/java/io/xxlabs/messenger/ui/main/contacts/profile/ContactProfileFragment.kt
index 8db46f72..ee0d1130 100644
--- a/app/src/main/java/io/xxlabs/messenger/ui/main/contacts/profile/ContactProfileFragment.kt
+++ b/app/src/main/java/io/xxlabs/messenger/ui/main/contacts/profile/ContactProfileFragment.kt
@@ -9,11 +9,11 @@ import io.xxlabs.messenger.R
 import io.xxlabs.messenger.data.data.DataRequestState
 import io.xxlabs.messenger.data.room.model.ContactData
 import io.xxlabs.messenger.support.dialog.PopupActionBottomDialogFragment
-import io.xxlabs.messenger.ui.dialog.warning.WarningDialogUI
-import io.xxlabs.messenger.ui.dialog.info.InfoDialogUI
 import io.xxlabs.messenger.support.extensions.setOnSingleClickListener
 import io.xxlabs.messenger.ui.base.BaseContactDetailsFragment
+import io.xxlabs.messenger.ui.dialog.info.InfoDialogUI
 import io.xxlabs.messenger.ui.dialog.info.showInfoDialog
+import io.xxlabs.messenger.ui.dialog.warning.WarningDialogUI
 import io.xxlabs.messenger.ui.main.MainActivity
 import io.xxlabs.messenger.ui.main.contacts.delete.DeleteConnectionDialog
 import io.xxlabs.messenger.ui.main.contacts.delete.DeleteConnectionDialogUI
diff --git a/app/src/main/java/io/xxlabs/messenger/ui/main/contacts/select/ContactSelectionFragment.kt b/app/src/main/java/io/xxlabs/messenger/ui/main/contacts/select/ContactSelectionFragment.kt
index 5cc4fda8..fe52d4cc 100644
--- a/app/src/main/java/io/xxlabs/messenger/ui/main/contacts/select/ContactSelectionFragment.kt
+++ b/app/src/main/java/io/xxlabs/messenger/ui/main/contacts/select/ContactSelectionFragment.kt
@@ -20,7 +20,6 @@ import io.xxlabs.messenger.ui.global.ContactsViewModel
 import io.xxlabs.messenger.ui.main.contacts.ContactsFragment
 import io.xxlabs.messenger.ui.main.contacts.list.ConnectionsListScrollHandler
 import io.xxlabs.messenger.ui.main.contacts.list.ConnectionsViewModel
-import io.xxlabs.messenger.ui.main.contacts.list.ContactListFragmentDirections
 import io.xxlabs.messenger.ui.main.groups.create.CreateGroupDialog
 import io.xxlabs.messenger.ui.main.groups.create.CreateGroupDialogUI
 import javax.inject.Inject
diff --git a/app/src/main/java/io/xxlabs/messenger/ui/main/groups/GroupMessagesFragment.kt b/app/src/main/java/io/xxlabs/messenger/ui/main/groups/GroupMessagesFragment.kt
index edb94397..0e0eaf97 100644
--- a/app/src/main/java/io/xxlabs/messenger/ui/main/groups/GroupMessagesFragment.kt
+++ b/app/src/main/java/io/xxlabs/messenger/ui/main/groups/GroupMessagesFragment.kt
@@ -13,7 +13,8 @@ import io.xxlabs.messenger.data.room.model.ChatMessage
 import io.xxlabs.messenger.data.room.model.GroupData
 import io.xxlabs.messenger.data.room.model.GroupMessage
 import io.xxlabs.messenger.support.dialog.MenuChatDialog
-import io.xxlabs.messenger.support.extensions.*
+import io.xxlabs.messenger.support.extensions.fromBase64toByteArray
+import io.xxlabs.messenger.support.extensions.navigateSafe
 import io.xxlabs.messenger.support.touch.MessageSwipeController
 import io.xxlabs.messenger.support.touch.SwipeActions
 import io.xxlabs.messenger.ui.dialog.warning.showConfirmDialog
@@ -21,7 +22,6 @@ import io.xxlabs.messenger.ui.main.MainActivity
 import io.xxlabs.messenger.ui.main.chat.ChatMessagesFragment
 import io.xxlabs.messenger.ui.main.chat.ChatMessagesUIController
 import io.xxlabs.messenger.ui.main.chat.adapters.ChatMessagesAdapter
-import io.xxlabs.messenger.ui.dialog.warning.showConfirmDialog
 import javax.inject.Inject
 
 class GroupMessagesFragment : ChatMessagesFragment<GroupMessage>() {
diff --git a/app/src/main/java/io/xxlabs/messenger/ui/main/qrcode/scan/QrCodeScanFragment.kt b/app/src/main/java/io/xxlabs/messenger/ui/main/qrcode/scan/QrCodeScanFragment.kt
index e6c62d00..e607dc72 100644
--- a/app/src/main/java/io/xxlabs/messenger/ui/main/qrcode/scan/QrCodeScanFragment.kt
+++ b/app/src/main/java/io/xxlabs/messenger/ui/main/qrcode/scan/QrCodeScanFragment.kt
@@ -26,8 +26,7 @@ import io.xxlabs.messenger.support.singleExecutorInstance
 import io.xxlabs.messenger.ui.base.BaseFragment
 import io.xxlabs.messenger.ui.main.qrcode.QrCodeViewModel
 import io.xxlabs.messenger.ui.main.qrcode.zxing.ZXingQrCodeAnalyzer
-import kotlinx.android.synthetic.main.fragment_qr_code_scan.cameraFlashControl
-import kotlinx.android.synthetic.main.fragment_qr_code_scan.cameraPreview
+import kotlinx.android.synthetic.main.fragment_qr_code_scan.*
 import javax.inject.Inject
 import com.google.zxing.Result as QrScanResult
 
diff --git a/app/src/main/java/io/xxlabs/messenger/ui/main/qrcode/scan/RoundedSquareMaskView.kt b/app/src/main/java/io/xxlabs/messenger/ui/main/qrcode/scan/RoundedSquareMaskView.kt
index e8453ae7..98810ad8 100644
--- a/app/src/main/java/io/xxlabs/messenger/ui/main/qrcode/scan/RoundedSquareMaskView.kt
+++ b/app/src/main/java/io/xxlabs/messenger/ui/main/qrcode/scan/RoundedSquareMaskView.kt
@@ -2,12 +2,8 @@ package io.xxlabs.messenger.ui.main.qrcode.scan
 
 import android.content.Context
 import android.graphics.*
-import android.os.Build
-import android.os.Build.VERSION_CODES.S
 import android.util.AttributeSet
 import android.view.SurfaceView
-import android.view.View
-import androidx.core.graphics.toRectF
 import androidx.databinding.BindingAdapter
 import io.xxlabs.messenger.R
 import kotlin.math.abs
-- 
GitLab