Phlogging List Outline

This is the way I did it, but anything that is functional is acceptable.

++ Main UI                         ++ Display view (Activity or Dialog)
Button (to create an entry)        TextView (for title)
ListView (of entries)              TextView (for description)
                                   ImageView (for photo)
++ ListView item UI                TextView (for date and time)
ImageView (for photo)              TextView (for location)
TextView (for title)               Button (for save)
TextView (for date and time)       Button (for delete)

++ Database
id - int
title - String
description - String
photoUri - String
time - String (trick to allow look up from list click)
latitude - double
longitude - double

++ Main activity
----------------------------------------------------------------
onCreate
    get permission
----------------------------------------------------------------
goOnCreating
    build DB
    fill list view
    start locating
----------------------------------------------------------------
fill list view
    get list of DB entities
    convert entities to ArrayList
    create SimpleAdapter
    set adapter view binder 
    set list click listener
    set list adapter
----------------------------------------------------------------
setViewValue 
    switch on view id
        cast data to right type and put in view
    return true
----------------------------------------------------------------
clickHandler
    case create:
        put current time and location into Intent
        launch EditDisplay activity
----------------------------------------------------------------
onItemCLick
    put item time into Intent
    launch edit-display activity
----------------------------------------------------------------
ARL EditDisplay
    onActiviytResult
        if status is OK
            fill list view
----------------------------------------------------------------
LocationCallback
    save location
----------------------------------------------------------------
onDestroy
    close DB
    remove location updates
----------------------------------------------------------------
getPermission
----------------------------------------------------------------

++ EditDisplay
----------------------------------------------------------------
onCreate
    get time from Intent
    put time into UI
    if there's a DB entry with this time
        put data from entry into UI
    else
        get location from Intent, put in UI
        put blanks into rest of UI
----------------------------------------------------------------
onClick
    switch on view id
        case camera:
            create unique Uri for photo
            launch Camera
        case save: 
            make a new DB entity
            put everything in from UI
            if there was an entry in onCreate
                put id in new entry
                update DB
            else
                add to DB
            finish()
        case delete: 
            if there was an entry in onCreate
                delete it from the DB
            finish()
----------------------------------------------------------------
ARL Camera
    onActiviytResult
        if status is OK
            put photo in UI
----------------------------------------------------------------