diff options
author | Artem Shvadskiy <ashvadskiy@cyngn.com> | 2016-01-08 12:48:25 -0800 |
---|---|---|
committer | Gerrit Code Review <gerrit@cyanogenmod.org> | 2016-01-13 11:06:31 -0800 |
commit | 3c30f3ec6006c429e8751c0d0dfe7631fb161005 (patch) | |
tree | 5c8400c0a874200eb65d8f988c742fb6c205ceaa /src/com/android/launcher3/FolderIcon.java | |
parent | d0cb9ae5d52de004ac0e326d5fbe9feb66c2c98c (diff) | |
download | android_packages_apps_Trebuchet-3c30f3ec6006c429e8751c0d0dfe7631fb161005.tar.gz android_packages_apps_Trebuchet-3c30f3ec6006c429e8751c0d0dfe7631fb161005.tar.bz2 android_packages_apps_Trebuchet-3c30f3ec6006c429e8751c0d0dfe7631fb161005.zip |
Implement placeholder icons for remote folder.
Patch 1: Unfinished temporary commit before rebase.
Patch 2: Rebase.
Patch 3:
1. Add additional RemoteFolderManager hook for drawer adapter setApps().
2. Replace method arguments in drawer adapter from ArrayList to List,
which allows us to use Collections.singletonList(), which is more memory
efficient.
3. Allow folders to batch remove a subset of their entries.
4. Remove unused remote flag in ShortcutInfo.
Patch 4: Fix placeholder animation for folder and folder icon.
Patch 5: Remove unused import.
Patch 6: Move app drawer bg color to overlay.
Change-Id: I5ae3b976e2d04dcfbe5ea2e563ef94dcae48b7d4
issue-id: CYNGNOS-1329
Diffstat (limited to 'src/com/android/launcher3/FolderIcon.java')
-rw-r--r-- | src/com/android/launcher3/FolderIcon.java | 26 |
1 files changed, 18 insertions, 8 deletions
diff --git a/src/com/android/launcher3/FolderIcon.java b/src/com/android/launcher3/FolderIcon.java index c7e0abfb6..a166b1819 100644 --- a/src/com/android/launcher3/FolderIcon.java +++ b/src/com/android/launcher3/FolderIcon.java @@ -30,7 +30,6 @@ import android.graphics.drawable.Drawable; import android.os.Looper; import android.os.Parcelable; import android.util.AttributeSet; -import android.view.Gravity; import android.view.LayoutInflater; import android.view.MotionEvent; import android.view.View; @@ -698,7 +697,7 @@ public class FolderIcon extends FrameLayout implements FolderListener { super.dispatchDraw(canvas); if (mFolder == null) return; - if (mFolder.getItemCount() == 0 && !mAnimating) return; + if (mFolder.getItemCount() == 0 && !mAnimating && !mInfo.isRemote()) return; ArrayList<View> items = mFolder.getItemsInReadingOrder(); Drawable d; @@ -707,13 +706,13 @@ public class FolderIcon extends FrameLayout implements FolderListener { // Update our drawing parameters if necessary if (mAnimating) { computePreviewDrawingParams(mAnimParams.drawable); - } else { + } else if (!items.isEmpty()) { v = (TextView) items.get(0); d = getTopDrawable(v); - computePreviewDrawingParams(d); + if (d != null) computePreviewDrawingParams(d); } - int nItemsInPreview = Math.min(items.size(), NUM_ITEMS_IN_PREVIEW); + int ntemsInPreview = Math.min(items.size(), NUM_ITEMS_IN_PREVIEW); // Hidden folder - don't display Preview View folderLock = findViewById(R.id.folder_lock_image); @@ -734,15 +733,20 @@ public class FolderIcon extends FrameLayout implements FolderListener { if (!mAnimating) { for (int i = 0; i < NUM_ITEMS_IN_PREVIEW; i++) { d = null; - if (i < items.size()) { + if (mInfo.isRemote()) { + d = mLauncher.getRemoteFolderManager().getFolderIconDrawable(items, i); + } else if (i < items.size()) { v = (TextView) items.get(i); if (!mHiddenItems.contains(v.getTag())) { d = getTopDrawable(v); - mParams = computePreviewItemDrawingParams(i, mParams); - mParams.drawable = d; } } + if (d != null) { + mParams = computePreviewItemDrawingParams(i, mParams); + mParams.drawable = d; + } + ImageView appIcon = null; switch(i) { case 0: @@ -847,6 +851,12 @@ public class FolderIcon extends FrameLayout implements FolderListener { requestLayout(); } + @Override + public void onRemoveAll(ArrayList<ShortcutInfo> items) { + invalidate(); + requestLayout(); + } + public void onTitleChanged(CharSequence title) { mFolderName.setText(title.toString()); setContentDescription(String.format(getContext().getString(R.string.folder_name_format), |