CommonsWare Android Components (CWAC)
The CommonsWare Android Components, or CWAC, are open source libraries to
help solve various tactical problems with Android development. Most CWAC
components are packaged as a tiny JAR file that you can add to your project
(e.g., drop it in
libs/), requiring at most other CWAC JARs as dependencies.
Most are also available as AAR artifacts in a CommonsWare repository, ready
for inclusion in your Gradle-based project build scripts.
The current supported CWAC components, and their GitHub repositories, are:
Provides an AdapterWrapper, a simple wrapper class that, by default, delegates all ListAdapter methods to a wrapped ListAdapter. The idea is that you can extend AdapterWrapper and only override certain ListAdapter methods, with the rest handled via the wrapped adapter.
CameraFragment to simplify access to the native
Provides a simple color mixer widget, dialog, activity, and preference.
Provides some Android container classes for specialized situations.
Provides an implementation of the Loader framework for SQLite databases,
SQLCipher for Android databases, and SharedPreferences.
Provides a service that will find the current location and feed it back to you, designed to be triggered by an alarm, where the service will keep the device awake.
Provides a canned implementation of the master-detail pattern, to blend together a few Android design patterns into a resuable library
Provides the MergeAdapter, a ListAdapter that blends multiple Views or ListAdapters into a single ListAdapter. Use this for section headings, blending multiple sources of data together, etc.
Provides classes in support of
ViewPager, such as the
Provides classes in support of the
Presentation engine in Android, for driving separate content to an external display (compared to what you shown on the device's own display)
StreamProvider, an extended version of Google's
FileProvider, for making files, resources, and assets available to other apps via a
Provides SackOfViewsAdapter, which accepts a list of View objects and presents them in a ListAdapter.
Provides utility classes to help app developers defend their users.
Provides the WakefulIntentService, a refinement of the IntentService that keeps the device awake while background tasks are being processed. This is useful for work to be scheduled via the AlarmManager.
And, in case you were wondering, CWAC is pronounced like "quack".