71 lines
2.2 KiB
Java
71 lines
2.2 KiB
Java
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());
|
|
}
|
|
}
|