Search in sources :

Example 16 with Data

use of org.thoughtcrime.securesms.jobmanager.Data in project Signal-Android by signalapp.

the class RecipientIdJobMigration method migrateSendDeliveryReceiptJob.

@NonNull
private JobData migrateSendDeliveryReceiptJob(@NonNull JobData jobData) {
    String address = jobData.getData().getString("address");
    Recipient recipient = Recipient.external(application, address);
    Data updatedData = new Data.Builder().putString("recipient", recipient.getId().serialize()).putLong("message_id", jobData.getData().getLong("message_id")).putLong("timestamp", jobData.getData().getLong("timestamp")).build();
    return jobData.withData(updatedData);
}
Also used : Recipient(org.thoughtcrime.securesms.recipients.Recipient) Data(org.thoughtcrime.securesms.jobmanager.Data) NonNull(androidx.annotation.NonNull)

Example 17 with Data

use of org.thoughtcrime.securesms.jobmanager.Data in project Signal-Android by signalapp.

the class RecipientIdJobMigration method migrateDirectoryRefreshJob.

@NonNull
private JobData migrateDirectoryRefreshJob(@NonNull JobData jobData) {
    String address = jobData.getData().hasString("address") ? jobData.getData().getString("address") : null;
    Recipient recipient = address != null ? Recipient.external(application, address) : null;
    Data updatedData = new Data.Builder().putString("recipient", recipient != null ? recipient.getId().serialize() : null).putBoolean("notify_of_new_users", jobData.getData().getBoolean("notify_of_new_users")).build();
    return jobData.withData(updatedData);
}
Also used : Recipient(org.thoughtcrime.securesms.recipients.Recipient) Data(org.thoughtcrime.securesms.jobmanager.Data) NonNull(androidx.annotation.NonNull)

Example 18 with Data

use of org.thoughtcrime.securesms.jobmanager.Data in project Signal-Android by signalapp.

the class RecipientIdJobMigration method migrateMultiDeviceVerifiedUpdateJob.

@NonNull
private JobData migrateMultiDeviceVerifiedUpdateJob(@NonNull JobData jobData) {
    String address = jobData.getData().getString("destination");
    Recipient recipient = Recipient.external(application, address);
    Data updatedData = new Data.Builder().putString("destination", recipient.getId().serialize()).putString("identity_key", jobData.getData().getString("identity_key")).putInt("verified_status", jobData.getData().getInt("verified_status")).putLong("timestamp", jobData.getData().getLong("timestamp")).build();
    return jobData.withData(updatedData);
}
Also used : Recipient(org.thoughtcrime.securesms.recipients.Recipient) Data(org.thoughtcrime.securesms.jobmanager.Data) NonNull(androidx.annotation.NonNull)

Example 19 with Data

use of org.thoughtcrime.securesms.jobmanager.Data in project Signal-Android by signalapp.

the class RecipientIdJobMigration method migratePushGroupUpdateJob.

@NonNull
private JobData migratePushGroupUpdateJob(@NonNull JobData jobData) {
    String address = jobData.getData().getString("source");
    Recipient recipient = Recipient.external(application, address);
    Data updatedData = new Data.Builder().putString("source", recipient.getId().serialize()).putString("group_id", jobData.getData().getString("group_id")).build();
    return jobData.withData(updatedData);
}
Also used : Recipient(org.thoughtcrime.securesms.recipients.Recipient) Data(org.thoughtcrime.securesms.jobmanager.Data) NonNull(androidx.annotation.NonNull)

Example 20 with Data

use of org.thoughtcrime.securesms.jobmanager.Data in project Signal-Android by signalapp.

the class RecipientIdJobMigration method migrateMultiDeviceViewOnceOpenJob.

@NonNull
private JobData migrateMultiDeviceViewOnceOpenJob(@NonNull JobData jobData) {
    try {
        String rawOld = jobData.getData().getString("message_id");
        OldSerializableSyncMessageId old = JsonUtils.fromJson(rawOld, OldSerializableSyncMessageId.class);
        Recipient recipient = Recipient.external(application, old.sender);
        NewSerializableSyncMessageId updated = new NewSerializableSyncMessageId(recipient.getId().serialize(), old.timestamp);
        String rawUpdated = JsonUtils.toJson(updated);
        Data updatedData = new Data.Builder().putString("message_id", rawUpdated).build();
        return jobData.withData(updatedData);
    } catch (IOException e) {
        throw new AssertionError(e);
    }
}
Also used : Recipient(org.thoughtcrime.securesms.recipients.Recipient) Data(org.thoughtcrime.securesms.jobmanager.Data) IOException(java.io.IOException) NonNull(androidx.annotation.NonNull)

Aggregations

Data (org.thoughtcrime.securesms.jobmanager.Data)42 NonNull (androidx.annotation.NonNull)34 Recipient (org.thoughtcrime.securesms.recipients.Recipient)26 IOException (java.io.IOException)10 Stream (com.annimon.stream.Stream)6 List (java.util.List)6 ApplicationDependencies (org.thoughtcrime.securesms.dependencies.ApplicationDependencies)6 Job (org.thoughtcrime.securesms.jobmanager.Job)6 RecipientId (org.thoughtcrime.securesms.recipients.RecipientId)6 Context (android.content.Context)4 TimeUnit (java.util.concurrent.TimeUnit)4 Test (org.junit.Test)4 Log (org.signal.core.util.logging.Log)4 NetworkConstraint (org.thoughtcrime.securesms.jobmanager.impl.NetworkConstraint)4 SignalStore (org.thoughtcrime.securesms.keyvalue.SignalStore)4 WorkerThread (androidx.annotation.WorkerThread)2 HashSet (java.util.HashSet)2 LinkedList (java.util.LinkedList)2 Set (java.util.Set)2 Assert.assertEquals (org.junit.Assert.assertEquals)2