diff --git a/.gitignore b/.gitignore
index 8e2753bcf..b40390a31 100644
--- a/.gitignore
+++ b/.gitignore
@@ -20,6 +20,7 @@ local.properties
.idea/*
!.idea/runConfigurations/
!.idea/codeStyleSettings.xml
+!.idea/codeStyles
.gradle
build/
*.iml
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 977820456..9cad7718f 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -8,8 +8,6 @@ cache:
before_script:
- set -e
- export GRADLE_USER_HOME=$PWD/.gradle
- # Accept the license for the Android build tools
- - echo y | /opt/android-sdk/tools/bin/sdkmanager "build-tools;26.0.2"
test:
script:
diff --git a/.idea/codeStyles/Project.xml b/.idea/codeStyles/Project.xml
new file mode 100644
index 000000000..20f76712c
--- /dev/null
+++ b/.idea/codeStyles/Project.xml
@@ -0,0 +1,261 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ xmlns:android
+ Namespace:
+
+
+
+
+
+
+
+
+ xmlns:.*
+ Namespace:
+
+
+ BY_NAME
+
+
+
+
+
+
+ .*:id
+ http://schemas.android.com/apk/res/android
+
+
+
+
+
+
+
+
+ .*:name
+ http://schemas.android.com/apk/res/android
+
+
+
+
+
+
+
+
+ name
+ ^$
+
+
+
+
+
+
+
+
+ style
+ ^$
+
+
+
+
+
+
+
+
+ .*
+ ^$
+
+
+ BY_NAME
+
+
+
+
+
+
+ .*:layout_width
+ http://schemas.android.com/apk/res/android
+
+
+
+
+
+
+
+
+ .*:layout_height
+ http://schemas.android.com/apk/res/android
+
+
+
+
+
+
+
+
+ .*:layout_.*
+ http://schemas.android.com/apk/res/android
+
+
+ BY_NAME
+
+
+
+
+
+
+ .*:width
+ http://schemas.android.com/apk/res/android
+
+
+ BY_NAME
+
+
+
+
+
+
+ .*:height
+ http://schemas.android.com/apk/res/android
+
+
+ BY_NAME
+
+
+
+
+
+
+ .*
+ http://schemas.android.com/apk/res/android
+
+
+ BY_NAME
+
+
+
+
+
+
+ .*
+ .*
+
+
+ BY_NAME
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/codeStyles/codeStyleConfig.xml b/.idea/codeStyles/codeStyleConfig.xml
new file mode 100644
index 000000000..79ee123c2
--- /dev/null
+++ b/.idea/codeStyles/codeStyleConfig.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
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 375a9a4a4..fad48f249 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
@@ -23,8 +23,20 @@ public class TestDataActivity extends BriarActivity {
@Inject
TestDataCreator testDataCreator;
- private TextView[] textViews = new TextView[5];
- private SeekBar[] seekBars = new SeekBar[5];
+ 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;
@Override
public void onCreate(Bundle bundle) {
@@ -37,45 +49,111 @@ public class TestDataActivity extends BriarActivity {
}
setContentView(R.layout.activity_test_data);
- textViews[0] = findViewById(R.id.textViewContactsSb);
- textViews[1] = findViewById(R.id.textViewMessagesSb);
- textViews[2] = findViewById(R.id.TextViewBlogPostsSb);
- textViews[3] = findViewById(R.id.TextViewForumsSb);
- textViews[4] = findViewById(R.id.TextViewForumMessagesSb);
- seekBars[0] = findViewById(R.id.seekBarContacts);
- seekBars[1] = findViewById(R.id.seekBarMessages);
- seekBars[2] = findViewById(R.id.seekBarBlogPosts);
- seekBars[3] = findViewById(R.id.seekBarForums);
- seekBars[4] = findViewById(R.id.seekBarForumMessages);
+ contactsTextView = findViewById(R.id.textViewContactsSb);
+ messagesTextView = findViewById(R.id.textViewMessagesSb);
+ blogPostsTextView = findViewById(R.id.TextViewBlogPostsSb);
+ forumsTextView = findViewById(R.id.TextViewForumsSb);
+ forumPostsTextView = findViewById(R.id.TextViewForumMessagesSb);
+ contactsSeekBar = findViewById(R.id.seekBarContacts);
+ messagesSeekBar = findViewById(R.id.seekBarMessages);
+ blogPostsSeekBar = findViewById(R.id.seekBarBlogPosts);
+ forumsSeekBar = findViewById(R.id.seekBarForums);
+ forumPostsSeekBar = findViewById(R.id.seekBarForumMessages);
- for (int i = 0; i < 5; i++) {
- final TextView textView = textViews[i];
- seekBars[i].setOnSeekBarChangeListener(
- new OnSeekBarChangeListener() {
- @Override
- public void onProgressChanged(SeekBar seekBar,
- int progress, boolean fromUser) {
- textView.setText(String.valueOf(progress));
- }
+ contactsSeekBar
+ .setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
+ @Override
+ public void onProgressChanged(SeekBar seekBar,
+ int progress, boolean fromUser) {
+ contactsTextView.setText(String.valueOf(progress + 1));
+ }
- @Override
- public void onStartTrackingTouch(SeekBar seekBar) {
- }
+ @Override
+ public void onStartTrackingTouch(SeekBar seekBar) {
+ }
- @Override
- public void onStopTrackingTouch(SeekBar seekBar) {
- }
- });
- }
+ @Override
+ 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(
v -> createTestData());
}
private void createTestData() {
- testDataCreator.createTestData(seekBars[0].getProgress(),
- seekBars[1].getProgress(), seekBars[2].getProgress(),
- seekBars[3].getProgress(), seekBars[4].getProgress());
+ testDataCreator.createTestData(contactsSeekBar.getProgress() + 1,
+ messagesSeekBar.getProgress(), blogPostsSeekBar.getProgress(),
+ forumsSeekBar.getProgress(), forumPostsSeekBar.getProgress());
Intent intent = new Intent(this, NavDrawerActivity.class);
intent.addFlags(FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
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 c0d6c6833..18ce6ac85 100644
--- a/briar-android/src/main/res/layout/activity_test_data.xml
+++ b/briar-android/src/main/res/layout/activity_test_data.xml
@@ -28,7 +28,7 @@
android:id="@+id/seekBarContacts"
android:layout_width="0dp"
android:layout_height="wrap_content"
- android:max="50"
+ android:max="49"
android:progress="20"
app:layout_constraintEnd_toStartOf="@+id/textViewContactsSb"
app:layout_constraintStart_toStartOf="parent"
diff --git a/briar-api/src/main/java/org/briarproject/briar/api/test/TestDataCreator.java b/briar-api/src/main/java/org/briarproject/briar/api/test/TestDataCreator.java
index 41ccb6434..fc210e583 100644
--- a/briar-api/src/main/java/org/briarproject/briar/api/test/TestDataCreator.java
+++ b/briar-api/src/main/java/org/briarproject/briar/api/test/TestDataCreator.java
@@ -8,7 +8,7 @@ public interface TestDataCreator {
/**
* 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
* contact.
* @param numBlogPosts Number of blog posts to create.
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 a4f6ceb33..c89d05e17 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
@@ -115,6 +115,9 @@ public class TestDataCreatorImpl implements TestDataCreator {
public void createTestData(int numContacts, int numPrivateMsgs,
int numBlogPosts, int numForums, int numForumPosts) {
+ if (numContacts == 0)
+ throw new IllegalArgumentException(
+ "Number of contacts must be >= 1");
ioExecutor.execute(() -> {
try {
createTestDataOnIoExecutor(numContacts, numPrivateMsgs,