Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Removal of Optional parameters and fields #14584

Closed
wants to merge 2 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions app/src/androidTest/java/com/owncloud/android/AbstractIT.java
Original file line number Diff line number Diff line change
Expand Up @@ -528,8 +528,11 @@ public String getRandomName(int length) {
}

protected static User getUser(Account account) {
Optional<User> optionalUser = UserAccountManagerImpl.fromContext(targetContext).getUser(account.name);
return optionalUser.orElseThrow(IllegalAccessError::new);
User optionalUser = UserAccountManagerImpl.fromContext(targetContext).getUser(account.name);
if (optionalUser == null) {
throw new IllegalAccessError("User not found");
}
return optionalUser;
}

protected static Account createAccount(String name) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,8 +95,11 @@ public static void beforeAll() {
throw new ActivityNotFoundException();
}

Optional<User> optionalUser = userAccountManager.getUser(account.name);
user = optionalUser.orElseThrow(IllegalAccessError::new);
User optionalUser = userAccountManager.getUser(account.name);
if (optionalUser == null) {
throw new IllegalAccessError("User not found");
}
user = optionalUser;

client = OwnCloudClientFactory.createOwnCloudClient(account, targetContext);
nextcloudClient = OwnCloudClientFactory.createNextcloudClient(user, targetContext);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,11 @@ public void setUp() {
}

final UserAccountManager userAccountManager = UserAccountManagerImpl.fromContext(targetContext);
user2 = userAccountManager.getUser("[email protected]").orElseThrow(ActivityNotFoundException::new);
User user = userAccountManager.getUser("[email protected]");
if (user == null) {
throw new ActivityNotFoundException("Activity not found");
}
user2 = user;
}

@Test
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,11 @@ public static void beforeClass() {
platformAccountManager.setUserData(temp, AccountUtils.Constants.KEY_USER_ID, loginName); // same as userId

account1 = userAccountManager.getAccountByName(loginName + "@" + baseUrl);
user1 = userAccountManager.getUser(account1.name).orElseThrow(IllegalAccessError::new);
User user = userAccountManager.getUser(account1.name);
if (user == null) {
throw new IllegalArgumentException("User not found");
}
user1 = user;

loginName = "user2";
password = "user2";
Expand All @@ -96,15 +100,15 @@ public void switchAccountViaAccountList() {

sut.setUser(user1);

assertEquals(account1, sut.getUser().get().toPlatformAccount());
assertEquals(account1, sut.getUser().toPlatformAccount());

onView(withId(R.id.switch_account_button)).perform(click());

onView(anyOf(withText(account2Name), withText(account2DisplayName))).perform(click());

waitForIdleSync();

assertEquals(account2, sut.getUser().get().toPlatformAccount());
assertEquals(account2, sut.getUser().toPlatformAccount());

onView(withId(R.id.switch_account_button)).perform(click());
onView(withText(account1.name)).perform(click());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -234,7 +234,10 @@ public void testAccountChooserDialog() throws AccountUtils.AccountNotFoundExcept
accountManager.setUserData(newAccount, AccountUtils.Constants.KEY_OC_BASE_URL, SERVER_URL);
accountManager.setUserData(newAccount, AccountUtils.Constants.KEY_USER_ID, "test");
accountManager.setAuthToken(newAccount, AccountTypeUtils.getAuthTokenTypePass(newAccount.type), "password");
User newUser = userAccountManager.getUser(newAccount.name).orElseThrow(RuntimeException::new);
User newUser = userAccountManager.getUser(newAccount.name);
if (newUser == null) {
throw new RuntimeException("User not found");
}
userAccountManager.setCurrentOwnCloudAccount(newAccount.name);

Account newAccount2 = new Account("[email protected]", MainApp.getAccountType(targetContext));
Expand Down Expand Up @@ -313,7 +316,11 @@ public void testAccountChooserDialogWithStatusDisabled() throws AccountUtils.Acc

FileDisplayActivity fda = getFileDisplayActivity();
UserAccountManager userAccountManager = fda.getUserAccountManager();
User newUser = userAccountManager.getUser(newAccount.name).get();
User newUser = userAccountManager.getUser(newAccount.name);
if (newUser == null) {
throw new RuntimeException("User not found");
}

FileDataStorageManager fileDataStorageManager = new FileDataStorageManager(newUser,
targetContext.getContentResolver());

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,15 +39,22 @@ class UriUploaderIT : AbstractIT() {
}

private fun testPrivatePath(activity: TestActivity, path: String) {

val user = activity.user
if (user == null) {
throw RuntimeException("User not found")
}

val sut = UriUploader(
activity,
listOf(Uri.parse(path)),
"",
activity.user.orElseThrow(::RuntimeException),
user,
FileUploadWorker.LOCAL_BEHAVIOUR_MOVE,
false,
null
)

val uploadResult = sut.uploadUris()
Assert.assertEquals(
"Wrong result code",
Expand Down
2 changes: 1 addition & 1 deletion app/src/debug/java/com/nextcloud/test/TestActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ class TestActivity :

override fun getStorageManager(): FileDataStorageManager {
if (!this::storage.isInitialized) {
storage = FileDataStorageManager(user.get(), contentResolver)
storage = FileDataStorageManager(user, contentResolver)

if (!storage.capabilityExistsForAccount(account.name)) {
val ocCapability = OCCapability()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,8 +67,8 @@ public interface UserAccountManager extends CurrentAccountProvider {
* @param accountName Account name of the requested user
* @return User or empty optional if user does not exist.
*/
@NonNull
Optional<User> getUser(CharSequence accountName);

User getUser(CharSequence accountName);


User getAnonymousUser();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -293,11 +293,13 @@ public User getUser() {
}

@Override
@NonNull
public Optional<User> getUser(CharSequence accountName) {
public User getUser(CharSequence accountName) {
Account account = getAccountByName(accountName.toString());
User user = createUserFromAccount(account);
return Optional.ofNullable(user);
if (user == null) {
throw new RuntimeException("User not found");
}
return user;
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ class GeneratePdfFromImagesWork(
}

val user = userAccountManager.getUser(accountName)
require(user.isPresent && user.get() !is AnonymousUser) { "Invalid or not found user" }
require(user!= null && user !is AnonymousUser) { "Invalid or not found user" }

logger.d(
TAG,
Expand All @@ -66,7 +66,7 @@ class GeneratePdfFromImagesWork(
val result = generatePdfUseCase.execute(inputPaths, outputFilePath)
notificationManager.cancel(notificationId)
if (result) {
uploadFile(user.get(), uploadFolder, outputFilePath)
uploadFile(user, uploadFolder, outputFilePath)
cleanupImages(inputPaths)
} else {
logger.w(TAG, "PDF generation failed")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -75,13 +75,13 @@ class AccountRemovalWork(
return Result.failure()
}
val optionalUser = userAccountManager.getUser(accountName)
if (!optionalUser.isPresent) {
if (optionalUser == null) {
// trying to delete non-existing user
return Result.failure()
}
val remoteWipe = inputData.getBoolean(REMOTE_WIPE, false)
val arbitraryDataProvider: ArbitraryDataProvider = ArbitraryDataProviderImpl(context)
val user = optionalUser.get()
val user = optionalUser
backgroundJobManager.cancelPeriodicContactsBackup(user)
val userRemoved = userAccountManager.removeUser(user)
val storageManager = FileDataStorageManager(user, context.contentResolver)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ class CalendarBackupWork(
override fun doWork(): Result {
val accountName = inputData.getString(ACCOUNT) ?: ""
val optionalUser = accountManager.getUser(accountName)
if (!optionalUser.isPresent || TextUtils.isEmpty(accountName)) {
if (optionalUser == null || TextUtils.isEmpty(accountName)) {
// no account provided
Log_OC.d(TAG, "User not present")
return Result.failure()
Expand All @@ -53,7 +53,7 @@ class CalendarBackupWork(
applicationContext,
calendar,
preferences,
optionalUser.get()
optionalUser
).start()
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,10 +73,10 @@ class ContactsBackupWork(
return Result.failure()
}
val optionalUser = accountManager.getUser(accountName)
if (!optionalUser.isPresent) {
if (optionalUser == null) {
return Result.failure()
}
val user = optionalUser.get()
val user = optionalUser
val lastExecution = arbitraryDataProvider.getLongValue(
user,
ContactsPreferenceActivity.PREFERENCE_CONTACTS_LAST_BACKUP
Expand Down
8 changes: 4 additions & 4 deletions app/src/main/java/com/nextcloud/client/jobs/FilesSyncWork.kt
Original file line number Diff line number Diff line change
Expand Up @@ -101,8 +101,8 @@ class FilesSyncWork(
}

val user = userAccountManager.getUser(syncedFolder.account)
if (user.isPresent) {
backgroundJobManager.startFilesUploadJob(user.get())
if (user != null) {
backgroundJobManager.startFilesUploadJob(user)
}

// Get changed files from ContentObserverWork (only images and videos) or by scanning filesystem
Expand Down Expand Up @@ -232,11 +232,11 @@ class FilesSyncWork(
val accountName = syncedFolder.account

val optionalUser = userAccountManager.getUser(accountName)
if (!optionalUser.isPresent) {
if (optionalUser == null) {
return
}

val user = optionalUser.get()
val user = optionalUser
val arbitraryDataProvider = if (lightVersion) {
ArbitraryDataProviderImpl(context)
} else {
Expand Down
10 changes: 5 additions & 5 deletions app/src/main/java/com/nextcloud/client/jobs/NotificationWork.kt
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ class NotificationWork constructor(
notificationManager.cancelAll()
} else {
val user = accountManager.getUser(signatureVerification.account?.name)
.orElseThrow { RuntimeException() }
?: throw RuntimeException("User not found or invalid")
fetchCompleteNotification(user, decryptedPushMessage)
}
}
Expand Down Expand Up @@ -231,11 +231,11 @@ class NotificationWork constructor(
@Suppress("TooGenericExceptionCaught") // legacy code
private fun fetchCompleteNotification(account: User, decryptedPushMessage: DecryptedPushMessage) {
val optionalUser = accountManager.getUser(account.accountName)
if (!optionalUser.isPresent) {
if (optionalUser == null) {
Log_OC.e(this, "Account may not be null")
return
}
val user = optionalUser.get()
val user = optionalUser
try {
val client = OwnCloudClientFactory.createNextcloudClient(user, context)
val result = GetNotificationRemoteOperation(decryptedPushMessage.nid)
Expand Down Expand Up @@ -283,8 +283,8 @@ class NotificationWork constructor(
cancel(context, numericNotificationId)
try {
val optionalUser = accountManager.getUser(accountName)
if (optionalUser.isPresent) {
val user = optionalUser.get()
if (optionalUser != null) {
val user = optionalUser
val client = OwnCloudClientManagerFactory.getDefaultSingleton()
.getClientFor(user.toOwnCloudAccount(), context)
val nextcloudClient = OwnCloudClientFactory.createNextcloudClient(user, context)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ class FileDownloadWorker(
private var downloadProgressListener = FileDownloadProgressListener()

private var user: User? = null
private var currentUser = Optional.empty<User>()
private var currentUser: User? = null

private var currentUserFileStorageManager: FileDataStorageManager? = null
private var fileDataStorageManager: FileDataStorageManager? = null
Expand Down Expand Up @@ -218,7 +218,7 @@ class FileDownloadWorker(

private fun setUser() {
val accountName = inputData.keyValueMap[ACCOUNT_NAME] as String
user = accountManager.getUser(accountName).get()
user = accountManager.getUser(accountName)
fileDataStorageManager = FileDataStorageManager(user, context.contentResolver)
}

Expand Down Expand Up @@ -301,9 +301,9 @@ class FileDownloadWorker(
val currentDownloadUser = accountManager.getUser(currentDownloadAccount?.name)
if (currentUser != currentDownloadUser) {
currentUser = currentDownloadUser
currentUserFileStorageManager = FileDataStorageManager(currentUser.get(), context.contentResolver)
currentUserFileStorageManager = FileDataStorageManager(currentUser, context.contentResolver)
}
return currentDownloadUser.get().toOwnCloudAccount()
return currentDownloadUser.toOwnCloudAccount()
}

private fun getCurrentFile(): OCFile? {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ class FileUploadHelper {
val connectivity = connectivityService.connectivity
val batteryStatus = powerManagementService.battery
val accountNames = accountManager.accounts.filter { account ->
accountManager.getUser(account.name).isPresent
accountManager.getUser(account.name) != null
}.map { account ->
account.name
}.toHashSet()
Expand Down Expand Up @@ -185,8 +185,8 @@ class FileUploadHelper {

accountNames.forEach { accountName ->
val user = accountManager.getUser(accountName)
if (user.isPresent) {
backgroundJobManager.startFilesUploadJob(user.get())
if (user != null) {
backgroundJobManager.startFilesUploadJob(user)
}
}

Expand Down Expand Up @@ -222,7 +222,7 @@ class FileUploadHelper {

fun removeFileUpload(remotePath: String, accountName: String) {
try {
val user = accountManager.getUser(accountName).get()
val user = accountManager.getUser(accountName)

// need to update now table in mUploadsStorageManager,
// since the operation will not get to be run by FileUploader#uploadFile
Expand Down Expand Up @@ -252,7 +252,7 @@ class FileUploadHelper {
}

try {
val user = accountManager.getUser(accountName).get()
val user = accountManager.getUser(accountName)
cancelAndRestartUploadJob(user)
} catch (e: NoSuchElementException) {
Log_OC.e(TAG, "Error restarting upload job because user does not exist!")
Expand Down Expand Up @@ -426,7 +426,7 @@ class FileUploadHelper {

fun cancel(accountName: String) {
uploadsStorageManager.removeUploads(accountName)
cancelAndRestartUploadJob(accountManager.getUser(accountName).get())
cancelAndRestartUploadJob(accountManager.getUser(accountName))
}

fun addUploadTransferProgressListener(listener: OnDatatransferProgressListener, targetKey: String) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@ class FileUploadWorker(
@Suppress("NestedBlockDepth")
private fun uploadFiles(totalUploadSize: Int, uploadsPerPage: List<OCUpload>, accountName: String) {
val user = userAccountManager.getUser(accountName)
setWorkerState(user.get(), uploadsPerPage)
setWorkerState(user, uploadsPerPage)

if (canExitEarly()) {
Log_OC.d(TAG, "Airplane mode is enabled or no internet connection, stopping worker.")
Expand All @@ -203,8 +203,8 @@ class FileUploadWorker(
return@uploads
}

if (user.isPresent) {
val uploadFileOperation = createUploadFileOperation(upload, user.get())
if (user != null) {
val uploadFileOperation = createUploadFileOperation(upload, user)

currentUploadFileOperation = uploadFileOperation

Expand All @@ -216,7 +216,7 @@ class FileUploadWorker(
totalUploadSize = totalUploadSize
)

val result = upload(uploadFileOperation, user.get())
val result = upload(uploadFileOperation, user)

if (result.isSuccess) {
currentUploadIndex += 1
Expand Down
Loading
Loading