68 lines
2.3 KiB
Java
68 lines
2.3 KiB
Java
package app.fedilab.android.helper;
|
|
|
|
import android.content.Context;
|
|
import android.content.SharedPreferences;
|
|
import android.database.sqlite.SQLiteDatabase;
|
|
import android.util.Base64;
|
|
import android.util.Log;
|
|
|
|
import org.unifiedpush.android.connector.Registration;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.Random;
|
|
|
|
import app.fedilab.android.activities.BaseMainActivity;
|
|
import app.fedilab.android.asynctasks.PostSubscriptionAsyncTask;
|
|
import app.fedilab.android.client.APIResponse;
|
|
import app.fedilab.android.client.Entities.Account;
|
|
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;
|
|
|
|
public class PushNotifications implements OnPostSubscription {
|
|
|
|
private Context context;
|
|
|
|
public void registerPushNotifications(Context context, String endpoint) {
|
|
this.context = context;
|
|
SQLiteDatabase db = Sqlite.getInstance(context.getApplicationContext(), Sqlite.DB_NAME, null, Sqlite.DB_VERSION).open();
|
|
List<Account> accountPush = new AccountDAO(context, db).getPushNotificationAccounts();
|
|
for (Account account : accountPush) {
|
|
new PostSubscriptionAsyncTask(context, account, endpoint, this);
|
|
}
|
|
}
|
|
|
|
public static void getDistributors(Context context) {
|
|
List<String> distributors = new Registration().getDistributors(context);
|
|
if (distributors.isEmpty()) {
|
|
|
|
} else {
|
|
|
|
}
|
|
}
|
|
|
|
public void displayNotification(Context context, String ciphered) {
|
|
ECDH ecdh = new ECDH();
|
|
|
|
SQLiteDatabase db = Sqlite.getInstance(context.getApplicationContext(), Sqlite.DB_NAME, null, Sqlite.DB_VERSION).open();
|
|
List<Account> accountPush = new AccountDAO(context, db).getPushNotificationAccounts();
|
|
List<byte[]> trousseau = new ArrayList<>();
|
|
for (Account account : accountPush) {
|
|
byte[] secret = ecdh.getSecret(context, account);
|
|
}
|
|
|
|
|
|
//process with the event
|
|
// https://openacs.org/webpush-demo/report.html
|
|
// decrypt using AES 128 GCM
|
|
}
|
|
|
|
@Override
|
|
public void onSubscription(APIResponse apiResponse) {
|
|
//TODO je ne sais pas si c'est toujours utile
|
|
}
|
|
}
|