• Home
  • History
  • Annotate
  • only in /packages/apps/UnifiedEmail/src/com/android/mail/content/
History log of /packages/apps/UnifiedEmail/src/com/android/mail/content/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
944ef3b09d15d28f13cf63e3410850e246b1d54f 17-Jul-2014 Greg Bullock <gregbullock@google.com> Extract AccountLoadCallbacks so that it can be re-used.

Change-Id: I24a50abf78b1a44269914126a86813c3e8b97d4e
bjectCursor.java
a6e715636fa6243e088f1263ea7e191ad317acf8 24-Aug-2013 Scott Kennedy <skennedy@google.com> Make getUri()/setUri() public

Bug: 10429030
Change-Id: I29412c132dc87fb8e9e17f07acf1f750384bc876
bjectCursorLoader.java
d521baf3a51c9fc1306bd55e027ce57d0a1d18aa 22-May-2013 Andy Huang <ath@google.com> not all respond() calls require locking

The UI thread uses respond() to signal user-visibility on each list
item, so we definitely don't want to block the UI thread on those kinds
of respond() calls. Add an options bitfield whose inaugural value is a
bit that hints that the cursor position must be safely moved prior to
respond().

This fixes some big hiccups that result when syncing + scrolling with
the respond CLs yesterday.

Bug: 9032162
Change-Id: I1c927453b9f474c89861a7295de1e318279e3a49
hreadSafeCursorWrapper.java
7f39bbd358f7003a72ae2b480dfe38a84e830e5f 21-May-2013 Andy Huang <ath@google.com> use Cursor.respond() instead of blobs

Using Cursor.getBlob() to pass complex objects from provider to UI
requires us to serialize a perfectly usable Parcelable, then de-
serialize that byte array. Let's cut out the middle man by shoving the
Parcelables into a Bundle from Cursor.respond(). Since Gmail is single-
process, this is nearly free, but even in multi-process situations,
respond() should not be any more expensive than getBlob().

respond() must now be thread-safe in the wrapper, and it should trigger
a position move like getBlob() does. I found that the async task that
marks lists visible was sometimes running when the position is -1, so
start ignoring this. I think this is a red herring, as AbstractCursor
just doesn't like moving to -1.

On Galaxy Nexus, this cuts Conversation construction 30% from 2.11ms to
1.46ms. It also avoids creating 4 large objects per row, which should
make for less object churn and heap fragmentation.

Bug: 8642220
Bug: 9032162
Change-Id: Ic4cea27e8e84d85b160e6cf8fe0d3cc6a836249f
hreadSafeCursorWrapper.java
8908b265acaf04a1c062721388968875d19ad1e4 17-May-2013 Yu Ping Hu <yph@google.com> Don't create an ObjectCursor if underlying cursor is null.

Bug: 9019274
Change-Id: I1d225c855127038ae00ebcfdc8daf425fdce332a
bjectCursorLoader.java
6de11b098c86f45a3c21dd59b548da91cb736892 11-May-2013 Paul Westbrook <pwestbro@google.com> Allow ConversationCursor to be populated in background

Added a "thread safe" cursor wrapper, which can allow a cursor
to be used by multiple threads

The constructor for UnderlyingCursorWrapper will load 100
conversations. If the there are more rows, an AsyncTask will
be started to load the remainder

Bug: 8642220

Change-Id: I665b7a57d3264b6347e5d8bc8588629e320d8382
hreadSafeCursorWrapper.java
c42ad5ea3a49e6045a79d1fde3d858033176e67b 10-May-2013 Paul Westbrook <pwestbro@google.com> Use an ObjectCursorLoader for Messages

Bug: 8763530
Change-Id: I0a70c92dd52eff5d10c067fdb78b371bfd8178ac
bjectCursorLoader.java
e6459424b3e46d768865c908af1caa932f783095 02-Apr-2013 Andy Huang <ath@google.com> fix blank conversation view on tablet when launching from intent

If a 2-pane layout pass finished before the FIRST_FOLDER loader returned
results, the layout pass triggered an early showConversation() operation
before mConversationToShow is set by the FIRST_FOLDER loader.

The later showConversation() in the FIRST_FOLDER onLoadFinished did not
re-run the operation, because it assumed a transition would run that
showConversation had to wait for. The transition does not actually run
because TwoPaneLayout debounces consecutive requests to change the view
mode.

So...
* don't switch modes on FIRST_FOLDER load unnecessarily
* FIRST_FOLDER load was triggering a mode change to LIST, so move that
into loadAccountInbox
* don't have 2-pane ask ViewMode to see if the mode changed, have it
ask TPL instead

Add some helpful optional logging, and a facility to ObjectCursorLoader
to slow down race conditions for debugging purposes.

Bug: 8408885
Change-Id: If4672c0f6c4426f810de33f65694119d678bacfb
bjectCursorLoader.java
738731d641c80b08e710dd4a6a78eb063d282bcc 13-Mar-2013 Scott Kennedy <skennedy@google.com> Remove a method

It was only being called in one location, and the parameter was being
ignored.

Matches Ia853dd8d3898ac3e4c4b2fb3a51d103844b57ca1 in frameworks/base

Change-Id: Id963e1950fb0139ad88ca6c7aa425b3b1c497256
bjectCursorLoader.java
8e746b81712bb616d4811eeebf078654c1a8f4e5 14-Mar-2013 Andy Huang <ath@google.com> Fix settings changes so they propagate to account listeners

CursorLoader.onCanceled was accidentally copied as cancelLoad, which is
quite different. onCanceled is CursorLoader's handling of canceled async
tasks, while cancelLoad is a Loader signal that typically happens when
loading is stopped (e.g. Activity is stopped).

Bug: 8384213
Change-Id: I49bfde800f02d9ebd0d8a108e05686a71565eb8a
bjectCursorLoader.java
60593354f1126b9687d09c3b11a852a3459f7118 13-Mar-2013 Scott Kennedy <skennedy@google.com> Fix a NPE when the up button is pressed

The up button in ComposeActivity was using createViewInboxIntent, but
not passing in the required folderUri parameter, which was being used
later. This change just checks if that parameter is there, and if
not, uses the account's inbox URI.

Bug: 8373309
Change-Id: Ie1bc88d0480c531ab02a4950f404013879784b28
bjectCursorLoader.java
177097fad8fc26b8a215f9f1af6dd5fd2c8eb06c 08-Mar-2013 Vikram Aggarwal <viki@google.com> Loaders that create objects in the background

Create Folder objects in the background. This frees the UI thread
after onLoadFinished is called, since the object has already been
created.

Bug: 8315641 optimize AbstractActivityController's loaders

Change-Id: I1f4b2f679cf99a9193d88cb6b9a5aa77b33d6ea9
ursorCreator.java
bjectCursor.java
bjectCursorLoader.java