I've started finding my way inside the OpenKeychain's code base by trying to help fix little bugs or by improving some parts of the app. These are two representative commits:
(Fix wrong behavior of third-party apps while opening files after decryption)
(PgpSignEncryptOperation refactoring)
In particular, the second commit introduced me to the inner workings of OpenKeychain's operations.
(Improve ImportKeysListFragment)
This was the main target of my GSoC. Apparently, it seemed a simple task, but while i was working on it, i found myself involved in several part of the app. By reading the PR's discussion is possibile to see the iterations that led to the final version.
I did an heavy use of "Data Binding Library" for the UI related commits of this PR. It was the first time that this library was used in OpenKeychain and i think it's a great step forward for managing UI operations.
(Instrumented unit tests: fix for execution)
This was an interesting challenge. Having instrumented tests to be executed automatically by Travis CI is a great thing but the configuration of the Android emulator on this platform required quite some time and a big number of tries. I've searched the web for possibile solutions to avoid reinventing the wheel, but i've found only few and broken procedures.
(WIP: Improve EncryptFilesFragment)
At the moment (23/08/16) this is a WIP. I plan to finish it after this GSoC. I think that this part of the app deserves a better interface and some improvements.
(Add discovering of OpenPGP public keys via DANE)
Now i have a good understanding of import operations of OpenKeychain and probably it won't be difficult to add this feature.