Joe Steele
564195bad9
Close stream when done (StrictMode error)
2013-08-09 19:17:07 -04:00
Joe Steele
fcabb7395d
bug fix: use "1" not "true" for SQL boolean
...
Ref: Pull request #355 from @edemaine
2013-08-02 13:01:22 -04:00
Jesse Vincent
bbad298bf6
Convert OpenMode from an Enum to static ints for perf improvement.
...
(Based on profiling of long folder list opens)
This should be backported to 4.4
2013-07-30 21:32:35 -04:00
Jesse Vincent
e9a0cbb269
Ask SQLite for a simpler calculation when counting unread messages. The docs imply this is a decent perf win. I'm seeing at least a bit of one
2013-07-30 21:32:35 -04:00
Jesse Vincent
1fa6d5f960
Add an index for a heavy query
2013-07-18 20:09:39 -04:00
cketti
dda8395c7a
Make sure we always have the ID of a folder when fetching the unread/flagged count
2013-07-16 16:54:26 +02:00
Jesse Vincent
876d478ad7
Opening a folder (especially in threaded mode) does a very heavy SQL query. This method doesn't use or modify the folder object. Don't cargo-cult the Open here.
...
(cketti may well tell me I'm wrong about this. Happy to listen & fix)
2013-07-11 18:44:44 -04:00
cketti
306b258f25
Merge pull request #323 from jca02266/adapt_broken_server
...
Adapt broken pop3 server
2013-07-07 19:43:55 -07:00
cketti
5d07b6691b
Don't load unread/flagged count when creating LocalFolder instances
...
This avoids a potentially expensive LEFT JOIN when querying the database.
2013-07-07 03:31:14 +02:00
cketti
422ba279b5
Refactor code to create LocalFolder instances from a database query.
2013-07-07 03:31:14 +02:00
cketti
ed6eb7bade
Fix code to reset the database when upgrading fails
...
Previously the app crashed when upgrading the database failed. Now we
reset the database version and run the upgrade code again (recreating
all tables).
2013-07-03 05:25:39 +02:00
Koji Arai
b88fbb7fd8
adapt to a corner case for broken server.
2013-06-29 22:28:27 +09:00
Koji Arai
35c79a5656
adapt broken pop3 server
2013-06-26 23:57:55 +09:00
cketti
4890cd9ea0
Better cope with messages having identical message IDs
2013-04-17 02:09:43 +02:00
cketti
a619a9df93
Hide delete policy "Mark as read on server" for POP3 accounts
2013-03-13 06:34:14 +01:00
cketti
658b5dbff6
Fix and vastly simplify the query for the threaded message list
...
This requires another database schema change. With this change messages
at the root of a thread reference themselves in the 'threads' table,
i.e. 'root' contains the value of 'id' for these messages. It makes
selecting all messages in a thread much simpler.
2013-03-08 01:15:26 +01:00
cketti
50fcff76fd
Add a caching layer to EmailProvider
...
Database updates can be surprisingly slow. This lead to slow updates of
the user interface which in turn made working with K-9 Mail not as fun
as it should be. This commit hopefully changes that.
2013-02-19 04:45:14 +01:00
Danny Baumann
275700e482
Fix a number of build warnings.
...
This gets rid of about 50 warnings. Deprecation warnings still remain,
though.
2013-02-04 11:18:49 +01:00
Danny Baumann
5d1e42c453
Improve certificate failure notifications.
...
The commit that introduced those notifications also introduced a rather
... interesting design pattern: The CertificateValidationException
notified the user of its pure existance - it's no longer a 'message'
only, but defines policy. As this is more than unusual, replace this
pattern by the MessagingController treating
CertificateValidationException specially when accessing remote folders.
Also make clear which account failed when constructing the notification.
2013-02-02 13:04:41 +01:00
Jesse Vincent
ae6c7e37ca
Merge remote-tracking branch 'zjw/issue_2389_cert_error_notice2'
...
* zjw/issue_2389_cert_error_notice2:
Fix Issue 2389: Self signed certificate expiry causes silent send/receive failure.
2013-01-15 14:44:21 -05:00
cketti
543fefebaa
Merge branch 'threading_schema_change'
2013-01-12 23:03:38 +01:00
cketti
65a5a73737
Rewrite/optimize some SQL statements
2013-01-12 04:21:53 +01:00
cketti
0a5a330820
Fix getFoldersAndUids() for threads
2013-01-12 04:02:21 +01:00
cketti
421558c148
Optimize setting flags for whole threads
2013-01-12 02:28:12 +01:00
cketti
1df88ea153
Use separate table to store the thread structure
2013-01-11 03:40:35 +01:00
Joe Steele
29f15d715d
Fix Issue 2389: Self signed certificate expiry causes silent send/receive failure.
...
With this fix, a CertPathValidatorException or CertificateException will
create a "Certificate error: Check your server settings" notification
in the status bar. When the user clicks on the notification, they are
taken to the appropriate server settings screen where they can review their
settings and can accept a different server certificate.
2013-01-10 16:49:55 -05:00
Danny Baumann
6f7ec3e401
Incorporate review comments.
2013-01-05 13:21:17 +01:00
cketti
bcd52a6707
Fetch in-reply-to header when downloading envelope on IMAP accounts
2012-12-13 17:03:35 +01:00
cketti
44348e08a4
Create non-existent IMAP folders when copying/moving messages
2012-12-10 21:42:57 +01:00
cketti
7db33ce8c6
Ignore null-rows in results of SQL queries
2012-12-10 17:34:48 +01:00
cketti
8d652b2f61
Fix some compiler warnings
2012-12-07 15:50:55 +01:00
cketti
7b49f67c51
Remove unused methods
2012-12-07 15:47:15 +01:00
cketti
bc4fb530d0
Remove all code using the old unread/flagged count database columns
2012-12-07 15:45:36 +01:00
cketti
04ec2abd2c
Use local unread/flagged count in folder list and message list
2012-12-07 15:04:53 +01:00
cketti
d5bb462917
Don't create Message objects when changing flags of selected messages
...
This changes the interface to MessagingController and the way flags are
updated in the database. Now messages aren't changed one by one but in
batches of 500. This should give better performance, but breaks the
unread and flagged count. I'm not very sad about this, because now we
can move towards only displaying the number of unread/flagged messages
in the local database.
2012-12-06 06:26:38 +01:00
cketti
c0b5255e24
Make most important flags separate database columns
...
This is the first step to speed up searches and flag updates.
2012-12-04 05:13:58 +01:00
cketti
b2098c8d1c
Add activity that is displayed during database upgrades
...
See UpgradeDatabases.java for a detailed description of the upgrade
process.
2012-12-01 08:02:55 +01:00
cketti
2db8034c31
Use one database transaction when doing bulk flag changes
...
Previously we used one transaction per message. For 500 messages the
database updates alone took over 30s on my Nexus 7.
2012-11-27 16:46:59 +01:00
cketti
b108e7a539
Don't fetch already downloaded messages found by a server-side search
2012-11-15 21:05:45 +01:00
cketti
e339dd1f10
Delete all messages in a thread when 'delete' is used on the placeholder
2012-11-03 01:52:45 +01:00
cketti
2e1d25118a
Fix JOIN-condition when searching for messages
2012-11-01 20:33:13 +01:00
cketti
08b361ed36
Fix search for Unified Inbox
...
We don't want to list the Inbox contents of all accounts but the
contents of folders whose "Unify" setting is true.
2012-10-31 01:45:44 +01:00
cketti
303c1ee85d
Extract generation of SQL queries for searches to SqlQueryBuilder
2012-10-29 02:27:34 +01:00
cketti
d703286833
Make LocalStore.searchForMessages() skip empty messages
2012-10-24 06:01:26 +02:00
cketti
ec76dca57f
Remove unused stuff
2012-10-24 01:37:33 +02:00
cketti
1fcce6fb8a
Add database indices for thread columns in 'messages' table
2012-10-24 01:03:59 +02:00
cketti
3bef05b55d
Removed LocalStore hack introduced in 16d2326
2012-10-24 00:32:29 +02:00
cketti
1b98ce57e1
Notify observers (e.g. CursorAdapter) when the messages table changed
2012-10-24 00:08:44 +02:00
cketti
1d655f5bc2
Added ability to display special folders combining multiple accounts
2012-10-18 05:15:40 +02:00
cketti
20ed1ebe61
Code style cleanup
2012-10-17 20:52:03 +02:00