Commit graph

157 commits

Author SHA1 Message Date
Simon Fels
5c7b0adf8c Synchronize application icons with the host 2017-01-06 18:33:27 +01:00
Simon Fels
bd48e95d2b Error out early when container manager is not available 2017-01-03 12:28:18 +01:00
Simon Fels
6307ee4b65 Reformat all code parts 2017-01-03 09:18:10 +01:00
Simon Fels
a5993a7023 Fix formatting of comment 2017-01-03 09:15:22 +01:00
Simon Fels
7e80f282a0 Don't send exception when already stopped container can't be stopped again 2017-01-03 09:13:06 +01:00
Simon Fels
d11a281d6c Terminate process when container manager disconnects or container start fails 2017-01-03 09:12:19 +01:00
Simon Fels
7a2cef31da Run container as unprivileged for enhanced security
On the Android side this requires no change with the current setup.
2017-01-03 09:11:10 +01:00
Simon Fels
128cc2422d Add unit tests for LayerComposer 2016-12-23 15:40:33 +01:00
Simon Fels
dbbb8ab795 Add unit tests for BufferedIOStream 2016-12-23 15:40:33 +01:00
Simon Fels
3529b83753 Add unit tests for imported things from Android emulator 2016-12-23 15:40:33 +01:00
Simon Fels
f7cabbf8ff Use largest layer of a window to calculate relative layer positions
As a window can be built out of multiple layers we need to take one as
the primary one which covers the entire window area. As it is not
guranteed that the layer size will match the actual window size cause
of synchronizaton delays with the Android side window manager we take
the layer as primary which covers the largest screen area. This should
solve most issues.
2016-12-23 15:38:35 +01:00
Simon Fels
3d051a4056 Update window frame when window is moved rathern when state was updated
This leads to incorrect calculations of the layer position calculation
inside the window.
2016-12-22 08:33:33 +01:00
Simon Fels
c4664603fd Check errno correctly for errors to ignore 2016-12-21 10:32:07 +01:00
Simon Fels
9f69c580af Get rid of renderer singleton 2016-12-21 10:02:02 +01:00
Simon Fels
aeff6e35df Cleanup formatting and code style 2016-12-21 08:40:40 +01:00
Simon Fels
3e70f5a548 Don't require alpha bits for the renderer config
This prevents certain client applications in the container to work.
2016-12-21 08:40:40 +01:00
Simon Fels
7ce2da3be3 Rework client renderer setup
This gets us rid of one unneeded socket based communication point which
we kept around for historic reasons (from Android QEMU) but don't really
need in our case. This allows a simplication of our setup and improves
performance.
2016-12-21 08:40:40 +01:00
Simon Fels
324407eeaa Allow clients to specify the launch bounds of a new activity 2016-12-21 08:39:44 +01:00
Simon Fels
14d8bb2390 Calculate correct texture coordinates on created primitives 2016-12-19 09:17:11 +01:00
Simon Fels
4e72494aeb Calculate correct relative position for all renderables 2016-12-19 09:16:44 +01:00
Simon Fels
a3151b6a07 Calculate display bounds for all available displays
The hwcomposer module for Android doesn't support multi-monitor well
enough for our use case yet so we give Android a large enough primary
display. This may have negative effects performance wise for the until
we disabled all non freeform stack and wallpaper related rendering on
the Android side so that only visible windows are drawn to not waste
any GPU cycles on things we don't render anyway.
2016-12-19 08:00:50 +01:00
Simon Fels
009cbb3402 Don't stop SDL event processing thread when it is not running 2016-12-19 08:00:16 +01:00
Simon Fels
2f849059c2 Correct texture and frame size calculation to be correct in offscreen areas 2016-12-19 07:21:12 +01:00
Simon Fels
abb0497a5d Cleanup formatting 2016-12-15 09:20:36 +01:00
Simon Fels
4ec5f8f313 Drop superflous debug log message 2016-12-15 08:49:11 +01:00
Simon Fels
03583e360c Get rid of unwanted debug message 2016-12-08 17:07:36 +01:00
Simon Fels
fc55e2c59a Get rid of dropping capabilities as this prevents gaining relevant ones in the container 2016-12-08 17:06:52 +01:00
Simon Fels
e12ed13962 Map /dev/fuse to make Android volume manager happy 2016-12-08 07:10:52 +01:00
Simon Fels
65531a3b82 Handle window movement/resize/close on our side and not in Android
This leads to much better performance and user interaction. Resizing
still has some flickering but that is a different area of problems.
2016-12-08 07:08:47 +01:00
Simon Fels
b31d79ca08 Only use bridge if available to prevent container startup failures
LXC doesn't start the container when the configured network interface
(the bridge in this case) is not available.
2016-12-04 11:57:40 +01:00
Simon Fels
9c89d8247e Use run command as default when no command is supplied 2016-12-03 17:11:24 +01:00
Simon Fels
4e07be3754 Use correct target paths inside rootfs path for bind mounts 2016-12-03 15:23:23 +01:00
Simon Fels
b10382d2d8 Reformat all code and use the Google cpp code style 2016-12-02 17:38:43 +01:00
Simon Fels
48bd7f9692 Respect layer crop when calculating surface dimensions and position 2016-12-02 16:31:05 +01:00
Simon Fels
00aadb5467 Improve application manangement and create desktop entries for available app 2016-12-02 16:11:38 +01:00
Simon Fels
e75940711b Always start new applications on the freeform stack 2016-11-29 06:18:01 +01:00
Simon Fels
972260b76c Don't throw exception for socket failure as we already bring down the connection 2016-11-28 07:55:50 +01:00
Simon Fels
89869934b9 Drop unneeded include of utils header file 2016-11-28 07:42:08 +01:00
Simon Fels
52aee51bbe Drop not available logging function in rpc message processor 2016-11-27 16:03:58 +01:00
Simon Fels
06b529e0a0 Implement simple network bridge 2016-11-26 13:38:38 +01:00
Simon Fels
ac8c4a9305 Correct RPC message processing and invocation id assignment 2016-11-26 13:05:24 +01:00
Simon Fels
84b3fa430b Set focus to current active window 2016-11-26 13:04:50 +01:00
Simon Fels
161099057b Add missing changes for window implementation 2016-11-25 08:51:38 +01:00
Simon Fels
a40fe51654 Use events instead of method invokes for window state updates and others 2016-11-25 08:50:43 +01:00
Simon Fels
53c2fac5d4 Improve window/layer handling for less flickering and better window movement 2016-11-25 07:14:20 +01:00
Simon Fels
06aacfe4df Pass stack id as part of the window state update 2016-11-25 07:13:05 +01:00
Simon Fels
76757fe085 Add dirty hack to get rid of home window/task for now 2016-11-23 12:45:14 +01:00
Simon Fels
08024962e0 Set correct viewport for every window we render 2016-11-23 12:44:53 +01:00
Simon Fels
8018942323 Implement renderer instance which composes multiple layers into a window 2016-11-23 12:16:20 +01:00
Simon Fels
d4b4a795c3 Restructure window creation and mangement 2016-11-20 17:08:05 +01:00