Remove Microsoft integration

This commit is contained in:
MM20 2023-05-14 21:38:00 +02:00
parent 44e029e4af
commit ff61165a34
No known key found for this signature in database
GPG Key ID: 0B61A8F2DEAFA389
9 changed files with 1 additions and 133 deletions

View File

@ -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),

View File

@ -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

View File

@ -28,10 +28,8 @@ class FileSearchSettingsScreenVM : ViewModel(), KoinComponent {
val loading = mutableStateOf(true)
val nextcloudAccount = mutableStateOf<Account?>(null)
val owncloudAccount = mutableStateOf<Account?>(null)
val microsoftAccount = mutableStateOf<Account?>(null)
val googleAccount = mutableStateOf<Account?>(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
}

View File

@ -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) {

View File

@ -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<Account?>(null)
val msUser= mutableStateOf<Account?>(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
}

View File

@ -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))

View File

@ -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<File> {
if (query.length < 4) return emptyList()
val driveItems = MicrosoftGraphApiHelper.getInstance(context).queryOneDriveFiles(query)
?: return emptyList()
val files = mutableListOf<OneDriveFile>()
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<Pair<Int, String>> {
val metaData = mutableListOf<Pair<Int, String>>()
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
}
}

View File

@ -2,7 +2,6 @@ package de.mm20.launcher2.accounts
enum class AccountType {
Google,
Microsoft,
Nextcloud,
Owncloud,
}

View File

@ -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()
}