diff --git a/briar-android/src/androidTestScreenshot/java/org/briarproject/briar/android/SetupDataTest.java b/briar-android/src/androidTestScreenshot/java/org/briarproject/briar/android/SetupDataTest.java
index 140e54231..f40c70aef 100644
--- a/briar-android/src/androidTestScreenshot/java/org/briarproject/briar/android/SetupDataTest.java
+++ b/briar-android/src/androidTestScreenshot/java/org/briarproject/briar/android/SetupDataTest.java
@@ -116,7 +116,7 @@ public class SetupDataTest extends ScreenshotTest {
throws DbException {
Context ctx = getApplicationContext();
String bobName = ctx.getString(R.string.screenshot_bob);
- Contact bob = testDataCreator.addContact(bobName);
+ Contact bob = testDataCreator.addContact(bobName, true);
// TODO add messages
diff --git a/briar-android/src/main/java/org/briarproject/briar/android/test/TestDataActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/test/TestDataActivity.java
index f9f98185b..10ce1daf1 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/test/TestDataActivity.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/test/TestDataActivity.java
@@ -24,20 +24,9 @@ public class TestDataActivity extends BriarActivity {
@Inject
TestDataCreator testDataCreator;
- private TextView contactsTextView;
- private SeekBar contactsSeekBar;
-
- private TextView messagesTextView;
- private SeekBar messagesSeekBar;
-
- private TextView blogPostsTextView;
- private SeekBar blogPostsSeekBar;
-
- private TextView forumsTextView;
- private SeekBar forumsSeekBar;
-
- private TextView forumPostsTextView;
- private SeekBar forumPostsSeekBar;
+ private TextView contactsTextView, forumsTextView;
+ private SeekBar contactsSeekBar, messagesSeekBar, avatarsSeekBar,
+ blogPostsSeekBar, forumsSeekBar, forumPostsSeekBar;
@Override
public void onCreate(Bundle bundle) {
@@ -51,12 +40,15 @@ public class TestDataActivity extends BriarActivity {
setContentView(R.layout.activity_test_data);
contactsTextView = findViewById(R.id.textViewContactsSb);
- messagesTextView = findViewById(R.id.textViewMessagesSb);
- blogPostsTextView = findViewById(R.id.TextViewBlogPostsSb);
+ TextView messagesTextView = findViewById(R.id.textViewMessagesSb);
+ TextView avatarsTextView = findViewById(R.id.textViewAvatarsSb);
+ TextView blogPostsTextView = findViewById(R.id.TextViewBlogPostsSb);
forumsTextView = findViewById(R.id.TextViewForumsSb);
- forumPostsTextView = findViewById(R.id.TextViewForumMessagesSb);
+ TextView forumPostsTextView =
+ findViewById(R.id.TextViewForumMessagesSb);
contactsSeekBar = findViewById(R.id.seekBarContacts);
messagesSeekBar = findViewById(R.id.seekBarMessages);
+ avatarsSeekBar = findViewById(R.id.seekBarAvatars);
blogPostsSeekBar = findViewById(R.id.seekBarBlogPosts);
forumsSeekBar = findViewById(R.id.seekBarForums);
forumPostsSeekBar = findViewById(R.id.seekBarForumMessages);
@@ -78,40 +70,12 @@ public class TestDataActivity extends BriarActivity {
}
});
- messagesSeekBar
- .setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
- @Override
- public void onProgressChanged(SeekBar seekBar,
- int progress, boolean fromUser) {
- messagesTextView.setText(String.valueOf(progress));
- }
-
- @Override
- public void onStartTrackingTouch(SeekBar seekBar) {
- }
-
- @Override
- public void onStopTrackingTouch(SeekBar seekBar) {
- }
- });
-
- blogPostsSeekBar
- .setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
- @Override
- public void onProgressChanged(SeekBar seekBar,
- int progress, boolean fromUser) {
- blogPostsTextView.setText(String.valueOf(progress));
- }
-
- @Override
- public void onStartTrackingTouch(SeekBar seekBar) {
- }
-
- @Override
- public void onStopTrackingTouch(SeekBar seekBar) {
- }
- });
-
+ messagesSeekBar.setOnSeekBarChangeListener(
+ new OnSeekBarChangeUpdateProgress(messagesTextView));
+ avatarsSeekBar.setOnSeekBarChangeListener(
+ new OnSeekBarChangeUpdateProgress(avatarsTextView));
+ blogPostsSeekBar.setOnSeekBarChangeListener(
+ new OnSeekBarChangeUpdateProgress(blogPostsTextView));
forumsSeekBar
.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
@@ -129,23 +93,8 @@ public class TestDataActivity extends BriarActivity {
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
-
- forumPostsSeekBar
- .setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
- @Override
- public void onProgressChanged(SeekBar seekBar,
- int progress, boolean fromUser) {
- forumPostsTextView.setText(String.valueOf(progress));
- }
-
- @Override
- public void onStartTrackingTouch(SeekBar seekBar) {
- }
-
- @Override
- public void onStopTrackingTouch(SeekBar seekBar) {
- }
- });
+ forumPostsSeekBar.setOnSeekBarChangeListener(
+ new OnSeekBarChangeUpdateProgress(forumPostsTextView));
findViewById(R.id.buttonCreateTestData).setOnClickListener(
v -> createTestData());
@@ -153,8 +102,9 @@ public class TestDataActivity extends BriarActivity {
private void createTestData() {
testDataCreator.createTestData(contactsSeekBar.getProgress() + 1,
- messagesSeekBar.getProgress(), blogPostsSeekBar.getProgress(),
- forumsSeekBar.getProgress(), forumPostsSeekBar.getProgress());
+ messagesSeekBar.getProgress(), avatarsSeekBar.getProgress(),
+ blogPostsSeekBar.getProgress(), forumsSeekBar.getProgress(),
+ forumPostsSeekBar.getProgress());
Intent intent = new Intent(this, ENTRY_ACTIVITY);
intent.addFlags(FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
@@ -174,4 +124,28 @@ public class TestDataActivity extends BriarActivity {
}
return false;
}
+
+ private static class OnSeekBarChangeUpdateProgress
+ implements OnSeekBarChangeListener {
+ private final TextView textView;
+
+ private OnSeekBarChangeUpdateProgress(TextView textView) {
+ this.textView = textView;
+ }
+
+ @Override
+ public void onProgressChanged(SeekBar seekBar, int progress,
+ boolean fromUser) {
+ textView.setText(String.valueOf(progress));
+ }
+
+ @Override
+ public void onStartTrackingTouch(SeekBar seekBar) {
+ }
+
+ @Override
+ public void onStopTrackingTouch(SeekBar seekBar) {
+ }
+ }
+
}
diff --git a/briar-android/src/main/res/layout/activity_test_data.xml b/briar-android/src/main/res/layout/activity_test_data.xml
index bd0c13dc6..0c8733c65 100644
--- a/briar-android/src/main/res/layout/activity_test_data.xml
+++ b/briar-android/src/main/res/layout/activity_test_data.xml
@@ -71,6 +71,36 @@
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textViewMessages" />
+
+
+
+
+
+
+ app:layout_constraintTop_toBottomOf="@+id/seekBarAvatars" />
= 1
* @param numPrivateMsgs Number of private messages to create for each
* contact.
+ * @param avatarPercent Percentage of contacts
+ * that will use a random profile image. Between 0 and 100.
* @param numBlogPosts Number of blog posts to create.
* @param numForums Number of forums to create.
* @param numForumPosts Number of forum posts to create per forum.
*/
- void createTestData(int numContacts, int numPrivateMsgs, int numBlogPosts,
- int numForums, int numForumPosts);
+ void createTestData(int numContacts, int numPrivateMsgs, int avatarPercent,
+ int numBlogPosts, int numForums, int numForumPosts);
@IoExecutor
- Contact addContact(String name) throws DbException;
+ Contact addContact(String name, boolean avatar) throws DbException;
}
diff --git a/briar-core/src/main/java/org/briarproject/briar/test/TestDataCreatorImpl.java b/briar-core/src/main/java/org/briarproject/briar/test/TestDataCreatorImpl.java
index 14d4a9390..8bd280b34 100644
--- a/briar-core/src/main/java/org/briarproject/briar/test/TestDataCreatorImpl.java
+++ b/briar-core/src/main/java/org/briarproject/briar/test/TestDataCreatorImpl.java
@@ -124,12 +124,15 @@ public class TestDataCreatorImpl implements TestDataCreator {
@Override
public void createTestData(int numContacts, int numPrivateMsgs,
- int numBlogPosts, int numForums, int numForumPosts) {
+ int avatarPercent, int numBlogPosts, int numForums,
+ int numForumPosts) {
if (numContacts == 0) throw new IllegalArgumentException();
+ if (avatarPercent < 0 || avatarPercent > 100)
+ throw new IllegalArgumentException();
ioExecutor.execute(() -> {
try {
createTestDataOnIoExecutor(numContacts, numPrivateMsgs,
- numBlogPosts, numForums, numForumPosts);
+ avatarPercent, numBlogPosts, numForums, numForumPosts);
} catch (DbException e) {
logException(LOG, WARNING, e);
}
@@ -138,9 +141,9 @@ public class TestDataCreatorImpl implements TestDataCreator {
@IoExecutor
private void createTestDataOnIoExecutor(int numContacts, int numPrivateMsgs,
- int numBlogPosts, int numForums, int numForumPosts)
- throws DbException {
- List contacts = createContacts(numContacts);
+ int avatarPercent, int numBlogPosts, int numForums,
+ int numForumPosts) throws DbException {
+ List contacts = createContacts(numContacts, avatarPercent);
createPrivateMessages(contacts, numPrivateMsgs);
createBlogPosts(contacts, numBlogPosts);
List forums = createForums(contacts, numForums);
@@ -149,19 +152,21 @@ public class TestDataCreatorImpl implements TestDataCreator {
}
}
- private List createContacts(int numContacts) throws DbException {
+ private List createContacts(int numContacts, int avatarPercent)
+ throws DbException {
List contacts = new ArrayList<>(numContacts);
LocalAuthor localAuthor = identityManager.getLocalAuthor();
for (int i = 0; i < numContacts; i++) {
LocalAuthor remote = getRandomAuthor();
- Contact contact = addContact(localAuthor.getId(), remote);
+ Contact contact =
+ addContact(localAuthor.getId(), remote, avatarPercent);
contacts.add(contact);
}
return contacts;
}
- private Contact addContact(AuthorId localAuthorId, LocalAuthor remote)
- throws DbException {
+ private Contact addContact(AuthorId localAuthorId, LocalAuthor remote,
+ int avatarPercent) throws DbException {
// prepare to add contact
SecretKey secretKey = getSecretKey();
long timestamp = clock.currentTimeMillis();
@@ -181,7 +186,7 @@ public class TestDataCreatorImpl implements TestDataCreator {
transportPropertyManager.addRemoteProperties(txn, contactId, props);
return db.getContact(txn, contactId);
});
- if (random.nextInt(3) < 2) addAvatar(contact);
+ if (random.nextInt(100) + 1 < avatarPercent) addAvatar(contact);
if (LOG.isLoggable(INFO)) {
LOG.info("Added contact " + remote.getName() +
@@ -192,10 +197,11 @@ public class TestDataCreatorImpl implements TestDataCreator {
}
@Override
- public Contact addContact(String name) throws DbException {
+ public Contact addContact(String name, boolean avatar) throws DbException {
LocalAuthor localAuthor = identityManager.getLocalAuthor();
LocalAuthor remote = authorFactory.createLocalAuthor(name);
- return addContact(localAuthor.getId(), remote);
+ int avatarPercent = avatar ? 100 : 0;
+ return addContact(localAuthor.getId(), remote, avatarPercent);
}
private String getRandomAuthorName() {
diff --git a/briar-headless/src/test/java/org/briarproject/briar/headless/contact/ContactControllerIntegrationTest.kt b/briar-headless/src/test/java/org/briarproject/briar/headless/contact/ContactControllerIntegrationTest.kt
index bea7b950c..2515eba10 100644
--- a/briar-headless/src/test/java/org/briarproject/briar/headless/contact/ContactControllerIntegrationTest.kt
+++ b/briar-headless/src/test/java/org/briarproject/briar/headless/contact/ContactControllerIntegrationTest.kt
@@ -25,7 +25,7 @@ class ContactControllerIntegrationTest: IntegrationTest() {
// add one test contact
val testContactName= "testContactName"
- testDataCreator.addContact(testContactName)
+ testDataCreator.addContact(testContactName, false)
// retrieve list with one test contact
response = get("$url/contacts")