1
0
mirror of https://github.com/moparisthebest/k-9 synced 2024-12-20 14:52:16 -05:00
Commit Graph

2178 Commits

Author SHA1 Message Date
Sander Bogaert
9c9763154e Abbriviate long foldernames. 2012-09-08 22:23:38 -07:00
Sander Bogaert
9f568e3e08 Hide move & copy options for mixed messagelists. Also use hide and show the new grouped icon for them correctly. 2012-09-08 22:21:13 -07:00
Sander Bogaert
85fc76c10b Have the icon function as 'up' instead of 'home'. 2012-09-08 22:21:10 -07:00
Sander Bogaert
4a7a61bd08 Made the selectAll working again. This also got rid of the 2 settings options in the actionbar. 2012-09-08 22:21:06 -07:00
cketti
c7003ab028 Cleaned up ActionBarNavigationSpinner 2012-09-08 22:21:05 -07:00
cketti
f46f733bce Moved ActionBarNavigationSpinner to another package 2012-09-08 22:21:05 -07:00
cketti
933a8fdcd5 Made actionbar_selected a format string 2012-09-08 22:21:04 -07:00
cketti
763e2853d7 Whitespace fixes 2012-09-08 22:19:56 -07:00
Sander Bogaert
33cae2fdab Fixed actionbar context mode bug when rotating the screen. 2012-09-08 22:16:03 -07:00
Sander Bogaert
f11e3d5059 Have a nice title for messagelist displaying a query. 2012-09-08 22:16:03 -07:00
Sander Bogaert
a730e67514 Have a dynamic context actionbar filled with options that are supported by the current selection of mails. Also works for unified inbox. 2012-09-08 22:13:07 -07:00
Sander Bogaert
35e8937b8a Remove send alternate option from messagelist activity. 2012-09-08 22:13:06 -07:00
Sander Bogaert
24d7416e61 Implemented the (Un)start and (Un)read toggles. 2012-09-08 22:13:06 -07:00
Sander Bogaert
6bea2dddac Major cleanup of the MessageList activity and layout. Removed dead code. 2012-09-08 22:10:21 -07:00
Sander Bogaert
876bd52e8d Exiting context mode after batch actions. 2012-09-08 22:07:18 -07:00
Sander Bogaert
e01232a500 Selection with context actionbar working. 2012-09-08 22:05:41 -07:00
cketti
f8bd9e481c Converted MessageList to a K9ListActivity 2012-09-08 21:47:52 -07:00
Sander Bogaert
830442b690 Show email subject in actionbar. 2012-09-08 21:43:09 -07:00
Sander Bogaert
ee6bd2dc22 Pressing the actionbar icon will take you back to the accountsscreen. 2012-09-08 21:43:08 -07:00
Sander Bogaert
67b4cd9c8e Add unread count to MessageList title 2012-09-08 21:43:08 -07:00
Sander Bogaert
b90386ecd3 Fix progressindicator on folderscreen. 2012-09-08 21:40:57 -07:00
Sander Bogaert
6c27d3e7ef Fix the upper refresh button in MessageList 2012-09-08 21:40:56 -07:00
Sander Bogaert
1b9abb2b9b Set a title for the folderlist activity. 2012-09-08 21:39:44 -07:00
Sander Bogaert
67ab08383f Created new string resource for folderacitvity title. 2012-09-08 21:39:43 -07:00
Sander Bogaert
18748499af Generalize ActionBarNavigationSpinner creation. 2012-09-08 21:39:42 -07:00
Sander Bogaert
4de06915ea Make title changeable. Have email adress and foldername in there. 2012-09-08 21:36:47 -07:00
Sander Bogaert
c19367eb18 Fix swap back bug. 2012-09-08 21:34:34 -07:00
Sander Bogaert
03cec1ef56 Separated the navigationspinner and the messagelist class. 2012-09-08 21:34:33 -07:00
Sander Bogaert
c2af640891 Messagelist special cases bug fix. 2012-09-08 21:32:54 -07:00
Sander Bogaert
2ec97235ec Split bar on Messagelist activity and some code styling. 2012-09-08 21:32:54 -07:00
Sander Bogaert
4293914855 Initial actionbar integration. On top of every activity, no real integration yet. 2012-09-08 21:14:55 -07:00
cketti
3253466f14 More magic to work around BinaryTempFileBodyInputStream 2012-09-09 01:15:26 +02:00
cketti
734e0d1920 Merge branch 'MessageListAdapter_cleanup' 2012-09-09 00:55:18 +02:00
Andrew Chen
2ef8cda13c Remove the try-finally stream close. Add comment as to why this pattern doesn't work here. 2012-09-07 23:49:24 -07:00
Andrew Chen
c44b19cda6 Close input stream after reading to fix strict mode warning. 2012-09-07 20:34:40 -07:00
Andrew Chen
2b0b929aa2 Add references and in-reply-to for forwarded messages. 2012-09-07 11:03:46 -07:00
Andrew Chen
3f4bc28363 Add null check before attempting to do math on the date. 2012-09-06 16:38:45 -07:00
cketti
f42943f30c Optimized searching for a message in the message list 2012-09-06 22:33:22 +02:00
cketti
5678786c97 Properly closing InputStreams to avoid StrictMode warnings 2012-09-05 05:57:52 +02:00
cketti
9c335127e2 Code cleanup 2012-09-05 03:50:02 +02:00
cketti
16ab1b67bc Made sure the message list is only modified from the UI thread 2012-09-05 03:02:22 +02:00
cketti
d97da517fa Rewrote code accessing mAdapter.messages from outside MessageListAdapter 2012-09-05 01:31:09 +02:00
cketti
fb6d004692 Don't use MessageListHandler when calling from the UI thread 2012-09-05 01:02:05 +02:00
cketti
bd9b6aea2d Moved methods modifying the message list to MessageListAdapter 2012-09-05 00:51:04 +02:00
cketti
75a97a82c0 Make MessageListHandler a real Handler that uses Android's message queue 2012-09-05 00:35:43 +02:00
Andrew Chen
536046809d Merge pull request #170 from roee88/master
Issue 4461: MessageProvider enhancements and fixes
2012-09-03 12:47:45 -07:00
Roee Shlomo
f6e30a0642 Removed unreachable searchStats overrides
Removed unreachable searchStats overrides.
Replaced with folderStatusChanged in MessageProvider.

Further review confirmed searchStats is only called for listeners passed
directly to MessagingController.searchLocalMessages* and never called
for any
MessagingController registered listener.
folderStatusChanged  is more appropriate for this purpose.
2012-08-31 04:35:56 +03:00
Bernhard Redl
474f32ad02 changed parseFlags to directly manimpulate member 2012-08-30 18:15:19 +02:00
Bernhard Redl
7c007d19fb added improvements suggested by achen 2012-08-30 17:47:58 +02:00
Bernhard Redl
56105bcfe3 + add support for $Forwarded IMAP flag 2012-08-29 02:26:38 +02:00
cketti
c0153a1636 Display decrypted/verified messages like text/plain messages
Nicely format the text instead of wrapping it in <pre> tags.
2012-08-27 17:38:10 +02:00
Roee Shlomo
a4b8bbdb72 Removed trailing spaces 2012-08-18 20:52:32 +03:00
Roee Shlomo
ef082f0260 Fixed indentation 2012-08-17 17:29:35 +03:00
Roee Shlomo
7419259407 Allow more fields in the external provider 2012-08-17 17:19:26 +03:00
Roee Shlomo
a4d1f78dbd Fixed ACTION_REFRESH_OBSERVER broadcast sending
searchStats seems unreachable so broadcast is now sent from
folderStatusChanged and also contains the account and folder name as
extra parameters.
2012-08-17 17:18:00 +03:00
Andrew Chen
a274a3717a Merge pull request #168 from aatdark/aatdark_mime4j072
upgraded Mime4J from 0.7-SNAPSHOT to 0.7.2.  Fixes MimeMultipart parser bug (Issue 4455).
2012-08-15 15:34:25 -07:00
cketti
66911a0624 Use grey background for read messages in the message list 2012-08-15 04:14:12 +02:00
Bernhard Redl
89f6c2f6d0 upgraded Mime4J 0.7-SNAPSHOT -> 0.7.2 (fixes MimeMultipart parser bug) 2012-08-15 01:47:57 +02:00
cketti
2e454f0af7 Removed "System zoom controls" setting
We always allow zooming but hide (provided the Android version supports
it) the on-screen zoom controls if the device supports multi-touch,
hence pinch-to-zoom.
2012-08-15 00:21:22 +02:00
cketti
d9f1690741 Added option to always show the CC/BCC text input fields 2012-08-10 03:38:10 +02:00
cketti
1ff3b6b88f Disable the 'Add Cc/Bcc' menu option when both fields are visible 2012-08-10 02:31:55 +02:00
Andrew Chen
6f8c60763d Use Calendar to get current year when formatting copyright. 2012-08-08 11:03:10 -07:00
Andrew Chen
4f122ca094 Merge pull request #160 from dzan/fix_messagelist_whitespace
No more white space at the right hand side of the MessageList
2012-08-06 16:53:55 -07:00
Sander Bogaert
ee283c0c77 Give star a bit more room so there is no cut-off. Don't force the scrollbar on the outside so the listitems can take the whole width. 2012-08-03 12:18:12 -04:00
Jesse Vincent
74f04e75e3 A first spike of integrating http://code.google.com/p/android-titlebar-webview
on my nexus 7, the webview and titlebar are overlapping each other, still
2012-08-02 16:49:21 -07:00
Jesse Vincent
17a6f79365 Better solution coming up!
Revert "Added fallback for when WebView.setEmbeddedTitleBar() is not available"

This reverts commit 6073b9d3fa.
2012-08-02 16:11:10 -07:00
cketti
592ed3ef38 Upgrade from "keyguardPrivacy" to "notificationHideSubject"
Make sure existing installations aren't reset to the default value when
the new setting can't be found.
2012-08-02 03:09:26 +02:00
cketti
3e6d161c18 Show current value for the 'notification_hide_subject' ListPreference 2012-08-02 02:43:10 +02:00
cketti
8c11ec18a9 Code style/documentation cleanup (no functional changes) 2012-08-02 02:31:54 +02:00
cketti
cd37ae16e1 Fixed setting names in SettingsUpgrader for version 12 2012-08-02 02:20:33 +02:00
Bernhard Redl
4028505d69 Extended setting to hide subject in notification area (never, when locked, always)
Fixed issue 2595
2012-08-02 01:47:20 +02:00
cketti
f3e74d5321 Added support for "show in top group" to ChooseFolder 2012-08-01 23:44:40 +02:00
cketti
853b4681b2 Hide 'Background data' option on ICS+ devices 2012-07-19 05:25:23 +02:00
cketti
eb7f94a500 Hide "Show unread count" (notifications) on Honeycomb+ devices
On Android 3.0 and newer the notification icon is no longer overlaid
with the 'notification number', so we hide the setting.
2012-07-19 02:23:09 +02:00
cketti
5467a71cbf Added work-around for image loading bug in Android 4.0's WebView
Fixes issue 3997
2012-07-16 02:14:42 +02:00
cketti
b72fcd9d4b Only use the single-column layout on known good Android versions
Fixes issue 3820
2012-07-13 23:04:04 +02:00
cketti
83e57064ff Check database version after ending the transaction 2012-07-07 17:15:14 +02:00
cketti
d08169b004 Corrected indentation 2012-07-07 17:14:03 +02:00
cketti
400487b8aa Merge branch 'pullreq150' 2012-07-07 17:04:17 +02:00
cketti
e1d9a4779d Changed the rest of ImapStore to use longs for storing UIDs 2012-07-07 16:46:07 +02:00
cketti
2ad748fad7 Change ImapUtility to use 'long' for the values of sequence sets 2012-07-07 16:21:07 +02:00
cketti
a37c95b456 Move auto-unboxing out of if-clause 2012-07-07 15:41:55 +02:00
cketti
c359eb3cb7 Use auto-unboxing when iterating over a List<Long> 2012-07-07 15:36:43 +02:00
cketti
08c6c63b31 Merge branch 'pullreq153' 2012-07-07 15:06:41 +02:00
cketti
a281b3401e Extracted code to disable Lint warning when using newer API 2012-07-07 15:03:23 +02:00
cketti
1f2104cae1 Added annotations to disable Lint warnings when we're using newer APIs 2012-07-07 14:38:57 +02:00
cketti
ece107f6d8 Removed unused variable 2012-07-07 14:33:15 +02:00
cketti
f832e08de3 Removed unused debug message 2012-07-07 14:30:42 +02:00
cketti
8493847895 Removed unused class 2012-07-07 14:29:40 +02:00
cketti
2269f22153 Removed unused method that was used for debugging 2012-07-07 14:28:15 +02:00
cketti
411117b660 Removed unused imports 2012-07-07 14:26:16 +02:00
cketti
79253968ff Get rid of auto-unboxing in comparison 2012-07-07 14:19:22 +02:00
András Veres-Szentkirályi
85b2eb8315 removed unused private field mUID 2012-07-06 15:05:53 +02:00
András Veres-Szentkirályi
d0c08fb705 removed unread private field mSecure 2012-07-06 15:04:46 +02:00
András Veres-Szentkirályi
2f918c2307 Use more efficient entrySet iterator instead of keySet + get()
The loop extracted keys from `remodeUidMap` and then called
`remouteUidMap.get(...)` for every key. If both the key and the value
needs to be iterated on, `Map.entrySet()` is a more efficient solution
as it doesn't require O(n) Map lookups.
2012-07-06 15:00:25 +02:00
András Veres-Szentkirályi
9413cf5c9d Removed override merely calling super() 2012-07-06 14:35:01 +02:00
András Veres-Szentkirályi
bff1602da1 combined nested if statements in LocalStore 2012-07-06 14:35:01 +02:00
András Veres-Szentkirályi
961872edf0 combined nested if statements in ImapStore 2012-07-06 14:35:01 +02:00
András Veres-Szentkirályi
57f364ca69 combined nested if statements in MimeHeader.hasToBeEncoded 2012-07-06 14:35:01 +02:00
András Veres-Szentkirályi
f79b1eb142 combined nested if statements in DomainNameChecker.matchDns 2012-07-06 14:35:01 +02:00
András Veres-Szentkirályi
5c23549a0b combined nested if statements in DomainNameChecker.matchIpAddress 2012-07-06 14:35:01 +02:00
András Veres-Szentkirályi
cfd77f8e32 combined nested if statements in AccountSetupCheckSettings 2012-07-06 14:35:01 +02:00
András Veres-Szentkirályi
dd5ab2c2c6 combined nested if statements in MessageList.removeMessages() 2012-07-06 14:34:57 +02:00
András Veres-Szentkirályi
e3853824db removed empty else clause 2012-07-06 14:04:32 +02:00
András Veres-Szentkirályi
8c3b64c3d7 removed unused private fields gesture{Detector,Listener} 2012-07-06 14:04:19 +02:00
András Veres-Szentkirályi
7ae7fc9d9d removed unread private field mFontSizes 2012-07-06 14:03:48 +02:00
Joe Steele
102c6153a1 Issue 4359: IMAP message UIDs are 32 bit unsigned values and cannot be
stored in int, so we now parse them as long.
2012-07-05 18:00:49 -04:00
cketti
6073b9d3fa Added fallback for when WebView.setEmbeddedTitleBar() is not available
The (undocumented) method WebView.setEmbeddedTitleBar() was removed in
Android 4.1 which caused the message header to never be displayed.
This fallback is only a temporary fix. We really need to come up with a
solution that feels like the previous (setEmbeddedTitleBar) behavior.
2012-06-29 00:14:06 +02:00
cketti
602ce7be99 Trim the first value in getHeaderParameters()
Previously a value like 'text/html ; charset="windows-1251"' for the
Content-Type header would not be decoded correctly.

Fixes issue 4348
2012-06-18 04:46:46 +02:00
cketti
ee1288ee75 Disable special screen reader mode on ICS
The default message view is accessible enough.
Info and original patch provided by Nolan Darilek.

See issue 4153
2012-06-18 03:17:02 +02:00
cketti
fb1bd9f913 Made ColorPickerDialog a real dialog by subclassing AlertDialog
This way it's easy to save/restore the dialog's state, e.g. on orientation changes.
2012-06-09 01:39:14 +02:00
cketti
9b77aad8b7 Use the framework to manage the color picker dialog in account settings
This way the dialog will survive orientation changes.
2012-06-09 01:39:14 +02:00
cketti
67caa357fd Fixed loading messages from the database when message format is AUTO 2012-06-01 20:03:03 +02:00
cketti
116e9598da Create an HTML version of text/plain-only drafts in the database
Without this, text/plain-only messages with K-9 Mail's "identity header"
are displayed as "No text" (when moved out of the Drafts folder).
2012-06-01 16:15:07 +02:00
cketti
e88633cf78 Put the logic that decides which message format to use in one place
This change is in preparation for the future rich text editing
functionality.
2012-05-30 15:20:51 +02:00
cketti
71b3b2916e Extracted methods for easier reading 2012-05-30 15:20:51 +02:00
cketti
01c8e84396 Introduced enum for the MessageCompose actions (compose, reply, ...) 2012-05-30 15:20:51 +02:00
Romain Vimont (®om)
fb36389d20 Create database in a transaction (for performance)
On my emulator, it takes 70ms instead of 250ms.
On a very specific hardware, it takes 0,5s instead of 4,1s.

I willingly did not indent the code between my try/catch (for the patch to be readable).
2012-05-30 12:57:05 +02:00
cketti
003069e802 Work around a bug in Android 4.x (?) when the system locale is turkish
See https://code.google.com/p/k9mail/issues/detail?id=4256
See https://code.google.com/p/android/issues/detail?id=31574
2012-05-21 00:36:53 +02:00
cketti
632dde614d Added missing account setting "alwaysBcc" to import/export table 2012-05-16 23:03:40 +02:00
cketti
bd6cdecdb0 Always use the application context when instantiating singletons 2012-05-16 22:22:39 +02:00
cketti
c3808827a8 Don't use reflection to load the API-specific Contacts implementation 2012-05-16 21:09:10 +02:00
cketti
ea902ce680 Merge onToggleSortAscending() with changeSort() to avoid code duplication 2012-05-16 20:35:56 +02:00
cketti
bf7a6ba398 Added the global sort settings to the import/export table 2012-05-16 20:35:56 +02:00
cketti
c64c14c4a6 Use account sort settings when filtering messages of only one account
This will use the account settings when viewing e.g. only the unread
messages in a folder.
2012-05-16 20:35:55 +02:00
cketti
6d19d9c829 Save sort type and sort order for search views (e.g. Unified Inbox) 2012-05-16 20:35:55 +02:00
cketti
e2b109e7ea Whitespace cleanup; no functional changes. 2012-05-15 08:01:10 +02:00
cketti
68a6eddfb6 Avoid NullPointerException in the gesture detection code 2012-05-10 17:19:21 +02:00
ashley willis
7e5717ed81 use the new way on internal storage, or the original way otherwise 2012-05-09 21:09:10 -05:00
ashley willis
9e4ac9014b updated year in copyright. 2012-05-09 14:48:11 -05:00
ashley willis
b1b6d5fce4 Yahoo! IMAP seems to no longer require 'ID ("GUID" "1")' over non-3G.
see http://mobile.yahoo.com/mail for IMAP setup instructions.
2012-05-09 13:48:36 -05:00
cketti
f25422f269 Don't use the NotificationBuilder as singleton 2012-05-08 06:45:04 +02:00
ashley willis
ca6d697eed fixed commit ed4c74983e due to crashing on 2.1 devices 2012-05-07 09:24:13 -05:00
cketti
edfae1906a Make sure we always have an account name when importing settings
This avoids a NullPointerException in the dialog that allows selecting
which accounts to import.
2012-05-06 21:02:41 +02:00
cketti
dc476eb3e8 Support ACTION_SEND extras when handling ACTION_SENDTO
Too many applications get this wrong and rely on the undocumented
behavior of the AOSP Email app and Gmail.

See https://code.google.com/p/android/issues/detail?id=30190
2012-05-06 17:47:59 +02:00
cketti
e1fa90b2fd Use Notification.Builder on Honeycomb+ devices
Using the new helper class we can easily add support for some of the
new notification features later.
2012-05-04 22:03:35 +02:00
cketti
8fdece4782 Use bezel swipe gestures to move to next/prev message in MessageView 2012-05-04 16:32:39 +02:00
m0viefreak
022940d4f5 Fix gesture detection
This commit addresses 2 issues:

1) Before, a general GestureDetector was registered on the highest level in K9Activity
   This resulted in EVERY inherited activity to have a useless, unused gesture detector.
   But more than that, in MessageList, a second GestureDetector was assigned to the ListView.
   On every fling gesture, both detectors called the onSwipe() methods,
   which technically did the following:
   - The one directly assigned to the ListView would work corectly by mapping the
     (local) event coordinates to the right entry in the ListView
   - The global one worked on screen coordinates, so the onSwipe() method would
     likely select the wrong ListView entry (system menu bar offset).
   - For some reason this "worked" fine, and only the correct entry was selected,
     despite two detectors used.

2) The gesture detection for the MessageView caused problems when the message
   itself was scrollable, i.e. wide HTML mails. A fling gesture inside the WebView
   would scroll the message, but also switch the message.

This commit fixes all those by doing the following:
- Don't register the GestureDetector in K9Activity, instead make the member variable
  accessible by subclasses.
- In the subclasses that need a detector register it
- In K9Activity.dispatchTouchEvent() check for mGestureDetector being null
- For MessageList:
  * Remove the duplicate gesture detector assigned to the ListView
  * in the handleSwipe() methods: calclulate pixel offset of the ListView to make
    it work using the global screen coordinates
- For MessageView: Limit sensitive area to the message header, to prevent interference
  with the WebView scrolling
- Respect current behavior:
  * Force-enable gestures for the MessageList
  * Respect user setting in MessageView
- Make sure that after a successful swipe gesture, any pending action is cancelled, to
  prevent unwanted things to happen (such as expanding the header after changing
  the message, or a context menu popping up in the MessageList).
  See http://code.google.com/p/android/issues/detail?id=8497
2012-05-01 03:00:15 +02:00
ashley willis
9e1fa63139 fixed MimeHeader.hasToBeEncoded() to include TAB.
bug encounted when replying to a message such as:
From: "bar,	foo" <foobar@example.com>
the field was originally folded on the tab, but the CRLF was already stripped before this error.
2012-04-30 13:58:02 -05:00
cketti
5d080b656d Fixed a NullPointerException for the context menu in the Unified Inbox 2012-04-30 16:12:14 +02:00
ashley willis
ed4c74983e fixed security issue -- account databases previously world-readable and accessible to any app if UUID is known. 2012-04-26 08:03:06 -05:00
cketti
2c8ae0644b Fixed code style 2012-04-25 16:46:05 +00:00
Andrew Chen
8577d1558e Merge branch 'text-quote-to-html-div'
* text-quote-to-html-div:
  Use property to determine if we should write test debug information or not.
  Remove top margin on converted quote text, consistent with html quoted text.
  Colorize quoted text that has been converted to html. Like Thunderbird, but optimized for mobile (no right margin quote bar, thinner left margin quote bar).
  Add 1ex of margin at the bottom of converted blockquotes.
  Convert quote characters in plain text messages to blockquotes in the html version.  "Be like Thunderbird."
2012-04-24 10:24:14 -07:00
Andrew Chen
c829fe9cd2 Remove top margin on converted quote text, consistent with html quoted text. 2012-04-23 15:13:45 -07:00
Andrew Chen
9f1e2717a6 Colorize quoted text that has been converted to html.
Like Thunderbird, but optimized for mobile (no right margin quote bar, thinner left margin quote bar).
2012-04-23 15:10:34 -07:00
Andrew Chen
0bb1f4ff56 Add 1ex of margin at the bottom of converted blockquotes. 2012-04-23 14:00:03 -07:00
cketti
2485d21f1d Show the display name instead of the "internal" name in folder settings 2012-04-22 00:02:46 +00:00
Andrew Chen
32ce196b5a Convert quote characters in plain text messages to blockquotes in the html version. "Be like Thunderbird." 2012-04-17 10:22:43 -07:00
Andrew Chen
32ae7bad9c Migrate to Account.has(Special)Folder() methods. 2012-04-17 08:23:22 -07:00
Bernhard Redl
39f5587f30 Fixed Issue 4222. Use of the wrong method to get device-SDK version resulting in errors on ApiLevel 7 (2.1) devices. 2012-04-17 00:09:00 +02:00