= Android/BOINC development items = Some remaining development tasks. Please contact me (David Anderson) and post to boinc_dev if you want to help. Short Term: * BOINC Client * Higher hysteresis for battery level and temp control to avoid frequent suspend/resumes. * Expose values for battery level and temp suspend and resume (hysteresis) to preferences. * Menu should have controls for * Suspend/resume computing * Exit (shut down everything - GUI, BOINC client, and apps) '''(Completed)''' * This should be shown for all the tabs. Currently only shown on Status Tab. '''(Completed)''' * Optionally show icon in notifications (top bar) showing whether BOINC is running apps '''(Working WCG - M)''' * Add preference for whether to show this icon '''(Working WCG - M)''' * Tasks tab * Show elapsed time for each task '''(Working WCG - M)''' * If a task is touched, expand height of task to show additional information and actions that can be taken:'''(Working WCG - M)''' * Display Project Name [information] '''(Working WCG - M)''' * Display User Friendly Application Name [information] '''(Working WCG - M)''' * Display deadline [information] '''(Working WCG - M)''' * Abort Task [button/action] '''(Working WCG - M)''' * !Suspend/Resume Task [button/action] '''(Working WCG - M)''' * Transfers tab * Retry '''(Completed)''' * Abort '''(Completed)''' * If backed off, time until retry '''(Completed)''' * Preferences tab * Use at most X% of processors '''(Completed)''' * Suspend work when non-BOINC CPU usage above X '''(Completed)''' * Use at most X% of CPU time '''(Completed)''' * Suspend work when battery below X% (default 95%) * The preferences page needs to be reorganized, with the main X options shown before the "Show Advanced Preferences" option. SAP needs to be the last item on the default view. * The "Show Advanced Preferences" Needs to be a twisty tab or something other than a check box if we are showing additional options below it. * When changing the value of an advanced option, there needs to be a cancel button put next to the Ok. '''(Completed)''' * Projects Tab '''(Working Joachim)''' * Include logo in list view * Show Update in list view * Pressing project shows new Activity with following information: * User account info * Project links * Controls (i.e. detach, suspend, no new tasks) * project description * Event Log Tab '''(Completed)''' * A tab is needed to show the log file. Should be called Event Log. '''(Completed)''' * Log file display needs to include timestamp '''(Completed)''' * Only needs client messages – not manager messages '''(Completed)''' * Button needed for ‘copy all messages’ (to paste into email/forums for help) '''(Completed)''' * Remove retrieval from ClientStatusMontitor '''(Completed)''' * UI: Append new messages to the local message array and only send an update event if a new message was added or an old message deleted. '''(Completed)''' * Project attach * show entries of all_projects_list.xml in addition to manually entering project URL. '''(Completed)''' * usage of get_project_config (min pwd length, user name vs email, account creation enabled) '''(Completed)''' * include terms-of-use '''(Completed)''' * When attempting to login, there needs to be a link that will open that projects "forgot password/Username" Page. The link should go to /get_passwd.php '''(Working WCG -M)''' * A link should show under the last attached project to attach to another project. For example, if you are attached to 3 projects, the forth line should be attach to project. '''(Working WCG -M)''' * Power Management * Set Android power management according to client status. Preventing CPU throttling when display is off. '''(Completed)''' Mid Term: * Use Action Bar with Client computation status and controls from Menu. (Requires Android 3.0) * Support attach to account manager * Add SD card support in client * move BOINC's projects/ directory to SD card an force move of binaries into slots (executable) * think about how to handle storage status and preferences of clients * Reconsider how BOINC client retrieves device state on Android (i.e. battery: charger, temp and level ; network: wifi state). Problematic because location of this information varies among devices/vendors/versions. * Add a Notices tab. * Add support for GUI URLs. * Possible approach: retrieve information through Java SDK, universal for all devices. Write to a file and let BOINC client retrieve information from there. Needs security mechanism in case Java application is off but Client is running (timestamp?)