The database file is owned by the keepassdroid user and only readable by that user. If you have access to read that file, then you also have access to read the keepassdroid process's memory, which also contains this data unencrypted. So, I don't think this file represents a reduction in security.
Let me know if you think I'm missing something.
-Brian
It looks like SQLLite editor runs as root. Otherwise, it shouldn't be able to read the database. If you let an app run as root, it can read the unencrypted database in your phone's memory. It doesn't sound to me like encrypting the sqllite db protects you against an application running as root from accessing your unencrypted database.
I'm open to consider changing the way it works, if there is a threat model that allows you to access the sqllite db, but not the keepassdroid proccess.
-Brian
I wonder if a better approach would be to make search loop over the
groups and entries in the existing PwDatabase object instead of making
a duplicate of all of those strings and putting them instead a
HashMap.
-Brian
As of version 1.9.4, search is happening directly over the existing
database that is in memory. No more sqlite database of your database
strings.
-Brian