diff options
-rw-r--r-- | Android.mk | 1 | ||||
-rw-r--r-- | analytics/Android.mk | 7 | ||||
-rwxr-xr-x | analytics/libGoogleAnalyticsV2.jar | bin | 128178 -> 0 bytes | |||
-rw-r--r-- | src/com/android/mail/browse/ConversationItemView.java | 78 | ||||
-rw-r--r-- | src/com/android/mail/photomanager/LetterTileProvider.java | 2 | ||||
-rw-r--r-- | src/com/android/mail/photomanager/PhotoManager.java | 11 | ||||
-rw-r--r-- | src/com/android/mail/ui/DividedImageCanvas.java | 29 | ||||
-rw-r--r-- | src/com/android/mail/ui/ImageCanvas.java | 5 |
8 files changed, 10 insertions, 123 deletions
diff --git a/Android.mk b/Android.mk index 3c130fc23..a1c9cb67d 100644 --- a/Android.mk +++ b/Android.mk @@ -34,7 +34,6 @@ LOCAL_STATIC_JAVA_LIBRARIES += guava LOCAL_STATIC_JAVA_LIBRARIES += android-common LOCAL_STATIC_JAVA_LIBRARIES += android-support-v4 LOCAL_STATIC_JAVA_LIBRARIES += android-support-v13 -LOCAL_STATIC_JAVA_LIBRARIES += unified-email-analytics LOCAL_SDK_VERSION := current diff --git a/analytics/Android.mk b/analytics/Android.mk deleted file mode 100644 index 9752f9567..000000000 --- a/analytics/Android.mk +++ /dev/null @@ -1,7 +0,0 @@ -LOCAL_PATH:= $(call my-dir) -include $(CLEAR_VARS) - -LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := \ - unified-email-analytics:libGoogleAnalyticsV2.jar - -include $(BUILD_MULTI_PREBUILT) diff --git a/analytics/libGoogleAnalyticsV2.jar b/analytics/libGoogleAnalyticsV2.jar Binary files differdeleted file mode 100755 index 48e1b1dc4..000000000 --- a/analytics/libGoogleAnalyticsV2.jar +++ /dev/null diff --git a/src/com/android/mail/browse/ConversationItemView.java b/src/com/android/mail/browse/ConversationItemView.java index e62a97c90..3800ad34f 100644 --- a/src/com/android/mail/browse/ConversationItemView.java +++ b/src/com/android/mail/browse/ConversationItemView.java @@ -84,12 +84,7 @@ import com.android.mail.utils.LogUtils; import com.android.mail.utils.Utils; import com.google.common.annotations.VisibleForTesting; -// TODO(pwestbro): References to non AOSP code should be moved out of UnifiedEmail -import com.google.analytics.tracking.android.EasyTracker; -import com.google.analytics.tracking.android.Tracker; - import java.util.ArrayList; -import java.util.List; public class ConversationItemView extends View implements SwipeableItemView, ToggleableItem, InvalidateCallback { @@ -105,16 +100,6 @@ public class ConversationItemView extends View implements SwipeableItemView, Tog private static final String PERF_TAG_CALCULATE_COORDINATES = "CCHV.coordinates"; private static final String LOG_TAG = LogTag.getLogTag(); - // Analytics string values - private static final String CONV_ITEM_VIEW_CATEGORY = "ConversationItemView"; - private static final String CONTACT_PHOTO_ACTION = "ContactPhoto"; - private static final String NUM_PHOTOS_LABEL = "num_photos"; - private static final String CUSTOM_DIMEN_ACCOUNT_TYPE_GOOGLE_COM = "account_type_google_com"; - private static final String CUSTOM_DIMEN_ACCOUNT_TYPE_NON_GOOGLE_COM - = "account_type_non_google_com"; - private static final boolean REPORT_ANALYTICS = true; - - // Static bitmaps. private static Bitmap STAR_OFF; private static Bitmap STAR_ON; @@ -148,9 +133,6 @@ public class ConversationItemView extends View implements SwipeableItemView, Tog private static TextPaint sPaint = new TextPaint(); private static TextPaint sFoldersPaint = new TextPaint(); - private static Tracker sConversationItemViewTracker; - - // Backgrounds for different states. private final SparseArray<Drawable> mBackgrounds = new SparseArray<Drawable>(); @@ -167,9 +149,6 @@ public class ConversationItemView extends View implements SwipeableItemView, Tog /** Whether we are on a tablet device or not */ private final boolean mTabletDevice; - /** Whether we have reported analytics for this view */ - private boolean mReportedStats = false; - @VisibleForTesting ConversationItemViewCoordinates mCoordinates; @@ -411,14 +390,8 @@ public class ConversationItemView extends View implements SwipeableItemView, Tog sFoldersLeftPadding = res.getDimensionPixelOffset(R.dimen.folders_left_padding); sContactPhotoManager = ContactPhotoManager.createContactPhotoManager(context); sAttachmentPreviewsManager = ContactPhotoManager.createContactPhotoManager(context); - - if (REPORT_ANALYTICS) { - EasyTracker.getInstance().setContext(context); - sConversationItemViewTracker = EasyTracker.getTracker(); - } } - mSendersTextView = new TextView(mContext); mSendersTextView.setEllipsize(TextUtils.TruncateAt.END); mSendersTextView.setIncludeFontPadding(false); @@ -438,44 +411,6 @@ public class ConversationItemView extends View implements SwipeableItemView, Tog mCoordinates.contactImagesX + mCoordinates.contactImagesWidth, mCoordinates.contactImagesY + mCoordinates.contactImagesHeight); } - - @Override - public void onImagesResolved() { - if (REPORT_ANALYTICS && !mReportedStats) { - final int numTiles = mContactImagesHolder.getDivisionCount(); - final List<String> photoKeys = mContactImagesHolder.getDivisionIds(); - int numPhotos = 0; - for (final String photoKey : photoKeys) { - final Boolean isResolved = - mContactImagesHolder.imageResolved(photoKey); - if (isResolved != null && isResolved) { - numPhotos++; - } - } - - // Number of subtiles - sConversationItemViewTracker.setCustomMetric(1, (long)numTiles); - // Number of resolved photos - sConversationItemViewTracker.setCustomMetric(2, (long)numPhotos); - // Number of letter subtiles - sConversationItemViewTracker.setCustomMetric(3, (long)(numTiles - numPhotos)); - final String accountTypeCustomDimen = mAccount.endsWith("google.com") ? - CUSTOM_DIMEN_ACCOUNT_TYPE_GOOGLE_COM : - CUSTOM_DIMEN_ACCOUNT_TYPE_NON_GOOGLE_COM; - sConversationItemViewTracker.setCustomDimension(3, accountTypeCustomDimen); - // This is a hack. Ideally this would check the folder object to determine if it - // is the primary section - final String isPrimarySection = - TextUtils.equals(mDisplayedFolder.persistentId, "^sq_ig_i_personal") ? - "primary" : "not_primary"; - sConversationItemViewTracker.setCustomDimension(4, isPrimarySection); - - sConversationItemViewTracker.sendEvent(CONV_ITEM_VIEW_CATEGORY, - CONTACT_PHOTO_ACTION, NUM_PHOTOS_LABEL, (long)numTiles); - - mReportedStats = true; - } - } }); mAttachmentPreviewsCanvas = new DividedImageCanvas(context, this); } @@ -518,7 +453,6 @@ public class ConversationItemView extends View implements SwipeableItemView, Tog mStarEnabled = folder != null && !folder.isTrash(); mSwipeEnabled = swipeEnabled; mAdapter = adapter; - mReportedStats = false; if (mHeader.conversation.getAttachmentsCount() == 0) { mAttachmentPreviewMode = ConversationItemViewCoordinates.ATTACHMENT_PREVIEW_NONE; } else { @@ -768,12 +702,11 @@ public class ConversationItemView extends View implements SwipeableItemView, Tog mContactImagesHolder.setDimensions(mCoordinates.contactImagesWidth, mCoordinates.contactImagesHeight); mContactImagesHolder.setDivisionIds(mHeader.displayableSenderEmails); - final int size = mHeader.displayableSenderEmails.size(); - final int numTiles = Math.min(DividedImageCanvas.MAX_DIVISIONS, size); + int size = mHeader.displayableSenderEmails.size(); String emailAddress; - for (int i = 0; i < numTiles; i++) { + for (int i = 0; i < DividedImageCanvas.MAX_DIVISIONS && i < size; i++) { emailAddress = mHeader.displayableSenderEmails.get(i); - final PhotoIdentifier photoIdentifier = new ContactIdentifier( + PhotoIdentifier photoIdentifier = new ContactIdentifier( mHeader.displayableSenderNames.get(i), emailAddress, i); sContactPhotoManager.loadThumbnail(photoIdentifier, mContactImagesHolder); } @@ -1703,9 +1636,4 @@ public class ConversationItemView extends View implements SwipeableItemView, Tog public float getMinAllowScrollDistance() { return sScrollSlop; } - - @Override - public void onImagesResolved() { - // Do nothing - } } diff --git a/src/com/android/mail/photomanager/LetterTileProvider.java b/src/com/android/mail/photomanager/LetterTileProvider.java index 57b8b55d7..cf752c224 100644 --- a/src/com/android/mail/photomanager/LetterTileProvider.java +++ b/src/com/android/mail/photomanager/LetterTileProvider.java @@ -127,7 +127,7 @@ public class LetterTileProvider implements DefaultImageProvider { } else { bitmap = getBitmap(mDims, true /* getDefault */); } - dividedImageView.addDivisionImage(bitmap, address, false); + dividedImageView.addDivisionImage(bitmap, address); } private static boolean isEnglishLetterOrDigit(char c) { diff --git a/src/com/android/mail/photomanager/PhotoManager.java b/src/com/android/mail/photomanager/PhotoManager.java index c23ce04ed..c2650a9a8 100644 --- a/src/com/android/mail/photomanager/PhotoManager.java +++ b/src/com/android/mail/photomanager/PhotoManager.java @@ -39,6 +39,7 @@ import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; +import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; @@ -254,7 +255,7 @@ public abstract class PhotoManager implements ComponentCallbacks2, Callback { request, Thread.currentThread()); - final boolean loaded = loadCachedPhoto(request, false); + boolean loaded = loadCachedPhoto(request, false); if (loaded) { if (DEBUG) LogUtils.v(TAG, "image request, cache hit. request queue size=%s", mPendingRequests.size()); @@ -414,16 +415,12 @@ public abstract class PhotoManager implements ComponentCallbacks2, Callback { private void processLoadedImages() { final List<Long> toRemove = Lists.newArrayList(); for (Long hash : mPendingRequests.keySet()) { - final Request request = mPendingRequests.get(hash); - final boolean loaded = loadCachedPhoto(request, true); + Request request = mPendingRequests.get(hash); + boolean loaded = loadCachedPhoto(request, true); if (loaded) { toRemove.add(hash); } - // We want to call onCachedImageLoaded in all cases here, as when loaded is false, - // loadCachedPhoto will attempt to reload the letter tile. - request.getView().onCachedImageLoaded(); } - for (Long key : toRemove) { mPendingRequests.remove(key); } diff --git a/src/com/android/mail/ui/DividedImageCanvas.java b/src/com/android/mail/ui/DividedImageCanvas.java index b441aba36..2338189ca 100644 --- a/src/com/android/mail/ui/DividedImageCanvas.java +++ b/src/com/android/mail/ui/DividedImageCanvas.java @@ -55,8 +55,6 @@ public class DividedImageCanvas implements ImageCanvas { private final Context mContext; private final InvalidateCallback mCallback; private final ArrayList<Bitmap> mDivisionImages = new ArrayList<Bitmap>(MAX_DIVISIONS); - private final ArrayList<Boolean> mImageStatusList = new ArrayList<Boolean>(MAX_DIVISIONS); - private int mNumCachedImagesLoaded = 0; /** * Ignore any request to draw final output when not yet ready. This prevents partially drawn @@ -112,13 +110,10 @@ public class DividedImageCanvas implements ImageCanvas { } mDivisionMap.clear(); mDivisionImages.clear(); - mImageStatusList.clear(); - mNumCachedImagesLoaded = 0; int i = 0; for (String id : divisionIds) { mDivisionMap.put(id, i); mDivisionImages.add(null); - mImageStatusList.add(null); i++; } } @@ -184,20 +179,18 @@ public class DividedImageCanvas implements ImageCanvas { @Override public void drawImage(Bitmap b, Object id) { - addDivisionImage(b, id, true); + addDivisionImage(b, id); } /** * Add a bitmap to this view in the quadrant matching its id. * @param b Bitmap * @param id Id to look for that was previously set in setDivisionIds. - * @param resolved Indicates whether this image has been resolved */ - public void addDivisionImage(Bitmap b, Object id, boolean resolved) { + public void addDivisionImage(Bitmap b, Object id) { final Integer pos = mDivisionMap.get(id); if (pos != null && pos >= 0 && b != null) { mDivisionImages.set(pos, b); - mImageStatusList.set(pos, resolved); boolean complete = false; final int width = mWidth; final int height = mHeight; @@ -291,14 +284,6 @@ public class DividedImageCanvas implements ImageCanvas { return pos != null && mDivisionImages.get(pos) != null; } - public Boolean imageResolved(Object id) { - final Integer pos = mDivisionMap.get(id); - if (pos == null) { - return null; - } - return mImageStatusList.get(pos); - } - private void setupDividerLines() { if (sDividerLineWidth == -1) { Resources res = getContext().getResources(); @@ -341,7 +326,6 @@ public class DividedImageCanvas implements ImageCanvas { mDivisionMap.clear(); mDivisionImages.clear(); mGeneration++; - mNumCachedImagesLoaded = 0; } @Override @@ -385,10 +369,8 @@ public class DividedImageCanvas implements ImageCanvas { * The class that will provided the canvas to which the DividedImageCanvas * should render its contents must implement this interface. */ - // TODO(pwestbro): rename this interface to match the usage public interface InvalidateCallback { public void invalidate(); - public void onImagesResolved(); } public int getDivisionCount() { @@ -416,11 +398,4 @@ public class DividedImageCanvas implements ImageCanvas { // TODO: remove me soon. return null; } - - @Override - public void onCachedImageLoaded() { - if (++mNumCachedImagesLoaded >= mDivisionMap.size()) { - mCallback.onImagesResolved(); - } - } } diff --git a/src/com/android/mail/ui/ImageCanvas.java b/src/com/android/mail/ui/ImageCanvas.java index 8f7c13075..850df2fe6 100644 --- a/src/com/android/mail/ui/ImageCanvas.java +++ b/src/com/android/mail/ui/ImageCanvas.java @@ -89,9 +89,4 @@ public interface ImageCanvas { * data binding. */ int getGeneration(); - - /** - * Called when an image is loaded on this ImageCanvas - */ - void onCachedImageLoaded(); } |