2019-01-11 10:26:44 +00:00
|
|
|
# Repository structure
|
|
|
|
|
|
|
|
The project is divided into several directories below which are nested gradle projects.
|
|
|
|
|
|
|
|
## app
|
|
|
|
|
|
|
|
This contains the highest level code such as UI and core logic.
|
|
|
|
|
|
|
|
## backend
|
|
|
|
|
|
|
|
APIs for sending and receiving messages
|
|
|
|
|
|
|
|
## mail
|
|
|
|
|
|
|
|
Low level code for dealing with internet mail protocols
|
|
|
|
|
|
|
|
## plugins
|
|
|
|
|
|
|
|
Additional, standalone, libraries used by K-9
|
|
|
|
|
|
|
|
![modules](Modules.png)
|
|
|
|
|
|
|
|
# Walkthrough
|
|
|
|
|
|
|
|
To help you understand the design, the following sequence diagrams show typical flows through the
|
2023-02-03 16:28:34 +00:00
|
|
|
classes. Each class is colour-coded by its top-level project.
|
2019-01-11 10:26:44 +00:00
|
|
|
|
|
|
|
## Reading email
|
|
|
|
|
|
|
|
![read email sequence](ReadEmail.png)
|
|
|
|
|
|
|
|
![read email classes](ReadEmailClasses.png)
|
|
|
|
|
|
|
|
## Sending email
|
|
|
|
|
|
|
|
![send email sequence](SendEmail.png)
|