Skip to content

Commit 2b98127

Browse files
committed
Initial commit
0 parents  commit 2b98127

File tree

114 files changed

+9395
-0
lines changed

Some content is hidden

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

114 files changed

+9395
-0
lines changed

.gitignore

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
# Built application files
2+
*.apk
3+
*.ap_
4+
5+
# Files for the Dalvik VM
6+
*.dex
7+
8+
# Java class files
9+
*.class
10+
11+
# Generated files
12+
bin/
13+
gen/
14+
15+
# Gradle files
16+
.gradle/
17+
build/
18+
/*/build/
19+
20+
# Local configuration file (sdk path, etc)
21+
local.properties
22+
23+
# Proguard folder generated by Eclipse
24+
proguard/
25+
26+
# Log Files
27+
*.log
28+
29+
app/crashlytics.properties
30+
/.idea/*
31+
/captures
32+
.DS_Store
33+
/tmp/
34+
*.gz
35+
com_crashlytics_export_strings.xml
36+
*.iml
37+
38+
app/gradle.properties

app/.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/build

app/build.gradle

+65
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
apply plugin: 'com.android.application'
2+
apply plugin: 'me.tatarka.retrolambda'
3+
apply plugin: 'com.neenbedankt.android-apt'
4+
5+
android {
6+
compileSdkVersion 23
7+
buildToolsVersion '23.0.2'
8+
9+
defaultConfig {
10+
applicationId 'org.researchstack.sampleapp'
11+
minSdkVersion 16
12+
targetSdkVersion 23
13+
versionCode 1
14+
versionName '1.0'
15+
multiDexEnabled true
16+
}
17+
buildTypes {
18+
release {
19+
minifyEnabled false
20+
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
21+
// create a 'gradle.properties' file in the same directory as this build.gradle and add
22+
// the needed values, for example studyId="bridge_study_id" to make them available as
23+
// BuildConfig.STUDY_ID, BuildConfig.STUDY_NAME, etc
24+
buildConfigField 'String', 'STUDY_ID', studyId
25+
buildConfigField 'String', 'STUDY_NAME', studyName
26+
buildConfigField 'String', 'STUDY_BASE_URL', "\"https://webservices.sagebridge.org/\""
27+
}
28+
29+
debug {
30+
debuggable true
31+
minifyEnabled false
32+
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
33+
buildConfigField 'String', 'STUDY_ID', studyId
34+
buildConfigField 'String', 'STUDY_NAME', studyName
35+
buildConfigField 'String', 'STUDY_BASE_URL', "\"https://webservices-staging.sagebridge.org/\""
36+
}
37+
}
38+
39+
compileOptions {
40+
sourceCompatibility JavaVersion.VERSION_1_8
41+
targetCompatibility JavaVersion.VERSION_1_8
42+
}
43+
44+
packagingOptions {
45+
exclude 'META-INF/LICENSE.txt'
46+
exclude 'META-INF/NOTICE.txt'
47+
}
48+
49+
dexOptions {
50+
javaMaxHeapSize '4g' //specify the heap size for the dex process
51+
}
52+
}
53+
54+
dependencies {
55+
compile fileTree(include: ['*.jar'], dir: 'libs')
56+
testCompile 'junit:junit:4.12'
57+
compile 'org.researchstack:skin:0.9.0b2'
58+
compile 'com.android.support:appcompat-v7:23.2.1'
59+
compile 'net.zetetic:android-database-sqlcipher:3.3.1-2@aar'
60+
apt 'co.touchlab.squeaky:squeaky-processor:0.4.0.0'
61+
compile 'com.android.support:multidex:1.0.1'
62+
compile 'com.madgag.spongycastle:core:1.54.0.0'
63+
compile 'com.madgag.spongycastle:prov:1.54.0.0'
64+
compile 'com.madgag.spongycastle:pkix:1.54.0.0'
65+
}

app/gradle.properties.sample

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# if using Sage Bridge, add these two lines with your study info to gradle.properties
2+
studyId="STUDY_ID_HERE"
3+
studyName="STUDY_NAME_HERE"

app/proguard-rules.pro

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
# Add project specific ProGuard rules here.
2+
# By default, the flags in this file are appended to flags specified
3+
# in /Users/bradleymcdermott/Library/Android/sdk/tools/proguard/proguard-android.txt
4+
# You can edit the include path and order by changing the proguardFiles
5+
# directive in build.gradle.
6+
#
7+
# For more details, see
8+
# http://developer.android.com/guide/developing/tools/proguard.html
9+
10+
# Add any project specific keep options here:
11+
12+
# If your project uses WebView with JS, uncomment the following
13+
# and specify the fully qualified class name to the JavaScript interface
14+
# class:
15+
#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
16+
# public *;
17+
#}

app/src/main/AndroidManifest.xml

+122
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
<manifest package="org.researchstack.sampleapp"
2+
xmlns:android="http://schemas.android.com/apk/res/android">
3+
4+
<uses-permission android:name="android.permission.INTERNET"/>
5+
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
6+
7+
<application
8+
android:name="org.researchstack.sampleapp.SampleApplication"
9+
android:allowBackup="true"
10+
android:icon="@mipmap/ic_launcher"
11+
android:label="@string/app_name"
12+
android:supportsRtl="true"
13+
android:theme="@style/Theme.Sample">
14+
15+
<activity
16+
android:name="org.researchstack.skin.ui.SplashActivity"
17+
android:label="@string/app_name"
18+
android:theme="@style/Theme.Sample.Splash">
19+
<intent-filter>
20+
<action android:name="android.intent.action.MAIN"/>
21+
<category android:name="android.intent.category.LAUNCHER"/>
22+
</intent-filter>
23+
</activity>
24+
25+
<activity
26+
android:name="org.researchstack.skin.ui.MainActivity"
27+
android:theme="@style/Theme.Sample.Main"
28+
android:label="@string/app_name"
29+
android:launchMode="singleTask"
30+
android:screenOrientation="portrait">
31+
</activity>
32+
33+
34+
<activity
35+
android:name="org.researchstack.skin.ui.OnboardingActivity"
36+
android:label="@string/app_name"
37+
android:theme="@style/Theme.Sample.Onboarding"
38+
/>
39+
40+
<activity
41+
android:name="org.researchstack.backbone.ui.ViewTaskActivity"
42+
android:label="@string/app_name"
43+
android:windowSoftInputMode="adjustResize"
44+
android:theme="@style/Theme.Sample.Survey"
45+
/>
46+
47+
<activity
48+
android:name="org.researchstack.skin.ui.SignUpTaskActivity"
49+
android:label="@string/app_name"
50+
android:theme="@style/Theme.Sample.Survey"
51+
/>
52+
53+
<activity
54+
android:name="org.researchstack.skin.ui.ConsentTaskActivity"
55+
android:label="@string/app_name"
56+
android:theme="@style/Theme.Sample.Survey"
57+
/>
58+
59+
<activity
60+
android:name="org.researchstack.skin.ui.EmailVerificationActivity"
61+
android:label="@string/rss_confirm"
62+
android:theme="@style/Theme.Sample.Survey"
63+
/>
64+
65+
<activity
66+
android:name="org.researchstack.backbone.ui.ViewWebDocumentActivity"
67+
android:label="@string/app_name"
68+
android:theme="@style/Theme.Sample.Survey"
69+
/>
70+
71+
<activity
72+
android:name="org.researchstack.backbone.ui.ViewVideoActivity"
73+
android:configChanges="orientation|keyboard|keyboardHidden|screenSize|screenLayout|uiMode"
74+
android:label="@string/app_name"
75+
android:theme="@style/Theme.Sample.Video"
76+
/>
77+
78+
<activity
79+
android:name="org.researchstack.sampleapp.SampleSettingsActivity"
80+
android:label="@string/rss_settings"
81+
android:theme="@style/Theme.Sample.Settings"/>
82+
83+
<activity
84+
android:name="org.researchstack.skin.ui.LearnActivity"
85+
android:label="@string/rss_learn"/>
86+
87+
<activity
88+
android:name="org.researchstack.sampleapp.NotificationPermissionActivity"
89+
android:label="@string/sample_notification_example"/>
90+
91+
<receiver
92+
android:name="org.researchstack.skin.notification.TaskNotificationReceiver"
93+
android:enabled="true"
94+
android:exported="false"
95+
/>
96+
97+
<receiver
98+
android:name="org.researchstack.skin.notification.DeviceBootReceiver"
99+
android:enabled="true"
100+
android:exported="false"
101+
>
102+
<intent-filter>
103+
<action android:name="android.intent.action.BOOT_COMPLETED"/>
104+
</intent-filter>
105+
</receiver>
106+
107+
<receiver
108+
android:name="org.researchstack.skin.notification.TaskAlertReceiver"
109+
android:enabled="true"
110+
android:exported="false"
111+
>
112+
<intent-filter>
113+
<action android:name="org.researchstack.skin.notification.ALERT_CREATE"/>
114+
<action android:name="org.researchstack.skin.notification.ALERT_CREATE_ALL"/>
115+
<action android:name="org.researchstack.skin.notification.ALERT_DELETE"/>
116+
<action android:name="org.researchstack.skin.notification.ALERT_DELETE_ALL"/>
117+
</intent-filter>
118+
</receiver>
119+
120+
</application>
121+
122+
</manifest>

app/src/main/assets/bridge_key.pem

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIFBTCCA+2gAwIBAgIHA1kS9MliDzANBgkqhkiG9w0BAQUFADCBszELMAkGA1UE
3+
BhMCVVMxCzAJBgNVBAgMAldBMRAwDgYDVQQHDAdTZWF0dGxlMRkwFwYDVQQKDBBT
4+
YWdlIEJpb25ldHdvcmtzMQ8wDQYDVQQLDAZCcmlkZ2UxJDAiBgkqhkiG9w0BCQEW
5+
FWJyaWRnZUlUQHNhZ2ViYXNlLm9yZzEzMDEGA1UEAwwqaHR0cHM6Ly93ZWJzZXJ2
6+
aWNlcy1zdGFnaW5nLnNhZ2VicmlkZ2Uub3JnMB4XDTE1MDgxNTE4MTgzMVoXDTQz
7+
MDEwMTE4MTgzMVowgbMxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJXQTEQMA4GA1UE
8+
BwwHU2VhdHRsZTEZMBcGA1UECgwQU2FnZSBCaW9uZXR3b3JrczEPMA0GA1UECwwG
9+
QnJpZGdlMSQwIgYJKoZIhvcNAQkBFhVicmlkZ2VJVEBzYWdlYmFzZS5vcmcxMzAx
10+
BgNVBAMMKmh0dHBzOi8vd2Vic2VydmljZXMtc3RhZ2luZy5zYWdlYnJpZGdlLm9y
11+
ZzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMZrNwftQ9Op0MWv4ioR
12+
3yqM69o7OqwHKZ22ZwVL1LK8cZqsOLhU9tfePX5GpHkwbiYpdnjKjkbFOQJi0Xa+
13+
teQA2NLrmIKeIJNsyUNi5YJ9r0ws7hgziR7EtNm3JhtwPcQjtfgdUzZeabdV5xgz
14+
UWgIbRNGQ4UUjZfL/tYzeb4qaLiccrlx2dVcR7jBYMzZdBDgMR6czKo/hEX0F22f
15+
h0GpXg1anOHljHbyoK26JihbZ4v/DBnN12A+k/nU6PUNXQ5vtiWYM8olhOQB73ht
16+
OuVqCHKggFrawNJ3OOBsEctRcUHPnFvP6dhiipmwCHJxQGuXW83bTTJOrAkIsedH
17+
2DMCAwEAAaOCARowggEWMAwGA1UdEwQFMAMBAf8wgeYGA1UdIwSB3jCB24AU4PdO
18+
tJF4/If6CsCB1L4UmRxlLPKhgbmkgbYwgbMxCzAJBgNVBAYTAlVTMQswCQYDVQQI
19+
DAJXQTEQMA4GA1UEBwwHU2VhdHRsZTEZMBcGA1UECgwQU2FnZSBCaW9uZXR3b3Jr
20+
czEPMA0GA1UECwwGQnJpZGdlMSQwIgYJKoZIhvcNAQkBFhVicmlkZ2VJVEBzYWdl
21+
YmFzZS5vcmcxMzAxBgNVBAMMKmh0dHBzOi8vd2Vic2VydmljZXMtc3RhZ2luZy5z
22+
YWdlYnJpZGdlLm9yZ4IHA1kS9MliDzAdBgNVHQ4EFgQU4PdOtJF4/If6CsCB1L4U
23+
mRxlLPIwDQYJKoZIhvcNAQEFBQADggEBADtBFpCKGS3DkSq2reWFRdqkb7kCH97j
24+
dRWQgNWZ94NrKVvWFssIhPst/a48M88ZteK5EWpP0FeO/OMLVHIKPf8gW+FIy0HQ
25+
133sJvWv92oPW+aZaDWgZK3dOOWkVJc5RJVoL6xAK9CKkqJ/Zrvc9Uj0eTwKzir0
26+
xTW7l65WmeKmJqh+ursAkgllWGT/JuQbVJXMvi+NZ9L89pc/xBmvd7czS7QWtI7M
27+
cBGDZCzEI7WP3s7v0TIXNpPHJfZ7yjtuoys80S+6V1saH8Zqx28/FxrCpQeLAFEA
28+
pOA5siYf1cimM438JN4EUacEw9czUa4gI3Ku6Azdx4lG4jJDescvVYA=
29+
-----END CERTIFICATE-----
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3+
<html xmlns="http://www.w3.org/1999/xhtml">
4+
5+
<head>
6+
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
7+
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
8+
<link href="app_privacy_policy_style.css" rel="stylesheet" type="text/css"/>
9+
<title>Privacy Policy</title>
10+
11+
<body>
12+
13+
<div class="container">
14+
15+
<div class="content">
16+
17+
<h3>Privacy Policy Here</h3>
18+
19+
<h5>Privacy Sub Header</h5>
20+
21+
<p>
22+
Lorem ipsum dolor sit amet, eu pro summo vivendo adipiscing, modo deserunt no qui. Eos
23+
aliquid referrentur ex, accumsan abhorreant eu ius. Ad pro magna explicari
24+
concludaturque, vis fastidii torquatos consetetur te. Cu eam tempor aperiri oporteat.
25+
Pro porro erant at. Eu nec melius epicurei.
26+
</br></br>
27+
Unum repudiandae in vis, mel moderatius incorrupte ex. Sed eius ferri eloquentiam eu,
28+
mea eu sumo numquam. Quas dicunt ad pro, no per natum everti suscipiantur, est id
29+
integre fuisset dolores. Qui an deseruisse voluptatibus. Ei per habeo appareat
30+
omittantur, paulo fuisset patrioque nam ex.
31+
</br></br>
32+
Errem adipisci ei has. Civibus comprehensam eu qui, paulo altera instructior duo at. At
33+
qui choro dicam malorum, ius ex latine scribentur. Eam eu option gloriatur, essent
34+
utroque copiosae ut duo, exerci neglegentur ea usu. Ferri error et qui, ridens
35+
consetetur repudiandae mel at. Nec ex meis viris.
36+
</br></br>
37+
An timeam adversarium eos, ut nam choro tibique argumentum. Scripserit suscipiantur vim
38+
at. Vide veniam facilisi at duo, eum veri honestatis ei. Odio movet efficiendi cu eos,
39+
numquam delicata suscipiantur sit ne. Ea sea debet epicurei, altera nostro impedit eum
40+
et, ne adhuc omnium pertinax vim.
41+
</br></br>
42+
Ne accusam ocurreret molestiae vel. Lorem democritum cum eu. Vix fugit melius saperet
43+
ei. Ei esse option efficiantur vis, sonet insolens no pri. At qui mazim omittam, ad
44+
petentium accusamus mea.
45+
</p>
46+
47+
</div>
48+
49+
</div>
50+
51+
</body>
52+
</html>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
@charset "UTF-8";
2+
3+
body {
4+
font-family: sans-serif;
5+
font-style: normal;
6+
color:#000000;
7+
line-height:normal;
8+
font-weight:normal;
9+
}
10+
11+
h3 {
12+
padding-top:12px;
13+
padding-bottom:12px;
14+
margin: 0px;
15+
}
16+
17+
h5 {
18+
color:#009891;
19+
padding-top:16px;
20+
padding-bottom:16px;
21+
margin-top: 8px;
22+
margin-bottom: 0px;
23+
font-size:12pt;
24+
}
25+
26+
p {
27+
font-size:12pt;
28+
padding-top:8px;
29+
padding-bottom:8px;
30+
margin: 0px;
31+
}
32+
33+
p.a {
34+
padding-top:16px;
35+
padding-bottom:16px;
36+
}
37+
38+
a, a:active {
39+
color:#255aa8;
40+
font-weight: bold;
41+
text-decoration: none;
42+
}
43+
44+
.content {
45+
padding: 8px 16px 16px 50px;
46+
}
47+
48+
img {
49+
display: block;
50+
padding: 0;
51+
margin: 0 auto;
52+
max-height: 100%;
53+
max-width: 100%;
54+
}
55+

0 commit comments

Comments
 (0)