From c57b7a8233d32c6dd8de5057c570afe3f50e3ef2 Mon Sep 17 00:00:00 2001 From: Michael Jurka Date: Tue, 9 Aug 2011 22:02:20 -0700 Subject: Adding a progress bar while All Apps is loading - also, removing some unused imports Change-Id: Icf46beb9fa9d89bc06cba33c148ceb7d668cd402 --- res/layout/apps_customize_progressbar.xml | 24 +++++++++++++++++++ .../android/launcher2/AppsCustomizeTabHost.java | 5 ++++ src/com/android/launcher2/BubbleTextView.java | 1 - src/com/android/launcher2/DragController.java | 1 - src/com/android/launcher2/FolderIcon.java | 1 - src/com/android/launcher2/Launcher.java | 28 ++++++++++++++++++---- src/com/android/launcher2/LauncherModel.java | 4 ++++ src/com/android/launcher2/Utilities.java | 6 ----- 8 files changed, 57 insertions(+), 13 deletions(-) create mode 100644 res/layout/apps_customize_progressbar.xml diff --git a/res/layout/apps_customize_progressbar.xml b/res/layout/apps_customize_progressbar.xml new file mode 100644 index 000000000..d790f214d --- /dev/null +++ b/res/layout/apps_customize_progressbar.xml @@ -0,0 +1,24 @@ + + + diff --git a/src/com/android/launcher2/AppsCustomizeTabHost.java b/src/com/android/launcher2/AppsCustomizeTabHost.java index 8f067faa5..dcf44413f 100644 --- a/src/com/android/launcher2/AppsCustomizeTabHost.java +++ b/src/com/android/launcher2/AppsCustomizeTabHost.java @@ -133,6 +133,11 @@ public class AppsCustomizeTabHost extends TabHost implements LauncherTransitiona // it off here) mTabs.getLayoutParams().width = contentWidth; mTabsContainer.setAlpha(1f); + post(new Runnable() { + public void run() { + mTabs.requestLayout(); + } + }); } } super.onMeasure(widthMeasureSpec, heightMeasureSpec); diff --git a/src/com/android/launcher2/BubbleTextView.java b/src/com/android/launcher2/BubbleTextView.java index 08f337e0d..45f58a4fd 100644 --- a/src/com/android/launcher2/BubbleTextView.java +++ b/src/com/android/launcher2/BubbleTextView.java @@ -29,7 +29,6 @@ import android.graphics.Region; import android.graphics.Region.Op; import android.graphics.drawable.Drawable; import android.util.AttributeSet; -import android.view.KeyEvent; import android.view.MotionEvent; import android.view.View; import android.widget.TextView; diff --git a/src/com/android/launcher2/DragController.java b/src/com/android/launcher2/DragController.java index 647a425e6..afbf80d17 100644 --- a/src/com/android/launcher2/DragController.java +++ b/src/com/android/launcher2/DragController.java @@ -31,7 +31,6 @@ import android.view.ViewConfiguration; import android.view.inputmethod.InputMethodManager; import com.android.launcher.R; -import com.android.launcher2.DropTarget.DragObject; import java.util.ArrayList; diff --git a/src/com/android/launcher2/FolderIcon.java b/src/com/android/launcher2/FolderIcon.java index b6b027a50..6cd784794 100644 --- a/src/com/android/launcher2/FolderIcon.java +++ b/src/com/android/launcher2/FolderIcon.java @@ -24,7 +24,6 @@ import android.content.Context; import android.content.res.Resources; import android.graphics.Canvas; import android.graphics.Color; -import android.graphics.Paint; import android.graphics.PorterDuff; import android.graphics.Rect; import android.graphics.drawable.Drawable; diff --git a/src/com/android/launcher2/Launcher.java b/src/com/android/launcher2/Launcher.java index f8e3e1c29..b1f56d064 100644 --- a/src/com/android/launcher2/Launcher.java +++ b/src/com/android/launcher2/Launcher.java @@ -291,6 +291,11 @@ public final class Launcher extends Activity mModel.startLoader(this, true); } + if (!mModel.isAllAppsLoaded()) { + ViewGroup appsCustomizeContentParent = (ViewGroup) mAppsCustomizeContent.getParent(); + mInflater.inflate(R.layout.apps_customize_progressbar, appsCustomizeContentParent); + } + // For handling default keys mDefaultKeySsb = new SpannableStringBuilder(); Selection.setSelection(mDefaultKeySsb, 0); @@ -2771,10 +2776,25 @@ public final class Launcher extends Activity * * Implementation of the method from LauncherModel.Callbacks. */ - public void bindAllApplications(ArrayList apps) { - if (mAppsCustomizeContent != null) { - mAppsCustomizeContent.setApps(apps); - } + public void bindAllApplications(final ArrayList apps) { + // Remove the progress bar entirely; we could also make it GONE + // but better to remove it since we know it's not going to be used + View progressBar = mAppsCustomizeTabHost. + findViewById(R.id.apps_customize_progress_bar); + if (progressBar != null) { + ((ViewGroup)progressBar.getParent()).removeView(progressBar); + } + // We just post the call to setApps so the user sees the progress bar + // disappear-- otherwise, it just looks like the progress bar froze + // which doesn't look great + mAppsCustomizeTabHost.post(new Runnable() { + public void run() { + if (mAppsCustomizeContent != null) { + mAppsCustomizeContent.setApps(apps); + } + } + }); + updateIconsAffectedByPackageManagerChanges(); updateGlobalSearchIcon(); } diff --git a/src/com/android/launcher2/LauncherModel.java b/src/com/android/launcher2/LauncherModel.java index 206de1480..c46e1758f 100644 --- a/src/com/android/launcher2/LauncherModel.java +++ b/src/com/android/launcher2/LauncherModel.java @@ -644,6 +644,10 @@ public class LauncherModel extends BroadcastReceiver { } } + public boolean isAllAppsLoaded() { + return mAllAppsLoaded; + } + /** * Runnable for the thread that loads the contents of the launcher: * - workspace icons diff --git a/src/com/android/launcher2/Utilities.java b/src/com/android/launcher2/Utilities.java index 1175fadb9..f7f97c590 100644 --- a/src/com/android/launcher2/Utilities.java +++ b/src/com/android/launcher2/Utilities.java @@ -29,17 +29,11 @@ import android.graphics.Paint; import android.graphics.PaintFlagsDrawFilter; import android.graphics.PorterDuff; import android.graphics.Rect; -import android.graphics.RectF; import android.graphics.TableMaskFilter; -import android.graphics.Typeface; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.graphics.drawable.PaintDrawable; -import android.text.StaticLayout; -import android.text.TextPaint; -import android.text.Layout.Alignment; import android.util.DisplayMetrics; -import android.util.Log; import com.android.launcher.R; -- cgit v1.2.3