package app.fedilab.android.services; import android.content.Context; import android.content.SharedPreferences; import android.database.sqlite.SQLiteDatabase; import android.util.Log; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.unifiedpush.android.connector.MessagingReceiver; import org.unifiedpush.android.connector.MessagingReceiverHandler; import java.util.List; import app.fedilab.android.activities.BaseMainActivity; import app.fedilab.android.activities.LiveNotificationSettingsAccountsActivity; import app.fedilab.android.asynctasks.PostSubscriptionAsyncTask; import app.fedilab.android.client.APIResponse; import app.fedilab.android.client.Entities.Account; import app.fedilab.android.helper.Helper; import app.fedilab.android.helper.PushNotifications; import app.fedilab.android.interfaces.OnPostSubscription; import app.fedilab.android.sqlite.AccountDAO; import app.fedilab.android.sqlite.Sqlite; import static android.content.Context.MODE_PRIVATE; class handler implements MessagingReceiverHandler { private Context context; private String endpoint; @Override public void onNewEndpoint(@Nullable Context context, @NotNull String endpoint) { final SharedPreferences sharedpreferences = context.getSharedPreferences(Helper.APP_PREFS, MODE_PRIVATE); SharedPreferences.Editor editor = sharedpreferences.edit(); editor.putString(Helper.SERVER_ENDPOINT, endpoint); editor.apply(); new PushNotifications() .registerPushNotifications(context, endpoint); } @Override public void onRegistrationFailed(@Nullable Context context) { // Toast ? } @Override public void onRegistrationRefused(@Nullable Context context) { // Toast ? } @Override public void onUnregistered(@Nullable Context context) { // Remove endpoint & ServerKey } @Override public void onMessage(@Nullable Context context, @NotNull String message) { new PushNotifications() .displayNotification(context, message); } } public class UnifiedPushService extends MessagingReceiver { public UnifiedPushService() { super(new handler()); } }