summaryrefslogtreecommitdiff
path: root/doc/design/assistant/android.mdwn
blob: 268b5aba3f6e86a7862487f891c226dc038263eb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
## TODO

* Don't make app initially open terminal + webapp, but go to a page that
  allows opening the webapp or terminal.  
  Possibly, switch from running inside terminal app to real standalone app.
  See <https://github.com/neurocyte/android-haskell-activity>
  and <https://github.com/neurocyte/foreign-jni>.

* I have seen an assistant thread crash with an interrupted system call
  when the device went to sleep while it was running. Auto-detect and deal with
  that somehow.
* Make git stop complaining that "warning: no threads uspport, ignoring --threads"
* git does not support http remotes. To fix, need to port libcurl and
  allow git to link to it.
* getEnvironment is broken on Android <https://github.com/neurocyte/ghc-android/issues/7>
  and a few places use it. I have some horrible workarounds in place.
* Get local pairing to work. network-multicast and network-info don't
  currently install.
* Get test suite to pass. Current failure is because `git fetch` is somehow
  broken with local repositories.
* Make app autostart on boot, optionally. <http://stackoverflow.com/questions/1056570/how-to-autostart-an-android-application>
* The app should be aware of power status, and avoid expensive background
  jobs when low on battery or run flat out when plugged in.
* The app should be aware of network status, and avoid expensive data
  transfers when not on wifi. This may need to be configurable.
* Jabber and Webdav configuration both fail with
  "getProtocolByname: does not exist (no such protocol name: tcp)"
* glacier and local pairing are not yet enabled for Android.
* The "Files" link doesn't start a file browser. Should be possible to do
  on Android via intents, I suppose?
* Adding removable drives would work, but the android app is not in the 
  appropriate group to write to them. `WRITE_MEDIA_STORAGE` permission
  needed. Added to AndroidManifest, but did not seem to be used.
  Googleing for it will find a workaround that needs a rooted device.