Bug 916607 - 2/4: implementation.
Bug 916607 - 3/4: android backend.
Bug 916607 - 4/4: fix test cases.