Fix of the issue that connecting or
disconnecting BT device while call
was in progress resulted in no sound
being heard anywhere due to audio
routing being stopped when HFP device
disconnected.
Additionally minor code cleanup.
1. Implement partial refresh.
2. Implement refresh canceling mechanism.
3. Refactor some parts of the gui and display code.
ad 1.
- Detect parts of the screen changed since last update and merge them
into bigger regions. These regions defines parts of the context sent
to the display.
- Refresh the region covering all of the parts since this is the most
time consuming part and the size of the refreshed region doesn't
change the time much.
- Refresh the whole screen if deep refresh is requested and previously
fast refresh was used. This is needed to prevent unwanted artifacts
in some cases.
ad 2.
- Separate display update and refresh logic.
- Divide image display message handling into two handlers, one updating
and other one refreshing the screen.
- Add cancel refresh message and use it to cancel refresh during update.
- Store sum of refresh regions gathered during updates to refresh them
all at once at the end.
Reworked ending with sms is now reworked. Sms is send by call app,
application messages is only providing template text.
Also call hangup and sms send order is changed due to delays caused by
sending sms.
Call logic is now removed from call window and call app.
There was spaghetti logic mixed in window and app, now
call logic is based on notificatins from service cellular.
Make sure it is not possible to request a call twice.
Added new error windows for general call error and
no network connection.
Make sure there are no issues when call is requested
from external app e.g. from callog or phonebook.
Split module-utils into smaller components for better dependency
management. Fix many dependencies throughout the project.
Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
1. Prepare Pure and Bell specific `Application`
classes and add them to `app` target:
- `products/BellHybrid/apps/Application.cpp`
- `products/PurePhone/apps/Application.cpp`
2. Update `CMakeLists.txt` files.
3. Move `ApplicationBell` implementation to Bell-specific
`Application` class and remove `ApplicationBell` files.
4. Change Bell apps parent classes from `ApplicationBell`
to Bell-specific `Application` class.
5. Rename `Application` to `ApplicationCommon` in the rest of the files.
Refactored Audio settings API.
Moved phone modes logic from serivce audio to service clients level.
Removed redundant API.
Seprated API for vibration and sound enable/disable.
Fixed issues with vibrations logic.
Clean up propagation of headset keys events
Clean up volume control with headset keys
Update key mappings for simulator
Use headset OK key to answer/reject calls
Added Gui timer auto refresh window on count and additional
name based API to detach timer from window. Added
TimerIDGenerator and exception throw on creating user timer
with same name.
Fix for Call ended window displayed to shortly
Separted the logic of two gui timers in call window.
Removed redundant main window in call app
Refactored CallWindow interface
Fix the persistent answer and reject labels in Call Window issue
Fix the wrong call duration issue in both Call and Calls apps
Fix the not working call ignoring issue
Due to vfs deprecation there is need to remove all vfs calls from code. This PR covers module gui. There are some modifications in other modules included which are necessary because of build system issues.
Change filename of internationalization files from i18 to i18n.
I18n should stand for internationalization, not i18. That's why I changed in 'module-utils' name of the folder 'i18' and both .cpp and .hpp files to 'i18n'.