Commit ec60b63c authored by sim's avatar sim
Browse files

Unregister push endpoint onUnregistered

parent b26b10c6
Loading
Loading
Loading
Loading
+17 −0
Original line number Diff line number Diff line
@@ -45,6 +45,23 @@ import retrofit2.converter.gson.GsonConverterFactory;

public class PushNotifications {

    public static void unregisterPushNotifications(Context context, String slug) {
        new Thread(() -> {
            String[] slugArray = slug.split("@");
            BaseAccount accountDb = null;
            try {
                accountDb = new Account(context).getUniqAccount(slugArray[0], slugArray[1]);
            } catch (DBException e) {
                e.printStackTrace();
            }

            if (accountDb == null) {
                return;
            }
            MastodonNotificationsService mastodonNotificationsService = init(context, accountDb.instance);
            mastodonNotificationsService.deletePushsubscription(accountDb.token);
        });
    }

    public static void registerPushNotifications(Context context, PushEndpoint pushEndpoint, String slug) {

+8 −1
Original line number Diff line number Diff line
@@ -56,6 +56,13 @@ public class PushServiceImpl extends PushService {
    }

    @Override
    public void onUnregistered(@NonNull String s) {
    public void onUnregistered(@NonNull String slug) {
        Context context = getApplicationContext();
        if (context != null) {
            synchronized (this) {
                PushNotifications
                        .unregisterPushNotifications(context, slug);
            }
        }
    }
}