StatusBarTest.java revision 6f6cf3c5e577aa62cfd959fa5ef046531090ce31
19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/*
29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Copyright (C) 2007 The Android Open Source Project
39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License");
59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * you may not use this file except in compliance with the License.
69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * You may obtain a copy of the License at
79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *      http://www.apache.org/licenses/LICENSE-2.0
99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Unless required by applicable law or agreed to in writing, software
119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS,
129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * See the License for the specific language governing permissions and
149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * limitations under the License.
159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */
169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpackage com.android.statusbartest;
189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.app.ListActivity;
209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.app.Notification;
219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.app.NotificationManager;
229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.widget.ArrayAdapter;
239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.view.View;
249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.widget.ListView;
259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.content.Intent;
268896783dc1d31c5274b277c364da0ffe7cc27ccaDaniel Sandlerimport android.app.PendingIntent;
279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.app.Notification;
289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.app.NotificationManager;
299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.app.StatusBarManager;
309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.os.Vibrator;
319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.os.Bundle;
329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.os.Handler;
339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.util.Log;
349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.net.Uri;
359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.os.SystemClock;
369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.widget.RemoteViews;
379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.widget.Toast;
389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.os.PowerManager;
398896783dc1d31c5274b277c364da0ffe7cc27ccaDaniel Sandlerimport android.view.Window;
408896783dc1d31c5274b277c364da0ffe7cc27ccaDaniel Sandlerimport android.view.WindowManager;
419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpublic class StatusBarTest extends TestActivity
439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{
449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    private final static String TAG = "StatusBarTest";
459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    StatusBarManager mStatusBarManager;
469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    NotificationManager mNotificationManager;
479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    Handler mHandler = new Handler();
489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    @Override
509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    protected String tag() {
519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        return TAG;
529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    @Override
559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    protected Test[] tests() {
569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        mStatusBarManager = (StatusBarManager)getSystemService(STATUS_BAR_SERVICE);
579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        return mTests;
609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    private Test[] mTests = new Test[] {
63795f2840b4a70bf188c2f24c8c06f73a492b338cJoe Onorato        new Test("Double Remove") {
64795f2840b4a70bf188c2f24c8c06f73a492b338cJoe Onorato            public void run() {
65795f2840b4a70bf188c2f24c8c06f73a492b338cJoe Onorato                Log.d(TAG, "set 0");
66795f2840b4a70bf188c2f24c8c06f73a492b338cJoe Onorato                mStatusBarManager.setIcon("speakerphone", R.drawable.stat_sys_phone, 0);
67795f2840b4a70bf188c2f24c8c06f73a492b338cJoe Onorato                Log.d(TAG, "remove 1");
68795f2840b4a70bf188c2f24c8c06f73a492b338cJoe Onorato                mStatusBarManager.removeIcon("tty");
69795f2840b4a70bf188c2f24c8c06f73a492b338cJoe Onorato
70795f2840b4a70bf188c2f24c8c06f73a492b338cJoe Onorato                SystemClock.sleep(1000);
71795f2840b4a70bf188c2f24c8c06f73a492b338cJoe Onorato
72795f2840b4a70bf188c2f24c8c06f73a492b338cJoe Onorato                Log.d(TAG, "set 1");
73795f2840b4a70bf188c2f24c8c06f73a492b338cJoe Onorato                mStatusBarManager.setIcon("tty", R.drawable.stat_sys_phone, 0);
74795f2840b4a70bf188c2f24c8c06f73a492b338cJoe Onorato                if (false) {
75795f2840b4a70bf188c2f24c8c06f73a492b338cJoe Onorato                    Log.d(TAG, "set 2");
76795f2840b4a70bf188c2f24c8c06f73a492b338cJoe Onorato                    mStatusBarManager.setIcon("tty", R.drawable.stat_sys_phone, 0);
77795f2840b4a70bf188c2f24c8c06f73a492b338cJoe Onorato                }
78795f2840b4a70bf188c2f24c8c06f73a492b338cJoe Onorato                Log.d(TAG, "remove 2");
79795f2840b4a70bf188c2f24c8c06f73a492b338cJoe Onorato                mStatusBarManager.removeIcon("tty");
80795f2840b4a70bf188c2f24c8c06f73a492b338cJoe Onorato                Log.d(TAG, "set 3");
81795f2840b4a70bf188c2f24c8c06f73a492b338cJoe Onorato                mStatusBarManager.setIcon("speakerphone", R.drawable.stat_sys_phone, 0);
82795f2840b4a70bf188c2f24c8c06f73a492b338cJoe Onorato            }
83795f2840b4a70bf188c2f24c8c06f73a492b338cJoe Onorato        },
849305647eb61bb60a1f42481a0c0d208dc9bbe965Joe Onorato        new Test("Hide (FLAG_FULLSCREEN)") {
858896783dc1d31c5274b277c364da0ffe7cc27ccaDaniel Sandler            public void run() {
868896783dc1d31c5274b277c364da0ffe7cc27ccaDaniel Sandler                Window win = getWindow();
879305647eb61bb60a1f42481a0c0d208dc9bbe965Joe Onorato                win.setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
889305647eb61bb60a1f42481a0c0d208dc9bbe965Joe Onorato                        WindowManager.LayoutParams.FLAG_FULLSCREEN);
899305647eb61bb60a1f42481a0c0d208dc9bbe965Joe Onorato                Log.d(TAG, "flags=" + Integer.toHexString(win.getAttributes().flags));
908896783dc1d31c5274b277c364da0ffe7cc27ccaDaniel Sandler            }
918896783dc1d31c5274b277c364da0ffe7cc27ccaDaniel Sandler        },
929305647eb61bb60a1f42481a0c0d208dc9bbe965Joe Onorato        new Test("Show (~FLAG_FULLSCREEN)") {
938896783dc1d31c5274b277c364da0ffe7cc27ccaDaniel Sandler            public void run() {
948896783dc1d31c5274b277c364da0ffe7cc27ccaDaniel Sandler                Window win = getWindow();
959305647eb61bb60a1f42481a0c0d208dc9bbe965Joe Onorato                win.setFlags(0, WindowManager.LayoutParams.FLAG_FULLSCREEN);
969305647eb61bb60a1f42481a0c0d208dc9bbe965Joe Onorato                Log.d(TAG, "flags=" + Integer.toHexString(win.getAttributes().flags));
978896783dc1d31c5274b277c364da0ffe7cc27ccaDaniel Sandler            }
988896783dc1d31c5274b277c364da0ffe7cc27ccaDaniel Sandler        },
998896783dc1d31c5274b277c364da0ffe7cc27ccaDaniel Sandler        new Test("Immersive: Enter") {
1008896783dc1d31c5274b277c364da0ffe7cc27ccaDaniel Sandler            public void run() {
1018896783dc1d31c5274b277c364da0ffe7cc27ccaDaniel Sandler                setImmersive(true);
1028896783dc1d31c5274b277c364da0ffe7cc27ccaDaniel Sandler            }
1038896783dc1d31c5274b277c364da0ffe7cc27ccaDaniel Sandler        },
1048896783dc1d31c5274b277c364da0ffe7cc27ccaDaniel Sandler        new Test("Immersive: Exit") {
1058896783dc1d31c5274b277c364da0ffe7cc27ccaDaniel Sandler            public void run() {
1068896783dc1d31c5274b277c364da0ffe7cc27ccaDaniel Sandler                setImmersive(false);
1078896783dc1d31c5274b277c364da0ffe7cc27ccaDaniel Sandler            }
1088896783dc1d31c5274b277c364da0ffe7cc27ccaDaniel Sandler        },
1098896783dc1d31c5274b277c364da0ffe7cc27ccaDaniel Sandler        new Test("Priority notification") {
1108896783dc1d31c5274b277c364da0ffe7cc27ccaDaniel Sandler            public void run() {
1118896783dc1d31c5274b277c364da0ffe7cc27ccaDaniel Sandler                Notification not = new Notification(StatusBarTest.this,
112b59b94456b3a8fdfdf524a81274839f657fbb65bDaniel Sandler                                R.drawable.stat_sys_phone,
113b59b94456b3a8fdfdf524a81274839f657fbb65bDaniel Sandler                                "Incoming call from: Imperious Leader",
1148896783dc1d31c5274b277c364da0ffe7cc27ccaDaniel Sandler                                System.currentTimeMillis()-(1000*60*60*24),
115b59b94456b3a8fdfdf524a81274839f657fbb65bDaniel Sandler                                "Imperious Leader",
116b59b94456b3a8fdfdf524a81274839f657fbb65bDaniel Sandler                                "(888) 555-5038",
117b59b94456b3a8fdfdf524a81274839f657fbb65bDaniel Sandler                                null
1188896783dc1d31c5274b277c364da0ffe7cc27ccaDaniel Sandler                                );
1198896783dc1d31c5274b277c364da0ffe7cc27ccaDaniel Sandler                not.flags |= Notification.FLAG_HIGH_PRIORITY;
1208896783dc1d31c5274b277c364da0ffe7cc27ccaDaniel Sandler                Intent fullScreenIntent = new Intent(StatusBarTest.this, TestAlertActivity.class);
1218896783dc1d31c5274b277c364da0ffe7cc27ccaDaniel Sandler                int id = (int)System.currentTimeMillis(); // XXX HAX
1228896783dc1d31c5274b277c364da0ffe7cc27ccaDaniel Sandler                fullScreenIntent.putExtra("id", id);
1238896783dc1d31c5274b277c364da0ffe7cc27ccaDaniel Sandler                not.fullScreenIntent = PendingIntent.getActivity(
1248896783dc1d31c5274b277c364da0ffe7cc27ccaDaniel Sandler                    StatusBarTest.this,
1258896783dc1d31c5274b277c364da0ffe7cc27ccaDaniel Sandler                    0,
1268896783dc1d31c5274b277c364da0ffe7cc27ccaDaniel Sandler                    fullScreenIntent,
1278896783dc1d31c5274b277c364da0ffe7cc27ccaDaniel Sandler                    PendingIntent.FLAG_CANCEL_CURRENT);
12827a8be4b3526f068e911c8edcd4ee6fa6f492c0fDaniel Sandler                // if you tap on it you should get the original alert box
12927a8be4b3526f068e911c8edcd4ee6fa6f492c0fDaniel Sandler                not.contentIntent = not.fullScreenIntent;
1308896783dc1d31c5274b277c364da0ffe7cc27ccaDaniel Sandler                mNotificationManager.notify(id, not);
1318896783dc1d31c5274b277c364da0ffe7cc27ccaDaniel Sandler            }
1328896783dc1d31c5274b277c364da0ffe7cc27ccaDaniel Sandler        },
1339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        new Test("Disable Alerts") {
1349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            public void run() {
1359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                mStatusBarManager.disable(StatusBarManager.DISABLE_NOTIFICATION_ALERTS);
1369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            }
1379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        },
13891e1d0cddaaec5e077ca689744463901f9d5d580Daniel Sandler        new Test("Disable Ticker") {
13991e1d0cddaaec5e077ca689744463901f9d5d580Daniel Sandler            public void run() {
14091e1d0cddaaec5e077ca689744463901f9d5d580Daniel Sandler                mStatusBarManager.disable(StatusBarManager.DISABLE_NOTIFICATION_TICKER);
14191e1d0cddaaec5e077ca689744463901f9d5d580Daniel Sandler            }
14291e1d0cddaaec5e077ca689744463901f9d5d580Daniel Sandler        },
1439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        new Test("Disable Expand in 3 sec.") {
1449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            public void run() {
1459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                mHandler.postDelayed(new Runnable() {
1469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                        public void run() {
1479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                            mStatusBarManager.disable(StatusBarManager.DISABLE_EXPAND);
1489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                        }
1499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                    }, 3000);
1509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            }
1519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        },
1529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        new Test("Disable Notifications in 3 sec.") {
1539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            public void run() {
1549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                mHandler.postDelayed(new Runnable() {
1559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                        public void run() {
1569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                            mStatusBarManager.disable(StatusBarManager.DISABLE_NOTIFICATION_ICONS);
1579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                        }
1589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                    }, 3000);
1599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            }
1609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        },
16191e1d0cddaaec5e077ca689744463901f9d5d580Daniel Sandler        new Test("Disable Expand + Notifications in 3 sec.") {
1629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            public void run() {
1639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                mHandler.postDelayed(new Runnable() {
1649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                        public void run() {
1659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                            mStatusBarManager.disable(StatusBarManager.DISABLE_EXPAND
1669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                                    | StatusBarManager.DISABLE_NOTIFICATION_ICONS);
1679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                        }
1689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                    }, 3000);
1699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            }
1709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        },
171091e1b8a86d34d2d51d2a5f7ae3cd903925fa5bfJoe Onorato        new Test("Disable Navigation") {
172091e1b8a86d34d2d51d2a5f7ae3cd903925fa5bfJoe Onorato            public void run() {
173091e1b8a86d34d2d51d2a5f7ae3cd903925fa5bfJoe Onorato                mStatusBarManager.disable(StatusBarManager.DISABLE_NAVIGATION);
174091e1b8a86d34d2d51d2a5f7ae3cd903925fa5bfJoe Onorato            }
175091e1b8a86d34d2d51d2a5f7ae3cd903925fa5bfJoe Onorato        },
1763e8f5a2c1beb4b918856063880e05125946e4347Daniel Sandler        new Test("Disable Clock") {
1773e8f5a2c1beb4b918856063880e05125946e4347Daniel Sandler            public void run() {
1783e8f5a2c1beb4b918856063880e05125946e4347Daniel Sandler                mStatusBarManager.disable(StatusBarManager.DISABLE_CLOCK);
1793e8f5a2c1beb4b918856063880e05125946e4347Daniel Sandler            }
1803e8f5a2c1beb4b918856063880e05125946e4347Daniel Sandler        },
1816f6cf3c5e577aa62cfd959fa5ef046531090ce31Daniel Sandler        new Test("Disable System Info") {
1826f6cf3c5e577aa62cfd959fa5ef046531090ce31Daniel Sandler            public void run() {
1836f6cf3c5e577aa62cfd959fa5ef046531090ce31Daniel Sandler                mStatusBarManager.disable(StatusBarManager.DISABLE_SYSTEM_INFO);
1846f6cf3c5e577aa62cfd959fa5ef046531090ce31Daniel Sandler            }
1856f6cf3c5e577aa62cfd959fa5ef046531090ce31Daniel Sandler        },
186091e1b8a86d34d2d51d2a5f7ae3cd903925fa5bfJoe Onorato        new Test("Disable everything in 3 sec") {
187091e1b8a86d34d2d51d2a5f7ae3cd903925fa5bfJoe Onorato            public void run() {
188091e1b8a86d34d2d51d2a5f7ae3cd903925fa5bfJoe Onorato                mHandler.postDelayed(new Runnable() {
189091e1b8a86d34d2d51d2a5f7ae3cd903925fa5bfJoe Onorato                        public void run() {
1903e8f5a2c1beb4b918856063880e05125946e4347Daniel Sandler                            mStatusBarManager.disable(~StatusBarManager.DISABLE_NONE);
191091e1b8a86d34d2d51d2a5f7ae3cd903925fa5bfJoe Onorato                        }
192091e1b8a86d34d2d51d2a5f7ae3cd903925fa5bfJoe Onorato                    }, 3000);
193091e1b8a86d34d2d51d2a5f7ae3cd903925fa5bfJoe Onorato            }
194091e1b8a86d34d2d51d2a5f7ae3cd903925fa5bfJoe Onorato        },
19591e1d0cddaaec5e077ca689744463901f9d5d580Daniel Sandler        new Test("Enable everything") {
19691e1d0cddaaec5e077ca689744463901f9d5d580Daniel Sandler            public void run() {
1973e8f5a2c1beb4b918856063880e05125946e4347Daniel Sandler                mStatusBarManager.disable(StatusBarManager.DISABLE_NONE);
19891e1d0cddaaec5e077ca689744463901f9d5d580Daniel Sandler            }
19991e1d0cddaaec5e077ca689744463901f9d5d580Daniel Sandler        },
20091e1d0cddaaec5e077ca689744463901f9d5d580Daniel Sandler        new Test("Enable everything in 3 sec.") {
2019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            public void run() {
2029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                mHandler.postDelayed(new Runnable() {
2039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                        public void run() {
2049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                            mStatusBarManager.disable(0);
2059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                        }
2069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                    }, 3000);
2079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            }
2089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        },
2099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        new Test("Notify in 3 sec.") {
2109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            public void run() {
2119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                mHandler.postDelayed(new Runnable() {
2129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                        public void run() {
2139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                            mNotificationManager.notify(1,
2149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                                    new Notification(StatusBarTest.this,
2159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                                            R.drawable.ic_statusbar_missedcall,
2169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                                            "tick tick tick",
2179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                                            System.currentTimeMillis()-(1000*60*60*24),
2189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                                            "(453) 123-2328",
2199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                                            "", null
2209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                                            ));
2219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                        }
2229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                    }, 3000);
2239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            }
2249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        },
2259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        new Test("Cancel Notification in 3 sec.") {
2269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            public void run() {
2279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                mHandler.postDelayed(new Runnable() {
2289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                        public void run() {
2299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                            mNotificationManager.cancel(1);
2309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                        }
2319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                    }, 3000);
2329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            }
2339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        },
2344762c2d75a55e0854bbff2f996748116d4ab1a37Joe Onorato        new Test("Expand") {
2359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            public void run() {
2364762c2d75a55e0854bbff2f996748116d4ab1a37Joe Onorato                mStatusBarManager.expand();
2379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            }
2389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        },
2399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        new Test("Expand in 3 sec.") {
2409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            public void run() {
2419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                mHandler.postDelayed(new Runnable() {
2429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                        public void run() {
2439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                            mStatusBarManager.expand();
2449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                        }
2459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                    }, 3000);
2469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            }
2479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        },
2489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        new Test("Collapse in 3 sec.") {
2499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            public void run() {
2509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                mHandler.postDelayed(new Runnable() {
2519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                        public void run() {
2529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                            mStatusBarManager.collapse();
2539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                        }
2549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                    }, 3000);
2559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project            }
2569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        },
2570faeb078cf2bf689eaa69e7041013c5152281b4fJoe Onorato        new Test("More icons") {
2580faeb078cf2bf689eaa69e7041013c5152281b4fJoe Onorato            public void run() {
2590faeb078cf2bf689eaa69e7041013c5152281b4fJoe Onorato                for (String slot: new String[] {
2600faeb078cf2bf689eaa69e7041013c5152281b4fJoe Onorato                            "sync_failing",
2610faeb078cf2bf689eaa69e7041013c5152281b4fJoe Onorato                            "gps",
2620faeb078cf2bf689eaa69e7041013c5152281b4fJoe Onorato                            "bluetooth",
2630faeb078cf2bf689eaa69e7041013c5152281b4fJoe Onorato                            "tty",
2640faeb078cf2bf689eaa69e7041013c5152281b4fJoe Onorato                            "speakerphone",
2650faeb078cf2bf689eaa69e7041013c5152281b4fJoe Onorato                            "mute",
2660faeb078cf2bf689eaa69e7041013c5152281b4fJoe Onorato                            "wifi",
2670faeb078cf2bf689eaa69e7041013c5152281b4fJoe Onorato                            "alarm_clock",
2680faeb078cf2bf689eaa69e7041013c5152281b4fJoe Onorato                            "secure",
2690faeb078cf2bf689eaa69e7041013c5152281b4fJoe Onorato                        }) {
2700faeb078cf2bf689eaa69e7041013c5152281b4fJoe Onorato                    mStatusBarManager.setIconVisibility(slot, true);
2710faeb078cf2bf689eaa69e7041013c5152281b4fJoe Onorato                }
2720faeb078cf2bf689eaa69e7041013c5152281b4fJoe Onorato            }
2730faeb078cf2bf689eaa69e7041013c5152281b4fJoe Onorato        },
2749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    };
2759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
276