History log of /packages/apps/Contacts/src/com/android/contacts/activities/PhotoSelectionActivity.java
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
79a6b5d3a885bc508b4b98c92a946fe12643c444 16-Oct-2012 Chiao Cheng <chiaocheng@google.com> Sharing ContactPhotoManager between dialer and people.

Move ContactPhotoManager and dependent classes to ContactsCommon so it can be
shared by dialer and people.

Bug: 6993891
Change-Id: Ib37af58718850d6d5515bbf3e46aca9fb95f9ee8
/packages/apps/Contacts/src/com/android/contacts/activities/PhotoSelectionActivity.java
851222a96b5d68602fb361ea3527101e893f67e3 21-Jun-2012 Maurice Chu <mochu@google.com> Added thin object layer around contact data

This refactoring abstracts out the need to directly
refer to Contacts database columns throughout the code. Instead,
all of this information is retained in getter/setter methods
within the Contact, RawContact, and DataItem classes and
sub-classes.

ContactLoader.Result class has been pulled to the top level as
the Contact class.

The Entity class has been removed and replaced with a RawContact
class, with getters/setters to raw contact information.
Renamed EntityDelta to RawContactDelta for better understandability
as well as adding getters/setters for specific fields in the
ValuesDelta nested class within EntityDelta. EntityDeltaList
and EntityModifier have been renamed to RawContactDeltaList and
RawContactModifier with the methods using the RawContact class
directly rather than the Entity class.

Data items for a raw contact are represented by a DataItem object
with specialized getters/setters for subclasses of DataItem.
(e.g., EmailDataItem, PhoneDataItem. etc.). DataItem is a wrapper
around ContentValues. This abstracts away the ContactsContract
column fields into getters/setters.

The above refactoring is accompanied with changes throughout the
codebase to use the new Contact, RawContact, and DataItem classes.

Change-Id: I31c1dccd724e9652f9d0af78ca81feb6c5acd71d
/packages/apps/Contacts/src/com/android/contacts/activities/PhotoSelectionActivity.java
e0b2f1e2d01d1ac52ba207dc7ce76971d853298e 12-Jun-2012 Chiao Cheng <chiaocheng@google.com> Global import order fix.

Changed import order to be in accordance with style guide:
http://source.android.com/source/code-style.html#order-import-statements

Static imports will be placed at the top since most existing files used that
convention. It is also a style that can be handled by both eclipse and intellij.

Change-Id: Ia7013c7a2d88e5fefb8f4975d121f7fcd3fcc462
/packages/apps/Contacts/src/com/android/contacts/activities/PhotoSelectionActivity.java
2d4632c2eb7d2dc3bb94bf64c14c471aafa67b0f 10-May-2012 Maurice Chu <mochu@google.com> Fine-tuned enlarging of contact photos

When tapping a contact detail photo on any device, the
detail photo will attempt to expand as large as indicated
while still remaining fully on the screen and leaving some
space underneath to show the popup menu options.

If there is no photo, then there will be no expansion
although writable contacts will show a popup menu.

Bug: 6462711
Change-Id: I8f69a1c18dfa10ff0d02b9dbd3ba78043cc7eb4e
/packages/apps/Contacts/src/com/android/contacts/activities/PhotoSelectionActivity.java
ebc17929007ecf12f25b8e90023766e8a083d11e 05-May-2012 Josh Gargus <jjosh@google.com> Don't stash cropped photos in /sdcard/DCIM.

Every time we choose a new contact photo (either an existing one from
the gallery or a new one from the camera), we write the cropped image
/sdcard/DCIM. As a result, the cropped image (eventually) appears in
the gallery, is uploaded to G+, etc.

The new behavior is to write the cropped photo to a temp directory,
and to clear it when we're done with it.

Revert some of the changes from Ib7037a66; we still need to persist
properties in onSaveInstanceState() in case ContactEditorFragment is
killed while the user interacts with the camera/gallery.

Bug: 6423139
Change-Id: Icf8cb5b4824e3d8757ff483ef128527ac9132e72
/packages/apps/Contacts/src/com/android/contacts/activities/PhotoSelectionActivity.java
272122caf9adb8414451bb37f56db659dace1db5 03-May-2012 Makoto Onuki <omakoto@google.com> Close photo selection activity on config change

This activity doesn't handle orientation changes right. Let's just close it
on any configuration changes. This activity is kinda like a popup, so it
should be okay.

Now this activity handles all config changes by itself, so we can remove a lot
of things, such as onSaveInstanceState and PendingPhotoResult.

Bug 6236774

Change-Id: Ib7037a66d092c8d9a285224ea4cf70e7da8ff1b5
/packages/apps/Contacts/src/com/android/contacts/activities/PhotoSelectionActivity.java
e5d3f897689c8ba0f275c7679c72eacb190ae9b8 11-Apr-2012 Josh Gargus <jjosh@google.com> Fix regression; once again we can apply Gallery photo to contact.

The changes to support hi-res photos in Ic0cabaa5 were not applied to
AttachPhotoActivity. This CL makes the analogous changes, and many other
cleanups besides.

In addition, applying the Gallery photo works even if the AttachPhotoActivity
is killed (eg: when selecting a contact, or when cropping the photo); this
didn't work even before the regression.

The save-contact Intent which invokes the ContactSaveService no longer
needs to specify a callback Activity (it is OK to pass null if you don't
care about getting a callback).

The subclasses of PhotoSelectionHandler have been significantly simplified,
partly by pushing common behavior to the superclass, and also by directly
accessing state in their outer class instead making their own copies.

ContactLoader.Result.getEntityDeltaList() is a new instance method that
replaces more verbose incantations.

New utility class, ContactPhotoUtils. Helps with compressing Bitmaps, and
generating temp-file names used when saving hi-res photos to a contact.

Bug: 6298601
Change-Id: I2fe90c33c9fa81716f263d82ed80c0d6f63c6a7e
/packages/apps/Contacts/src/com/android/contacts/activities/PhotoSelectionActivity.java
2f77c85543e6c497e63cd0e216b70e58c1d13ec3 31-Mar-2012 Daniel Lehmann <lehmannd@google.com> Various refactorings to prepare proper big picture loading

- Added a function to load a picture with ideal sampleSize
- Renamed xmls/java files for tiles
- ContactTileView is now abstract and has subclasses for each use-case
- Added mechanism to estimate the image-size in a tile before layout
- Changed the cross-fade in ContactPhotoManager to apply the fade to the
current picture instead of the default avatar. Reduces flickering

Bug:6202229

Change-Id: Ic8636d1b3349473163fb2424b5f74476fd435fb5
/packages/apps/Contacts/src/com/android/contacts/activities/PhotoSelectionActivity.java
6f5557e3dc3cd12182026bdfea17b15d4d9b7dfc 21-Mar-2012 Josh Gargus <jjosh@google.com> Improve frame-rate of quick-contact opening animation.

Fix consists of putting the quick-contact into a hardware layer for
the duration of the animation.

Rename AnimationUtils to SchedulingUtils to avoid conflict with
framework class of the same name.

Bug: 6000249
Change-Id: Ie627ddb947582b7860f5bd0de30484c1d1d4f428
/packages/apps/Contacts/src/com/android/contacts/activities/PhotoSelectionActivity.java
51f9c0f2f2923d14cced5096b40f017dd87b68d3 20-Mar-2012 Josh Gargus <jjosh@google.com> Fix jank when expanding photo in ContactDetailActivity.

The bug is caused as follows. Tapping the photo invokes a
PhotoSelectionActivity. When it initially sets the photo, a relayout
request is made, which causes a jank if the animation is already
underway.

Instead, we now wait for the layout before starting the animation.

Add new utility class with static doAfterLayout() method, since this
code was duplicated in a couple of places.

Bug: 6000382
Change-Id: Ic32a3db1f8c0be99fe0c160debede71f882c73e7
/packages/apps/Contacts/src/com/android/contacts/activities/PhotoSelectionActivity.java
e692e010ca02200087997280e7c239ebf94aa8f9 18-Jan-2012 Josh Gargus <jjosh@google.com> Support for high-resolution contact photos.

Rather than getting a bitmap directly from the gallery app, with
this change we create a temporary file and request that the photo
be stored there. This avoids running into bundle size limits when
passing large, uncompressed bitmaps back from the gallery.

After reading the photo out into the Contacts app, we use the
openAssetFile API to stream the large photo data into the
Contacts Provider. Note that we do this rather than having Gallery
write directly to the provider because we have no guarantee that
the Gallery (or substitute) app has WRITE_CONTACTS permission.

In the Contact Editor, the image is not permanently stored until
the contact is saved. This avoids needing special logic to handle
the case where the contact is newly-created.

Fix bug 5907233 en passant... the vestiges of some partially-
expunged code were causing the ContentEditorFragment to not
apply a selected photo.

Bug: 5786849
Bug: 5907233
Change-Id: Ic0cabaa50c08d6a9a0b730698c92f4092192438a
/packages/apps/Contacts/src/com/android/contacts/activities/PhotoSelectionActivity.java
ced983d7a816256d93fdea1f81e63e4598c18875 10-Jan-2012 Josh Gargus <jjosh@google.com> Better wording when choosing photo from PhotoSelectionActivity.

When there is already a photo for a contact, "Take photo" and
"Select photo from Gallery" don't sound as good as "Take new photo"
and "Select new photo from Gallery".

Bug: 5738108

Change-Id: I43e13774079695b0ecebc5d67576e2ea831706a0
/packages/apps/Contacts/src/com/android/contacts/activities/PhotoSelectionActivity.java
14d2083c4c4c52b0d8b600a93c294af32cd6a826 03-Dec-2011 Dave Santoro <dsantoro@google.com> Fix issues with photo selection on Prime.

1. Per Marco's request, we no longer expand the photo in landscape
on phone.
2. Passing the full bitmap through the intent appears to be a no-no,
which was exposed in the "black-screen" behavior when clicking on
a default avatar photo on Prime. To handle that, we now retrieve
the photo from the default avatar resource if no URI is specified,
and we retrieve the bitmap for real photos through the photo
manager cache. To ensure performance, I've added a method to the
cache to force caching a given bitmap/byte[] for a photo URI.

Bug 5703659
Bug 5703700

Change-Id: I316f27c7ded575dd1bb00c0bb2e2c75917df1e19
/packages/apps/Contacts/src/com/android/contacts/activities/PhotoSelectionActivity.java
6fa7384a1a5576ace18159de61af91c8b7c34dc6 28-Sep-2011 Dave Santoro <dsantoro@google.com> Allow adding/replacing a photo from contact card.

This involves a large refactoring of the photo handling code that
previously lived in ContactEditorFragment. The bulk of that logic
has been extracted out into PhotoSelectionHandler and
PhotoSelectionActivity classes.

As part of this change, also removed the selection highlighting when
tapping on the current tab header in multi-tab views.

Bug 5294297
Bug 5379389

Change-Id: Ic929e4b4a730d91f768a34367bb76967228ded17
/packages/apps/Contacts/src/com/android/contacts/activities/PhotoSelectionActivity.java