diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/settings/buildinfo/BuildInfoSettingsScreenVM.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/settings/buildinfo/BuildInfoSettingsScreenVM.kt index b562b629..3e629b79 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/settings/buildinfo/BuildInfoSettingsScreenVM.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/settings/buildinfo/BuildInfoSettingsScreenVM.kt @@ -16,7 +16,6 @@ class BuildInfoSettingsScreenVM : ViewModel(), KoinComponent { val buildFeatures = mapOf( "Accounts: Google" to accountsRepository.isSupported(AccountType.Google), - "Accounts: Microsoft" to accountsRepository.isSupported(AccountType.Microsoft), "Weather providers: HERE" to availableWeatherProviders.contains(WeatherProvider.Here), "Weather providers: Met No" to availableWeatherProviders.contains(WeatherProvider.MetNo), "Weather providers: OpenWeatherMap" to availableWeatherProviders.contains(WeatherProvider.OpenWeatherMap), diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/settings/filesearch/FileSearchSettingsScreen.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/settings/filesearch/FileSearchSettingsScreen.kt index b014ac30..ef7ef245 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/settings/filesearch/FileSearchSettingsScreen.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/settings/filesearch/FileSearchSettingsScreen.kt @@ -140,41 +140,6 @@ fun FileSearchSettingsScreen() { enabled = owncloudAccount != null ) - if (viewModel.microsoftAvailable) { - val onedrive by viewModel.onedrive.collectAsState() - val microsoftAccount by viewModel.microsoftAccount - AnimatedVisibility(microsoftAccount == null) { - Banner( - text = stringResource(R.string.no_account_microsoft), - icon = Icons.Rounded.AccountBox, - primaryAction = { - TextButton(onClick = { - viewModel.login( - context as AppCompatActivity, - AccountType.Microsoft - ) - }) { - Text( - stringResource(R.string.connect_account), - ) - } - }, - modifier = Modifier.padding(16.dp) - ) - } - SwitchPreference( - title = stringResource(R.string.preference_search_onedrive), - summary = microsoftAccount?.let { - stringResource(R.string.preference_search_onedrive_summary, it.userName) - } ?: stringResource(R.string.preference_summary_not_logged_in), - value = onedrive == true && microsoftAccount != null, - onValueChanged = { - viewModel.setOneDrive(it) - }, - enabled = microsoftAccount != null - ) - } - if (viewModel.googleAvailable) { val gdrive by viewModel.gdrive.collectAsState() val googleAccount by viewModel.googleAccount diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/settings/filesearch/FileSearchSettingsScreenVM.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/settings/filesearch/FileSearchSettingsScreenVM.kt index aa4fc8c5..af6c07d2 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/settings/filesearch/FileSearchSettingsScreenVM.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/settings/filesearch/FileSearchSettingsScreenVM.kt @@ -28,10 +28,8 @@ class FileSearchSettingsScreenVM : ViewModel(), KoinComponent { val loading = mutableStateOf(true) val nextcloudAccount = mutableStateOf(null) val owncloudAccount = mutableStateOf(null) - val microsoftAccount = mutableStateOf(null) val googleAccount = mutableStateOf(null) - val microsoftAvailable = accountsRepository.isSupported(AccountType.Microsoft) val googleAvailable = accountsRepository.isSupported(AccountType.Google) fun onResume() { @@ -40,8 +38,6 @@ class FileSearchSettingsScreenVM : ViewModel(), KoinComponent { accountsRepository.getCurrentlySignedInAccount(AccountType.Nextcloud) owncloudAccount.value = accountsRepository.getCurrentlySignedInAccount(AccountType.Owncloud) - microsoftAccount.value = - accountsRepository.getCurrentlySignedInAccount(AccountType.Microsoft) googleAccount.value = accountsRepository.getCurrentlySignedInAccount(AccountType.Google) loading.value = false } diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/settings/integrations/IntegrationsSettingsScreen.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/settings/integrations/IntegrationsSettingsScreen.kt index 9cd86a45..b220fa8a 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/settings/integrations/IntegrationsSettingsScreen.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/settings/integrations/IntegrationsSettingsScreen.kt @@ -126,29 +126,7 @@ fun IntegrationsSettingsScreen() { }, enabled = !loading, ) - if (viewModel.isMicrosoftAvailable) { - Preference( - title = if (msUser != null) { - stringResource(R.string.preference_microsoft) - } else { - stringResource(R.string.preference_ms_signin) - }, - summary = msUser?.let { - stringResource(R.string.preference_signin_user, it.userName) - } ?: stringResource(R.string.preference_ms_signin_summary), - onClick = { - if (msUser != null) { - viewModel.signOut(AccountType.Microsoft) - } else { - viewModel.signIn( - context as AppCompatActivity, - AccountType.Microsoft - ) - } - }, - enabled = !loading, - ) - } + if (viewModel.isGoogleAvailable) { Preference( title = if (googleUser != null) { diff --git a/app/ui/src/main/java/de/mm20/launcher2/ui/settings/integrations/IntegrationsSettingsScreenVM.kt b/app/ui/src/main/java/de/mm20/launcher2/ui/settings/integrations/IntegrationsSettingsScreenVM.kt index 4520e570..97574426 100644 --- a/app/ui/src/main/java/de/mm20/launcher2/ui/settings/integrations/IntegrationsSettingsScreenVM.kt +++ b/app/ui/src/main/java/de/mm20/launcher2/ui/settings/integrations/IntegrationsSettingsScreenVM.kt @@ -15,7 +15,6 @@ class IntegrationsSettingsScreenVM : ViewModel(), KoinComponent { private val accountsRepository: AccountsRepository by inject() val isGoogleAvailable = accountsRepository.isSupported(AccountType.Google) - val isMicrosoftAvailable = accountsRepository.isSupported(AccountType.Microsoft) val googleUser = mutableStateOf(null) val msUser= mutableStateOf(null) @@ -29,7 +28,6 @@ class IntegrationsSettingsScreenVM : ViewModel(), KoinComponent { loading.value = true googleUser.value = accountsRepository.getCurrentlySignedInAccount(AccountType.Google) nextcloudUser.value = accountsRepository.getCurrentlySignedInAccount(AccountType.Nextcloud) - msUser.value = accountsRepository.getCurrentlySignedInAccount(AccountType.Microsoft) owncloudUser.value = accountsRepository.getCurrentlySignedInAccount(AccountType.Owncloud) loading.value = false } @@ -43,7 +41,6 @@ class IntegrationsSettingsScreenVM : ViewModel(), KoinComponent { accountsRepository.signout(accountType) when(accountType){ AccountType.Google -> googleUser.value = null - AccountType.Microsoft -> msUser.value = null AccountType.Nextcloud -> nextcloudUser.value = null AccountType.Owncloud -> owncloudUser.value = null } diff --git a/data/files/src/main/java/de/mm20/launcher2/files/FilesRepository.kt b/data/files/src/main/java/de/mm20/launcher2/files/FilesRepository.kt index 4a0636e0..74792735 100644 --- a/data/files/src/main/java/de/mm20/launcher2/files/FilesRepository.kt +++ b/data/files/src/main/java/de/mm20/launcher2/files/FilesRepository.kt @@ -5,7 +5,6 @@ import de.mm20.launcher2.files.providers.FileProvider import de.mm20.launcher2.files.providers.GDriveFileProvider import de.mm20.launcher2.files.providers.LocalFileProvider import de.mm20.launcher2.files.providers.NextcloudFileProvider -import de.mm20.launcher2.files.providers.OneDriveFileProvider import de.mm20.launcher2.files.providers.OwncloudFileProvider import de.mm20.launcher2.nextcloud.NextcloudApiHelper import de.mm20.launcher2.owncloud.OwncloudClient @@ -65,7 +64,6 @@ internal class FileRepositoryImpl( if (local) providers.add(LocalFileProvider(context, permissionsManager)) if (gdrive) providers.add(GDriveFileProvider(context)) - //if (onedrive) providers.add(OneDriveFileProvider(context)) if (nextcloud) providers.add(NextcloudFileProvider(nextcloudClient)) if (owncloud) providers.add(OwncloudFileProvider(owncloudClient)) diff --git a/data/files/src/main/java/de/mm20/launcher2/files/providers/OneDriveFileProvider.kt b/data/files/src/main/java/de/mm20/launcher2/files/providers/OneDriveFileProvider.kt deleted file mode 100644 index 57a34b9d..00000000 --- a/data/files/src/main/java/de/mm20/launcher2/files/providers/OneDriveFileProvider.kt +++ /dev/null @@ -1,48 +0,0 @@ -package de.mm20.launcher2.files.providers - -import android.content.Context -import de.mm20.launcher2.files.R -import de.mm20.launcher2.msservices.DriveItem -import de.mm20.launcher2.msservices.MicrosoftGraphApiHelper -import de.mm20.launcher2.search.data.File -import de.mm20.launcher2.search.data.OneDriveFile - -internal class OneDriveFileProvider( - private val context: Context -) : FileProvider { - override suspend fun search(query: String): List { - if (query.length < 4) return emptyList() - val driveItems = MicrosoftGraphApiHelper.getInstance(context).queryOneDriveFiles(query) - ?: return emptyList() - val files = mutableListOf() - for (driveItem in driveItems) { - files += OneDriveFile( - fileId = driveItem.id, - label = driveItem.label, - path = "", - mimeType = driveItem.mimeType, - size = driveItem.size, - isDirectory = driveItem.isDirectory, - metaData = getMetaData(driveItem), - webUrl = driveItem.webUrl - ) - } - return files - } - - private fun getMetaData(driveItem: DriveItem): List> { - val metaData = mutableListOf>() - driveItem.meta.owner?.let { - metaData.add(R.string.file_meta_owner to it) - } ?: driveItem.meta.createdBy?.let { - metaData.add(R.string.file_meta_owner to it) - } - val width = driveItem.meta.width - val height = driveItem.meta.height - - if (width != null && height != null) { - metaData.add(R.string.file_meta_dimensions to "${width}x${height}") - } - return metaData - } -} \ No newline at end of file diff --git a/services/accounts/src/main/java/de/mm20/launcher2/accounts/AccountType.kt b/services/accounts/src/main/java/de/mm20/launcher2/accounts/AccountType.kt index 982c6b88..bef71441 100644 --- a/services/accounts/src/main/java/de/mm20/launcher2/accounts/AccountType.kt +++ b/services/accounts/src/main/java/de/mm20/launcher2/accounts/AccountType.kt @@ -2,7 +2,6 @@ package de.mm20.launcher2.accounts enum class AccountType { Google, - Microsoft, Nextcloud, Owncloud, } \ No newline at end of file diff --git a/services/accounts/src/main/java/de/mm20/launcher2/accounts/AccountsRepository.kt b/services/accounts/src/main/java/de/mm20/launcher2/accounts/AccountsRepository.kt index 089ca1ff..aeb5d079 100644 --- a/services/accounts/src/main/java/de/mm20/launcher2/accounts/AccountsRepository.kt +++ b/services/accounts/src/main/java/de/mm20/launcher2/accounts/AccountsRepository.kt @@ -3,7 +3,6 @@ package de.mm20.launcher2.accounts import android.app.Activity import android.content.Context import de.mm20.launcher2.gservices.GoogleApiHelper -import de.mm20.launcher2.msservices.MicrosoftGraphApiHelper import de.mm20.launcher2.nextcloud.NextcloudApiHelper import de.mm20.launcher2.owncloud.OwncloudClient import kotlinx.coroutines.CoroutineScope @@ -29,7 +28,6 @@ internal class AccountsRepositoryImpl( private val scope = CoroutineScope(Job() + Dispatchers.Default) private val googleApiHelper = GoogleApiHelper.getInstance(context) - private val msGraphApiHelper = MicrosoftGraphApiHelper.getInstance(context) private val nextcloudApiHelper = NextcloudApiHelper(context) private val owncloudApiHelper = OwncloudClient(context) @@ -40,11 +38,6 @@ internal class AccountsRepositoryImpl( googleApiHelper.login(context) } } - AccountType.Microsoft -> { - scope.launch { - msGraphApiHelper.login(context) - } - } AccountType.Nextcloud -> scope.launch { nextcloudApiHelper.login(context) @@ -61,11 +54,6 @@ internal class AccountsRepositoryImpl( AccountType.Google -> { googleApiHelper.logout() } - AccountType.Microsoft -> { - scope.launch { - msGraphApiHelper.logout() - } - } AccountType.Nextcloud -> { scope.launch { nextcloudApiHelper.logout() @@ -80,7 +68,6 @@ internal class AccountsRepositoryImpl( override fun isSupported(accountType: AccountType): Boolean { return when (accountType) { AccountType.Google -> googleApiHelper.isAvailable() - AccountType.Microsoft -> false AccountType.Nextcloud -> true AccountType.Owncloud -> true } @@ -91,9 +78,6 @@ internal class AccountsRepositoryImpl( AccountType.Google -> { getGoogleAccount() } - AccountType.Microsoft -> { - getMicrosoftAccount() - } AccountType.Nextcloud -> { getNextcloudAccount() }