Commit Graph

2255 Commits

Author SHA1 Message Date
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
ashley willis 93de6cdafe fixed issue with sort not being remembered at all on unified inbox / all messages (still does not save sort to settings). 2012-04-12 21:12:22 -05:00
ashley willis f0c22510e2 fixed FC when changing sort from unified inbox and all messages.
the new sort saves per account, and there is no active account for these folders.
so also, there is no saving of the sort for the unified inbox nor all messages.
2012-04-11 00:08:49 -05:00
Ashley Willis bfecdc9443 Merge pull request #134 from yarikoptic/upstream
BF: mAccount must not be accessed before verfied to be non-null
2012-04-10 21:25:11 -07:00
cketti 3f29b95846 Use the Android framework to manage the find folder dialog 2012-04-11 04:50:23 +02:00
cketti ff4d6a66c8 Fixed bug introduced with 6f525f0e31
Intent extra was renamed but the code in MessageCompose still used the
(hardcoded) old name.
2012-04-11 04:47:10 +02:00
Yaroslav Halchenko 4288789e39 BF: mAccount must not be accessed before verfied to be non-null
otherwise obviously leads to crashes.
IMHO this was a logical location to move, and it resolved my issue when
account was not yet accessible due to not yet accepted key upon importing
old settings from a stored file
2012-04-10 22:26:49 -04:00
cketti 9d854a0f6f Fix a display bug by extending the system themes 2012-04-11 03:26:45 +02:00
cketti 52b5c567ef Don't use EmailAddressAdapter as singleton 2012-04-11 03:26:45 +02:00
ashley willis 81c9fdcb13 Merge branch 'master' into pull-128 2012-04-08 21:59:20 -05:00
ashley willis 539ab93bcb refactored sorting 2012-04-08 21:29:08 -05:00
cketti 8bd5090816 Removed unused import + constants 2012-04-09 02:02:12 +02:00
cketti 6f525f0e31 Converted hardcoded strings to constants 2012-04-09 02:02:12 +02:00
cketti 56d4cca4dd Make ContactItem immutable 2012-04-09 01:57:45 +02:00
cketti a09f26a227 Renamed getEmailFromContactPicker() to better reflect what it does 2012-04-09 01:57:44 +02:00
cketti 08e54cf44b Updated JavaDoc for getEmailFromContactPicker() 2012-04-09 01:57:44 +02:00
cketti 3b5492f5fc Optimized getEmailFromContactPicker() 2012-04-09 01:57:44 +02:00
Andrew Chen 7e26b62227 Remove horizontal rules in message previews. 2012-04-08 16:52:55 -07:00
Andrew Chen 1c4a3c355c Add comment about increment settings version. 2012-04-08 15:27:39 -07:00
cketti d6a1f2e95c Renamed enum SORT_TYPE to SortType 2012-04-08 23:17:06 +02:00
cketti 24c172add0 Fixed version number for added settings 2012-04-08 23:13:55 +02:00
Jesse Vincent 85da3d8667 workaround to detect the charset from HTML mail without charset parameter on the header.
Conflicts:

	src/com/fsck/k9/mail/internet/MimeUtility.java
2012-04-08 12:38:45 -04:00
Koji Arai 6861c813ea Change layout of the email address list.
set title to the contact name.
change text size is medium from default(Large).
2012-04-08 12:32:10 -04:00
Jesse Vincent 3a9589714b added the ContactItem class for picked item from ContactPicker.
Conflicts:

	src/com/fsck/k9/helper/ContactsSdk3_4.java
	src/com/fsck/k9/helper/ContactsSdk5.java
2012-04-08 12:32:04 -04:00
Jesse Vincent 4723ea0ae5 Possible to select email addresses from the ContactPicker
Conflicts:

	src/com/fsck/k9/activity/MessageCompose.java
	src/com/fsck/k9/helper/ContactsSdk3_4.java
2012-04-08 12:29:08 -04:00
Jesse Vincent dd0ba7640c Switch the sort order code around so it saves when reversing sort with a keyboard 2012-04-07 17:11:32 -04:00
Jesse Vincent 66528a0ca8 Merge pull request #128 from srinathwarrier/k-9
---

A new option to set default sort setting is added to account settings.

* commit '7a9ba4e0ad483cb275281e8b33d9e6d35d870151':
  Create implicit sort remembering setting2(minor indentation error)
  Create implicit sort remembering setting
  Create default sort setting by preference
2012-04-07 16:53:53 -04:00
Andrew Chen 50b2056454 Always hide the batch archive button in a search view, consistent with the batch ops menu. 2012-04-06 16:46:04 -07:00
Andrew Chen 3559618ca9 astyle 2012-04-06 16:42:54 -07:00
Andrew Chen 42d6462946 Hide the batch archive button preference if none of our accounts have an archive folder.
Hide the batch archive button in the MessageList if none of the visible account(s) have an archive folder.
2012-04-06 15:52:56 -07:00
Andrew Chen e94db81ecb Add Account.hasArchiveFolder() method. 2012-04-06 14:45:44 -07:00
Andrew Chen 12d1301056 Fix Settings version number for batch button preferences. 2012-04-06 14:41:33 -07:00
Andrew Chen 3e03120a73 Merge branch 'master' of https://github.com/mnb20/k-9 into pull111
* 'master' of https://github.com/mnb20/k-9:
  High DPI version of archive button icon
  Fixed whitespace
  Remove TODO
  Replaced archive icon. Still a bit crap, but better than my previous attempt.
  Added batch buttons for Archive and Move. Made batch buttons configurable.
2012-04-06 13:47:55 -07:00
cketti e88fbf43d0 Removed unused ToggleScrollView 2012-04-04 10:04:57 +02:00
cketti 5041a2c832 SingleMessageView cleanup 2012-04-04 10:04:57 +02:00
Bernhard Redl eba886b85d Render html code to make white on DarkTheme (fixes 4196) 2012-04-04 01:46:22 +02:00
cketti 0caac114a6 Added some error checks when processing IMAP FETCH responses 2012-04-03 07:55:52 +02:00
cketti 4612ceb3c8 Enabled dark theme for MessageCompose and MessageView 2012-04-03 07:55:51 +02:00
cketti 5819d27394 Added long-press popup menu to WebView in SingleMessageView
Actions:
- Open link for viewing
- Share link
- Copy link to clipboard
- View image
- Download/save image
- Copy image URL to clipboard
- Call number
- Save phone number to Contacts
- Copy phone number to clipboard
- Send mail
- Save to Contacts
- Copy email address to clipboard

This is based on work done by kernelhunter92 and ShellZero.

Fixed issue 1248
2012-04-01 22:46:36 +02:00
cketti 1596ddfaab Moved sanitizeFilename() to com.fsck.k9.helper.Utility 2012-04-01 21:14:43 +02:00
cketti 1d25d2ff40 Added helper class to use the most recent ClipboardManager 2012-04-01 21:08:31 +02:00
cketti 2331696153 Always use the light theme in MessageCompose
This fixes a display bug in the "Send as" dialog in MessageCompose.
2012-03-29 06:39:31 +02:00
cketti d584492a6d Changed internal representation of the selected theme in the database 2012-03-29 06:33:01 +02:00
cketti 1266c3c73e Don't allow invalid values for header/footer insertion point 2012-03-27 20:41:43 +02:00
cketti 4e21f049d3 Validate "original message" field of identity header when loading drafts 2012-03-26 21:36:26 +02:00
cketti a1caebdcf1 Fixed potential NullPointerException 2012-03-26 19:41:21 +02:00
cketti 661ed08061 Removed unnecessary layout containers 2012-03-24 22:51:33 +01:00
cketti b9e0ec1ab4 Added AccountHolder 2012-03-24 20:43:17 +01:00
Jesse Vincent ea90e24785 move the chips, change the sizes 2012-03-24 19:57:32 +01:00
Jesse Vincent 580f1639c3 UI improvements to the "select identity" button 2012-03-24 19:57:31 +01:00
cketti 365f8e71e0 Fixed array length calculation 2012-03-23 04:20:29 +01:00
cketti 8180fd9ad2 Added a button to switch the identity in MessageCompose
Originally I wanted to use a Spinner, but it doesn't support multiple
view types (see [1]). Those are necessary because we use different
layouts for accounts (section headers) and identities (selectable list
items).
Removed the ChooseAccount activity because it's now unused.
2012-03-22 22:17:10 +01:00
cketti 1d28eb003d Added a setting to disable marking messages as read on viewing 2012-03-19 04:44:41 +01:00
cketti 5245191900 Notify the listener provided as argument to doRefreshRemote()
With this change pressing "Refresh folders" in ChooseFolder actually
refreshes the folder list.
2012-03-18 22:43:47 +01:00
cketti 8c66a2f835 Replaced hardcoded strings with references to string resources 2012-03-18 22:13:27 +01:00
cketti 16afff4dfc Notify the adapter from runOnUiThread() instead of using Handler 2012-03-18 22:09:52 +01:00
cketti 4f2412eacd Changed code formatting. No functional changes 2012-03-18 22:06:44 +01:00
cketti b7c1f8ab2f Prefixed instance variables with "m" to comply with K-9 code style 2012-03-18 21:51:01 +01:00
cketti 09bc07596e Got rid of unnecessary instance variable 2012-03-18 21:48:22 +01:00
cketti 6bdaac4353 Fixed whitespace (tabs vs. spaces) 2012-03-18 21:46:32 +01:00
unusualdiscrepancy 58c01c05b7 Fix for Issue 4164: Force close when moving an email to another folder 2012-03-18 21:45:33 +01:00
cketti 482ae352c1 Reverted most of the recent message header changes
Clicking the additional headers area still allows to hide that view
again.
2012-03-18 04:51:29 +01:00
cketti 69ee6a4818 Avoid NullPointerException in Accounts.onCreateDialog()
Also cleaned up code formatting of onCreateDialog() and
onPrepareDialog().
2012-03-17 21:28:54 +01:00
cketti ef01dc906b Use AlertDialog's ListView on import instead of creating our own
This fixes a display problem when using the dark theme.
2012-03-17 21:28:53 +01:00
Koji Arai 10c37942a6 Added two domains handle docomo emoji 2012-03-17 23:24:12 +09:00
Koji Arai f9fb74241a avoid NPE. address may be null when the parser is failed. 2012-03-17 23:23:27 +09:00
cketti f9a35aeaee Replace CRLF with LF when loading drafts
This is necessary because we save the offset and length of the user-
supplied text in the identity header. These values are then later used
to split the draft in user text and quoted message.
When calculating these values we operate on a string with LF line
endings. Ideally we want to do the reverse operation on the same
string, but when saving the message to the server LF is converted to
CRLF to create RFC-conforming messages.

This is only a hack and will probably be the cause of more trouble in
the future. A better solution would be to make the identity header more
robust or get rid of it entirely.
2012-03-17 04:15:30 +01:00
cketti 3fa8081e88 Fixed MimeUtility.extractTextual() when loading messages from the server 2012-03-17 03:19:09 +01:00
cketti dbf38dae65 Fixed the change of the previous commit 2012-03-17 00:30:40 +01:00
cketti a48adafbbc Don't use null for 'text' and 'html' in ViewableContainer 2012-03-16 22:56:09 +01:00
cketti f181e923ca Don't modify draft messages when storing them in the database 2012-03-15 21:21:00 +01:00
Srinath Warrier 7a9ba4e0ad Create implicit sort remembering setting2(minor indentation error) 2012-03-12 22:55:31 +05:30
cketti aeb0220e56 Fixed MimeUtility.getHeaderParameter() to not crash on unexpected input 2012-03-12 17:45:34 +01:00
Srinath Warrier 3ebd3c1fc2 Create implicit sort remembering setting 2012-03-12 22:04:10 +05:30
ashley willis f9a30d1822 added sort by arrival option. 2012-03-11 17:48:56 -05:00
cketti 0cb4207ef7 IMAP: don't create the destination folder when copying messages 2012-03-09 21:51:48 +01:00
cketti 7163d39091 Change ImapException to always be a permanent error
This way IMAP commands that get anything but an "OK" response are never
tried again (pending actions).
2012-03-09 21:50:26 +01:00
cketti ee34344d30 Upgrade to SDK 15 2012-03-07 21:52:47 +01:00
cketti 4721d92e79 Avoid some instances of autoboxing
This will hopefully allow us to compile with "Android Java IDE".
2012-03-07 21:40:41 +01:00
cketti a089fadd9a Merge branch 'messageheader' 2012-03-06 05:26:11 +01:00
cketti faf9dc6e02 Restored show/more less indicator in the message header 2012-03-06 04:38:08 +01:00
ashley willis 78615f878d added From: addresses on reply all when Reply-To: is set. don't repeat address in To: field if it's already included in replyToAddresses. 2012-03-05 15:17:31 -06:00
Srinath Warrier ff6e1f6c85 Create default sort setting by preference 2012-03-04 16:20:37 +05:30
m0viefreak 8d12244a9c Message header changes
* remove expand/collapse arrows, instead use the background area of the header to toggle
* allow expanding of To: and Cc: texts when too long and cut off by clicking on them
2012-03-02 06:15:55 +01:00
m0viefreak f1baa8f461 invalidate message content WebView when the message header changes
This fixes redraw issues where text appears doubled or is cut off
2012-03-02 05:16:58 +01:00
cketti 5591865f17 Merge branch 'uidplus' 2012-02-29 14:09:41 +01:00
cketti f6ebe4d4e0 Deduplicated code to create SearchAccounts for special accounts 2012-02-29 03:03:20 +01:00
cketti e72afc1641 Set content type of attachment even when no file name was found 2012-02-27 23:20:30 +01:00
cketti ba979808fe Use AttachmentView instance as onClick and onLongClick listener 2012-02-27 21:45:47 +01:00
cketti 206c559236 Don't handle exceptions in AttachmentView.populateFromPart()
We now catch exceptions in SingleMessageView.renderAttachments(). This
way we can avoid adding AttachmentViews that couldn't be properly
populated.
2012-02-27 21:45:47 +01:00
cketti 25dff5ae6a Don't choke on invalid size parameters for attachment parts 2012-02-27 21:45:46 +01:00
cketti 2cb31a2fac Added button to show unnamed and inline attachments 2012-02-27 21:45:46 +01:00
cketti de2c6cdae3 Prevent users from changing special folder assignments for POP3 accounts 2012-02-25 05:05:21 +01:00
cketti 8e7950164b Hide "Expunge" menu item for all folders in a POP3 account
Also hide "Check mail" for all folders except the Inbox (POP3).
2012-02-25 04:28:08 +01:00
cketti 1af5476b96 Hide refile batch actions in the message list for POP3 accounts 2012-02-25 04:19:27 +01:00
cketti 3632978b49 Don't animate the previous/next buttons in message view 2012-02-25 01:08:55 +01:00
cketti 7c97527d73 Allow message header to scroll when displaying the attachment list 2012-02-25 00:43:09 +01:00
cketti c1d663b084 Save/restore instance state for MessageHeader 2012-02-24 04:07:29 +01:00
cketti 4e12dc154e Save/restore instance state for SingleMessageView 2012-02-24 03:43:42 +01:00
cketti 2c09d75afa Switch to "message view" when displayMessageBody() is called 2012-02-23 00:10:47 +01:00
cketti 18c96f94d6 Retain "show pictures" state on orientation change 2012-02-22 23:26:59 +01:00
cketti 4984a6b9e5 Keep current view state after having downloaded the complete message
If the attachment view was visible, keep it that way.
2012-02-22 23:07:48 +01:00
cketti 2b54599c2b Small code cleanup 2012-02-22 22:56:05 +01:00
cketti 0ef9c516be Moved click listener from MessageView to SingleMessageView 2012-02-22 22:44:31 +01:00
cketti 80cb0cce35 Changed the layout to include a color chip again 2012-02-21 23:38:43 +01:00
cketti d44849d239 Restored previous/next animations 2012-02-21 16:54:35 +01:00
cketti ec6645bf6a Avoid creating new objects for handling click events 2012-02-21 16:21:47 +01:00
cketti 9f42ff61d3 Removed settings for scrolling buttons 2012-02-21 15:16:36 +01:00
cketti 309eeb72ac Got rid of the ScrollView in MessageView
The ScrollView around the WebView caused all sorts of problems. This
change removes the ScrollView and uses the undocumented method
WebView.setEmbeddedTitleBar() to set the MessageHeader view as "title
bar" of the WebView. This allows MessageHeader to scroll away making
more room for the WebView.
All of the "magic title bar" code was originally implemented by Jesse
for Kaiten.

Because WebView doesn't support a scrolling footer we can no longer
support scrolling buttons or attachments at the end of the message. Now
users can switch from message view to attachment view via a button just
below the message headers.

I also copied some code for which I was too lazy to create a separate
commit. It allows to display attachments we didn't use to show by
clicking on a "More..." button in the attachment view. Those
attachments are mostly images referenced by the HTML part (e.g.
background images).

Fixes issue 3291
2012-02-21 05:07:01 +01:00
cketti fbc187a3e2 IMAP: Send the Message-ID as quoted string in getUidFromMessageId() 2012-02-19 19:51:06 +01:00
cketti 8e32320f5d Merge branch 'viewables' 2012-02-18 19:29:34 +01:00
cketti 4adfc51339 Use HtmlConverter.convertEmoji2Img() in LocalFolder.updateMessage() 2012-02-18 00:44:24 +01:00
cketti b9803ece19 Fixed divider before text part with filename 2012-02-18 00:05:56 +01:00
cketti 8ce78408c2 Fixed HTML generation in MimeUtility.extractTextAndAttachments() 2012-02-17 19:42:35 +01:00
cketti 5083b8f1e8 Use newly imported AOSP code instead of ImapStore.parseSequenceSet() 2012-02-17 15:01:30 +01:00
cketti deb01bcd16 Imported ImapUtility.java from AOSP Email
Modified it to fit our needs.
2012-02-17 14:59:50 +01:00
cketti c1ed0c78a9 Introduced new pending command to retain upgradability 2012-02-17 01:59:04 +01:00
ashley willis 4db048343f account setup changes:
added gmx.com.
set delete policy to DELETE_POLICY_ON_DELETE for IMAP on automatic setup like manual setup does.
set default names for Archive and Spam on manual config like automatic setup does.
2012-02-16 18:35:25 -06:00
cketti f7299a69d4 Keep track of UIDs when moving messages to the trash folder 2012-02-17 00:43:35 +01:00
cketti c3885bc475 Cleaned up LocalFolder.appendMessages() a bit 2012-02-16 23:52:44 +01:00
cketti 023c60513e Fixed UID mapping return value of LocalStore.moveMessages() 2012-02-16 23:37:44 +01:00
cketti 4ed77c7a29 Avoid NullPointerException 2012-02-16 22:36:57 +01:00
cketti 89e0ed3c03 Notify listeners of UID changes after remote copy/move 2012-02-16 22:34:50 +01:00
cketti 3e4e6c72fd Cleaned up ImapStore.ImapFolder.copyMessages() 2012-02-16 22:12:44 +01:00
cketti 396005974a Cleaned up ImapStore.ImapFolder.appendMessages() 2012-02-16 21:33:53 +01:00
cketti 8e1627e1b9 Merge branch 'master' into uidplus
Conflicts:
	src/com/fsck/k9/controller/MessagingController.java
	src/com/fsck/k9/mail/store/WebDavStore.java
2012-02-16 19:57:24 +01:00
cketti 53ae9d7fe7 Avoid exception when a screen reader is installed but not active. 2012-02-16 14:52:56 +01:00
cketti 3ee0889529 Use the Androiod framework for the file manager error dialog
This will automatically recreate the dialog on configuration changes
(e.g. orientation change).
2012-02-16 14:43:38 +01:00
ashley willis 15ffaf301e changed ANDROID_MARKET_URL to automatically search for OI File Manager. 2012-02-14 22:48:27 -06:00
Ashley Willis 8d5ad172c6 Merge pull request #125 from wilian-cb/issue-3945
3945: Handling error when there's no File Manager application used in import settings
2012-02-14 20:41:42 -08:00
wilian-cb 4c318d1727 3945: Treatment for errors related to not having a file manager application in Android to handle import configurations. 2012-02-14 21:11:15 -02:00
cketti dfd47702bc Fixed rare NullPointerException 2012-02-14 00:27:28 +01:00
cketti cf9631d481 Changed the way we decide what message parts to display 2012-02-13 23:11:59 +01:00
cketti 485a505ca0 More tweaks to the unread widget 2012-02-13 12:25:03 +01:00
cketti 64f4f7e4a3 Use the new AccountList activity when creating launcher shortcuts 2012-02-13 12:25:03 +01:00
cketti 7a252bf002 Changed method to update the unread widget 2012-02-13 12:16:20 +01:00
cketti 98461e5a21 Notify listeners if unread count changed due to a copy/move operation 2012-02-13 12:16:19 +01:00
cketti d4bc664c41 Removed unused method 2012-02-13 12:16:19 +01:00
cketti e87f4cd98a Code cleanup. No functional changes. 2012-02-13 12:16:19 +01:00
cketti 29e1a68288 Added widget to display the unread count for an account 2012-02-13 12:16:18 +01:00
cketti 328701e87e Fixed JavaDoc 2012-02-13 00:57:06 +01:00
cketti 53604be914 Fixed NullPointerException 2012-02-13 00:56:34 +01:00
wilian-cb e766f75da2 Creating and initializing special accounts in Accounts activity to avoid NullPointerException when it's resumed. Constant added to represent the number of special accounts. 2012-02-12 11:57:34 -06:00
wilian-cb 02b07f34a1 Issue 3280: Add launcher shortcuts for special accounts/folders ("Unified Inbox" and "All messages") 2012-02-10 00:24:32 -06:00
cketti 7ef5f9d37e Set flagged and unread count to 0 when emptying the trash folder 2012-02-04 21:06:35 +01:00
cketti 898f65e081 Changed the way we set flags to update the original Message object 2012-02-04 21:06:34 +01:00
Nick Nikolaou 46bf2c5be7 Add discard confirmation dialog when pressing back 2012-02-02 19:33:49 -06:00
cketti 35b5aebdb3 Add debug message when saving an attachment to SD card fails 2012-02-03 01:22:37 +01:00
cketti b1a1de8f7b Restore mark as unread in message view
Fixes issue 3958
Fixes issue 3319
2012-01-27 08:39:10 +01:00
cketti 1165787129 Changed regular expression for invalid characters in a file name 2012-01-27 03:39:08 +01:00
cketti 6c23e204ba Replace invalid characters in file name instead of removing them 2012-01-27 03:21:20 +01:00
cketti 68f5f009f1 Whitespace cleanup 2012-01-27 03:07:44 +01:00
wilian-cb 9a0f650cd9 3674: Displaying the final file name. 2012-01-27 02:44:01 +01:00
wilian-cb 193450cd63 3674: Illegal characters used in file names are being removed when saving them on the device. 2012-01-27 02:44:01 +01:00
cketti e8eae37389 Reset unread/flagged count on "empty trash" 2012-01-27 00:51:18 +01:00
cketti 5a8ddaa039 Make sure draft id points to a valid message before deleting it
Avoids IllegalArgumentException in LocalStore.getMessage()
2012-01-26 00:37:25 +01:00
cketti aae734c175 Don't Log.w() full stacktrace if file wasn't found
This happens regularly when AttachmentView tries to get a thumbnail for
attachments that haven't been downloaded yet.
2012-01-24 22:14:21 +01:00
cketti 4e5d116713 Delete attachment metadata and thumbnails when deleting attachments 2012-01-24 16:15:45 +01:00
cketti c6696f632a Code cleanup, fixed some warnings, rearranged some stuff 2012-01-24 16:15:44 +01:00
cketti 7a3cadbf1c Refactored AttachmentProvider.openFile() 2012-01-24 16:15:44 +01:00
cketti 4bbc5de1ba Code cleanup / fixed lots of warnings 2012-01-22 06:25:06 +01:00
cketti 45faad041e Don't finish() MessageCompose in onPause() 2012-01-22 05:32:52 +01:00
cketti bddacf6b64 Use database ID to keep track of the current draft
By using the database ID we avoid having to deal with the problem of
changing UIDs. First the message has a local UID, then, when the upload
to the server is completed, it gets a remote UID.
2012-01-22 05:20:41 +01:00
cketti 96f827d291 Modified LocalStore to use UPDATE when replacing existing messages
This way we can later use the database ID to keep track of drafts.
2012-01-22 05:20:41 +01:00
cketti be2aac52a8 Reload accounts after writing imported account settings to storage
This makes sure that when the next account is imported it will see the
account just imported. That's necessary e.g. when going though all
accounts to find the next free account number, or when avoiding account
name conflicts.
2012-01-21 03:10:40 +01:00
cketti 0625e13380 Canceling notifications once should be enough 2012-01-20 23:32:55 +01:00
cketti a8f91b0f70 Minor code cleanup 2012-01-20 23:32:12 +01:00
cketti 7eccc1701d Merge branch 'issue3508' 2012-01-20 23:19:22 +01:00
cketti 2c5f640b9e Minor cleanup 2012-01-20 23:15:11 +01:00
wcb 457e65010e Issue 3139: notifications of new messages removed when unified inbox is selected 2012-01-20 11:55:04 -08:00
Nick Nikolaou 773d1e30f1 Simplied code and added curly brackets to if/else 2012-01-20 19:10:11 +00:00
cketti 32a29f131b Make sure an IOException is always passed through as MessagingException
This is important for the code handling pending actions in
MessagingController. If a non-permantent MessagingException is
encountered, the pending action is retried later.

Fixes issue 3696
2012-01-20 19:50:07 +01:00
Nick Nikolaou 1a01c10fc5 Don't save to drafts if drafts folder is -NONE- 2012-01-20 17:02:35 +00:00
cketti 258b0039d5 IMAP: also get the Message-ID when fetching the message "envelope"
This should fix issue 3994
2012-01-14 06:30:22 +01:00
cketti 66b7805a57 Fixed a bug in the IMAP response parser
Also got rid of ImapResponse.more() which isn't necessary anymore.
2012-01-12 07:56:52 +01:00
cketti ad8b025b6f Fixed indentation 2012-01-12 02:20:22 +01:00
cketti 8e627834c1 Changed font size unit from DIP to SP
"Scale-independent Pixels - this is like the dp unit, but it is also
scaled by the user's font size preference. It is recommend you use this
unit when specifying font sizes, so they will be adjusted for both the
screen density and the user's preference." - Android Developer Docs
2012-01-12 02:18:41 +01:00
cketti edf0361aab Added font size setting for text input fields in MessageCompose 2012-01-12 01:05:01 +01:00
cketti e7f29d429c Fixed quoted text for plain text messages 2012-01-10 07:44:50 +01:00
cketti 0d8497b04b Restructured and documented MessageCompose.buildText()
Also fixed a bug where the signature wasn't appended in the HTML part of
newly composed messages.
2012-01-10 01:47:23 +01:00
cketti a191415860 Avoid using TreeMap methods introduced with API 9 2012-01-08 04:04:25 +01:00
Jesse Vincent ec78c1e009 Save settings changes "on pause" rather than "on back" so we actually
save settings when a user hits home or menu or whatever.
2012-01-06 20:27:10 -05:00
Jesse Vincent 3d9f9c4ab4 Don't save account settings until after we save the updated push
settings.
2012-01-06 20:12:40 -05:00
Andrew Chen beda7beac7 Use a constant for 18 hours. 2012-01-05 19:01:00 -08:00
cketti 7e8aede93d Updated settings description with new default values (import/export) 2012-01-06 01:36:32 +01:00
Andrew Chen 06175888b9 Enable system zoom and disable gestures by default. 2012-01-05 16:10:23 -05:00
cketti 926406edd3 Be more careful when deleting an account
Fixes issue 3954
2012-01-05 20:24:18 +01:00
cketti d848b434f5 Fall back to HELO command if the server doesn't know EHLO (SMTP)
Fixes issue 2704
2012-01-05 03:53:23 +01:00
Mark Baker 0e86fb2a80 Fixed whitespace 2012-01-04 19:58:19 +00:00
Andrew Chen 3c5a63adeb Issue 3875: Revert to the old way of determining minimum swipe distance.
Fix my logic bug when determining left to right vs. right to left.
2012-01-03 21:58:36 -08:00
Andrew Chen 11ebc1b262 Issue 3875: Add a bit more debug data for swiping. 2012-01-03 21:19:59 -08:00
Andrew Chen fc5ea05e48 Issue 3875: Add more debugging lines to figure out what might be wrong with the new swipe algorithm.
Fix some variable names.
2012-01-03 21:06:20 -08:00
Andrew Chen 81f0cb510a Remove unused date formatter. 2012-01-03 21:04:27 -08:00
cketti fec6434f08 Removed unused code 2012-01-04 03:57:54 +01:00
cketti 71174417ce Clone Message object to avoid ConcurrentModificationExceptions
Fixes issue 3953
2012-01-04 03:57:53 +01:00
edpeur daeedc2222 Close resources properly 2011-12-31 17:38:41 +00:00
cketti 0aa513429a Show/hide ListView footer depending on message list type
Fixes issue 3946
2011-12-31 02:24:54 +01:00
Mark Baker 09c6cfb6e4 Remove TODO 2011-12-29 09:56:54 +00:00
wongk fb3cd234fa Merge branch 'master' of github.com:k9mail/k-9 2011-12-28 14:04:37 -05:00
wongk b2d5ea3ce2 Fixed the parsing of response data for WebDAV requests. 2011-12-28 14:03:44 -05:00
Mark Baker 7ad5429e98 Merge remote-tracking branch 'upstream/master' 2011-12-26 19:17:05 +00:00
cketti 852dca4124 Removed unused import 2011-12-26 02:30:59 +01:00
András Veres-Szentkirályi 39ef1ae9a4 Removed overrides merely calling super() 2011-12-26 02:28:32 +01:00
András Veres-Szentkirályi cea6f4468d Removed unused private field 2011-12-26 02:28:31 +01:00
András Veres-Szentkirályi 1949067979 Removed unnecessary return statement 2011-12-26 02:28:30 +01:00
András Veres-Szentkirályi de30c712f9 Removed duplicate import 2011-12-26 02:28:30 +01:00
András Veres-Szentkirályi b9ea7db5da Removed unneeded semicolons 2011-12-26 02:28:29 +01:00
Mark Baker af1b9f83f2 Added batch buttons for Archive and Move. Made batch buttons configurable. 2011-12-24 18:17:12 +00:00
cketti 6de081c5b0 Minor cleanup 2011-12-19 02:21:27 +01:00
mwolschon 696666ca5e Issue 1303: can't send mail get "no route to host" error 2011-12-19 02:10:17 +01:00
mwolschon 2bfe1f4533 Issue 17: Hierarchical folder list / folder tree 2011-12-15 10:34:29 +01:00
cketti 61ca1a2ae2 Use internal representation for settings during the upgrade process
This avoids constant conversion between the string representation used
in preference storage and the internal representation.
2011-12-11 06:02:31 +01:00
cketti 345f4c2939 Code cleanup; no functional changes 2011-12-11 05:16:22 +01:00
cketti 18a58e2872 Added code to upgrade settings on import
This allows us to import files with an outdated content version, then
upgrade the settings to the current content version.
2011-12-11 05:16:22 +01:00
cketti d57e684296 Extended *Settings classes to handle multiple versions 2011-12-11 05:16:22 +01:00
cketti 50058a92db Fixed "managed" back button behavior in MessageView 2011-12-05 18:16:43 +01:00
Koji Arai d1778e0303 mIgnoreOnStop should be set to true when call startActivityForResult() 2011-12-04 05:25:57 +09:00
cketti 63605b65b6 Add support for new auto-detect namespace setting to ImapStore 2011-12-01 06:30:47 +01:00
cketti 017033cd53 Changed UI to allow selecting the empty IMAP namespace 2011-12-01 06:05:05 +01:00
cketti 75cdbd860e Only save IMAP path prefix in store URI if auto-detection isn't used 2011-12-01 05:58:44 +01:00
cketti f729dd72dc Code cleanup 2011-12-01 05:17:32 +01:00
cketti 9f41afc6e7 Use Store.createStoreUri() in AccountSetupIncoming 2011-12-01 05:10:13 +01:00