1 Code Organization

As with all Android projects, the AndroidManifest.xml file under app/src/main/ describes the main components of the application (its activities). Some of the specifics such as the version number and supported SDK range are contained in app/build.gradle instead of the manifest.

All code is under the top-level package com.xmission.trevin.android.tangram. The sub-packages are:

.data

Java objects that have little or no dependencies on Android

.exception

Custom exceptions used for reporting invalid puzzle definitions

.ui

Classes that implement the user interface of the application

.util

Utility classes; helper functions

The puzzles that are bundled with the application are located in app/src/main/assets/. All other resources used by the application (UI layout, language-dependent strings, icons, etc.) are under app/src/main/res/.