The new client code is intended to be a self-contained, modularized, project including all necessary support libraries and unit testing code.
Source code for the Android based mobile client is available by cloning the sana.mobile repository.
git clone https://github.com/SanaMobile/sana.mobile.git
We highly recommend creating a Github account and forking the repository in lieu of directly cloning the repository so that any changes that you may make may be more easily contributed to the platform later via a pull request.
The recommended method for building the code is to use Android Studio. The following steps should allow you to obtain, build, and run the code with minimal difficulty.
For additional details on working with Android Studio, including testing and debugging, please consult the Workflow page on the Android Developer site.
The gradle based project is split into three distinct modules.
The motivation for splitting the project into the three discrete modules was to allow developers who may be interested wished to implement an alternate frontend, develop a client on another platform, or otherwise may find some portion of the libraries useful to do so more easily. The following sections contain additional details and features of each project that should assist developers working with the code.
The api module provides a pure Java library that contains the POJO’s that correlate with the data model used by the client, basic network code for communicating with the Sana middleware, and a number of utility functions.
The api-android module contains source code for non-application classes and interface to work with the Sana mobile code including communication with MDS.
The app module contains the source code for the front end visual components and classes specific to the application.
This software is released under the BSD License. Please see LICENSE for a full copy of the license and copyright information. Licensing information for additional software included with this product can be found in the NOTICE.
This distribution may include software that has been designed for use with cryptographic software. The country in which you currently reside may have restrictions on the import, possession, use, and/or re-export to another country, of encryption software. BEFORE using any encryption software, please check your country's laws, regulations and policies concerning the import, possession, or use, and re-export of encryption software, to see if this is permitted. See http://www.wassenaar.org/ for more information.
The U.S. Government Department of Commerce, Bureau of Industry and Security (BIS), has classified this software as Export Commodity Control Number (ECCN) 5D002.C.1, which includes information security software using or performing cryptographic functions with asymmetric algorithms. The form and manner of this Apache Software Foundation distribution makes it eligible for export under the License Exception ENC Technology Software Unrestricted (TSU) exception (see the BIS Export Administration Regulations, Section 740.13) for both object code and source code.
The following provides more details on the included software that may be subject to export controls on cryptographic software:
Apache HttpComponents Client interfaces with the Java Secure Socket Extension (JSSE) API to provide
- HTTPS support
Apache HttpComponents Client does not include any implementation of JSSE.
Additional information can be found at, or is linked from, the main project site: http://sana.mit.edu