mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-19 22:29:53 +01:00
Fix dependency problems after refactor
This commit is contained in:
@@ -174,6 +174,14 @@
|
|||||||
android:value="org.briarproject.briar.android.account.NewOrRecoverActivity" />
|
android:value="org.briarproject.briar.android.account.NewOrRecoverActivity" />
|
||||||
</activity>
|
</activity>
|
||||||
|
|
||||||
|
<activity
|
||||||
|
android:name="org.briarproject.briar.android.socialbackup.recover.RestoreAccountActivity"
|
||||||
|
android:label="@string/activity_name_restore_account"
|
||||||
|
android:parentActivityName="org.briarproject.briar.android.socialbackup.recover.OwnerReturnShardActivity">
|
||||||
|
<meta-data
|
||||||
|
android:name="android.support.PARENT_ACTIVITY"
|
||||||
|
android:value="org.briarproject.briar.android.socialbackup.recover.OwnerReturnShardActivity" />
|
||||||
|
</activity>
|
||||||
|
|
||||||
<activity
|
<activity
|
||||||
android:name="org.briarproject.briar.android.conversation.ConversationActivity"
|
android:name="org.briarproject.briar.android.conversation.ConversationActivity"
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package org.briarproject.briar.android.socialbackup.recover;
|
package org.briarproject.briar.android.socialbackup.recover;
|
||||||
|
|
||||||
|
import android.content.Intent;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.view.MenuItem;
|
import android.view.MenuItem;
|
||||||
import android.widget.Toast;
|
import android.widget.Toast;
|
||||||
@@ -23,6 +24,10 @@ import javax.inject.Inject;
|
|||||||
import androidx.fragment.app.FragmentManager;
|
import androidx.fragment.app.FragmentManager;
|
||||||
import androidx.lifecycle.ViewModelProvider;
|
import androidx.lifecycle.ViewModelProvider;
|
||||||
|
|
||||||
|
import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TASK;
|
||||||
|
import static android.content.Intent.FLAG_ACTIVITY_CLEAR_TOP;
|
||||||
|
import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
|
||||||
|
import static android.content.Intent.FLAG_ACTIVITY_TASK_ON_HOME;
|
||||||
import static java.util.logging.Logger.getLogger;
|
import static java.util.logging.Logger.getLogger;
|
||||||
|
|
||||||
@MethodsNotNullByDefault
|
@MethodsNotNullByDefault
|
||||||
@@ -152,6 +157,11 @@ public class OwnerReturnShardActivity extends BaseActivity
|
|||||||
"Account recovered! " + version,
|
"Account recovered! " + version,
|
||||||
Toast.LENGTH_LONG).show();
|
Toast.LENGTH_LONG).show();
|
||||||
finish();
|
finish();
|
||||||
|
// TODO Success fragment
|
||||||
|
Intent i = new Intent(this, RestoreAccountActivity.class);
|
||||||
|
i.addFlags(FLAG_ACTIVITY_NEW_TASK | FLAG_ACTIVITY_CLEAR_TOP |
|
||||||
|
FLAG_ACTIVITY_CLEAR_TASK | FLAG_ACTIVITY_TASK_ON_HOME);
|
||||||
|
startActivity(i);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
onBackPressed();
|
onBackPressed();
|
||||||
|
|||||||
@@ -716,7 +716,7 @@
|
|||||||
|
|
||||||
<!-- activity names -->
|
<!-- activity names -->
|
||||||
<string name="activity_name_distributed_backup">Social Backup</string>
|
<string name="activity_name_distributed_backup">Social Backup</string>
|
||||||
<string name="activity_name_old_distributed_backup">Old Social Backup</string>
|
<string name="activity_name_restore_account">Restore Account</string>
|
||||||
|
|
||||||
<!-- conversation -->
|
<!-- conversation -->
|
||||||
<string name="social_backup_shard_received">You have received a social backup shard.</string>
|
<string name="social_backup_shard_received">You have received a social backup shard.</string>
|
||||||
|
|||||||
@@ -12,14 +12,14 @@ import javax.annotation.concurrent.Immutable;
|
|||||||
|
|
||||||
@Immutable
|
@Immutable
|
||||||
@NotNullByDefault
|
@NotNullByDefault
|
||||||
class ContactData {
|
public class ContactData {
|
||||||
|
|
||||||
private final Contact contact;
|
private final Contact contact;
|
||||||
private final Map<TransportId, TransportProperties> properties;
|
private final Map<TransportId, TransportProperties> properties;
|
||||||
@Nullable
|
@Nullable
|
||||||
private final Shard shard;
|
private final Shard shard;
|
||||||
|
|
||||||
ContactData(Contact contact,
|
public ContactData(Contact contact,
|
||||||
Map<TransportId, TransportProperties> properties,
|
Map<TransportId, TransportProperties> properties,
|
||||||
@Nullable Shard shard) {
|
@Nullable Shard shard) {
|
||||||
this.contact = contact;
|
this.contact = contact;
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ public class SocialBackup {
|
|||||||
private List<ContactData> contacts;
|
private List<ContactData> contacts;
|
||||||
private int version;
|
private int version;
|
||||||
|
|
||||||
SocialBackup (Identity identity, List<ContactData> contacts, int version) {
|
public SocialBackup (Identity identity, List<ContactData> contacts, int version) {
|
||||||
this.identity = identity;
|
this.identity = identity;
|
||||||
this.contacts = contacts;
|
this.contacts = contacts;
|
||||||
this.version = version;
|
this.version = version;
|
||||||
|
|||||||
@@ -3,12 +3,14 @@ package org.briarproject.briar.socialbackup;
|
|||||||
import org.briarproject.bramble.api.crypto.SecretKey;
|
import org.briarproject.bramble.api.crypto.SecretKey;
|
||||||
import org.briarproject.bramble.api.identity.Identity;
|
import org.briarproject.bramble.api.identity.Identity;
|
||||||
import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
|
import org.briarproject.bramble.api.nullsafety.NotNullByDefault;
|
||||||
|
import org.briarproject.briar.api.socialbackup.BackupPayload;
|
||||||
|
import org.briarproject.briar.api.socialbackup.ContactData;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@NotNullByDefault
|
@NotNullByDefault
|
||||||
interface BackupPayloadEncoder {
|
interface BackupPayloadEncoder {
|
||||||
|
|
||||||
org.briarproject.briar.api.socialbackup.BackupPayload encodeBackupPayload(SecretKey secret, Identity identity,
|
BackupPayload encodeBackupPayload(SecretKey secret, Identity identity,
|
||||||
List<org.briarproject.briar.api.socialbackup.ContactData> contactData, int version);
|
List<ContactData> contactData, int version);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -52,6 +52,7 @@ import org.briarproject.briar.api.socialbackup.ShardMessageHeader;
|
|||||||
import org.briarproject.briar.api.socialbackup.ShardReceivedEvent;
|
import org.briarproject.briar.api.socialbackup.ShardReceivedEvent;
|
||||||
import org.briarproject.briar.api.socialbackup.SocialBackupManager;
|
import org.briarproject.briar.api.socialbackup.SocialBackupManager;
|
||||||
import org.briarproject.briar.client.ConversationClientImpl;
|
import org.briarproject.briar.client.ConversationClientImpl;
|
||||||
|
import org.briarproject.briar.api.socialbackup.ContactData;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
@@ -193,12 +194,12 @@ class SocialBackupManagerImpl extends ConversationClientImpl
|
|||||||
// Add the shard to our backup, if any
|
// Add the shard to our backup, if any
|
||||||
if (localBackupExists(txn)) {
|
if (localBackupExists(txn)) {
|
||||||
Shard shard = messageParser.parseShardMessage(body);
|
Shard shard = messageParser.parseShardMessage(body);
|
||||||
List<org.briarproject.briar.api.socialbackup.ContactData> contactData = loadContactData(txn);
|
List<ContactData> contactData = loadContactData(txn);
|
||||||
ListIterator<org.briarproject.briar.api.socialbackup.ContactData> it = contactData.listIterator();
|
ListIterator<ContactData> it = contactData.listIterator();
|
||||||
while (it.hasNext()) {
|
while (it.hasNext()) {
|
||||||
org.briarproject.briar.api.socialbackup.ContactData cd = it.next();
|
ContactData cd = it.next();
|
||||||
if (cd.getContact().getId().equals(contactId)) {
|
if (cd.getContact().getId().equals(contactId)) {
|
||||||
it.set(new org.briarproject.briar.api.socialbackup.ContactData(cd.getContact(),
|
it.set(new ContactData(cd.getContact(),
|
||||||
cd.getProperties(), shard));
|
cd.getProperties(), shard));
|
||||||
updateBackup(txn, contactData);
|
updateBackup(txn, contactData);
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ public class RestoreAccountImpl implements RestoreAccount {
|
|||||||
public int recover() throws FormatException, GeneralSecurityException {
|
public int recover() throws FormatException, GeneralSecurityException {
|
||||||
if (secretKey == null) throw new GeneralSecurityException();
|
if (secretKey == null) throw new GeneralSecurityException();
|
||||||
// Find backup with highest version number
|
// Find backup with highest version number
|
||||||
int highestVersion = 0;
|
int highestVersion = -1;
|
||||||
for (ReturnShardPayload returnShardPayload : recoveredShards) {
|
for (ReturnShardPayload returnShardPayload : recoveredShards) {
|
||||||
BackupPayload backupPayload = returnShardPayload.getBackupPayload();
|
BackupPayload backupPayload = returnShardPayload.getBackupPayload();
|
||||||
SocialBackup s = backupPayloadDecoder.decodeBackupPayload(secretKey, backupPayload);
|
SocialBackup s = backupPayloadDecoder.decodeBackupPayload(secretKey, backupPayload);
|
||||||
|
|||||||
Reference in New Issue
Block a user