Clone this repo:
  1. b6ec8fc Add PATENTS file by George Kulakowski · 3 weeks ago master
  2. 838edf3 chore(move): add working modules/email code by Jason Campbell · 7 weeks ago
  3. a6d5b97 Removed json log spew by Jim Beveridge · 7 weeks ago
  4. 10029d4 fix(SO-265): don't call map on null by Jason Campbell · 7 weeks ago
  5. e296f9a fixup dart references to Story by Zac Bowling · 7 weeks ago

Email

Status: Experimental

Structure

This repo contains code for running a vanilla Flutter application (iOS & Android) and a Fuchsia specific set of modules.

  • modules: Fuchsia application code using Modular APIs.
    • nav: Navigation module.
    • service: The old email_service.
    • session: The Email Module responsible for managing shared state between modules.
    • story: The top-level email “Story”.
    • story: The primary entry point for the full Email experience.
    • thread_list: The list of Threads.
    • thread: A single Email Thread.

Development

Setup

This repo is already part of the default jiri manifest.

Follow the instructions for setting up a fresh Fuchsia checkout. Once you have the jiri tool installed and have imported the default manifest and updated return to these instructions.

It is recommended you set up the Fuchsia environment helpers in scripts/env.sh:

source scripts/env.sh

Workflow

There are Makefile tasks setup to help simplify common development tasks. Use make help to see what they are.

When you have changes you are ready to see in action you can build with:

make build # or fset x86-64 --modules default && fbuild

Once the system has been built you will need to run a bootserver to get it over to a connected Acer. You can use the env.sh helper to move the build from your host to the target device with:

freboot

Once that is done (it takes a while) you can run the application with:

make run

You can run on a connected android device with:

make flutter-run

Optional: In another terminal you can tail the logs

${FUCHSIA_DIR}/out/build-magenta/tools/loglistener