From 9d40901631912518f3af0eea23c057c0b02851f8 Mon Sep 17 00:00:00 2001 From: Thomas Date: Tue, 23 Feb 2021 18:40:57 +0100 Subject: [PATCH] Fix issue with sharedpref --- .../android/asynctasks/PostSubscriptionAsyncTask.java | 5 +++++ .../app/fedilab/android/services/UnifiedPushService.java | 6 ++---- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/app/fedilab/android/asynctasks/PostSubscriptionAsyncTask.java b/app/src/main/java/app/fedilab/android/asynctasks/PostSubscriptionAsyncTask.java index ec1521bc2..900b4f96d 100644 --- a/app/src/main/java/app/fedilab/android/asynctasks/PostSubscriptionAsyncTask.java +++ b/app/src/main/java/app/fedilab/android/asynctasks/PostSubscriptionAsyncTask.java @@ -19,6 +19,8 @@ import android.os.Handler; import android.os.Looper; import java.lang.ref.WeakReference; +import java.util.ArrayList; +import java.util.List; import app.fedilab.android.client.API; import app.fedilab.android.client.APIResponse; @@ -46,6 +48,9 @@ public class PostSubscriptionAsyncTask { protected void doInBackground() { new Thread(() -> { apiResponse = new API(contextReference.get(), account.getInstance(), account.getToken()).pushSubscription(account, endpoint); + List accountList = new ArrayList<>(); + accountList.add(account); + apiResponse.setAccounts(accountList); Handler mainHandler = new Handler(Looper.getMainLooper()); Runnable myRunnable = () -> listener.onSubscription(apiResponse); mainHandler.post(myRunnable); diff --git a/app/src/main/java/app/fedilab/android/services/UnifiedPushService.java b/app/src/main/java/app/fedilab/android/services/UnifiedPushService.java index c6c935efd..a1ab638d5 100644 --- a/app/src/main/java/app/fedilab/android/services/UnifiedPushService.java +++ b/app/src/main/java/app/fedilab/android/services/UnifiedPushService.java @@ -74,12 +74,10 @@ class handler implements MessagingReceiverHandler, OnPostSubscription { @Override public void onSubscription(APIResponse apiResponse) { - if (apiResponse != null && apiResponse.getPushSubscription() != null) { + if (apiResponse != null && apiResponse.getPushSubscription() != null && apiResponse.getAccounts() != null) { final SharedPreferences sharedpreferences = context.getSharedPreferences(Helper.APP_PREFS, MODE_PRIVATE); - String userId = sharedpreferences.getString(Helper.PREF_KEY_ID, null); - String instance = sharedpreferences.getString(Helper.PREF_INSTANCE, Helper.getLiveInstance(context)); SharedPreferences.Editor editor = sharedpreferences.edit(); - editor.putString(Helper.SERVER_KEY + userId + instance, apiResponse.getPushSubscription().getServer_key()); + editor.putString(Helper.SERVER_KEY + apiResponse.getAccounts().get(0).getId() + apiResponse.getAccounts().get(0).getInstance(), apiResponse.getPushSubscription().getServer_key()); editor.apply(); } }