I found the source of my problem. MatrixCursor is dropping my byte
array for some reason. Now, to find out why. Yay bug hunting...

On Sep 30, 10:46 am, Romain Guy <[email protected]> wrote:
> I checked the history and the contacts live folder used to simply put
> People.DATA in the cursor as the data for ICON_BITMAP. Try that.
>
> On Wed, Sep 30, 2009 at 10:37 AM, nEx.Software
>
>
>
> <[email protected]> wrote:
>
> > I am beginning to wonder whether this is an issue with LiveFolders, or
> > with the ContentProvider not passing the blob properly. I know for a
> > fact that the data getting put into the MatrixCursor is able to be
> > decoded when it goes in, but I don't think it is coming out the other
> > side in the same way that it went in, thus causing the decodeByteArray
> > call to fail and return null.
>
> > On Sep 30, 10:20 am, "nEx.Software" <[email protected]>
> > wrote:
> >> I've done it that way too. Are you saying that I need to include those
> >> columns and explicitly set them to null?
>
> >> On Sep 30, 10:16 am, Romain Guy <[email protected]> wrote:
>
> >> > I'm finally at the office and I just read the live folders code. The
> >> > constraints are:
>
> >> > - If you use ICON_BITMAP, ICON_RESOURCE and ICON_PACKAGE *must* be null
> >> > - The ICON_BITMAP has to be a Bitmap instance
>
> >> > Somehow the generated javadoc in the documentation does not show
> >> > everything. If you look at the source code of LiveFolders.java you
> >> > will see a lot more information about the columns and extras.
>
> >> > On Wed, Sep 30, 2009 at 10:09 AM, Romain Guy <[email protected]> 
> >> > wrote:
> >> > > Oops, my bad I was thinking of something else.
>
> >> > > On Wed, Sep 30, 2009 at 9:51 AM, nEx.Software
> >> > > <[email protected]> wrote:
>
> >> > >> Well, I actually started off with just using the ICON_PACKAGE /
> >> > >> ICON_RESOURCE method and wanted to use Photo instead. I have tried
> >> > >> this without ICON_PACKAGE / ICON_RESOURCE to no avail. How do I
> >> > >> specify the Icon type?
>
> >> > >> On Sep 30, 9:48 am, Romain Guy <[email protected]> wrote:
> >> > >>> Why are you setting a bitmap and a resource for the icon? You are 
> >> > >>> also not
> >> > >>> specifying the icon type.
>
> >> > >>> On Sep 30, 2009 9:44 AM, "nEx.Software" 
> >> > >>> <[email protected]>
> >> > >>> wrote:
>
> >> > >>> I knew I should have included that... This is a bit messy at the
> >> > >>> moment.
>
> >> > >>>    private static final String[] CURSOR_COLUMNS = new String[]
> >> > >>> { BaseColumns._ID, LiveFolders.NAME, LiveFolders.DESCRIPTION,
> >> > >>> LiveFolders.INTENT, LiveFolders.ICON_PACKAGE,
> >> > >>> LiveFolders.ICON_RESOURCE, LiveFolders.ICON_BITMAP };
>
> >> > >>>    public static MatrixCursor loadNewData(ContentProvider cp, Uri
> >> > >>> uri)
> >> > >>>    {
> >> > >>>        MatrixCursor mc = new MatrixCursor(CURSOR_COLUMNS); Cursor
> >> > >>> groupContacts = null;
> >> > >>>        try
> >> > >>>        {
> >> > >>>           groupContacts = cp.getContext().getContentResolver().query
> >> > >>> (Uri.parse("content://contacts/groups/name/" + uri.getLastPathSegment
> >> > >>> () + "/members"), CONTACTS_COLUMN_NAMES, null, null, null);
>
> >> > >>>           while(groupContacts.moveToNext())
> >> > >>>           {
> >> > >>>                   String timesContacted = "Times contacted: " +
> >> > >>> groupContacts.getInt(2);
>
> >> > >>>                   Bitmap Icon = 
> >> > >>> People.loadContactPhoto(cp.getContext(),
> >> > >>> ContentUris.withAppendedId(People.CONTENT_URI, groupContacts.getLong
> >> > >>> (0)), R.drawable.icon, null);
> >> > >>>                   ByteArrayOutputStream baos = new 
> >> > >>> ByteArrayOutputStream();
> >> > >>> Icon.compress(CompressFormat.PNG, 0, baos);
> >> > >>>                   Object[] rowObject = new Object[]
> >> > >>>                   {
> >> > >>>                       groupContacts.getLong(0),
> >> > >>>                       groupContacts.getString(1),
> >> > >>>                       timesContacted,
> >> > >>>                       ContentUris.withAppendedId(People.CONTENT_URI,
> >> > >>> groupContacts.getLong(0)),
> >> > >>>                       cp.getContext().getPackageName(),
> >> > >>>                       R.drawable.icon,
> >> > >>>                       baos.toByteArray()
> >> > >>>                   };
> >> > >>>                   mc.addRow(rowObject);
> >> > >>>           }
>
> >> > >>>          return mc;
> >> > >>>        }
> >> > >>>        finally
> >> > >>>        {
> >> > >>>                if (groupContacts != null && groupContacts.isClosed() 
> >> > >>> !=
> >> > >>> true)
> >> > >>>                {
> >> > >>>                        groupContacts.close();
>
> >> > >>> } } } On Sep 30, 9:35 am, Romain Guy <[email protected]> wrote: > 
> >> > >>> Oh
>
> >> > >>> yeah, ...
>
> >> > >>> > <[email protected]> wrote: > > > The default contacts 
> >> > >>> > live
>
> >> > >>> folders don't pass photos fr...
>
> >> > > --
> >> > > Romain Guy
> >> > > Android framework engineer
> >> > > [email protected]
>
> >> > > Note: please don't send private questions to me, as I don't have time
> >> > > to provide private support.  All such questions should be posted on
> >> > > public forums, where I and others can see and answer them
>
> >> > --
> >> > Romain Guy
> >> > Android framework engineer
> >> > [email protected]
>
> >> > Note: please don't send private questions to me, as I don't have time
> >> > to provide private support.  All such questions should be posted on
> >> > public forums, where I and others can see and answer them
>
> --
> Romain Guy
> Android framework engineer
> [email protected]
>
> Note: please don't send private questions to me, as I don't have time
> to provide private support.  All such questions should be posted on
> public forums, where I and others can see and answer them
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to