Skip to content
Midhun Harikumar edited this page Oct 26, 2018 · 10 revisions

This page provides specifics about the various architecture considerations taken while designing and developing this version of the library. This page would be updated with more details soon.

Modules

The cross dependencies among the new modules are visualized using moon shine project below using this data.

Modules

SMS API

The access to SMS API of Android previously supported with SMSManager has been changed to the SmsApiGateway classes and interfaces.

The following classes have been created as part of this implementation with the package com.ae.apps.lib.api.sms

Class Name Description
SmsApiGateway An interface that defines the API
SmsApiConstants Contains public and internal constants used by the API
AbstractSmsApiGateway Provides some basic implementation of the API
SmsApiGatewayImpl An implementation of the API
SmsApiUtils Contains some utility functions used by the API

Contacts API

Previously an abstraction to the complex Android Contacts API was provided with ContactManager and related classes. Although it was updated to split the logic into a Service class, it has now been completely rewritten as ContactsApiGateway.

The following classes are available under the following package com.ae.apps.lib.api.contacts

Class Name Description
ContactsApiGateway An interface that defines the Contacts API
ContactsApiConstants Contains internal constants used by the API
AbstractContactsApiGateway Provides some basic implementation of the API
ContactsApiGatewayImpl An implementation of the API
ContactsApiUtils Contains some utility functions used by the API
ContactInfoFilterOptions Specifies the filtering options while reading the contacts
ContactInfoOptions Specifies options for getting ContactInfo
ContactsDataConsumer An interface that must be implemented by a consumer of the API
Clone this wiki locally