Summer of Pinephone: Week 8

This week I made major progress on all four points mentioned in the last update, except for SMS support.

Last week I talked about completing the call control interface. Rather than putting input and output controls in the call app like Android and iOS do, I opted to create a quick settings menu to contain these kinds of controls. This way, full audio input and output control is program agnostic. This menu can be activated by pressing the volume down button. It lets you toggle all audio inputs and outputs, and I intend to add brightness and volume sliders to it soon. Most of the week spent trying to figure out the ALSA control interface, which was pretty painful to work with, mostly because the documentation is either bad or nonexistent. I sent a patch to add some documentation for some things I found hard to deduce from existing documentation. I understand now why megi's call-audio program uses raw ioctls, rather than going through ALSA. Right now, I can't get the overlay to display over other windows, so I will have to figure that out this week.

I also mapped the power button to sleep in mowc. This is done by simple writing mem to /sys/power/state. This will probably require some care when dealing with phone calls, but that will have to be saved for another week.

I also added a simple status bar, based on velox's status bar. It displays the time and battery life for now.

Unfortunately I'm tight on time for writing this today, so pictures will have to wait until next week. This is probably for the best as things will be a bit more polished then.