From b77f53b21c2185ae3ff7c219c384a6db73f8f4e4 Mon Sep 17 00:00:00 2001 From: Joe Onorato Date: Fri, 28 May 2010 19:59:51 -0400 Subject: [PATCH] Get the IconMerger working again. Change-Id: I73719f4fd475a39d4c1245de45c6a13c31e6323b --- .../systemui/statusbar/IconMerger.java | 38 ++++++++++++++----- .../statusbar/PhoneStatusBarService.java | 17 ++++++--- .../systemui/statusbar/StatusBarIconView.java | 4 ++ 3 files changed, 43 insertions(+), 16 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/IconMerger.java b/packages/SystemUI/src/com/android/systemui/statusbar/IconMerger.java index 26f5f51d37649..027bed4acdfe0 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/IconMerger.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/IconMerger.java @@ -19,22 +19,37 @@ package com.android.systemui.statusbar; import android.content.Context; import android.os.Handler; import android.util.AttributeSet; +import android.util.Slog; import android.view.View; import android.widget.LinearLayout; +import com.android.systemui.R; + + public class IconMerger extends LinearLayout { - PhoneStatusBarService service; + private static final String TAG = "IconMerger"; + + private StatusBarIconView mMoreView; public IconMerger(Context context, AttributeSet attrs) { super(context, attrs); } + public void addMoreView(StatusBarIconView v, LinearLayout.LayoutParams lp) { + super.addView(v, lp); + mMoreView = v; + } + + public void addView(StatusBarIconView v, int index, LinearLayout.LayoutParams lp) { + if (index == 0) { + throw new RuntimeException("Attempt to put view before the more view: " + v); + } + super.addView(v, index, lp); + } + @Override protected void onLayout(boolean changed, int l, int t, int r, int b) { super.onLayout(changed, l, t, r, b); - if (true) { - return; - } final int maxWidth = r - l; final int N = getChildCount(); @@ -51,13 +66,12 @@ public class IconMerger extends LinearLayout { } // find the first visible one that isn't the more icon - View moreView = null; + final StatusBarIconView moreView = mMoreView; int fitLeft = -1; int startIndex = -1; for (i=0; i