Add provider compatibility and os class port

- Call logs has a various implementation for each devices and some devices does not behave as we expect.
- Sms logs has a various implementation for each devices and some devices does not behave as we expect.
- Sms logs are the new API so that we access to the logs by some hacky way.
Please follow AOSP code-style
https://source.android.com/source/code-style.html#use-standard-brace-style