Merge "If an icon add remove get coalesced, don't remove some other icon." into gingerbread
This commit is contained in:
@@ -165,8 +165,10 @@ class CommandQueue extends IStatusBar.Stub {
|
||||
break;
|
||||
}
|
||||
case OP_REMOVE_ICON:
|
||||
mList.removeIcon(index);
|
||||
mCallbacks.removeIcon(mList.getSlot(index), index, viewIndex);
|
||||
if (mList.getIcon(index) != null) {
|
||||
mList.removeIcon(index);
|
||||
mCallbacks.removeIcon(mList.getSlot(index), index, viewIndex);
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -82,7 +82,7 @@ import com.android.systemui.statusbar.policy.StatusBarPolicy;
|
||||
|
||||
public class StatusBarService extends Service implements CommandQueue.Callbacks {
|
||||
static final String TAG = "StatusBarService";
|
||||
static final boolean SPEW_ICONS = true;
|
||||
static final boolean SPEW_ICONS = false;
|
||||
static final boolean SPEW = false;
|
||||
|
||||
public static final String ACTION_STATUSBAR_START
|
||||
|
||||
@@ -60,6 +60,27 @@ public class StatusBarTest extends TestActivity
|
||||
}
|
||||
|
||||
private Test[] mTests = new Test[] {
|
||||
new Test("Double Remove") {
|
||||
public void run() {
|
||||
Log.d(TAG, "set 0");
|
||||
mStatusBarManager.setIcon("speakerphone", R.drawable.stat_sys_phone, 0);
|
||||
Log.d(TAG, "remove 1");
|
||||
mStatusBarManager.removeIcon("tty");
|
||||
|
||||
SystemClock.sleep(1000);
|
||||
|
||||
Log.d(TAG, "set 1");
|
||||
mStatusBarManager.setIcon("tty", R.drawable.stat_sys_phone, 0);
|
||||
if (false) {
|
||||
Log.d(TAG, "set 2");
|
||||
mStatusBarManager.setIcon("tty", R.drawable.stat_sys_phone, 0);
|
||||
}
|
||||
Log.d(TAG, "remove 2");
|
||||
mStatusBarManager.removeIcon("tty");
|
||||
Log.d(TAG, "set 3");
|
||||
mStatusBarManager.setIcon("speakerphone", R.drawable.stat_sys_phone, 0);
|
||||
}
|
||||
},
|
||||
new Test("Hide") {
|
||||
public void run() {
|
||||
Window win = getWindow();
|
||||
|
||||
Reference in New Issue
Block a user