From bd4208f709b93a7582b65f8884a8eb5d1e3ce69d Mon Sep 17 00:00:00 2001 From: Marcel Hibbe Date: Wed, 12 Jan 2022 20:26:29 +0100 Subject: [PATCH] minor refactoring - extract method to register device at proxy - rename method Signed-off-by: Marcel Hibbe Signed-off-by: Marcel Hibbe --- .../java/com/nextcloud/talk/api/NcApi.java | 4 +- .../com/nextcloud/talk/utils/PushUtils.java | 150 +++++++++--------- 2 files changed, 81 insertions(+), 73 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/api/NcApi.java b/app/src/main/java/com/nextcloud/talk/api/NcApi.java index b568dd210..c75b9c083 100644 --- a/app/src/main/java/com/nextcloud/talk/api/NcApi.java +++ b/app/src/main/java/com/nextcloud/talk/api/NcApi.java @@ -283,8 +283,8 @@ public interface NcApi { @FormUrlEncoded @POST - Observable registerDeviceForNotificationsWithProxy(@Url String url, - @FieldMap Map fields); + Observable registerDeviceForNotificationsWithPushProxy(@Url String url, + @FieldMap Map fields); /* diff --git a/app/src/main/java/com/nextcloud/talk/utils/PushUtils.java b/app/src/main/java/com/nextcloud/talk/utils/PushUtils.java index 0708d25de..0120e914f 100644 --- a/app/src/main/java/com/nextcloud/talk/utils/PushUtils.java +++ b/app/src/main/java/com/nextcloud/talk/utils/PushUtils.java @@ -284,77 +284,7 @@ public class PushUtils { proxyMap.put("userPublicKey", pushRegistrationOverall.getOcs() .getData().getPublicKey()); - ncApi.registerDeviceForNotificationsWithProxy( - ApiUtils.getUrlPushProxy(), proxyMap) - .subscribeOn(Schedulers.io()) - .subscribe(new Observer() { - @Override - public void onSubscribe(@NonNull Disposable d) { - // unused atm - } - - @Override - public void onNext(@NonNull Void aVoid) { - PushConfigurationState pushConfigurationState = - new PushConfigurationState(); - pushConfigurationState.setPushToken(token); - pushConfigurationState.setDeviceIdentifier( - pushRegistrationOverall.getOcs() - .getData().getDeviceIdentifier()); - pushConfigurationState.setDeviceIdentifierSignature( - pushRegistrationOverall - .getOcs().getData().getSignature()); - pushConfigurationState.setUserPublicKey( - pushRegistrationOverall.getOcs() - .getData().getPublicKey()); - pushConfigurationState.setUsesRegularPass(false); - - try { - userUtils.createOrUpdateUser(null, - null, null, - userEntity.getDisplayName(), - LoganSquare.serialize(pushConfigurationState), null, - null, userEntity.getId(), null, null, null) - .subscribe(new Observer() { - @Override - public void onSubscribe(@NonNull Disposable d) { - // unused atm - } - - @Override - public void onNext(@NonNull UserEntity userEntity) { - eventBus.post(new EventStatus(userEntity.getId(), EventStatus.EventType.PUSH_REGISTRATION, true)); - } - - @Override - public void onError(@NonNull Throwable e) { - eventBus.post(new EventStatus - (userEntity.getId(), - EventStatus.EventType - .PUSH_REGISTRATION, false)); - } - - @Override - public void onComplete() { - // unused atm - } - }); - } catch (IOException e) { - Log.e(TAG, "IOException while updating user", e); - } - } - - @Override - public void onError(@NonNull Throwable e) { - eventBus.post(new EventStatus(userEntity.getId(), - EventStatus.EventType.PUSH_REGISTRATION, false)); - } - - @Override - public void onComplete() { - // unused atm - } - }); + registerDeviceWithPushProxy(pushRegistrationOverall, proxyMap, token, userEntity); } @Override @@ -375,6 +305,84 @@ public class PushUtils { } } + private void registerDeviceWithPushProxy( + @androidx.annotation.NonNull PushRegistrationOverall pushRegistrationOverall, + Map proxyMap, + String token, + UserEntity userEntity) { + ncApi.registerDeviceForNotificationsWithPushProxy( + ApiUtils.getUrlPushProxy(), proxyMap) + .subscribeOn(Schedulers.io()) + .subscribe(new Observer() { + @Override + public void onSubscribe(@NonNull Disposable d) { + // unused atm + } + + @Override + public void onNext(@NonNull Void aVoid) { + PushConfigurationState pushConfigurationState = + new PushConfigurationState(); + pushConfigurationState.setPushToken(token); + pushConfigurationState.setDeviceIdentifier( + pushRegistrationOverall.getOcs() + .getData().getDeviceIdentifier()); + pushConfigurationState.setDeviceIdentifierSignature( + pushRegistrationOverall + .getOcs().getData().getSignature()); + pushConfigurationState.setUserPublicKey( + pushRegistrationOverall.getOcs() + .getData().getPublicKey()); + pushConfigurationState.setUsesRegularPass(false); + + try { + userUtils.createOrUpdateUser(null, + null, null, + userEntity.getDisplayName(), + LoganSquare.serialize(pushConfigurationState), null, + null, userEntity.getId(), null, null, null) + .subscribe(new Observer() { + @Override + public void onSubscribe(@NonNull Disposable d) { + // unused atm + } + + @Override + public void onNext(@NonNull UserEntity userEntity) { + eventBus.post(new EventStatus(userEntity.getId(), EventStatus.EventType.PUSH_REGISTRATION, true)); + } + + @Override + public void onError(@NonNull Throwable e) { + eventBus.post(new EventStatus + (userEntity.getId(), + EventStatus.EventType + .PUSH_REGISTRATION, false)); + } + + @Override + public void onComplete() { + // unused atm + } + }); + } catch (IOException e) { + Log.e(TAG, "IOException while updating user", e); + } + } + + @Override + public void onError(@NonNull Throwable e) { + eventBus.post(new EventStatus(userEntity.getId(), + EventStatus.EventType.PUSH_REGISTRATION, false)); + } + + @Override + public void onComplete() { + // unused atm + } + }); + } + private Key readKeyFromString(boolean readPublicKey, String keyString) { if (readPublicKey) { keyString = keyString.replaceAll("\\n", "").replace("-----BEGIN PUBLIC KEY-----",