From da9462b482c77b71d6623be43a6aa1eda3d7cc06 Mon Sep 17 00:00:00 2001
From: Joas Schilling <coding@schilljs.com>
Date: Tue, 1 Dec 2020 14:33:22 +0100
Subject: [PATCH] Make code strict

Signed-off-by: Joas Schilling <coding@schilljs.com>
---
 apps/dav/lib/CardDAV/Converter.php            | 19 ++--
 apps/dav/tests/unit/CardDAV/ConverterTest.php | 17 ++--
 .../tests/unit/CardDAV/SyncServiceTest.php    | 15 +--
 .../lib/Controller/AUserData.php              | 13 +--
 .../lib/Controller/UsersController.php        | 49 +++++-----
 .../tests/Controller/GroupsControllerTest.php |  9 +-
 .../tests/Controller/UsersControllerTest.php  | 49 +++++-----
 .../lib/BackgroundJobs/VerifyUserData.php     | 11 ++-
 .../lib/Controller/UsersController.php        | 98 ++++++++++---------
 .../lib/Settings/Personal/PersonalInfo.php    | 65 ++++++------
 .../tests/Controller/UsersControllerTest.php  | 91 ++++++++---------
 lib/private/Accounts/AccountManager.php       |  2 +-
 lib/private/Accounts/Hooks.php                |  9 +-
 tests/lib/Accounts/HooksTest.php              | 29 +++---
 14 files changed, 240 insertions(+), 236 deletions(-)

diff --git a/apps/dav/lib/CardDAV/Converter.php b/apps/dav/lib/CardDAV/Converter.php
index dd7ceb77c55..8602d3b4ed9 100644
--- a/apps/dav/lib/CardDAV/Converter.php
+++ b/apps/dav/lib/CardDAV/Converter.php
@@ -26,6 +26,7 @@
 namespace OCA\DAV\CardDAV;
 
 use OC\Accounts\AccountManager;
+use OCP\Accounts\IAccountManager;
 use OCP\IImage;
 use OCP\IUser;
 use Sabre\VObject\Component\VCard;
@@ -62,8 +63,8 @@ class Converter {
 
 		$publish = false;
 
-		if ($image !== null && isset($userData[AccountManager::PROPERTY_AVATAR])) {
-			$userData[AccountManager::PROPERTY_AVATAR]['value'] = true;
+		if ($image !== null && isset($userData[IAccountManager::PROPERTY_AVATAR])) {
+			$userData[IAccountManager::PROPERTY_AVATAR]['value'] = true;
 		}
 
 		foreach ($userData as $property => $value) {
@@ -76,28 +77,28 @@ class Converter {
 			if ($shareWithTrustedServers && !$emptyValue) {
 				$publish = true;
 				switch ($property) {
-					case AccountManager::PROPERTY_DISPLAYNAME:
+					case IAccountManager::PROPERTY_DISPLAYNAME:
 						$vCard->add(new Text($vCard, 'FN', $value['value']));
 						$vCard->add(new Text($vCard, 'N', $this->splitFullName($value['value'])));
 						break;
-					case AccountManager::PROPERTY_AVATAR:
+					case IAccountManager::PROPERTY_AVATAR:
 						if ($image !== null) {
 							$vCard->add('PHOTO', $image->data(), ['ENCODING' => 'b', 'TYPE' => $image->mimeType()]);
 						}
 						break;
-					case AccountManager::PROPERTY_EMAIL:
+					case IAccountManager::PROPERTY_EMAIL:
 						$vCard->add(new Text($vCard, 'EMAIL', $value['value'], ['TYPE' => 'OTHER']));
 						break;
-					case AccountManager::PROPERTY_WEBSITE:
+					case IAccountManager::PROPERTY_WEBSITE:
 						$vCard->add(new Text($vCard, 'URL', $value['value']));
 						break;
-					case AccountManager::PROPERTY_PHONE:
+					case IAccountManager::PROPERTY_PHONE:
 						$vCard->add(new Text($vCard, 'TEL', $value['value'], ['TYPE' => 'OTHER']));
 						break;
-					case AccountManager::PROPERTY_ADDRESS:
+					case IAccountManager::PROPERTY_ADDRESS:
 						$vCard->add(new Text($vCard, 'ADR', $value['value'], ['TYPE' => 'OTHER']));
 						break;
-					case AccountManager::PROPERTY_TWITTER:
+					case IAccountManager::PROPERTY_TWITTER:
 						$vCard->add(new Text($vCard, 'X-SOCIALPROFILE', $value['value'], ['TYPE' => 'TWITTER']));
 						break;
 				}
diff --git a/apps/dav/tests/unit/CardDAV/ConverterTest.php b/apps/dav/tests/unit/CardDAV/ConverterTest.php
index 8b4125c6c68..aef5cf8ef1c 100644
--- a/apps/dav/tests/unit/CardDAV/ConverterTest.php
+++ b/apps/dav/tests/unit/CardDAV/ConverterTest.php
@@ -29,13 +29,14 @@ namespace OCA\DAV\Tests\unit\CardDAV;
 
 use OC\Accounts\AccountManager;
 use OCA\DAV\CardDAV\Converter;
+use OCP\Accounts\IAccountManager;
 use OCP\IImage;
 use OCP\IUser;
 use Test\TestCase;
 
 class ConverterTest extends TestCase {
 
-	/** @var  AccountManager | \PHPUnit\Framework\MockObject\MockObject */
+	/** @var AccountManager|\PHPUnit\Framework\MockObject\MockObject */
 	private $accountManager;
 
 	protected function setUp(): void {
@@ -49,36 +50,36 @@ class ConverterTest extends TestCase {
 			->disableOriginalConstructor()->getMock();
 		$accountManager->expects($this->any())->method('getUser')->willReturn(
 			[
-				AccountManager::PROPERTY_DISPLAYNAME =>
+				IAccountManager::PROPERTY_DISPLAYNAME =>
 					[
 						'value' => $user->getDisplayName(),
 						'scope' => AccountManager::VISIBILITY_CONTACTS_ONLY,
 					],
-				AccountManager::PROPERTY_ADDRESS =>
+				IAccountManager::PROPERTY_ADDRESS =>
 					[
 						'value' => '',
 						'scope' => AccountManager::VISIBILITY_PRIVATE,
 					],
-				AccountManager::PROPERTY_WEBSITE =>
+				IAccountManager::PROPERTY_WEBSITE =>
 					[
 						'value' => '',
 						'scope' => AccountManager::VISIBILITY_PRIVATE,
 					],
-				AccountManager::PROPERTY_EMAIL =>
+				IAccountManager::PROPERTY_EMAIL =>
 					[
 						'value' => $user->getEMailAddress(),
 						'scope' => AccountManager::VISIBILITY_CONTACTS_ONLY,
 					],
-				AccountManager::PROPERTY_AVATAR =>
+				IAccountManager::PROPERTY_AVATAR =>
 					[
 						'scope' => AccountManager::VISIBILITY_CONTACTS_ONLY
 					],
-				AccountManager::PROPERTY_PHONE =>
+				IAccountManager::PROPERTY_PHONE =>
 					[
 						'value' => '',
 						'scope' => AccountManager::VISIBILITY_PRIVATE,
 					],
-				AccountManager::PROPERTY_TWITTER =>
+				IAccountManager::PROPERTY_TWITTER =>
 					[
 						'value' => '',
 						'scope' => AccountManager::VISIBILITY_PRIVATE,
diff --git a/apps/dav/tests/unit/CardDAV/SyncServiceTest.php b/apps/dav/tests/unit/CardDAV/SyncServiceTest.php
index 0a474d649bc..eb8186807c6 100644
--- a/apps/dav/tests/unit/CardDAV/SyncServiceTest.php
+++ b/apps/dav/tests/unit/CardDAV/SyncServiceTest.php
@@ -31,6 +31,7 @@ namespace OCA\DAV\Tests\unit\CardDAV;
 use OC\Accounts\AccountManager;
 use OCA\DAV\CardDAV\CardDavBackend;
 use OCA\DAV\CardDAV\SyncService;
+use OCP\Accounts\IAccountManager;
 use OCP\ILogger;
 use OCP\IUser;
 use OCP\IUserManager;
@@ -132,36 +133,36 @@ class SyncServiceTest extends TestCase {
 		$accountManager = $this->getMockBuilder(AccountManager::class)->disableOriginalConstructor()->getMock();
 		$accountManager->expects($this->any())->method('getUser')
 			->willReturn([
-				AccountManager::PROPERTY_DISPLAYNAME =>
+				IAccountManager::PROPERTY_DISPLAYNAME =>
 					[
 						'value' => $user->getDisplayName(),
 						'scope' => AccountManager::VISIBILITY_CONTACTS_ONLY,
 					],
-				AccountManager::PROPERTY_ADDRESS =>
+				IAccountManager::PROPERTY_ADDRESS =>
 					[
 						'value' => '',
 						'scope' => AccountManager::VISIBILITY_PRIVATE,
 					],
-				AccountManager::PROPERTY_WEBSITE =>
+				IAccountManager::PROPERTY_WEBSITE =>
 					[
 						'value' => '',
 						'scope' => AccountManager::VISIBILITY_PRIVATE,
 					],
-				AccountManager::PROPERTY_EMAIL =>
+				IAccountManager::PROPERTY_EMAIL =>
 					[
 						'value' => $user->getEMailAddress(),
 						'scope' => AccountManager::VISIBILITY_CONTACTS_ONLY,
 					],
-				AccountManager::PROPERTY_AVATAR =>
+				IAccountManager::PROPERTY_AVATAR =>
 					[
 						'scope' => AccountManager::VISIBILITY_CONTACTS_ONLY
 					],
-				AccountManager::PROPERTY_PHONE =>
+				IAccountManager::PROPERTY_PHONE =>
 					[
 						'value' => '',
 						'scope' => AccountManager::VISIBILITY_PRIVATE,
 					],
-				AccountManager::PROPERTY_TWITTER =>
+				IAccountManager::PROPERTY_TWITTER =>
 					[
 						'value' => '',
 						'scope' => AccountManager::VISIBILITY_PRIVATE,
diff --git a/apps/provisioning_api/lib/Controller/AUserData.php b/apps/provisioning_api/lib/Controller/AUserData.php
index 131db91add9..b7b31b18b53 100644
--- a/apps/provisioning_api/lib/Controller/AUserData.php
+++ b/apps/provisioning_api/lib/Controller/AUserData.php
@@ -35,6 +35,7 @@ use OC\Accounts\AccountManager;
 use OC\User\Backend;
 use OC\User\NoUserException;
 use OC_Helper;
+use OCP\Accounts\IAccountManager;
 use OCP\AppFramework\OCS\OCSException;
 use OCP\AppFramework\OCS\OCSNotFoundException;
 use OCP\AppFramework\OCSController;
@@ -135,12 +136,12 @@ abstract class AUserData extends OCSController {
 		$data['backend'] = $targetUserObject->getBackendClassName();
 		$data['subadmin'] = $this->getUserSubAdminGroupsData($targetUserObject->getUID());
 		$data['quota'] = $this->fillStorageInfo($targetUserObject->getUID());
-		$data[AccountManager::PROPERTY_EMAIL] = $targetUserObject->getEMailAddress();
-		$data[AccountManager::PROPERTY_DISPLAYNAME] = $targetUserObject->getDisplayName();
-		$data[AccountManager::PROPERTY_PHONE] = $userAccount[AccountManager::PROPERTY_PHONE]['value'];
-		$data[AccountManager::PROPERTY_ADDRESS] = $userAccount[AccountManager::PROPERTY_ADDRESS]['value'];
-		$data[AccountManager::PROPERTY_WEBSITE] = $userAccount[AccountManager::PROPERTY_WEBSITE]['value'];
-		$data[AccountManager::PROPERTY_TWITTER] = $userAccount[AccountManager::PROPERTY_TWITTER]['value'];
+		$data[IAccountManager::PROPERTY_EMAIL] = $targetUserObject->getEMailAddress();
+		$data[IAccountManager::PROPERTY_DISPLAYNAME] = $targetUserObject->getDisplayName();
+		$data[IAccountManager::PROPERTY_PHONE] = $userAccount[IAccountManager::PROPERTY_PHONE]['value'];
+		$data[IAccountManager::PROPERTY_ADDRESS] = $userAccount[IAccountManager::PROPERTY_ADDRESS]['value'];
+		$data[IAccountManager::PROPERTY_WEBSITE] = $userAccount[IAccountManager::PROPERTY_WEBSITE]['value'];
+		$data[IAccountManager::PROPERTY_TWITTER] = $userAccount[IAccountManager::PROPERTY_TWITTER]['value'];
 		$data['groups'] = $gids;
 		$data['language'] = $this->l10nFactory->getUserLanguage($targetUserObject);
 		$data['locale'] = $this->config->getUserValue($targetUserObject->getUID(), 'core', 'locale');
diff --git a/apps/provisioning_api/lib/Controller/UsersController.php b/apps/provisioning_api/lib/Controller/UsersController.php
index fd143a0e466..ddde254ed41 100644
--- a/apps/provisioning_api/lib/Controller/UsersController.php
+++ b/apps/provisioning_api/lib/Controller/UsersController.php
@@ -46,6 +46,7 @@ use OC\Authentication\Token\RemoteWipe;
 use OC\HintException;
 use OCA\Provisioning_API\FederatedShareProviderFactory;
 use OCA\Settings\Mailer\NewUserMailHelper;
+use OCP\Accounts\IAccountManager;
 use OCP\App\IAppManager;
 use OCP\AppFramework\Http\DataResponse;
 use OCP\AppFramework\OCS\OCSException;
@@ -431,17 +432,17 @@ class UsersController extends AUserData {
 
 		// Editing self (display, email)
 		if ($this->config->getSystemValue('allow_user_to_change_display_name', true) !== false) {
-			$permittedFields[] = AccountManager::PROPERTY_DISPLAYNAME;
-			$permittedFields[] = AccountManager::PROPERTY_EMAIL;
+			$permittedFields[] = IAccountManager::PROPERTY_DISPLAYNAME;
+			$permittedFields[] = IAccountManager::PROPERTY_EMAIL;
 		}
 
 		if ($this->appManager->isEnabledForUser('federatedfilesharing')) {
 			$shareProvider = $this->federatedShareProviderFactory->get();
 			if ($shareProvider->isLookupServerUploadEnabled()) {
-				$permittedFields[] = AccountManager::PROPERTY_PHONE;
-				$permittedFields[] = AccountManager::PROPERTY_ADDRESS;
-				$permittedFields[] = AccountManager::PROPERTY_WEBSITE;
-				$permittedFields[] = AccountManager::PROPERTY_TWITTER;
+				$permittedFields[] = IAccountManager::PROPERTY_PHONE;
+				$permittedFields[] = IAccountManager::PROPERTY_ADDRESS;
+				$permittedFields[] = IAccountManager::PROPERTY_WEBSITE;
+				$permittedFields[] = IAccountManager::PROPERTY_TWITTER;
 			}
 		}
 
@@ -474,8 +475,8 @@ class UsersController extends AUserData {
 			// Editing self (display, email)
 			if ($this->config->getSystemValue('allow_user_to_change_display_name', true) !== false) {
 				$permittedFields[] = 'display';
-				$permittedFields[] = AccountManager::PROPERTY_DISPLAYNAME;
-				$permittedFields[] = AccountManager::PROPERTY_EMAIL;
+				$permittedFields[] = IAccountManager::PROPERTY_DISPLAYNAME;
+				$permittedFields[] = IAccountManager::PROPERTY_EMAIL;
 			}
 
 			$permittedFields[] = 'password';
@@ -492,10 +493,10 @@ class UsersController extends AUserData {
 			if ($this->appManager->isEnabledForUser('federatedfilesharing')) {
 				$shareProvider = $this->federatedShareProviderFactory->get();
 				if ($shareProvider->isLookupServerUploadEnabled()) {
-					$permittedFields[] = AccountManager::PROPERTY_PHONE;
-					$permittedFields[] = AccountManager::PROPERTY_ADDRESS;
-					$permittedFields[] = AccountManager::PROPERTY_WEBSITE;
-					$permittedFields[] = AccountManager::PROPERTY_TWITTER;
+					$permittedFields[] = IAccountManager::PROPERTY_PHONE;
+					$permittedFields[] = IAccountManager::PROPERTY_ADDRESS;
+					$permittedFields[] = IAccountManager::PROPERTY_WEBSITE;
+					$permittedFields[] = IAccountManager::PROPERTY_TWITTER;
 				}
 			}
 
@@ -510,15 +511,15 @@ class UsersController extends AUserData {
 			|| $subAdminManager->isUserAccessible($currentLoggedInUser, $targetUser)) {
 				// They have permissions over the user
 				$permittedFields[] = 'display';
-				$permittedFields[] = AccountManager::PROPERTY_DISPLAYNAME;
-				$permittedFields[] = AccountManager::PROPERTY_EMAIL;
+				$permittedFields[] = IAccountManager::PROPERTY_DISPLAYNAME;
+				$permittedFields[] = IAccountManager::PROPERTY_EMAIL;
 				$permittedFields[] = 'password';
 				$permittedFields[] = 'language';
 				$permittedFields[] = 'locale';
-				$permittedFields[] = AccountManager::PROPERTY_PHONE;
-				$permittedFields[] = AccountManager::PROPERTY_ADDRESS;
-				$permittedFields[] = AccountManager::PROPERTY_WEBSITE;
-				$permittedFields[] = AccountManager::PROPERTY_TWITTER;
+				$permittedFields[] = IAccountManager::PROPERTY_PHONE;
+				$permittedFields[] = IAccountManager::PROPERTY_ADDRESS;
+				$permittedFields[] = IAccountManager::PROPERTY_WEBSITE;
+				$permittedFields[] = IAccountManager::PROPERTY_TWITTER;
 				$permittedFields[] = 'quota';
 			} else {
 				// No rights
@@ -532,7 +533,7 @@ class UsersController extends AUserData {
 		// Process the edit
 		switch ($key) {
 			case 'display':
-			case AccountManager::PROPERTY_DISPLAYNAME:
+			case IAccountManager::PROPERTY_DISPLAYNAME:
 				$targetUser->setDisplayName($value);
 				break;
 			case 'quota':
@@ -577,17 +578,17 @@ class UsersController extends AUserData {
 				}
 				$this->config->setUserValue($targetUser->getUID(), 'core', 'locale', $value);
 				break;
-			case AccountManager::PROPERTY_EMAIL:
+			case IAccountManager::PROPERTY_EMAIL:
 				if (filter_var($value, FILTER_VALIDATE_EMAIL) || $value === '') {
 					$targetUser->setEMailAddress($value);
 				} else {
 					throw new OCSException('', 102);
 				}
 				break;
-			case AccountManager::PROPERTY_PHONE:
-			case AccountManager::PROPERTY_ADDRESS:
-			case AccountManager::PROPERTY_WEBSITE:
-			case AccountManager::PROPERTY_TWITTER:
+			case IAccountManager::PROPERTY_PHONE:
+			case IAccountManager::PROPERTY_ADDRESS:
+			case IAccountManager::PROPERTY_WEBSITE:
+			case IAccountManager::PROPERTY_TWITTER:
 				$userAccount = $this->accountManager->getUser($targetUser);
 				if ($userAccount[$key]['value'] !== $value) {
 					$userAccount[$key]['value'] = $value;
diff --git a/apps/provisioning_api/tests/Controller/GroupsControllerTest.php b/apps/provisioning_api/tests/Controller/GroupsControllerTest.php
index 1973e6f8b6a..bb8ec854390 100644
--- a/apps/provisioning_api/tests/Controller/GroupsControllerTest.php
+++ b/apps/provisioning_api/tests/Controller/GroupsControllerTest.php
@@ -35,6 +35,7 @@ use OC\Group\Manager;
 use OC\SubAdmin;
 use OC\User\NoUserException;
 use OCA\Provisioning_API\Controller\GroupsController;
+use OCP\Accounts\IAccountManager;
 use OCP\IConfig;
 use OCP\ILogger;
 use OCP\IRequest;
@@ -185,10 +186,10 @@ class GroupsControllerTest extends \Test\TestCase {
 			->method('getUser')
 			->willReturnCallback(function (IUser $user) {
 				return [
-					AccountManager::PROPERTY_PHONE => ['value' => '0800-call-' . $user->getUID()],
-					AccountManager::PROPERTY_ADDRESS => ['value' => 'Holzweg 99, 0601 Herrera, Panama'],
-					AccountManager::PROPERTY_WEBSITE => ['value' => 'https://' . $user->getUid() . '.pa'],
-					AccountManager::PROPERTY_TWITTER => ['value' => '@' . $user->getUID()],
+					IAccountManager::PROPERTY_PHONE => ['value' => '0800-call-' . $user->getUID()],
+					IAccountManager::PROPERTY_ADDRESS => ['value' => 'Holzweg 99, 0601 Herrera, Panama'],
+					IAccountManager::PROPERTY_WEBSITE => ['value' => 'https://' . $user->getUid() . '.pa'],
+					IAccountManager::PROPERTY_TWITTER => ['value' => '@' . $user->getUID()],
 				];
 			});
 	}
diff --git a/apps/provisioning_api/tests/Controller/UsersControllerTest.php b/apps/provisioning_api/tests/Controller/UsersControllerTest.php
index d508670d4f6..8bc60551005 100644
--- a/apps/provisioning_api/tests/Controller/UsersControllerTest.php
+++ b/apps/provisioning_api/tests/Controller/UsersControllerTest.php
@@ -48,6 +48,7 @@ use OCA\FederatedFileSharing\FederatedShareProvider;
 use OCA\Provisioning_API\Controller\UsersController;
 use OCA\Provisioning_API\FederatedShareProviderFactory;
 use OCA\Settings\Mailer\NewUserMailHelper;
+use OCP\Accounts\IAccountManager;
 use OCP\App\IAppManager;
 use OCP\AppFramework\Http\DataResponse;
 use OCP\EventDispatcher\IEventDispatcher;
@@ -993,10 +994,10 @@ class UsersControllerTest extends TestCase {
 			->with($targetUser)
 			->willReturn(
 				[
-					AccountManager::PROPERTY_ADDRESS => ['value' => 'address'],
-					AccountManager::PROPERTY_PHONE => ['value' => 'phone'],
-					AccountManager::PROPERTY_TWITTER => ['value' => 'twitter'],
-					AccountManager::PROPERTY_WEBSITE => ['value' => 'website'],
+					IAccountManager::PROPERTY_ADDRESS => ['value' => 'address'],
+					IAccountManager::PROPERTY_PHONE => ['value' => 'phone'],
+					IAccountManager::PROPERTY_TWITTER => ['value' => 'twitter'],
+					IAccountManager::PROPERTY_WEBSITE => ['value' => 'website'],
 				]
 			);
 		$this->config
@@ -1162,10 +1163,10 @@ class UsersControllerTest extends TestCase {
 			->with($targetUser)
 			->willReturn(
 				[
-					AccountManager::PROPERTY_ADDRESS => ['value' => 'address'],
-					AccountManager::PROPERTY_PHONE => ['value' => 'phone'],
-					AccountManager::PROPERTY_TWITTER => ['value' => 'twitter'],
-					AccountManager::PROPERTY_WEBSITE => ['value' => 'website'],
+					IAccountManager::PROPERTY_ADDRESS => ['value' => 'address'],
+					IAccountManager::PROPERTY_PHONE => ['value' => 'phone'],
+					IAccountManager::PROPERTY_TWITTER => ['value' => 'twitter'],
+					IAccountManager::PROPERTY_WEBSITE => ['value' => 'website'],
 				]
 			);
 
@@ -1333,10 +1334,10 @@ class UsersControllerTest extends TestCase {
 			->with($targetUser)
 			->willReturn(
 				[
-					AccountManager::PROPERTY_ADDRESS => ['value' => 'address'],
-					AccountManager::PROPERTY_PHONE => ['value' => 'phone'],
-					AccountManager::PROPERTY_TWITTER => ['value' => 'twitter'],
-					AccountManager::PROPERTY_WEBSITE => ['value' => 'website'],
+					IAccountManager::PROPERTY_ADDRESS => ['value' => 'address'],
+					IAccountManager::PROPERTY_PHONE => ['value' => 'phone'],
+					IAccountManager::PROPERTY_TWITTER => ['value' => 'twitter'],
+					IAccountManager::PROPERTY_WEBSITE => ['value' => 'website'],
 				]
 			);
 
@@ -3566,22 +3567,22 @@ class UsersControllerTest extends TestCase {
 		return [
 			[false, false, []],
 			[false,  true, [
-				AccountManager::PROPERTY_PHONE,
-				AccountManager::PROPERTY_ADDRESS,
-				AccountManager::PROPERTY_WEBSITE,
-				AccountManager::PROPERTY_TWITTER,
+				IAccountManager::PROPERTY_PHONE,
+				IAccountManager::PROPERTY_ADDRESS,
+				IAccountManager::PROPERTY_WEBSITE,
+				IAccountManager::PROPERTY_TWITTER,
 			]],
 			[ true, false, [
-				AccountManager::PROPERTY_DISPLAYNAME,
-				AccountManager::PROPERTY_EMAIL,
+				IAccountManager::PROPERTY_DISPLAYNAME,
+				IAccountManager::PROPERTY_EMAIL,
 			]],
 			[ true,  true ,[
-				AccountManager::PROPERTY_DISPLAYNAME,
-				AccountManager::PROPERTY_EMAIL,
-				AccountManager::PROPERTY_PHONE,
-				AccountManager::PROPERTY_ADDRESS,
-				AccountManager::PROPERTY_WEBSITE,
-				AccountManager::PROPERTY_TWITTER,
+				IAccountManager::PROPERTY_DISPLAYNAME,
+				IAccountManager::PROPERTY_EMAIL,
+				IAccountManager::PROPERTY_PHONE,
+				IAccountManager::PROPERTY_ADDRESS,
+				IAccountManager::PROPERTY_WEBSITE,
+				IAccountManager::PROPERTY_TWITTER,
 			]]
 		];
 	}
diff --git a/apps/settings/lib/BackgroundJobs/VerifyUserData.php b/apps/settings/lib/BackgroundJobs/VerifyUserData.php
index 0faa9b56e82..d1b6d835fa4 100644
--- a/apps/settings/lib/BackgroundJobs/VerifyUserData.php
+++ b/apps/settings/lib/BackgroundJobs/VerifyUserData.php
@@ -30,6 +30,7 @@
 namespace OCA\Settings\BackgroundJobs;
 
 use OC\Accounts\AccountManager;
+use OCP\Accounts\IAccountManager;
 use OCP\AppFramework\Http;
 use OCP\BackgroundJob\IJobList;
 use OCP\BackgroundJob\Job;
@@ -114,11 +115,11 @@ class VerifyUserData extends Job {
 		$try = (int)$argument['try'] + 1;
 
 		switch ($argument['type']) {
-			case AccountManager::PROPERTY_WEBSITE:
+			case IAccountManager::PROPERTY_WEBSITE:
 				$result = $this->verifyWebsite($argument);
 				break;
-			case AccountManager::PROPERTY_TWITTER:
-			case AccountManager::PROPERTY_EMAIL:
+			case IAccountManager::PROPERTY_TWITTER:
+			case IAccountManager::PROPERTY_EMAIL:
 				$result = $this->verifyViaLookupServer($argument, $argument['type']);
 				break;
 			default:
@@ -164,9 +165,9 @@ class VerifyUserData extends Job {
 			$userData = $this->accountManager->getUser($user);
 
 			if ($publishedCodeSanitized === $argument['verificationCode']) {
-				$userData[AccountManager::PROPERTY_WEBSITE]['verified'] = AccountManager::VERIFIED;
+				$userData[IAccountManager::PROPERTY_WEBSITE]['verified'] = AccountManager::VERIFIED;
 			} else {
-				$userData[AccountManager::PROPERTY_WEBSITE]['verified'] = AccountManager::NOT_VERIFIED;
+				$userData[IAccountManager::PROPERTY_WEBSITE]['verified'] = AccountManager::NOT_VERIFIED;
 			}
 
 			$this->accountManager->updateUser($user, $userData);
diff --git a/apps/settings/lib/Controller/UsersController.php b/apps/settings/lib/Controller/UsersController.php
index cad21c5f3b3..e540698c485 100644
--- a/apps/settings/lib/Controller/UsersController.php
+++ b/apps/settings/lib/Controller/UsersController.php
@@ -1,4 +1,6 @@
 <?php
+
+declare(strict_types=1);
 /**
  * @copyright Copyright (c) 2016, ownCloud, Inc.
  *
@@ -30,7 +32,6 @@
 
 // FIXME: disabled for now to be able to inject IGroupManager and also use
 // getSubAdmin()
-//declare(strict_types=1);
 
 namespace OCA\Settings\Controller;
 
@@ -46,6 +47,7 @@ use OCA\FederatedFileSharing\FederatedShareProvider;
 use OCA\Settings\BackgroundJobs\VerifyUserData;
 use OCA\Settings\Events\BeforeTemplateRenderedEvent;
 use OCA\User_LDAP\User_Proxy;
+use OCP\Accounts\IAccountManager;
 use OCP\App\IAppManager;
 use OCP\AppFramework\Controller;
 use OCP\AppFramework\Http\DataResponse;
@@ -140,7 +142,7 @@ class UsersController extends Controller {
 	 *
 	 * @return TemplateResponse
 	 */
-	public function usersListByGroup() {
+	public function usersListByGroup(): TemplateResponse {
 		return $this->usersList();
 	}
 
@@ -152,7 +154,7 @@ class UsersController extends Controller {
 	 *
 	 * @return TemplateResponse
 	 */
-	public function usersList() {
+	public function usersList(): TemplateResponse {
 		$user = $this->userSession->getUser();
 		$uid = $user->getUID();
 
@@ -309,7 +311,7 @@ class UsersController extends Controller {
 	 *
 	 * @return bool
 	 */
-	protected function canAdminChangeUserPasswords() {
+	protected function canAdminChangeUserPasswords(): bool {
 		$isEncryptionEnabled = $this->encryptionManager->isEnabled();
 		try {
 			$noUserSpecificEncryptionKeys = !$this->encryptionManager->getEncryptionModule()->needDetailedAccessList();
@@ -344,19 +346,19 @@ class UsersController extends Controller {
 	 * @param string $twitterScope
 	 * @return DataResponse
 	 */
-	public function setUserSettings($avatarScope,
-									$displayname,
-									$displaynameScope,
-									$phone,
-									$phoneScope,
-									$email,
-									$emailScope,
-									$website,
-									$websiteScope,
-									$address,
-									$addressScope,
-									$twitter,
-									$twitterScope
+	public function setUserSettings(string $avatarScope,
+									string $displayname,
+									string $displaynameScope,
+									string $phone,
+									string $phoneScope,
+									string $email,
+									string $emailScope,
+									string $website,
+									string $websiteScope,
+									string $address,
+									string $addressScope,
+									string $twitter,
+									string $twitterScope
 	) {
 		$email = strtolower($email);
 		if (!empty($email) && !$this->mailer->validateMailAddress($email)) {
@@ -372,18 +374,18 @@ class UsersController extends Controller {
 		}
 		$user = $this->userSession->getUser();
 		$data = $this->accountManager->getUser($user);
-		$data[AccountManager::PROPERTY_AVATAR] = ['scope' => $avatarScope];
+		$data[IAccountManager::PROPERTY_AVATAR] = ['scope' => $avatarScope];
 		if ($this->config->getSystemValue('allow_user_to_change_display_name', true) !== false) {
-			$data[AccountManager::PROPERTY_DISPLAYNAME] = ['value' => $displayname, 'scope' => $displaynameScope];
-			$data[AccountManager::PROPERTY_EMAIL] = ['value' => $email, 'scope' => $emailScope];
+			$data[IAccountManager::PROPERTY_DISPLAYNAME] = ['value' => $displayname, 'scope' => $displaynameScope];
+			$data[IAccountManager::PROPERTY_EMAIL] = ['value' => $email, 'scope' => $emailScope];
 		}
 		if ($this->appManager->isEnabledForUser('federatedfilesharing')) {
 			$shareProvider = \OC::$server->query(FederatedShareProvider::class);
 			if ($shareProvider->isLookupServerUploadEnabled()) {
-				$data[AccountManager::PROPERTY_WEBSITE] = ['value' => $website, 'scope' => $websiteScope];
-				$data[AccountManager::PROPERTY_ADDRESS] = ['value' => $address, 'scope' => $addressScope];
-				$data[AccountManager::PROPERTY_PHONE] = ['value' => $phone, 'scope' => $phoneScope];
-				$data[AccountManager::PROPERTY_TWITTER] = ['value' => $twitter, 'scope' => $twitterScope];
+				$data[IAccountManager::PROPERTY_WEBSITE] = ['value' => $website, 'scope' => $websiteScope];
+				$data[IAccountManager::PROPERTY_ADDRESS] = ['value' => $address, 'scope' => $addressScope];
+				$data[IAccountManager::PROPERTY_PHONE] = ['value' => $phone, 'scope' => $phoneScope];
+				$data[IAccountManager::PROPERTY_TWITTER] = ['value' => $twitter, 'scope' => $twitterScope];
 			}
 		}
 		try {
@@ -393,15 +395,15 @@ class UsersController extends Controller {
 					'status' => 'success',
 					'data' => [
 						'userId' => $user->getUID(),
-						'avatarScope' => $data[AccountManager::PROPERTY_AVATAR]['scope'],
-						'displayname' => $data[AccountManager::PROPERTY_DISPLAYNAME]['value'],
-						'displaynameScope' => $data[AccountManager::PROPERTY_DISPLAYNAME]['scope'],
-						'email' => $data[AccountManager::PROPERTY_EMAIL]['value'],
-						'emailScope' => $data[AccountManager::PROPERTY_EMAIL]['scope'],
-						'website' => $data[AccountManager::PROPERTY_WEBSITE]['value'],
-						'websiteScope' => $data[AccountManager::PROPERTY_WEBSITE]['scope'],
-						'address' => $data[AccountManager::PROPERTY_ADDRESS]['value'],
-						'addressScope' => $data[AccountManager::PROPERTY_ADDRESS]['scope'],
+						'avatarScope' => $data[IAccountManager::PROPERTY_AVATAR]['scope'],
+						'displayname' => $data[IAccountManager::PROPERTY_DISPLAYNAME]['value'],
+						'displaynameScope' => $data[IAccountManager::PROPERTY_DISPLAYNAME]['scope'],
+						'email' => $data[IAccountManager::PROPERTY_EMAIL]['value'],
+						'emailScope' => $data[IAccountManager::PROPERTY_EMAIL]['scope'],
+						'website' => $data[IAccountManager::PROPERTY_WEBSITE]['value'],
+						'websiteScope' => $data[IAccountManager::PROPERTY_WEBSITE]['scope'],
+						'address' => $data[IAccountManager::PROPERTY_ADDRESS]['value'],
+						'addressScope' => $data[IAccountManager::PROPERTY_ADDRESS]['scope'],
 						'message' => $this->l10n->t('Settings saved')
 					]
 				],
@@ -423,30 +425,30 @@ class UsersController extends Controller {
 	 * @param array $data
 	 * @throws ForbiddenException
 	 */
-	protected function saveUserSettings(IUser $user, array $data) {
+	protected function saveUserSettings(IUser $user, array $data): void {
 		// keep the user back-end up-to-date with the latest display name and email
 		// address
 		$oldDisplayName = $user->getDisplayName();
 		$oldDisplayName = is_null($oldDisplayName) ? '' : $oldDisplayName;
-		if (isset($data[AccountManager::PROPERTY_DISPLAYNAME]['value'])
-			&& $oldDisplayName !== $data[AccountManager::PROPERTY_DISPLAYNAME]['value']
+		if (isset($data[IAccountManager::PROPERTY_DISPLAYNAME]['value'])
+			&& $oldDisplayName !== $data[IAccountManager::PROPERTY_DISPLAYNAME]['value']
 		) {
-			$result = $user->setDisplayName($data[AccountManager::PROPERTY_DISPLAYNAME]['value']);
+			$result = $user->setDisplayName($data[IAccountManager::PROPERTY_DISPLAYNAME]['value']);
 			if ($result === false) {
 				throw new ForbiddenException($this->l10n->t('Unable to change full name'));
 			}
 		}
 		$oldEmailAddress = $user->getEMailAddress();
 		$oldEmailAddress = is_null($oldEmailAddress) ? '' : strtolower($oldEmailAddress);
-		if (isset($data[AccountManager::PROPERTY_EMAIL]['value'])
-			&& $oldEmailAddress !== $data[AccountManager::PROPERTY_EMAIL]['value']
+		if (isset($data[IAccountManager::PROPERTY_EMAIL]['value'])
+			&& $oldEmailAddress !== $data[IAccountManager::PROPERTY_EMAIL]['value']
 		) {
 			// this is the only permission a backend provides and is also used
 			// for the permission of setting a email address
 			if (!$user->canChangeDisplayName()) {
 				throw new ForbiddenException($this->l10n->t('Unable to change email address'));
 			}
-			$user->setEMailAddress($data[AccountManager::PROPERTY_EMAIL]['value']);
+			$user->setEMailAddress($data[IAccountManager::PROPERTY_EMAIL]['value']);
 		}
 		$this->accountManager->updateUser($user, $data);
 	}
@@ -479,19 +481,19 @@ class UsersController extends Controller {
 
 		switch ($account) {
 			case 'verify-twitter':
-				$accountData[AccountManager::PROPERTY_TWITTER]['verified'] = AccountManager::VERIFICATION_IN_PROGRESS;
+				$accountData[IAccountManager::PROPERTY_TWITTER]['verified'] = AccountManager::VERIFICATION_IN_PROGRESS;
 				$msg = $this->l10n->t('In order to verify your Twitter account, post the following tweet on Twitter (please make sure to post it without any line breaks):');
 				$code = $codeMd5;
-				$type = AccountManager::PROPERTY_TWITTER;
-				$data = $accountData[AccountManager::PROPERTY_TWITTER]['value'];
-				$accountData[AccountManager::PROPERTY_TWITTER]['signature'] = $signature;
+				$type = IAccountManager::PROPERTY_TWITTER;
+				$data = $accountData[IAccountManager::PROPERTY_TWITTER]['value'];
+				$accountData[IAccountManager::PROPERTY_TWITTER]['signature'] = $signature;
 				break;
 			case 'verify-website':
-				$accountData[AccountManager::PROPERTY_WEBSITE]['verified'] = AccountManager::VERIFICATION_IN_PROGRESS;
+				$accountData[IAccountManager::PROPERTY_WEBSITE]['verified'] = AccountManager::VERIFICATION_IN_PROGRESS;
 				$msg = $this->l10n->t('In order to verify your Website, store the following content in your web-root at \'.well-known/CloudIdVerificationCode.txt\' (please make sure that the complete text is in one line):');
-				$type = AccountManager::PROPERTY_WEBSITE;
-				$data = $accountData[AccountManager::PROPERTY_WEBSITE]['value'];
-				$accountData[AccountManager::PROPERTY_WEBSITE]['signature'] = $signature;
+				$type = IAccountManager::PROPERTY_WEBSITE;
+				$data = $accountData[IAccountManager::PROPERTY_WEBSITE]['value'];
+				$accountData[IAccountManager::PROPERTY_WEBSITE]['signature'] = $signature;
 				break;
 			default:
 				return new DataResponse([], Http::STATUS_BAD_REQUEST);
diff --git a/apps/settings/lib/Settings/Personal/PersonalInfo.php b/apps/settings/lib/Settings/Personal/PersonalInfo.php
index 06ea440afab..d9f9c2b3a7d 100644
--- a/apps/settings/lib/Settings/Personal/PersonalInfo.php
+++ b/apps/settings/lib/Settings/Personal/PersonalInfo.php
@@ -1,4 +1,6 @@
 <?php
+
+declare(strict_types=1);
 /**
  * @copyright Copyright (c) 2017 Arthur Schiwon <blizzz@arthur-schiwon.de>
  *
@@ -33,6 +35,7 @@ namespace OCA\Settings\Settings\Personal;
 
 use OC\Accounts\AccountManager;
 use OCA\FederatedFileSharing\FederatedShareProvider;
+use OCP\Accounts\IAccountManager;
 use OCP\App\IAppManager;
 use OCP\AppFramework\Http\TemplateResponse;
 use OCP\Files\FileInfo;
@@ -62,14 +65,6 @@ class PersonalInfo implements ISettings {
 	/** @var IL10N */
 	private $l;
 
-	/**
-	 * @param IConfig $config
-	 * @param IUserManager $userManager
-	 * @param IGroupManager $groupManager
-	 * @param AccountManager $accountManager
-	 * @param IFactory $l10nFactory
-	 * @param IL10N $l
-	 */
 	public function __construct(
 		IConfig $config,
 		IUserManager $userManager,
@@ -88,11 +83,7 @@ class PersonalInfo implements ISettings {
 		$this->l = $l;
 	}
 
-	/**
-	 * @return TemplateResponse returns the instance with all parameters set, ready to be rendered
-	 * @since 9.1
-	 */
-	public function getForm() {
+	public function getForm(): TemplateResponse {
 		$federatedFileSharingEnabled = $this->appManager->isEnabledForUser('federatedfilesharing');
 		$lookupServerUploadEnabled = false;
 		if ($federatedFileSharingEnabled) {
@@ -126,23 +117,23 @@ class PersonalInfo implements ISettings {
 			'quota' => $storageInfo['quota'],
 			'avatarChangeSupported' => $user->canChangeAvatar(),
 			'lookupServerUploadEnabled' => $lookupServerUploadEnabled,
-			'avatarScope' => $userData[AccountManager::PROPERTY_AVATAR]['scope'],
+			'avatarScope' => $userData[IAccountManager::PROPERTY_AVATAR]['scope'],
 			'displayNameChangeSupported' => $user->canChangeDisplayName(),
-			'displayName' => $userData[AccountManager::PROPERTY_DISPLAYNAME]['value'],
-			'displayNameScope' => $userData[AccountManager::PROPERTY_DISPLAYNAME]['scope'],
-			'email' => $userData[AccountManager::PROPERTY_EMAIL]['value'],
-			'emailScope' => $userData[AccountManager::PROPERTY_EMAIL]['scope'],
-			'emailVerification' => $userData[AccountManager::PROPERTY_EMAIL]['verified'],
-			'phone' => $userData[AccountManager::PROPERTY_PHONE]['value'],
-			'phoneScope' => $userData[AccountManager::PROPERTY_PHONE]['scope'],
-			'address' => $userData[AccountManager::PROPERTY_ADDRESS]['value'],
-			'addressScope' => $userData[AccountManager::PROPERTY_ADDRESS]['scope'],
-			'website' => $userData[AccountManager::PROPERTY_WEBSITE]['value'],
-			'websiteScope' => $userData[AccountManager::PROPERTY_WEBSITE]['scope'],
-			'websiteVerification' => $userData[AccountManager::PROPERTY_WEBSITE]['verified'],
-			'twitter' => $userData[AccountManager::PROPERTY_TWITTER]['value'],
-			'twitterScope' => $userData[AccountManager::PROPERTY_TWITTER]['scope'],
-			'twitterVerification' => $userData[AccountManager::PROPERTY_TWITTER]['verified'],
+			'displayName' => $userData[IAccountManager::PROPERTY_DISPLAYNAME]['value'],
+			'displayNameScope' => $userData[IAccountManager::PROPERTY_DISPLAYNAME]['scope'],
+			'email' => $userData[IAccountManager::PROPERTY_EMAIL]['value'],
+			'emailScope' => $userData[IAccountManager::PROPERTY_EMAIL]['scope'],
+			'emailVerification' => $userData[IAccountManager::PROPERTY_EMAIL]['verified'],
+			'phone' => $userData[IAccountManager::PROPERTY_PHONE]['value'],
+			'phoneScope' => $userData[IAccountManager::PROPERTY_PHONE]['scope'],
+			'address' => $userData[IAccountManager::PROPERTY_ADDRESS]['value'],
+			'addressScope' => $userData[IAccountManager::PROPERTY_ADDRESS]['scope'],
+			'website' => $userData[IAccountManager::PROPERTY_WEBSITE]['value'],
+			'websiteScope' => $userData[IAccountManager::PROPERTY_WEBSITE]['scope'],
+			'websiteVerification' => $userData[IAccountManager::PROPERTY_WEBSITE]['verified'],
+			'twitter' => $userData[IAccountManager::PROPERTY_TWITTER]['value'],
+			'twitterScope' => $userData[IAccountManager::PROPERTY_TWITTER]['scope'],
+			'twitterVerification' => $userData[IAccountManager::PROPERTY_TWITTER]['verified'],
 			'groups' => $this->getGroups($user),
 		] + $messageParameters + $languageParameters + $localeParameters;
 
@@ -154,7 +145,7 @@ class PersonalInfo implements ISettings {
 	 * @return string the section ID, e.g. 'sharing'
 	 * @since 9.1
 	 */
-	public function getSection() {
+	public function getSection(): string {
 		return 'personal-info';
 	}
 
@@ -166,7 +157,7 @@ class PersonalInfo implements ISettings {
 	 * E.g.: 70
 	 * @since 9.1
 	 */
-	public function getPriority() {
+	public function getPriority(): int {
 		return 10;
 	}
 
@@ -176,9 +167,9 @@ class PersonalInfo implements ISettings {
 	 * @param IUser $user
 	 * @return array
 	 */
-	private function getGroups(IUser $user) {
+	private function getGroups(IUser $user): array {
 		$groups = array_map(
-			function (IGroup $group) {
+			static function (IGroup $group) {
 				return $group->getDisplayName();
 			},
 			$this->groupManager->getUserGroups($user)
@@ -195,7 +186,7 @@ class PersonalInfo implements ISettings {
 	 * @param IUser $user
 	 * @return array
 	 */
-	private function getLanguages(IUser $user) {
+	private function getLanguages(IUser $user): array {
 		$forceLanguage = $this->config->getSystemValue('force_language', false);
 		if ($forceLanguage !== false) {
 			return [];
@@ -228,7 +219,7 @@ class PersonalInfo implements ISettings {
 		);
 	}
 
-	private function getLocales(IUser $user) {
+	private function getLocales(IUser $user): array {
 		$forceLanguage = $this->config->getSystemValue('force_locale', false);
 		if ($forceLanguage !== false) {
 			return [];
@@ -273,8 +264,8 @@ class PersonalInfo implements ISettings {
 	 * @param array $userData
 	 * @return array
 	 */
-	private function getMessageParameters(array $userData) {
-		$needVerifyMessage = [AccountManager::PROPERTY_EMAIL, AccountManager::PROPERTY_WEBSITE, AccountManager::PROPERTY_TWITTER];
+	private function getMessageParameters(array $userData): array {
+		$needVerifyMessage = [IAccountManager::PROPERTY_EMAIL, IAccountManager::PROPERTY_WEBSITE, IAccountManager::PROPERTY_TWITTER];
 		$messageParameters = [];
 		foreach ($needVerifyMessage as $property) {
 			switch ($userData[$property]['verified']) {
diff --git a/apps/settings/tests/Controller/UsersControllerTest.php b/apps/settings/tests/Controller/UsersControllerTest.php
index 4679fd8f7ba..75e71435b0f 100644
--- a/apps/settings/tests/Controller/UsersControllerTest.php
+++ b/apps/settings/tests/Controller/UsersControllerTest.php
@@ -31,6 +31,7 @@ use OC\Accounts\AccountManager;
 use OC\Encryption\Exceptions\ModuleDoesNotExistsException;
 use OC\Group\Manager;
 use OCA\Settings\Controller\UsersController;
+use OCP\Accounts\IAccountManager;
 use OCP\App\IAppManager;
 use OCP\AppFramework\Http;
 use OCP\BackgroundJob\IJobList;
@@ -196,41 +197,41 @@ class UsersControllerTest extends \Test\TestCase {
 				->method('getUser')
 				->with($user)
 				->willReturn([
-					AccountManager::PROPERTY_DISPLAYNAME =>
+					IAccountManager::PROPERTY_DISPLAYNAME =>
 						[
 							'value' => 'Display name',
 							'scope' => AccountManager::VISIBILITY_CONTACTS_ONLY,
 							'verified' => AccountManager::NOT_VERIFIED,
 						],
-					AccountManager::PROPERTY_ADDRESS =>
+					IAccountManager::PROPERTY_ADDRESS =>
 						[
 							'value' => '',
 							'scope' => AccountManager::VISIBILITY_PRIVATE,
 							'verified' => AccountManager::NOT_VERIFIED,
 						],
-					AccountManager::PROPERTY_WEBSITE =>
+					IAccountManager::PROPERTY_WEBSITE =>
 						[
 							'value' => '',
 							'scope' => AccountManager::VISIBILITY_PRIVATE,
 							'verified' => AccountManager::NOT_VERIFIED,
 						],
-					AccountManager::PROPERTY_EMAIL =>
+					IAccountManager::PROPERTY_EMAIL =>
 						[
 							'value' => '',
 							'scope' => AccountManager::VISIBILITY_CONTACTS_ONLY,
 							'verified' => AccountManager::NOT_VERIFIED,
 						],
-					AccountManager::PROPERTY_AVATAR =>
+					IAccountManager::PROPERTY_AVATAR =>
 						[
 							'scope' => AccountManager::VISIBILITY_CONTACTS_ONLY
 						],
-					AccountManager::PROPERTY_PHONE =>
+					IAccountManager::PROPERTY_PHONE =>
 						[
 							'value' => '',
 							'scope' => AccountManager::VISIBILITY_PRIVATE,
 							'verified' => AccountManager::NOT_VERIFIED,
 						],
-					AccountManager::PROPERTY_TWITTER =>
+					IAccountManager::PROPERTY_TWITTER =>
 						[
 							'value' => '',
 							'scope' => AccountManager::VISIBILITY_PRIVATE,
@@ -289,21 +290,21 @@ class UsersControllerTest extends \Test\TestCase {
 		$user->method('getEMailAddress')->willReturn($oldEmailAddress);
 		$user->method('canChangeDisplayName')->willReturn(true);
 
-		if ($data[AccountManager::PROPERTY_EMAIL]['value'] === $oldEmailAddress ||
-			($oldEmailAddress === null && $data[AccountManager::PROPERTY_EMAIL]['value'] === '')) {
+		if ($data[IAccountManager::PROPERTY_EMAIL]['value'] === $oldEmailAddress ||
+			($oldEmailAddress === null && $data[IAccountManager::PROPERTY_EMAIL]['value'] === '')) {
 			$user->expects($this->never())->method('setEMailAddress');
 		} else {
 			$user->expects($this->once())->method('setEMailAddress')
-				->with($data[AccountManager::PROPERTY_EMAIL]['value'])
+				->with($data[IAccountManager::PROPERTY_EMAIL]['value'])
 				->willReturn(true);
 		}
 
-		if ($data[AccountManager::PROPERTY_DISPLAYNAME]['value'] === $oldDisplayName ||
-			($oldDisplayName === null && $data[AccountManager::PROPERTY_DISPLAYNAME]['value'] === '')) {
+		if ($data[IAccountManager::PROPERTY_DISPLAYNAME]['value'] === $oldDisplayName ||
+			($oldDisplayName === null && $data[IAccountManager::PROPERTY_DISPLAYNAME]['value'] === '')) {
 			$user->expects($this->never())->method('setDisplayName');
 		} else {
 			$user->expects($this->once())->method('setDisplayName')
-				->with($data[AccountManager::PROPERTY_DISPLAYNAME]['value'])
+				->with($data[IAccountManager::PROPERTY_DISPLAYNAME]['value'])
 				->willReturn(true);
 		}
 
@@ -317,48 +318,48 @@ class UsersControllerTest extends \Test\TestCase {
 		return [
 			[
 				[
-					AccountManager::PROPERTY_EMAIL => ['value' => 'john@example.com'],
-					AccountManager::PROPERTY_DISPLAYNAME => ['value' => 'john doe'],
+					IAccountManager::PROPERTY_EMAIL => ['value' => 'john@example.com'],
+					IAccountManager::PROPERTY_DISPLAYNAME => ['value' => 'john doe'],
 				],
 				'john@example.com',
 				'john doe'
 			],
 			[
 				[
-					AccountManager::PROPERTY_EMAIL => ['value' => 'john@example.com'],
-					AccountManager::PROPERTY_DISPLAYNAME => ['value' => 'john doe'],
+					IAccountManager::PROPERTY_EMAIL => ['value' => 'john@example.com'],
+					IAccountManager::PROPERTY_DISPLAYNAME => ['value' => 'john doe'],
 				],
 				'johnNew@example.com',
 				'john New doe'
 			],
 			[
 				[
-					AccountManager::PROPERTY_EMAIL => ['value' => 'john@example.com'],
-					AccountManager::PROPERTY_DISPLAYNAME => ['value' => 'john doe'],
+					IAccountManager::PROPERTY_EMAIL => ['value' => 'john@example.com'],
+					IAccountManager::PROPERTY_DISPLAYNAME => ['value' => 'john doe'],
 				],
 				'johnNew@example.com',
 				'john doe'
 			],
 			[
 				[
-					AccountManager::PROPERTY_EMAIL => ['value' => 'john@example.com'],
-					AccountManager::PROPERTY_DISPLAYNAME => ['value' => 'john doe'],
+					IAccountManager::PROPERTY_EMAIL => ['value' => 'john@example.com'],
+					IAccountManager::PROPERTY_DISPLAYNAME => ['value' => 'john doe'],
 				],
 				'john@example.com',
 				'john New doe'
 			],
 			[
 				[
-					AccountManager::PROPERTY_EMAIL => ['value' => ''],
-					AccountManager::PROPERTY_DISPLAYNAME => ['value' => 'john doe'],
+					IAccountManager::PROPERTY_EMAIL => ['value' => ''],
+					IAccountManager::PROPERTY_DISPLAYNAME => ['value' => 'john doe'],
 				],
 				null,
 				'john New doe'
 			],
 			[
 				[
-					AccountManager::PROPERTY_EMAIL => ['value' => 'john@example.com'],
-					AccountManager::PROPERTY_DISPLAYNAME => ['value' => 'john doe'],
+					IAccountManager::PROPERTY_EMAIL => ['value' => 'john@example.com'],
+					IAccountManager::PROPERTY_DISPLAYNAME => ['value' => 'john doe'],
 				],
 				'john@example.com',
 				null
@@ -391,14 +392,14 @@ class UsersControllerTest extends \Test\TestCase {
 		$user->method('getDisplayName')->willReturn($oldDisplayName);
 		$user->method('getEMailAddress')->willReturn($oldEmailAddress);
 
-		if ($data[AccountManager::PROPERTY_EMAIL]['value'] !== $oldEmailAddress) {
+		if ($data[IAccountManager::PROPERTY_EMAIL]['value'] !== $oldEmailAddress) {
 			$user->method('canChangeDisplayName')
 				->willReturn($canChangeEmail);
 		}
 
-		if ($data[AccountManager::PROPERTY_DISPLAYNAME]['value'] !== $oldDisplayName) {
+		if ($data[IAccountManager::PROPERTY_DISPLAYNAME]['value'] !== $oldDisplayName) {
 			$user->method('setDisplayName')
-				->with($data[AccountManager::PROPERTY_DISPLAYNAME]['value'])
+				->with($data[IAccountManager::PROPERTY_DISPLAYNAME]['value'])
 				->willReturn($setDisplayNameResult);
 		}
 
@@ -410,8 +411,8 @@ class UsersControllerTest extends \Test\TestCase {
 		return [
 			[
 				[
-					AccountManager::PROPERTY_EMAIL => ['value' => 'john@example.com'],
-					AccountManager::PROPERTY_DISPLAYNAME => ['value' => 'john doe'],
+					IAccountManager::PROPERTY_EMAIL => ['value' => 'john@example.com'],
+					IAccountManager::PROPERTY_DISPLAYNAME => ['value' => 'john doe'],
 				],
 				'johnNew@example.com',
 				'john New doe',
@@ -420,8 +421,8 @@ class UsersControllerTest extends \Test\TestCase {
 			],
 			[
 				[
-					AccountManager::PROPERTY_EMAIL => ['value' => 'john@example.com'],
-					AccountManager::PROPERTY_DISPLAYNAME => ['value' => 'john doe'],
+					IAccountManager::PROPERTY_EMAIL => ['value' => 'john@example.com'],
+					IAccountManager::PROPERTY_DISPLAYNAME => ['value' => 'john doe'],
 				],
 				'johnNew@example.com',
 				'john New doe',
@@ -430,8 +431,8 @@ class UsersControllerTest extends \Test\TestCase {
 			],
 			[
 				[
-					AccountManager::PROPERTY_EMAIL => ['value' => 'john@example.com'],
-					AccountManager::PROPERTY_DISPLAYNAME => ['value' => 'john doe'],
+					IAccountManager::PROPERTY_EMAIL => ['value' => 'john@example.com'],
+					IAccountManager::PROPERTY_DISPLAYNAME => ['value' => 'john doe'],
 				],
 				'johnNew@example.com',
 				'john New doe',
@@ -455,7 +456,7 @@ class UsersControllerTest extends \Test\TestCase {
 		$signature = 'theSignature';
 
 		$code = $message . ' ' . $signature;
-		if ($type === AccountManager::PROPERTY_TWITTER) {
+		if ($type === IAccountManager::PROPERTY_TWITTER) {
 			$code = $message . ' ' . md5($signature);
 		}
 
@@ -492,25 +493,25 @@ class UsersControllerTest extends \Test\TestCase {
 
 	public function dataTestGetVerificationCode() {
 		$accountDataBefore = [
-			AccountManager::PROPERTY_WEBSITE => ['value' => 'https://nextcloud.com', 'verified' => AccountManager::NOT_VERIFIED],
-			AccountManager::PROPERTY_TWITTER => ['value' => '@nextclouders', 'verified' => AccountManager::NOT_VERIFIED, 'signature' => 'theSignature'],
+			IAccountManager::PROPERTY_WEBSITE => ['value' => 'https://nextcloud.com', 'verified' => AccountManager::NOT_VERIFIED],
+			IAccountManager::PROPERTY_TWITTER => ['value' => '@nextclouders', 'verified' => AccountManager::NOT_VERIFIED, 'signature' => 'theSignature'],
 		];
 
 		$accountDataAfterWebsite = [
-			AccountManager::PROPERTY_WEBSITE => ['value' => 'https://nextcloud.com', 'verified' => AccountManager::VERIFICATION_IN_PROGRESS, 'signature' => 'theSignature'],
-			AccountManager::PROPERTY_TWITTER => ['value' => '@nextclouders', 'verified' => AccountManager::NOT_VERIFIED, 'signature' => 'theSignature'],
+			IAccountManager::PROPERTY_WEBSITE => ['value' => 'https://nextcloud.com', 'verified' => AccountManager::VERIFICATION_IN_PROGRESS, 'signature' => 'theSignature'],
+			IAccountManager::PROPERTY_TWITTER => ['value' => '@nextclouders', 'verified' => AccountManager::NOT_VERIFIED, 'signature' => 'theSignature'],
 		];
 
 		$accountDataAfterTwitter = [
-			AccountManager::PROPERTY_WEBSITE => ['value' => 'https://nextcloud.com', 'verified' => AccountManager::NOT_VERIFIED],
-			AccountManager::PROPERTY_TWITTER => ['value' => '@nextclouders', 'verified' => AccountManager::VERIFICATION_IN_PROGRESS, 'signature' => 'theSignature'],
+			IAccountManager::PROPERTY_WEBSITE => ['value' => 'https://nextcloud.com', 'verified' => AccountManager::NOT_VERIFIED],
+			IAccountManager::PROPERTY_TWITTER => ['value' => '@nextclouders', 'verified' => AccountManager::VERIFICATION_IN_PROGRESS, 'signature' => 'theSignature'],
 		];
 
 		return [
-			['verify-twitter', AccountManager::PROPERTY_TWITTER, $accountDataBefore, $accountDataAfterTwitter, false],
-			['verify-website', AccountManager::PROPERTY_WEBSITE, $accountDataBefore, $accountDataAfterWebsite, false],
-			['verify-twitter', AccountManager::PROPERTY_TWITTER, $accountDataBefore, $accountDataAfterTwitter, true],
-			['verify-website', AccountManager::PROPERTY_WEBSITE, $accountDataBefore, $accountDataAfterWebsite, true],
+			['verify-twitter', IAccountManager::PROPERTY_TWITTER, $accountDataBefore, $accountDataAfterTwitter, false],
+			['verify-website', IAccountManager::PROPERTY_WEBSITE, $accountDataBefore, $accountDataAfterWebsite, false],
+			['verify-twitter', IAccountManager::PROPERTY_TWITTER, $accountDataBefore, $accountDataAfterTwitter, true],
+			['verify-website', IAccountManager::PROPERTY_WEBSITE, $accountDataBefore, $accountDataAfterWebsite, true],
 		];
 	}
 
diff --git a/lib/private/Accounts/AccountManager.php b/lib/private/Accounts/AccountManager.php
index d18555d296c..0c488eec635 100644
--- a/lib/private/Accounts/AccountManager.php
+++ b/lib/private/Accounts/AccountManager.php
@@ -173,7 +173,7 @@ class AccountManager implements IAccountManager {
 					'lastRun' => time()
 				]
 			);
-			$newData[AccountManager::PROPERTY_EMAIL]['verified'] = AccountManager::VERIFICATION_IN_PROGRESS;
+			$newData[self::PROPERTY_EMAIL]['verified'] = self::VERIFICATION_IN_PROGRESS;
 		}
 
 		return $newData;
diff --git a/lib/private/Accounts/Hooks.php b/lib/private/Accounts/Hooks.php
index 82f55f5a9d1..c5e7c34deaf 100644
--- a/lib/private/Accounts/Hooks.php
+++ b/lib/private/Accounts/Hooks.php
@@ -24,6 +24,7 @@
 
 namespace OC\Accounts;
 
+use OCP\Accounts\IAccountManager;
 use OCP\IUser;
 use Psr\Log\LoggerInterface;
 
@@ -61,14 +62,14 @@ class Hooks {
 
 		switch ($feature) {
 			case 'eMailAddress':
-				if ($accountData[AccountManager::PROPERTY_EMAIL]['value'] !== $newValue) {
-					$accountData[AccountManager::PROPERTY_EMAIL]['value'] = $newValue;
+				if ($accountData[IAccountManager::PROPERTY_EMAIL]['value'] !== $newValue) {
+					$accountData[IAccountManager::PROPERTY_EMAIL]['value'] = $newValue;
 					$accountManager->updateUser($user, $accountData);
 				}
 				break;
 			case 'displayName':
-				if ($accountData[AccountManager::PROPERTY_DISPLAYNAME]['value'] !== $newValue) {
-					$accountData[AccountManager::PROPERTY_DISPLAYNAME]['value'] = $newValue;
+				if ($accountData[IAccountManager::PROPERTY_DISPLAYNAME]['value'] !== $newValue) {
+					$accountData[IAccountManager::PROPERTY_DISPLAYNAME]['value'] = $newValue;
 					$accountManager->updateUser($user, $accountData);
 				}
 				break;
diff --git a/tests/lib/Accounts/HooksTest.php b/tests/lib/Accounts/HooksTest.php
index 39003b2ef23..8af9e209034 100644
--- a/tests/lib/Accounts/HooksTest.php
+++ b/tests/lib/Accounts/HooksTest.php
@@ -23,6 +23,7 @@ namespace Test\Accounts;
 
 use OC\Accounts\AccountManager;
 use OC\Accounts\Hooks;
+use OCP\Accounts\IAccountManager;
 use OCP\IUser;
 use PHPUnit\Framework\MockObject\MockObject;
 use Psr\Log\LoggerInterface;
@@ -77,11 +78,11 @@ class HooksTest extends TestCase {
 			$this->accountManager->expects($this->once())->method('getUser')->willReturn($data);
 			$newData = $data;
 			if ($setEmail) {
-				$newData[AccountManager::PROPERTY_EMAIL]['value'] = $params['value'];
+				$newData[IAccountManager::PROPERTY_EMAIL]['value'] = $params['value'];
 				$this->accountManager->expects($this->once())->method('updateUser')
 					->with($params['user'], $newData);
 			} elseif ($setDisplayName) {
-				$newData[AccountManager::PROPERTY_DISPLAYNAME]['value'] = $params['value'];
+				$newData[IAccountManager::PROPERTY_DISPLAYNAME]['value'] = $params['value'];
 				$this->accountManager->expects($this->once())->method('updateUser')
 					->with($params['user'], $newData);
 			} else {
@@ -98,48 +99,48 @@ class HooksTest extends TestCase {
 			[
 				['feature' => '', 'value' => ''],
 				[
-					AccountManager::PROPERTY_EMAIL => ['value' => ''],
-					AccountManager::PROPERTY_DISPLAYNAME => ['value' => '']
+					IAccountManager::PROPERTY_EMAIL => ['value' => ''],
+					IAccountManager::PROPERTY_DISPLAYNAME => ['value' => '']
 				],
 				false, false, true
 			],
 			[
 				['user' => $user, 'value' => ''],
 				[
-					AccountManager::PROPERTY_EMAIL => ['value' => ''],
-					AccountManager::PROPERTY_DISPLAYNAME => ['value' => '']
+					IAccountManager::PROPERTY_EMAIL => ['value' => ''],
+					IAccountManager::PROPERTY_DISPLAYNAME => ['value' => '']
 				],
 				false, false, true
 			],
 			[
 				['user' => $user, 'feature' => ''],
 				[
-					AccountManager::PROPERTY_EMAIL => ['value' => ''],
-					AccountManager::PROPERTY_DISPLAYNAME => ['value' => '']
+					IAccountManager::PROPERTY_EMAIL => ['value' => ''],
+					IAccountManager::PROPERTY_DISPLAYNAME => ['value' => '']
 				],
 				false, false, true
 			],
 			[
 				['user' => $user, 'feature' => 'foo', 'value' => 'bar'],
 				[
-					AccountManager::PROPERTY_EMAIL => ['value' => 'oldMail@example.com'],
-					AccountManager::PROPERTY_DISPLAYNAME => ['value' => 'oldDisplayName']
+					IAccountManager::PROPERTY_EMAIL => ['value' => 'oldMail@example.com'],
+					IAccountManager::PROPERTY_DISPLAYNAME => ['value' => 'oldDisplayName']
 				],
 				false, false, false
 			],
 			[
 				['user' => $user, 'feature' => 'eMailAddress', 'value' => 'newMail@example.com'],
 				[
-					AccountManager::PROPERTY_EMAIL => ['value' => 'oldMail@example.com'],
-					AccountManager::PROPERTY_DISPLAYNAME => ['value' => 'oldDisplayName']
+					IAccountManager::PROPERTY_EMAIL => ['value' => 'oldMail@example.com'],
+					IAccountManager::PROPERTY_DISPLAYNAME => ['value' => 'oldDisplayName']
 				],
 				true, false, false
 			],
 			[
 				['user' => $user, 'feature' => 'displayName', 'value' => 'newDisplayName'],
 				[
-					AccountManager::PROPERTY_EMAIL => ['value' => 'oldMail@example.com'],
-					AccountManager::PROPERTY_DISPLAYNAME => ['value' => 'oldDisplayName']
+					IAccountManager::PROPERTY_EMAIL => ['value' => 'oldMail@example.com'],
+					IAccountManager::PROPERTY_DISPLAYNAME => ['value' => 'oldDisplayName']
 				],
 				false, true, false
 			],
-- 
GitLab