Skip to content

Commit 75d600c

Browse files
authored
Merge pull request #439 from fossasia/development
Getting the master branch even with development.
2 parents f5942e5 + b8c1614 commit 75d600c

File tree

372 files changed

+804452
-304
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

372 files changed

+804452
-304
lines changed

.github/ISSUE_TEMPLATE

Lines changed: 0 additions & 23 deletions
This file was deleted.

.github/ISSUE_TEMPLATE/bug.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
---
2+
name: Report a bug
3+
about: Report a bug which you have noticed, to help us improve NeuroLab Android app
4+
title: ''
5+
labels: Bug
6+
assignees: jddeep, suresh-gandhi
7+
8+
---
9+
10+
**Describe the bug**
11+
<!--Please state here what is currently happening.-->
12+
13+
**Expected Behavior**
14+
<!--A clear and concise description of what you want to happen.-->
15+
16+
**Steps to reproduce it**
17+
<!--Add steps to reproduce the bug.-->
18+
19+
**LogCat for the issue**
20+
<!--Provide logs for the crash here.-->
21+
22+
**Screenshots of the issue**
23+
<!--Where-ever possible add a screenshot of the issue. Use `<img src="paste-link-here" width=200 />` tag-->
24+
25+
**System Information**
26+
<table>
27+
<tr>
28+
<td>Device</td><td>e.g. Moto G5 Plus</td>
29+
</tr>
30+
<tr>
31+
<td>Android version/OS</td><td>eg: Oreo 8.1</td>
32+
</tr>
33+
</table>
34+
35+
**Would you like to work on the issue?**
36+
<!--Let us know if this issue should be assigned to you or tell us who you think could help to solve this issue.-->
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for the project Neurolab
4+
title: ''
5+
labels: Feature
6+
assignees: ''
7+
8+
---
9+
10+
**Actual Behaviour.**
11+
<!--A clear and concise description of the existing behaviour-->
12+
13+
**Expected Behaviour**
14+
<!--A clear and concise description of what you want to happen.-->
15+
16+
**Steps to reproduce it**
17+
<!--A clear and concise description of steps you've considered to implement the feature.-->
18+
19+
**Additional context**
20+
<!--Add any other context or screenshots about the feature request here.-->
21+
22+
**Would you like to work on the issue?**
23+
<!--Let us know if this issue should be assigned to you or tell us who you think could help to solve this issue.-->
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
---
2+
name: General issues
3+
about: Issues related to docs, workflow, dependency and others
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
10+
**Describe the issue**
11+
12+
<!--Please state here what you want to do.-->
13+
14+
**Would you like to work on the issue?**
15+
16+
<!--Let us know if this issue should be assigned to you or tell us who you think could help to solve this issue.-->

.github/PULL_REQUEST_TEMPLATE

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ Fixes #[Add issue number here. Note: This will automatically closes the issue. I
22

33
**Changes**: [Add here what changes were made in this issue and if possible provide links.]
44

5-
**Screenshot/s for the changes**: [Add screenshot/s of the layout where you made changes or a `*.gif` containing a demonstration]
5+
**Screenshot/s for the changes**: [Add screenshot/s of the layout where you made changes or a `*.gif` containing a demonstration. Use `<img src="paste-url-here" width=200/>` to add images]
66

77
**Checklist**: [Please tick following check boxes with `[x]` if the respective task is completed]
88
- [ ] I have used resources from `strings.xml`, `dimens.xml` and `colors.xml` without hard-coding them

.travis.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ sudo: false
44

55
jdk: oraclejdk8
66

7+
dist : trusty
8+
79
android:
810
components:
911
- tools

CONTRIBUTING.md

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
## How to Contribute
2+
3+
### Raising an issue
4+
This is an Open Source project and we would be happy to see contributors who report bugs and file feature requests submitting pull requests as well.
5+
This project adheres to the Contributor Covenant code of conduct.
6+
By participating, you are expected to uphold this code style.
7+
Please report issues here [Issues - fossasia/neurolab-android](https://github.com/fossasia/neurolab-android/issues)
8+
9+
### Branch Policy
10+
11+
#### Sending pull requests
12+
13+
Go to the repository on github at <https://github.com/fossasia/neurolab-android>.
14+
15+
Click the “Fork” button at the top right.
16+
17+
You’ll now have your own copy of the original FOSSASIA repository in your github account.
18+
19+
Open a terminal/shell.
20+
21+
Type
22+
23+
`$ git clone https://github.com/fossasia/neurolab-android.git`
24+
25+
where 'username' is your username.
26+
27+
You’ll now have a local copy of your version of the original FOSSASIA repository.
28+
29+
#### Change into that project directory (neurolab-android)
30+
31+
`$ cd neurolab-android`
32+
33+
#### Add a connection to the original owner’s repository
34+
35+
`$ git remote add upstream https://github.com/fossasia/neurolab-android`
36+
37+
#### To check this remote add set up
38+
39+
`$ git remote -v`
40+
41+
#### Make changes to files
42+
43+
`git add` and `git commit` those changes
44+
45+
`git push` them back to github. These will go to your version of the repository.
46+
47+
#### Now Create a PR (Pull Request)
48+
Go to your version of the repository on github.
49+
50+
Click the “New pull request” button at the top.
51+
52+
Note that FOSSASIA’s repository will be on the left and your repository will be on the right.
53+
54+
Click the green button “Create pull request”. Give a succinct and informative title, in the comment field give a short explanation of the changes and click the green button “Create pull request” again.
55+
56+
#### Pulling others’ changes
57+
Before you make further changes to the repository, you should check that your version is up to date relative to FOSSASIA’s version.
58+
59+
Go into the directory for the project and type:
60+
61+
`$ git checkout development`
62+
`$ git pull upstream development --rebase`
63+
64+
This will pull down and merge all of the changes that have been made in the original FOSSASIA repository.
65+
66+
Now push them back to your github repository.
67+
68+
`$ git push origin development`

README.md

Lines changed: 129 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22

33
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/04c9c47bfb934605ab15394dd2f260be)](https://app.codacy.com/app/fossasia/neurolab-android?utm_source=github.com&utm_medium=referral&utm_content=fossasia/neurolab-android&utm_campaign=Badge_Grade_Settings)
44
[![Build Status](https://travis-ci.org/fossasia/neurolab-android.svg?branch=master)](https://travis-ci.org/fossasia/neurolab-android)
5-
[![Gitter](https://badges.gitter.im/fossasia/pslab.svg)](https://gitter.im/fossasia/pslab?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
6-
[![Mailing List](https://img.shields.io/badge/Mailing%20List-FOSSASIA-blue.svg)](mailto:[email protected])
5+
[![Gitter](https://badges.gitter.im/fossasia/neurolab.svg)](https://gitter.im/fossasia/neurolab?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge)
6+
[![Mailing List](https://img.shields.io/badge/Mailing%20List-FOSSASIA-blue.svg)](https://groups.google.com/forum/#!forum/pslab-fossasia)
7+
[![Twitter Follow](https://img.shields.io/twitter/follow/pslabio.svg?style=social&label=Follow&maxAge=2592000?style=flat-square)](https://twitter.com/pslabio)
78

89
This repository holds the Android app for the Neurolab Hardware. We are developing a neuro-device as a headband with integrated electronics.
910

@@ -14,3 +15,129 @@ Our brains communicate through neurotransmitters and their activity emits electr
1415
Current devices in the medical industry are usually not accessible by doctors due to their high pricing. They are also complicated to use. The idea of the device is to integrate it into a headband and focus on signals that can be obtained through the frontal lobe.
1516

1617
A difference to existing projects like OpenBCI is that it will not be necessary to 3D print large headsets. Instead we are focusing on creating a device that collects as much data as possible through the forehead. To achieve this goal we are using high-grade sensors and flexible electronics.
18+
19+
## Screenshots
20+
<table>
21+
22+
<tr>
23+
<td><img src="/docs/images/start_screen_1.png" height="500" width="250"></td>
24+
<td><img src="/docs/images/home_screen.jpg" height="500" width="250"></td>
25+
<td><img src="/docs/images/nav_menu.png" height="500" width="250"></td>
26+
</tr>
27+
28+
<tr>
29+
<td><img src="/docs/images/focus_mode.png" height="500" width="250"></td>
30+
<td><img src="/docs/images/memory_graph_sc.jpeg" height="500" width="250"></td>
31+
<td><img src="/docs/images/pinlayout.jpeg" height="500" width="250"></td>
32+
</tr>
33+
34+
<tr>
35+
<td><img src="/docs/images/meditate.jpg" height="500" width="250"></td>
36+
<td><img src="/docs/images/about_screen.png" height="500" width="250"></td>
37+
<td><img src="/docs/images/settings_screen.jpeg" height="500" width="250"></td>
38+
</tr>
39+
40+
</table>
41+
42+
## Features
43+
44+
### Launcher Screen
45+
46+
<td><img src = "/docs/images/home_screen.jpg" height = "500" width="250"></td>
47+
48+
The four major program modes:
49+
* [Focus](#focus-program-mode)
50+
* [Relax](#relax-program-mode)
51+
* [Memory Graph](#memory-graph-program-mode)
52+
* [Meditation](#meditation-program-mode)
53+
54+
Every program mode is responsible for specific activities and games with your brain activity.
55+
56+
### Focus program Mode
57+
58+
<td><img src="/docs/images/focus_mode.png" height="500" width="250"></td>
59+
60+
Focus program mode helps users to increase their focus and concentration power by playing games.
61+
The rocket game comes with features like play, stop, record, program info, datalogger, seek to specific time, etc.
62+
63+
### Relax program mode
64+
65+
<td><img src="/docs/images/relax.jpg" height="500" width="250"></td>
66+
67+
Relax program mode is intended to help users relax his mind and diminish their stress in life.
68+
69+
### Memory Graph program mode
70+
71+
<td><img src="/docs/images/memory_graph_sc.jpeg" height="500" width="250"></td>
72+
73+
Memory Graph is a data visualization mode with the help of graphs, user friendly stats and a density spectrum.
74+
Users can import a dataset into the datalogger from where they can visualize it in the actual mode.
75+
This mode is implemented with features like play, stop, record, data logger, etc.
76+
77+
### Meditation program mode
78+
(Under Development)
79+
80+
<td><img src="/docs/images/meditate.jpg" height="500" width="250"></td>
81+
82+
Meditation program mode helps users with providing different categories of meditations which they can choose depending upon their mood.
83+
Every category has a list of meditations directed for that particular mood.
84+
85+
Feel free to check out the in-development features of the app like the Meditation mode, bluetooth mode, etc. by enabling the Developer mode from the settings menu. We will be happy to receive your feedback and work on that.
86+
87+
## Contributions Best Practices
88+
89+
### For first time Contributors
90+
91+
First time contributors can read [CONTRIBUTING.md](/CONTRIBUTING.md) file for help regarding creating issues and sending pull requests.
92+
93+
### Branch Policy
94+
95+
We have the following branches
96+
**development** All development goes on in this branch. If you're making a contribution, you are supposed to make a pull request to _development_. PRs to development branch must pass a build check and a unit-test check on Circle CI.
97+
98+
**master** This contains shipped code. After significant features/bugfixes are accumulated on development, we make a version update and make a release.
99+
100+
**apk** This branch contains two apk's, that are automatically generated on the merged pull request a) debug apk and b) release apk.
101+
102+
* Please download and test the app that is using the code from the development and master branches [here](https://github.com/fossasia/neurolab-android/tree/apk).
103+
104+
### Code practices
105+
106+
Please help us follow the best practices to make it easy for the reviewer as well as the contributor. We want to focus on the code quality more than on managing pull request ethics.
107+
* Single commit per pull request
108+
* For writing commit messages please read the COMMITSTYLE carefully. Kindly adhere to the guidelines.
109+
* Follow uniform design practices. The design language must be consistent throughout the app.
110+
* The pull request will not get merged until and unless the commits are squashed. In case there are multiple commits on the PR, the commit author needs to squash them and not the maintainers cherrypicking and merging squashes.
111+
* If the PR is related to any front end change, please attach relevant screenshots in the pull request description.
112+
113+
### Join the development
114+
115+
* Before you join development, please set up the project on your local machine, run it and go through the application completely. Press on any button you can find and see where it leads to. Explore. (Don't worry ... Nothing will happen to the app or to you due to the exploring :wink: Only thing that will happen is, you'll be more familiar with what is where and might even get some cool ideas on how to improve various aspects of the app.)
116+
* Also please set up the [neurolab-desktop](https://github.com/fossasia/neurolab-desktop) project to your local machine in IntelliJ and explore it, as we are developing this android application based on the desktop-application.
117+
* If you would like to work on an issue, drop in a comment at the issue. If it is already assigned to someone, but there is no sign of any work being done, please free to drop in a comment so that the issue can be assigned to you if the previous assignee has dropped it entirely.
118+
119+
## For Testers: Testing the App
120+
If you are a tester and want to test the app, you have two ways to do that:
121+
1. **Installing APK on your device:** You can get debug APK as well as Release APK in apk branch of the repository. After each PR merge, both the APKs are automatically updated. So, just download the APK you want and install it on your device. The APKs will always be the latest one.
122+
123+
## External Depenedencies
124+
* [Preference Fix Library](https://github.com/Gericop/Android-Support-Preference-V7-Fix)
125+
* [JSyn Library](http://www.softsynth.com/jsyn/beta/jsyn_on_android.php)
126+
* [Android About Page](https://github.com/medyo/android-about-page)
127+
* [Open Sound Control library](https://github.com/medyo/android-about-page)
128+
* [Java Simple Serial Connector](https://mvnrepository.com/artifact/org.scream3r/jssc/2.8.0)
129+
* [JTransforms](https://mvnrepository.com/artifact/net.sourceforge.jtransforms/jtransforms/2.4.0)
130+
* [Java Open GL](https://mvnrepository.com/artifact/org.jogamp.jogl/jogl-all-main/2.3.2)
131+
* [Circle ImageView](https://github.com/hdodenhof/CircleImageView)
132+
* [MP Android Chart - Chart Library](https://github.com/PhilJay/MPAndroidChart)
133+
* [USB Serial Controller](https://github.com/felHR85/UsbSerial)
134+
* [App Intro](https://github.com/AppIntro/AppIntro)
135+
* [JFreeChart](https://mvnrepository.com/artifact/org.jfree/jfreechart/1.0.14)
136+
* [OpenCSV](https://mvnrepository.com/artifact/com.opencsv/opencsv/4.6)
137+
* [Gson](https://mvnrepository.com/artifact/com.google.code.gson/gson/2.8.5)
138+
139+
## Maintainers and Developers
140+
141+
* Jaideep Prasad ([@jddeep](https://github.com/jddeep))
142+
* Mario Behling ([@mariobehling](http://github.com/mariobehling))
143+
* Padmal ([@CloudyPadmal](https://github.com/CloudyPadmal))

app/build.gradle

Lines changed: 38 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,21 +12,58 @@ android {
1212
versionCode 1
1313
versionName "1.0.0"
1414
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
15+
vectorDrawables.useSupportLibrary = true
16+
multiDexEnabled true
1517
}
1618
buildTypes {
1719
release {
1820
minifyEnabled false
1921
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
22+
resValue "string", "version", "${defaultConfig.versionName}"
2023
}
24+
debug {
25+
versionNameSuffix "Version: "
26+
resValue "string", "version", "${versionNameSuffix}${defaultConfig.versionName}"
27+
}
28+
}
29+
compileOptions {
30+
sourceCompatibility JavaVersion.VERSION_1_8
31+
targetCompatibility JavaVersion.VERSION_1_8
32+
}
33+
packagingOptions {
34+
exclude 'META-INF/proguard/androidx-annotations.pro'
35+
}
36+
lintOptions {
37+
disable 'InvalidPackage'
38+
disable 'RestrictedApi'
2139
}
2240
}
2341

2442
dependencies {
25-
implementation fileTree(dir: 'libs', include: ['*.jar'])
43+
implementation fileTree(include: ['*.jar'], dir: 'libs')
44+
implementation "com.google.code.gson:gson:$rootProject.gsonLibraryVersion"
2645
implementation "com.android.support:support-annotations:$rootProject.supportLibraryVersion"
2746
implementation "com.android.support:appcompat-v7:$rootProject.supportLibraryVersion"
47+
implementation "com.takisoft.fix:preference-v7:$rootProject.prefFixLibraryVersion"
2848
implementation "com.android.support:design:$rootProject.supportLibraryVersion"
49+
implementation "com.android.support:support-v4:$rootProject.supportLibraryVersion"
2950
implementation "com.android.support.constraint:constraint-layout:$rootProject.constraintLayoutVersion"
51+
implementation "com.android.support:cardview-v7:$rootProject.supportLibraryVersion"
52+
implementation "com.android.support:recyclerview-v7:$rootProject.supportLibraryVersion"
53+
implementation "com.github.medyo:android-about-page:$rootProject.aboutPageLibraryVersion"
54+
implementation "com.github.iamareebjamal:jsyn:$rootProject.jsynLibraryVersion"
55+
implementation "com.illposed.osc:javaosc-core:$rootProject.javaOscLibraryVersion"
56+
implementation "org.scream3r:jssc:$rootProject.jsscLibraryVersion"
57+
implementation "net.sourceforge.jtransforms:jtransforms:$rootProject.jtransformsLibraryVersion", { exclude group: 'junit' }
58+
implementation "org.jogamp.jogl:jogl-all:$rootProject.joglLibraryVersion"
59+
implementation "de.hdodenhof:circleimageview:$rootProject.circleImageViewLibraryVersion"
60+
implementation "com.github.PhilJay:MPAndroidChart:v$rootProject.mpandroidchartLibraryVersion"
61+
implementation "com.github.felHR85:UsbSerial:$rootProject.usbSerialLibraryVersion"
62+
implementation "com.github.AppIntro:AppIntro:$rootProject.appIntroLibraryVersion"
63+
implementation "org.jfree:jfreechart:$rootProject.jfreechartLibraryVersion"
64+
implementation "com.opencsv:opencsv:$rootProject.opencsvLibraryVersion", {
65+
exclude group: "commons-logging", module: "commons-logging"
66+
}
3067
// Test
3168
testImplementation "junit:junit:$rootProject.junitVersion"
3269
androidTestImplementation "com.android.support.test:runner:$rootProject.testRunnerRulesVersion"

0 commit comments

Comments
 (0)