Loading app/src/main/java/it/niedermann/owncloud/notes/persistence/CapabilitiesClient.java +2 −18 Original line number Diff line number Diff line Loading @@ -9,6 +9,7 @@ import androidx.annotation.WorkerThread; import com.nextcloud.android.sso.model.SingleSignOnAccount; import it.niedermann.owncloud.notes.shared.model.Capabilities; import it.niedermann.owncloud.notes.shared.util.SSOUtil; import trikita.log.Log; @WorkerThread Loading Loading @@ -46,7 +47,7 @@ public class CapabilitiesClient { public static String getDisplayName(@NonNull Context context, @NonNull SingleSignOnAccount ssoAccount, @NonNull ApiProvider apiProvider) { final var ocsAPI = apiProvider.getOcsAPI(context, ssoAccount); try { final var userResponse = ocsAPI.getUser(sanitizeUserId(ssoAccount.userId)).execute(); final var userResponse = ocsAPI.getUser(SSOUtil.sanitizeUserId(ssoAccount.userId)).execute(); if (userResponse.isSuccessful()) { final var ocsResponse = userResponse.body(); if (ocsResponse != null) { Loading @@ -62,21 +63,4 @@ public class CapabilitiesClient { } return null; } /** * Murena account's userId is set same as it's email address (passed by accountManager app). * For old accounts (@e.email) userId = email. * For new accounts (@murena.io) userId is first part of email (ex: for email abc@murena.io, userId is abc). * For api requests, we needed to pass the actual userId. This method remove the unwanted part (@murena.io) from the userId */ @NonNull private static String sanitizeUserId(@NonNull String userId) { final String murenaMailEndPart = "@murena.io"; if (!userId.endsWith(murenaMailEndPart)) { return userId; } return userId.split(murenaMailEndPart)[0]; } } app/src/main/java/it/niedermann/owncloud/notes/shared/util/DisplayUtils.java +1 −1 Original line number Diff line number Diff line Loading @@ -107,6 +107,6 @@ public class DisplayUtils { @NonNull public static String getAvatarUrl(@NonNull Account account) { return account.getUrl() + "/index.php/avatar/" + Uri.encode(account.getUserName()) + "/64"; return account.getUrl() + "/index.php/avatar/" + Uri.encode(SSOUtil.sanitizeUserId(account.getUserName())) + "/64"; } } app/src/main/java/it/niedermann/owncloud/notes/shared/util/SSOUtil.java +17 −0 Original line number Diff line number Diff line Loading @@ -49,4 +49,21 @@ public class SSOUtil { return false; } } /** * Murena account's userId is set same as it's email address (passed by accountManager app). * For old accounts (@e.email) userId = email. * For new accounts (@murena.io) userId is first part of email (ex: for email abc@murena.io, userId is abc). * For api requests, we needed to pass the actual userId. This method remove the unwanted part (@murena.io) from the userId */ @NonNull public static String sanitizeUserId(@NonNull String userId) { final String murenaMailEndPart = "@murena.io"; if (!userId.endsWith(murenaMailEndPart)) { return userId; } return userId.split(murenaMailEndPart)[0]; } } Loading
app/src/main/java/it/niedermann/owncloud/notes/persistence/CapabilitiesClient.java +2 −18 Original line number Diff line number Diff line Loading @@ -9,6 +9,7 @@ import androidx.annotation.WorkerThread; import com.nextcloud.android.sso.model.SingleSignOnAccount; import it.niedermann.owncloud.notes.shared.model.Capabilities; import it.niedermann.owncloud.notes.shared.util.SSOUtil; import trikita.log.Log; @WorkerThread Loading Loading @@ -46,7 +47,7 @@ public class CapabilitiesClient { public static String getDisplayName(@NonNull Context context, @NonNull SingleSignOnAccount ssoAccount, @NonNull ApiProvider apiProvider) { final var ocsAPI = apiProvider.getOcsAPI(context, ssoAccount); try { final var userResponse = ocsAPI.getUser(sanitizeUserId(ssoAccount.userId)).execute(); final var userResponse = ocsAPI.getUser(SSOUtil.sanitizeUserId(ssoAccount.userId)).execute(); if (userResponse.isSuccessful()) { final var ocsResponse = userResponse.body(); if (ocsResponse != null) { Loading @@ -62,21 +63,4 @@ public class CapabilitiesClient { } return null; } /** * Murena account's userId is set same as it's email address (passed by accountManager app). * For old accounts (@e.email) userId = email. * For new accounts (@murena.io) userId is first part of email (ex: for email abc@murena.io, userId is abc). * For api requests, we needed to pass the actual userId. This method remove the unwanted part (@murena.io) from the userId */ @NonNull private static String sanitizeUserId(@NonNull String userId) { final String murenaMailEndPart = "@murena.io"; if (!userId.endsWith(murenaMailEndPart)) { return userId; } return userId.split(murenaMailEndPart)[0]; } }
app/src/main/java/it/niedermann/owncloud/notes/shared/util/DisplayUtils.java +1 −1 Original line number Diff line number Diff line Loading @@ -107,6 +107,6 @@ public class DisplayUtils { @NonNull public static String getAvatarUrl(@NonNull Account account) { return account.getUrl() + "/index.php/avatar/" + Uri.encode(account.getUserName()) + "/64"; return account.getUrl() + "/index.php/avatar/" + Uri.encode(SSOUtil.sanitizeUserId(account.getUserName())) + "/64"; } }
app/src/main/java/it/niedermann/owncloud/notes/shared/util/SSOUtil.java +17 −0 Original line number Diff line number Diff line Loading @@ -49,4 +49,21 @@ public class SSOUtil { return false; } } /** * Murena account's userId is set same as it's email address (passed by accountManager app). * For old accounts (@e.email) userId = email. * For new accounts (@murena.io) userId is first part of email (ex: for email abc@murena.io, userId is abc). * For api requests, we needed to pass the actual userId. This method remove the unwanted part (@murena.io) from the userId */ @NonNull public static String sanitizeUserId(@NonNull String userId) { final String murenaMailEndPart = "@murena.io"; if (!userId.endsWith(murenaMailEndPart)) { return userId; } return userId.split(murenaMailEndPart)[0]; } }