Fix testdata creation:

* Create at least one contact
This commit is contained in:
goapunk
2018-05-02 20:49:33 +02:00
parent 1833efa51b
commit 3e5d1a0d20
4 changed files with 115 additions and 34 deletions

View File

@@ -23,8 +23,20 @@ public class TestDataActivity extends BriarActivity {
@Inject @Inject
TestDataCreator testDataCreator; TestDataCreator testDataCreator;
private TextView[] textViews = new TextView[5]; private TextView contactsTextView;
private SeekBar[] seekBars = new SeekBar[5]; 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;
@Override @Override
public void onCreate(Bundle bundle) { public void onCreate(Bundle bundle) {
@@ -37,45 +49,111 @@ public class TestDataActivity extends BriarActivity {
} }
setContentView(R.layout.activity_test_data); setContentView(R.layout.activity_test_data);
textViews[0] = findViewById(R.id.textViewContactsSb); contactsTextView = findViewById(R.id.textViewContactsSb);
textViews[1] = findViewById(R.id.textViewMessagesSb); messagesTextView = findViewById(R.id.textViewMessagesSb);
textViews[2] = findViewById(R.id.TextViewBlogPostsSb); blogPostsTextView = findViewById(R.id.TextViewBlogPostsSb);
textViews[3] = findViewById(R.id.TextViewForumsSb); forumsTextView = findViewById(R.id.TextViewForumsSb);
textViews[4] = findViewById(R.id.TextViewForumMessagesSb); forumPostsTextView = findViewById(R.id.TextViewForumMessagesSb);
seekBars[0] = findViewById(R.id.seekBarContacts); contactsSeekBar = findViewById(R.id.seekBarContacts);
seekBars[1] = findViewById(R.id.seekBarMessages); messagesSeekBar = findViewById(R.id.seekBarMessages);
seekBars[2] = findViewById(R.id.seekBarBlogPosts); blogPostsSeekBar = findViewById(R.id.seekBarBlogPosts);
seekBars[3] = findViewById(R.id.seekBarForums); forumsSeekBar = findViewById(R.id.seekBarForums);
seekBars[4] = findViewById(R.id.seekBarForumMessages); forumPostsSeekBar = findViewById(R.id.seekBarForumMessages);
for (int i = 0; i < 5; i++) { contactsSeekBar
final TextView textView = textViews[i]; .setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
seekBars[i].setOnSeekBarChangeListener( @Override
new OnSeekBarChangeListener() { public void onProgressChanged(SeekBar seekBar,
@Override int progress, boolean fromUser) {
public void onProgressChanged(SeekBar seekBar, contactsTextView.setText(String.valueOf(progress + 1));
int progress, boolean fromUser) { }
textView.setText(String.valueOf(progress));
}
@Override @Override
public void onStartTrackingTouch(SeekBar seekBar) { public void onStartTrackingTouch(SeekBar seekBar) {
} }
@Override @Override
public void onStopTrackingTouch(SeekBar seekBar) { public void onStopTrackingTouch(SeekBar seekBar) {
} }
}); });
}
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) {
}
});
forumsSeekBar
.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar,
int progress, boolean fromUser) {
forumsTextView.setText(String.valueOf(progress));
forumPostsSeekBar.setEnabled(progress > 0);
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
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) {
}
});
findViewById(R.id.buttonCreateTestData).setOnClickListener( findViewById(R.id.buttonCreateTestData).setOnClickListener(
v -> createTestData()); v -> createTestData());
} }
private void createTestData() { private void createTestData() {
testDataCreator.createTestData(seekBars[0].getProgress(), testDataCreator.createTestData(contactsSeekBar.getProgress() + 1,
seekBars[1].getProgress(), seekBars[2].getProgress(), messagesSeekBar.getProgress(), blogPostsSeekBar.getProgress(),
seekBars[3].getProgress(), seekBars[4].getProgress()); forumsSeekBar.getProgress(), forumPostsSeekBar.getProgress());
Intent intent = new Intent(this, NavDrawerActivity.class); Intent intent = new Intent(this, NavDrawerActivity.class);
intent.addFlags(FLAG_ACTIVITY_CLEAR_TOP); intent.addFlags(FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent); startActivity(intent);

View File

@@ -28,7 +28,7 @@
android:id="@+id/seekBarContacts" android:id="@+id/seekBarContacts"
android:layout_width="0dp" android:layout_width="0dp"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:max="50" android:max="49"
android:progress="20" android:progress="20"
app:layout_constraintEnd_toStartOf="@+id/textViewContactsSb" app:layout_constraintEnd_toStartOf="@+id/textViewContactsSb"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"

View File

@@ -8,7 +8,7 @@ public interface TestDataCreator {
/** /**
* Create fake test data on the DatabaseExecutor * Create fake test data on the DatabaseExecutor
* *
* @param numContacts Number of contacts to create. * @param numContacts Number of contacts to create. Must be >= 1
* @param numPrivateMsgs Number of private messages to create for each * @param numPrivateMsgs Number of private messages to create for each
* contact. * contact.
* @param numBlogPosts Number of blog posts to create. * @param numBlogPosts Number of blog posts to create.

View File

@@ -115,6 +115,9 @@ public class TestDataCreatorImpl implements TestDataCreator {
public void createTestData(int numContacts, int numPrivateMsgs, public void createTestData(int numContacts, int numPrivateMsgs,
int numBlogPosts, int numForums, int numForumPosts) { int numBlogPosts, int numForums, int numForumPosts) {
if (numContacts == 0)
throw new IllegalArgumentException(
"Number of contacts must be >= 1");
ioExecutor.execute(() -> { ioExecutor.execute(() -> {
try { try {
createTestDataOnIoExecutor(numContacts, numPrivateMsgs, createTestDataOnIoExecutor(numContacts, numPrivateMsgs,