Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
nebogeo
symbai
Commits
a684965f
Commit
a684965f
authored
Mar 06, 2014
by
Dave Griffiths
Browse files
massive activity action, most added
parent
a584cee2
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
457 additions
and
96 deletions
+457
-96
android/AndroidManifest.xml
android/AndroidManifest.xml
+41
-40
android/assets/dbsync.scm
android/assets/dbsync.scm
+2
-0
android/assets/eavdb.scm
android/assets/eavdb.scm
+2
-1
android/assets/lib.scm
android/assets/lib.scm
+1
-0
android/assets/starwisp.scm
android/assets/starwisp.scm
+309
-54
android/res/drawable/cross.png
android/res/drawable/cross.png
+0
-0
android/res/drawable/swarmspinner.xml
android/res/drawable/swarmspinner.xml
+15
-0
android/res/drawable/tick.png
android/res/drawable/tick.png
+0
-0
android/res/values/styles.xml
android/res/values/styles.xml
+83
-0
android/src/foam/symbai/starwisp.java
android/src/foam/symbai/starwisp.java
+4
-1
No files found.
android/AndroidManifest.xml
View file @
a684965f
...
...
@@ -3,49 +3,50 @@
package=
"foam.symbai"
android:versionCode=
"1"
android:versionName=
"1.0"
>
<application
android:label=
"@string/app_name"
android:icon=
"@drawable/logo"
android:theme=
"@style/StarwispTheme"
android:hardwareAccelerated=
"true"
>
<application
android:label=
"@string/app_name"
android:icon=
"@drawable/logo"
android:theme=
"@style/StarwispTheme"
android:hardwareAccelerated=
"true"
>
<activity
android:name=
"foam.symbai.starwisp"
android:configChanges=
"orientation"
android:label=
"@string/app_name"
>
<intent-filter>
<action
android:name=
"android.intent.action.MAIN"
/>
<category
android:name=
"android.intent.category.LAUNCHER"
/>
</intent-filter>
</activity>
<activity
android:name=
"foam.symbai.VillageActivity"
android:configChanges=
"orientation"
></activity>
<activity
android:name=
"foam.symbai.HouseholdListActivity"
android:configChanges=
"orientation"
></activity>
<activity
android:name=
"foam.symbai.HouseholdActivity"
android:configChanges=
"orientation"
></activity>
<activity
android:name=
"foam.symbai.IndividualActivity"
android:configChanges=
"orientation"
></activity>
<activity
android:name=
"foam.symbai.DetailsActivity"
android:configChanges=
"orientation"
></activity>
<activity
android:name=
"foam.symbai.FamilyActivity"
android:configChanges=
"orientation"
></activity>
<activity
android:name=
"foam.symbai.MigrationActivity"
android:configChanges=
"orientation"
></activity>
<activity
android:name=
"foam.symbai.IncomeActivity"
android:configChanges=
"orientation"
></activity>
<activity
android:name=
"foam.symbai.GeneaologyActivity"
android:configChanges=
"orientation"
></activity>
<activity
android:name=
"foam.symbai.SocialActivity"
android:configChanges=
"orientation"
></activity>
<activity
android:name=
"foam.symbai.AgreementActivity"
android:configChanges=
"orientation"
></activity>
<activity
android:name=
"foam.symbai.IndividualChooserActivity"
android:configChanges=
"orientation"
></activity>
<activity
android:name=
"foam.symbai.starwisp"
android:configChanges=
"orientation"
android:label=
"@string/app_name"
>
<intent-filter>
<action
android:name=
"android.intent.action.MAIN"
/>
<category
android:name=
"android.intent.category.LAUNCHER"
/>
</intent-filter>
</activity>
<activity
android:name=
"foam.symbai.VillageActivity"
android:configChanges=
"orientation"
></activity>
<activity
android:name=
"foam.symbai.HouseholdListActivity"
android:configChanges=
"orientation"
></activity>
<activity
android:name=
"foam.symbai.HouseholdActivity"
android:configChanges=
"orientation"
></activity>
<activity
android:name=
"foam.symbai.IndividualActivity"
android:configChanges=
"orientation"
></activity>
<activity
android:name=
"foam.symbai.DetailsActivity"
android:configChanges=
"orientation"
></activity>
<activity
android:name=
"foam.symbai.FamilyActivity"
android:configChanges=
"orientation"
></activity>
<activity
android:name=
"foam.symbai.MigrationActivity"
android:configChanges=
"orientation"
></activity>
<activity
android:name=
"foam.symbai.IncomeActivity"
android:configChanges=
"orientation"
></activity>
<activity
android:name=
"foam.symbai.GeneaologyActivity"
android:configChanges=
"orientation"
></activity>
<activity
android:name=
"foam.symbai.SocialActivity"
android:configChanges=
"orientation"
></activity>
<activity
android:name=
"foam.symbai.AgreementActivity"
android:configChanges=
"orientation"
></activity>
<activity
android:name=
"foam.symbai.IndividualChooserActivity"
android:configChanges=
"orientation"
></activity>
</application>
</application>
<uses-permission
android:name=
"android.permission.WRITE_EXTERNAL_STORAGE"
/>
<uses-permission
android:name=
"android.permission.CHANGE_WIFI_STATE"
/>
<uses-permission
android:name=
"android.permission.ACCESS_WIFI_STATE"
/>
<uses-permission
android:name=
"android.permission.INTERNET"
/>
<uses-permission
android:name=
"android.permission.VIBRATE"
/>
<uses-permission
android:name=
"android.permission.ACCESS_FINE_LOCATION"
/>
<uses-permission
android:name=
"android.permission.ACCESS_COURSE_LOCATION"
/>
<uses-sdk
android:minSdkVersion=
"8"
/>
<uses-permission
android:name=
"android.permission.WRITE_EXTERNAL_STORAGE"
/>
<uses-permission
android:name=
"android.permission.CHANGE_WIFI_STATE"
/>
<uses-permission
android:name=
"android.permission.ACCESS_WIFI_STATE"
/>
<uses-permission
android:name=
"android.permission.INTERNET"
/>
<uses-permission
android:name=
"android.permission.VIBRATE"
/>
<uses-permission
android:name=
"android.permission.ACCESS_FINE_LOCATION"
/>
<uses-permission
android:name=
"android.permission.ACCESS_COURSE_LOCATION"
/>
<uses-sdk
android:minSdkVersion=
"8"
/>
<uses-feature
android:name=
"android.hardware.camera"
android:required=
"true"
/>
<supports-screens
android:smallScreens=
"true"
android:normalScreens=
"true"
android:largeScreens=
"true"
android:xlargeScreens=
"true"
android:anyDensity=
"true"
/>
<supports-screens
android:smallScreens=
"true"
android:normalScreens=
"true"
android:largeScreens=
"true"
android:xlargeScreens=
"true"
android:anyDensity=
"true"
/>
</manifest>
android/assets/dbsync.scm
View file @
a684965f
...
...
@@ -166,6 +166,7 @@
((
equal?
(
car
v
)
"no change"
)
(
debug!
(
string-append
"No change for "
(
car
(
car
e
)))))
((
equal?
(
car
v
)
"updated"
)
;; send new files hereish
(
update-entity-clean
db
table
(
cadr
v
))
(
debug!
(
string-append
"Updated changed "
(
car
(
car
e
)))))
(
else
...
...
@@ -187,6 +188,7 @@
;; check "sync-insert" in sync.ss raspberry pi-side for the contents of 'entity'
(
let
((
entity
(
list-ref
data
0
))
(
ktvlist
(
list-ref
data
1
)))
;; request updated files hereish
(
if
(
not
exists
)
(
insert-entity-wholesale
db
table
...
...
android/assets/eavdb.scm
View file @
a684965f
...
...
@@ -34,7 +34,8 @@
(
db-exec
db
(
string-append
"create table "
table
"_attribute ( id integer primary key autoincrement, attribute_id varchar(256), entity_type varchar(256), attribute_type varchar(256))"
))
(
db-exec
db
(
string-append
"create table "
table
"_value_varchar ( id integer primary key autoincrement, entity_id integer, attribute_id varchar(255), value varchar(4096), dirty integer)"
))
(
db-exec
db
(
string-append
"create table "
table
"_value_int ( id integer primary key autoincrement, entity_id integer, attribute_id varchar(255), value integer, dirty integer)"
))
(
db-exec
db
(
string-append
"create table "
table
"_value_real ( id integer primary key autoincrement, entity_id integer, attribute_id varchar(255), value real, dirty integer)"
)))
(
db-exec
db
(
string-append
"create table "
table
"_value_real ( id integer primary key autoincrement, entity_id integer, attribute_id varchar(255), value real, dirty integer)"
))
(
db-exec
db
(
string-append
"create table "
table
"_value_file ( id integer primary key autoincrement, entity_id integer, attribute_id varchar(255), value varchar(4096), dirty integer)"
)))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
...
...
android/assets/lib.scm
View file @
a684965f
...
...
@@ -474,6 +474,7 @@
(
define
(
http-request
name
url
fn
)
(
list
"http-request"
0
"http-request"
name
fn
url
))
(
define
(
http-download
name
url
filename
)
(
list
"http-download"
0
"http-download"
name
filename
url
))
(
define
(
send-mail
to
subject
body
attachments
)
(
list
"send-mail"
0
"send-mail"
to
subject
body
attachments
))
(
define
(
take-photo
filename
code
)
(
list
"take-photo"
0
"take-photo"
filename
code
))
(
define
(
walk-draggable
name
id
fn
)
(
list
"walk-draggable"
0
"walk-draggable"
name
fn
id
))
(
define
(
dialog-fragment
id
layout
fragment-name
fn
)
...
...
android/assets/starwisp.scm
View file @
a684965f
...
...
@@ -49,6 +49,14 @@
(
define
i18n-text
(
list
(
list
'test-num
(
list
"1.0000000"
"1.0000000"
"1.0000000"
))
(
list
'test-text
(
list
"I am test text"
"I am test text"
"I am test text"
))
(
list
'one
(
list
"one"
))
(
list
'two
(
list
"two"
))
(
list
'three
(
list
"three"
))
(
list
'village
(
list
"Village"
))
(
list
'household
(
list
"Household"
))
(
list
'individual
(
list
"Individual"
))
(
list
'title
(
list
"Symbai"
"Symbai"
"Symbai"
))
(
list
'sync
(
list
"Sync"
"Sync"
"Sync"
))
...
...
@@ -63,7 +71,7 @@
(
list
'villages
(
list
"Villages"
"Villages"
"Villages"
))
;; village screen
(
list
'name
(
list
"Village name"
"Village name"
"Village name"
))
(
list
'
village-
name
(
list
"Village name"
"Village name"
"Village name"
))
(
list
'block
(
list
"Block"
"Block"
"Block"
))
(
list
'district
(
list
"District"
"District"
"District"
))
(
list
'car
(
list
"Accessible by car"
))
...
...
@@ -73,7 +81,6 @@
(
list
'present
(
list
"Present"
))
(
list
'closest-access
(
list
"Closest place of access"
))
(
list
'gps
(
list
"GPS"
))
(
list
'school
(
list
"School"
))
(
list
'hospital
(
list
"Hospital/Health care centre"
))
(
list
'post-office
(
list
"Post Office"
))
...
...
@@ -84,11 +91,108 @@
(
list
'NGO
(
list
"Presence of NGO's working with them"
))
(
list
'market
(
list
"Market"
))
;; household
(
list
'location
(
list
"House location"
))
(
list
'elevation
(
list
"Elevation"
))
(
list
'toilet-location
(
list
"Toilet location"
))
(
list
'children
(
list
"Children"
))
(
list
'male
(
list
"Male"
))
(
list
'female
(
list
"Female"
))
(
list
'num-pots
(
list
"Number of pots"
))
(
list
'adults
(
list
"Adults"
))
(
list
'add-individual
(
list
"Add individual"
))
;; individual
(
list
'details
(
list
"Details"
))
(
list
'family
(
list
"Family"
))
(
list
'migration
(
list
"Migration"
))
(
list
'income
(
list
"Income"
))
(
list
'geneaology
(
list
"Geneaology"
))
(
list
'social
(
list
"Social"
))
(
list
'agreement
(
list
"Agreement"
))
;; details
(
list
'change-photo
(
list
"Change photo"
))
(
list
'name
(
list
"Name"
))
(
list
'photo-id
(
list
"Photo ID"
))
(
list
'tribe
(
list
"Tribe"
))
(
list
'sub-tribe
(
list
"Sub tribe"
))
(
list
'other
(
list
"Other"
))
(
list
'age
(
list
"Age"
))
(
list
'gender
(
list
"Gender"
))
(
list
'education
(
list
"Education"
))
;; family
(
list
'spouse
(
list
"Spouse"
))
(
list
'head-of-house
(
list
"Head of house"
))
(
list
'marital-status
(
list
"Marital status"
))
(
list
'ever-married
(
list
"Ever married"
))
(
list
'currently-married
(
list
"Currently married"
))
(
list
'currently-single
(
list
"Currently single"
))
(
list
'seperated
(
list
"Seperated/divorced"
))
(
list
'times-married
(
list
"How many times married"
))
(
list
'change-spouse
(
list
"Change/add spouse"
))
(
list
'living
(
list
"Living"
))
(
list
'dead
(
list
"Dead"
))
(
list
'together
(
list
"Living together"
))
(
list
'apart
(
list
"Living apart"
))
(
list
'residence-after-marriage
(
list
"Residence after marriage"
))
(
list
'birthplace
(
list
"Birthplace"
))
(
list
'spouse-village
(
list
"Spouses natal village"
))
(
list
'num-siblings
(
list
"Number of living siblings of the same sex born from same mother"
))
(
list
'birth-order
(
list
"Birth order amoung currently living same sex siblings born from same mother"
))
;; migration
(
list
'length-time
(
list
"Length of time lived in this village (years)"
))
(
list
'place-of-birth
(
list
"Place of birth"
))
(
list
'num-residence-changes
(
list
"Number of time place of residence changed since birth"
))
(
list
'village-visits-month
(
list
"Number of times you have visited another village in the last month"
))
(
list
'village-visits-year
(
list
"Number of times you have visited another village in the last year (i.e. betwen last summer and this summer)"
))
;; income
(
list
'occupation
(
list
"Occupation"
))
(
list
'occupation
(
list
"Occupation"
))
(
list
'agriculture
(
list
"Agriculture"
))
(
list
'gathering
(
list
"Gathering"
))
(
list
'labour
(
list
"Labour"
))
(
list
'cows
(
list
"Cows"
))
(
list
'fishing
(
list
"Fishing"
))
(
list
'num-people-in-house
(
list
"Number of people living in this house"
))
(
list
'contribute
(
list
"Do you contribute to the family earnings?"
))
(
list
'own-land
(
list
"Do you own land?"
))
(
list
'rent-land
(
list
"Do you rent out your land?"
))
(
list
'hire-land
(
list
"Do you hire someone else's land?"
))
(
list
'crops
(
list
"Crops"
))
(
list
'crop
(
list
"Crop"
))
(
list
'unit
(
list
"Unit"
))
(
list
'quantity
(
list
"Quantity"
))
(
list
'used-or-eaten
(
list
"Used/Eaten"
))
(
list
'sold
(
list
"Sold"
))
(
list
'seed
(
list
"Seed (hybrid/local)"
))
(
list
'house-type
(
list
"House type"
))
(
list
'concrete
(
list
"Concrete"
))
(
list
'tin
(
list
"Tin"
))
(
list
'thatched
(
list
"Thatched"
))
(
list
'loan
(
list
"How much outstanding loan money have you taken in all from any source at this time?"
))
(
list
'earning
(
list
"How much do you earn for one day's labour?"
))
(
list
'in-the-home
(
list
"In the home"
))
(
list
'radio
(
list
"Radio"
))
(
list
'tv
(
list
"TV"
))
(
list
'mobile
(
list
"Mobile phone"
))
(
list
'visit-market
(
list
"How many times a month do you visit the tribal market?"
))
(
list
'town-sell
(
list
"How many times a month do you visit the local town or city to sell something?"
))
;; geneaology
(
list
'mother
(
list
"Mother"
))
(
list
'father
(
list
"Father"
))
(
list
'change-mother
(
list
"Change mother"
))
(
list
'change-father
(
list
"Change father"
))
(
list
'alive
(
list
"Alive"
))
(
list
'sex
(
list
"Sex"
))
))
(
define
(
mtext-lookup
id
)
(
alog
id
)
(
define
(
_
l
)
(
cond
((
null?
l
)
(
string-append
(
symbol->string
id
)
" not translated"
))
...
...
@@ -138,6 +242,10 @@
(
mtext-lookup
id
)
30
(
layout
w
'wrap-content
-1
'centre
0
)))
(
define
(
mtext-small
id
)
(
text-view
(
symbol->id
id
)
(
mtext-lookup
id
)
20
(
layout
'wrap-content
'wrap-content
-1
'centre
0
)))
(
define
(
mtext-scale
id
)
(
text-view
(
symbol->id
id
)
...
...
@@ -164,21 +272,30 @@
fn
)))
(
define
(
mspinner
id
types
fn
)
(
horiz
(
vert
(
text-view
(
symbol->id
id
)
(
mtext-lookup
id
)
30
(
layout
'wrap-content
'wrap-content
-
1
'centre
10
))
30
(
layout
'wrap-content
'wrap-content
1
'centre
10
))
(
spinner
(
make-id
(
string-append
(
symbol->string
id
)
"-spinner"
))
(
map
mtext-lookup
types
)
fillwrap
(
map
mtext-lookup
types
)
(
layout
'wrap-content
'wrap-content
1
'centre
0
)
(
lambda
(
c
)
(
fn
c
)))))
(
define
(
mspinner-other
id
types
fn
)
(
horiz
(
mspinner
id
types
fn
(
lambda
(
c
)
(
fn
c
)))
(
vert
(
mtext
'other
)
(
text-view
(
symbol->id
id
)
(
mtext-lookup
id
)
30
(
layout
'wrap-content
'wrap-content
1
'centre
10
))
(
spinner
(
make-id
(
string-append
(
symbol->string
id
)
"-spinner"
))
(
map
mtext-lookup
types
)
(
layout
'wrap-content
'wrap-content
1
'centre
0
)
(
lambda
(
c
)
(
fn
c
))))
(
vert
(
mtext-scale
'other
)
(
edit-text
(
make-id
(
string-append
(
symbol->string
id
)
"-edit-text"
))
""
30
"normal"
fillwrap
""
30
"normal"
(
layout
'fill-parent
'wrap-content
1
'centre
0
)
(
lambda
(
t
)
(
fn
t
))))))
...
...
@@ -319,7 +436,7 @@
"top"
(
horiz
(
image-view
0
"face"
(
layout
48
64
-1
'centre
0
))
(
text-view
(
make-id
"title"
)
"
Insert title here
"
30
(
text-view
(
make-id
"title"
)
""
30
(
layout
'fill-parent
'fill-parent
0.25
'centre
10
))
(
linear-layout
...
...
@@ -330,12 +447,15 @@
(
list
(
text-view
(
make-id
""
)
'name
20
(
layout
'fill-parent
'wrap-content
1
'centre
0
))
(
text-view
(
make-id
""
)
'photoid
20
(
text-view
(
make-id
""
)
'photo
-
id
20
(
layout
'fill-parent
'wrap-content
1
'centre
0
)))))
(
lambda
(
fragment
arg
)
(
activity-layout
fragment
))
(
lambda
(
fragment
arg
)
(
list
))
(
msg
"updating top"
(
get-current
'activity-title
"Title not set"
))
(
list
(
update-widget
'text-view
(
get-id
"title"
)
'text
(
get-current
'activity-title
"Title not set"
))))
(
lambda
(
fragment
)
'
())
(
lambda
(
fragment
)
'
())
(
lambda
(
fragment
)
'
())
...
...
@@ -388,53 +508,44 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; activities
(
define
photo-code
999
)
(
define-activity-list
(
activity
"main"
(
vert-fill
(
relative
'
((
"parent-top"
))
(
list
100
100
255
127
)
(
build-fragment
"top"
(
make-id
"top"
)
fillwrap
))
(
scroll-view-vert
0
(
layout
'fill-parent
'fill-parent
1
'centre
0
)
(
list
(
vert-fill
(
mtitle
'title
)
(
horiz
(
medit-text
'user-id
"normal"
(
lambda
()
(
list
)))
(
mbutton-scale
'sync
(
lambda
()
(
list
))))
(
mspinner
'languages
(
list
'english
'khasi
'hindi
)
(
lambda
(
c
)
(
list
)))
(
horiz
(
mtext
'villages
)
(
mbutton
'new-village
(
lambda
()
(
list
(
start-activity
"village"
0
""
))))))))
;; village list here
(
relative
'
((
"parent-bottom"
))
(
list
100
100
255
127
)
(
vert
(
spacer
5
)
(
build-fragment
"bottom"
(
make-id
"bottom"
)
fillwrap
)))
)
(
build-activity
(
mtitle
'title
)
(
horiz
(
medit-text
'user-id
"normal"
(
lambda
()
(
list
)))
(
mbutton-scale
'sync
(
lambda
()
(
list
))))
(
mspinner
'languages
(
list
'english
'khasi
'hindi
)
(
lambda
(
c
)
(
list
)))
(
mtitle
'villages
)
(
mbutton
'village
(
lambda
()
(
list
(
start-activity
"village"
0
""
))))
(
mbutton
'village
(
lambda
()
(
list
(
start-activity
"village"
0
""
))))
(
mbutton
'village
(
lambda
()
(
list
(
start-activity
"village"
0
""
))))
(
mbutton
'village
(
lambda
()
(
list
(
start-activity
"village"
0
""
)))))
(
lambda
(
activity
arg
)
(
set-current!
'activity-title
"Main screen"
)
(
activity-layout
activity
))
(
lambda
(
activity
arg
)
(
list
))
(
list
(
update-widget
'image-view
(
get-id
"image"
)
'external-image
(
string-append
dirname
"photo.jpg"
))))
(
lambda
(
activity
)
'
())
(
lambda
(
activity
)
'
())
(
lambda
(
activity
)
'
())
(
lambda
(
activity
)
'
())
(
lambda
(
activity
requestcode
resultcode
)
'
()))
(
lambda
(
activity
requestcode
resultcode
)
(
cond
((
eqv?
requestcode
photo-code
)
(
msg
"camera returned"
resultcode
)
(
list
(
update-widget
'image-view
(
get-id
"image"
)
'external-image
(
string-append
dirname
"photo.jpg"
))))
(
else
'
()))))
(
activity
...
...
@@ -447,16 +558,16 @@
(
medit-text-scale
'closest-access
"normal"
(
lambda
(
v
)
'
()))
(
vert
(
mbutton-scale
'gps
(
lambda
()
'
()))
(
mtext
'test-num
)
(
mtext
'test-num
))))))
(
mtext
-small
'test-num
)
(
mtext
-small
'test-num
))))))
(
build-activity
(
horiz
(
medit-text
'name
"normal"
(
lambda
()
'
()))
(
medit-text
'
village-
name
"normal"
(
lambda
()
'
()))
(
medit-text
'block
"normal"
(
lambda
()
'
())))
(
horiz
(
medit-text
'district
"normal"
(
lambda
()
'
()))
(
mtoggle-button-scale
'car
(
lambda
()
'
())))
(
mbutton
'household-list
(
lambda
()
'
()))
(
mbutton
'household-list
(
lambda
()
(
list
(
start-activity
"household-list"
0
""
)
)))
(
mtitle
'amenities
)
(
place-widgets
'school
#t
)
(
place-widgets
'hospital
#f
)
...
...
@@ -468,6 +579,7 @@
(
place-widgets
'NGO
#f
)
(
place-widgets
'market
#t
)))
(
lambda
(
activity
arg
)
(
set-current!
'activity-title
"Village"
)
(
activity-layout
activity
))
(
lambda
(
activity
arg
)
(
let
((
user-id
(
ktv-get
(
get-entity
db
"local"
1
)
"user-id"
)))
...
...
@@ -483,8 +595,14 @@
(
activity
"household-list"
(
build-activity
(
mbutton
'household
(
lambda
()
(
list
(
start-activity
"household"
0
""
))))
(
mbutton
'household
(
lambda
()
(
list
(
start-activity
"household"
0
""
))))
(
mbutton
'household
(
lambda
()
(
list
(
start-activity
"household"
0
""
))))
(
mbutton
'household
(
lambda
()
(
list
(
start-activity
"household"
0
""
))))
(
mbutton
'household
(
lambda
()
(
list
(
start-activity
"household"
0
""
))))
)
(
lambda
(
activity
arg
)
(
set-current!
'activity-title
"Household List"
)
(
activity-layout
activity
))
(
lambda
(
activity
arg
)
'
())
(
lambda
(
activity
)
'
())
...
...
@@ -496,8 +614,38 @@
(
activity
"household"
(
build-activity
(
horiz
(
mtext
'location
)
(
vert
(
mbutton
'GPS
(
lambda
()
'
()))
(
mtext-small
'test-num
)
(
mtext-small
'test-num
))
(
medit-text
'elevation
"numeric"
(
lambda
(
v
)
'
())))
(
horiz
(
mtext
'toilet-location
)
(
vert
(
mbutton
'GPS
(
lambda
()
'
()))
(
mtext-small
'test-num
)
(
mtext-small
'test-num
))
(
medit-text
'elevation
"numeric"
(
lambda
(
v
)
'
())))
(
horiz
(
medit-text
'num-pots
"numeric"
(
lambda
(
v
)
'
()))
(
vert
(
mtext
'children
)
(
horiz
(
medit-text
'male
"numeric"
(
lambda
(
v
)
'
()))
(
medit-text
'female
"numeric"
(
lambda
(
v
)
'
())))))
(
mtitle
'adults
)
(
mbutton
'individual
(
lambda
()
(
list
(
start-activity
"individual"
0
""
))))
(
mbutton
'individual
(
lambda
()
(
list
(
start-activity
"individual"
0
""
))))
(
mbutton
'individual
(
lambda
()
(
list
(
start-activity
"individual"
0
""
))))
(
mbutton
'individual
(
lambda
()
(
list
(
start-activity
"individual"
0
""
))))
(
mbutton
'individual
(
lambda
()
(
list
(
start-activity
"individual"
0
""
))))
(
mbutton
'individual
(
lambda
()
(
list
(
start-activity
"individual"
0
""
))))
)
(
lambda
(
activity
arg
)
(
set-current!
'activity-title
"Household"
)
(
activity-layout
activity
))
(
lambda
(
activity
arg
)
'
())
(
lambda
(
activity
)
'
())
...
...
@@ -509,8 +657,25 @@
(
activity
"individual"
(
build-activity
)
(
horiz
(
image-view
(
make-id
"photo"
)
"face"
(
layout
240
320
-1
'centre
10
))
(
vert
(
mtext
'name
)
(
mtext
'family
)
(
mtext
'photo-id
)))
(
horiz
(
mbutton-scale
'details
(
lambda
()
(
list
(
start-activity
"details"
0
""
))))
(
mbutton-scale
'family
(
lambda
()
(
list
(
start-activity
"family"
0
""
)))))
(
horiz
(
mbutton-scale
'migration
(
lambda
()
(
list
(
start-activity
"migration"
0
""
))))
(
mbutton-scale
'income
(
lambda
()
(
list
(
start-activity
"income"
0
""
)))))
(
horiz
(
mbutton-scale
'geneaology
(
lambda
()
(
list
(
start-activity
"geneaology"
0
""
))))
(
mbutton-scale
'social
(
lambda
()
(
list
(
start-activity
"social"
0
""
)))))
(
mbutton
'agreement
(
lambda
()
(
list
(
start-activity
"agreement"
0
""
)))))
(
lambda
(
activity
arg
)
(
set-current!
'activity-title
"Individual"
)
(
activity-layout
activity
))
(
lambda
(
activity
arg
)
'
())
(
lambda
(
activity
)
'
())
...
...
@@ -522,8 +687,26 @@
(
activity
"details"
(
build-activity
(
horiz
(
vert
(
image-view
(
make-id
"image"
)
"face"
(
layout
240
320
-1
'centre
10
))
(
mbutton
'change-photo
(
lambda
()
(
list
(
take-photo
(
string-append
dirname
"photo.jpg"
)
photo-code
)))))
(
vert
(
medit-text
'name
"normal"
(
lambda
(
v
)
'
()))
(
medit-text
'family
"normal"
(
lambda
(
v
)
'
()))
(
medit-text
'photo-id
"normal"
(
lambda
(
v
)
'
()))))
(
mspinner-other
'tribe
'
(
one
two
three
)
(
lambda
(
v
)
'
()))
(
mspinner-other
'sub-tribe
'
(
one
two
three
)
(
lambda
(
v
)
'
()))
(
horiz
(
medit-text
'age
"numeric"
(
lambda
(
v
)
'
()))
(
mspinner
'gender
'
(
male
female
)
(
lambda
(
v
)
'
()))
(
mspinner
'education
'
(
one
two
three
)
(
lambda
(
v
)
'
())))
)
(
lambda
(
activity
arg
)
(
set-current!
'activity-title
"Individual details"
)
(
activity-layout
activity
))
(
lambda
(
activity
arg
)
'
())
(
lambda
(
activity
)
'
())
...
...
@@ -535,8 +718,28 @@
(
activity
"family"
(
build-activity
)
(
horiz
(
vert
(
mspinner
'head-of-house
'
(
male
female
)
(
lambda
(
v
)
'
()))
(
mspinner
'marital-status
'
(
ever-married
currently-married
currently-single
seperated
)
(
lambda
(
v
)
'
()))
(
medit-text
'times-married
"numeric"
(
lambda
(
v
)
'
())))
(
vert
(
mtitle
'spouse
)
(
image-view
(
make-id
"spouse-image"
)
"face"
(
layout
240
320
-1
'centre
0
))
(
mbutton
'change-spouse
(
lambda
()
'
()))))
(
mtitle
'children
)
(
horiz
(
medit-text
'living
"numeric"
(
lambda
(
v
)
'
()))
(
medit-text
'dead
"numeric"
(
lambda
(
v
)
'
())))
(
horiz
(
medit-text
'together
"numeric"
(
lambda
(
v
)
'
()))
(
medit-text
'apart
"numeric"
(
lambda
(
v
)
'
())))
(
mspinner-other
'residence-after-marriage
'
(
birthplace
spouse-village
)
(
lambda
(
v
)
'
()))
(
medit-text
'num-siblings
"numeric"
(
lambda
(
v
)
'
()))
(
medit-text
'birth-order
"numeric"
(
lambda
(
v
)
'
())))
(
lambda
(
activity
arg
)
(
set-current!
'activity-title
"Individual family"
)
(
activity-layout
activity
))
(
lambda
(
activity
arg
)
'
())
(
lambda
(
activity
)
'
())
...
...
@@ -549,8 +752,14 @@
(
activity
"migration"
(
build-activity
(
medit-text
'length-time
"numeric"
(
lambda
(
v
)
'
()))
(
medit-text
'place-of-birth
"normal"
(
lambda
(
v
)
'
()))
(
medit-text
'num-residence-changes
"numeric"
(
lambda
(
v
)
'
()))
(
medit-text
'village-visits-month
"numeric"
(
lambda
(
v
)
'
()))
(
medit-text
'village-visits-year
"numeric"
(
lambda
(