NotificationTestList.java revision ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fc
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 19ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onoratoimport android.app.Notification; 20ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onoratoimport android.app.NotificationManager; 219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.app.PendingIntent; 22ef367529f9c7a538d74599b37b49ac309d0a8d8cChristian Mehlmauerimport android.content.Context; 234df2423a947bcd3f024cc3d3a1a315a8dc428598The Android Open Source Projectimport android.content.ContentResolver; 249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.content.Intent; 25ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onoratoimport android.graphics.Bitmap; 26ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onoratoimport android.graphics.drawable.BitmapDrawable; 278b85dceadf281705a94d7546556fa5969364a658Christian Mehlmauerimport android.os.Environment; 289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.os.Vibrator; 299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.os.Handler; 309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.util.Log; 319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.net.Uri; 329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.os.SystemClock; 339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.widget.RemoteViews; 349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport android.os.PowerManager; 359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpublic class NotificationTestList extends TestActivity 379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project{ 389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private final static String TAG = "NotificationTestList"; 399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project NotificationManager mNM; 419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Vibrator mVibrator = new Vibrator(); 429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Handler mHandler = new Handler(); 439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 44d2b1f00e1e34cdce0047af7374aa57b1e4b5b040Joe Onorato long mActivityCreateTime = System.currentTimeMillis(); 459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project long mChronometerBase = 0; 469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @Override 489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project protected String tag() { 499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return TAG; 509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @Override 539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project protected Test[] tests() { 549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM = (NotificationManager)getSystemService(NOTIFICATION_SERVICE); 559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return mTests; 579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private Test[] mTests = new Test[] { 60e71d9e421da070705a8f37aaf702282467a9fe7fJoe Onorato new Test("Off and sound") { 61e71d9e421da070705a8f37aaf702282467a9fe7fJoe Onorato public void run() { 62ef367529f9c7a538d74599b37b49ac309d0a8d8cChristian Mehlmauer PowerManager pm = (PowerManager)NotificationTestList.this.getSystemService(Context.POWER_SERVICE); 63e71d9e421da070705a8f37aaf702282467a9fe7fJoe Onorato PowerManager.WakeLock wl = 64e71d9e421da070705a8f37aaf702282467a9fe7fJoe Onorato pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "sound"); 65e71d9e421da070705a8f37aaf702282467a9fe7fJoe Onorato wl.acquire(); 66e71d9e421da070705a8f37aaf702282467a9fe7fJoe Onorato 67e71d9e421da070705a8f37aaf702282467a9fe7fJoe Onorato pm.goToSleep(SystemClock.uptimeMillis()); 68e71d9e421da070705a8f37aaf702282467a9fe7fJoe Onorato 69e71d9e421da070705a8f37aaf702282467a9fe7fJoe Onorato Notification n = new Notification(); 708b85dceadf281705a94d7546556fa5969364a658Christian Mehlmauer n.sound = Uri.parse("file://" + Environment.getExternalStorageDirectory() + 718b85dceadf281705a94d7546556fa5969364a658Christian Mehlmauer "/virtual-void.mp3"); 72e71d9e421da070705a8f37aaf702282467a9fe7fJoe Onorato Log.d(TAG, "n.sound=" + n.sound); 73e71d9e421da070705a8f37aaf702282467a9fe7fJoe Onorato 74e71d9e421da070705a8f37aaf702282467a9fe7fJoe Onorato mNM.notify(1, n); 75e71d9e421da070705a8f37aaf702282467a9fe7fJoe Onorato 76e71d9e421da070705a8f37aaf702282467a9fe7fJoe Onorato Log.d(TAG, "releasing wake lock"); 77e71d9e421da070705a8f37aaf702282467a9fe7fJoe Onorato wl.release(); 78e71d9e421da070705a8f37aaf702282467a9fe7fJoe Onorato Log.d(TAG, "released wake lock"); 79e71d9e421da070705a8f37aaf702282467a9fe7fJoe Onorato } 80e71d9e421da070705a8f37aaf702282467a9fe7fJoe Onorato }, 81e71d9e421da070705a8f37aaf702282467a9fe7fJoe Onorato 82ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato new Test("Cancel #1") { 83ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato public void run() 84ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato { 85ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato mNM.cancel(1); 86ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato } 87ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato }, 88ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato 89ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato new Test("Ticker 1 line") { 90ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato public void run() { 91ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato Notification n = new Notification(R.drawable.icon1, "tick tick tick", 92ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato mActivityCreateTime); 93ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato n.setLatestEventInfo(NotificationTestList.this, "Persistent #1", 94ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato "This is a notification!!!", makeIntent()); 95ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato mNM.notify(1, n); 96ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato } 97ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato }, 98ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato 99ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato new Test("Ticker 1 line & icon") { 100ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato public void run() { 101ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato Notification n = new Notification(R.drawable.icon1, "tick tick tick", 102ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato mActivityCreateTime); 103ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato n.setLatestEventInfo(NotificationTestList.this, "Persistent #1", 104ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato "This is a notification!!!", makeIntent()); 105ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato n.tickerIcons = new Bitmap[1]; 106ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato n.tickerIcons[0] = loadBitmap(R.drawable.icon3); 107ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato mNM.notify(1, n); 108ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato } 109ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato }, 110ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato 111ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato new Test("Ticker 2 lines") { 112ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato public void run() { 113ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato Notification n = new Notification(R.drawable.icon1, "tick tick tick\ntock tock", 114ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato mActivityCreateTime); 115ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato n.setLatestEventInfo(NotificationTestList.this, "Persistent #1", 116ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato "This is a notification!!!", makeIntent()); 117ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato mNM.notify(1, n); 118ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato } 119ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato }, 120ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato 121ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato new Test("Ticker title") { 122ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato public void run() { 123ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato Notification n = new Notification(R.drawable.icon1, null, 124ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato mActivityCreateTime); 125ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato n.setLatestEventInfo(NotificationTestList.this, "Persistent #1", 126ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato "This is a notification!!!", makeIntent()); 127ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato n.tickerTitle = "This is a title"; 128ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato mNM.notify(1, n); 129ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato } 130ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato }, 131ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato 132ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato new Test("Ticker subtitle") { 133ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato public void run() { 134ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato Notification n = new Notification(R.drawable.icon1, null, 135ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato mActivityCreateTime); 136ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato n.setLatestEventInfo(NotificationTestList.this, "Persistent #1", 137ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato "This is a notification!!!", makeIntent()); 138ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato n.tickerSubtitle = "and a subtitle"; 139ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato mNM.notify(1, n); 140ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato } 141ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato }, 142ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato 143ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato new Test("Ticker title & subtitle") { 144ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato public void run() { 145ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato Notification n = new Notification(R.drawable.icon1, null, 146ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato mActivityCreateTime); 147ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato n.setLatestEventInfo(NotificationTestList.this, "Persistent #1", 148ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato "This is a notification!!!", makeIntent()); 149ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato n.tickerTitle = "This is a title it is really really longggggg long long long long"; 150ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato n.tickerSubtitle = "and a subtitle it is really really longggggg long long long long long long long long long long long long long long long long"; 151ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato mNM.notify(1, n); 152ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato } 153ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato }, 154ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato 155ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato new Test("Ticker text, title & subtitle") { 156ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato public void run() { 157ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato Notification n = new Notification(R.drawable.icon1, "not visible", 158ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato mActivityCreateTime); 159ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato n.setLatestEventInfo(NotificationTestList.this, "Persistent #1", 160ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato "This is a notification!!!", makeIntent()); 161ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato n.tickerTitle = "This is a title"; 162ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato n.tickerSubtitle = "and a subtitle"; 163ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato mNM.notify(1, n); 164ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato } 165ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato }, 166ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato 167ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato new Test("Ticker title, subtitle & 2 icons") { 168ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato public void run() { 169ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato Notification n = new Notification(R.drawable.icon1, null, 170ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato mActivityCreateTime); 171ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato n.setLatestEventInfo(NotificationTestList.this, "Persistent #1", 172ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato "This is a notification!!!", makeIntent()); 173ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato n.tickerTitle = "This is a title"; 174ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato n.tickerSubtitle = "and a subtitle"; 175ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato 176ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato n.tickerIcons = new Bitmap[2]; 177ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato n.tickerIcons[0] = loadBitmap(R.drawable.icon3); 178ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato n.tickerIcons[1] = loadBitmap(R.drawable.app_gmail); 179ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato 180ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato mNM.notify(1, n); 181ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato /* 182ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato n.tickerIcons[0].recycle(); 183ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato n.tickerIcons[1].recycle(); 184ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato */ 185ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato } 186ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato }, 187ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato 1889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new Test("No view") { 1899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void run() { 1909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Notification n = new Notification(R.drawable.icon1, "No view", 1919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project System.currentTimeMillis()); 1929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.notify(1, n); 1939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 1949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }, 1959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 1969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new Test("No intent") { 1979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void run() { 1989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Notification n = new Notification(R.drawable.icon1, "No intent", 1999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project System.currentTimeMillis()); 2009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project n.setLatestEventInfo(NotificationTestList.this, "No intent", 2019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project "No intent", null); 2029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.notify(1, n); 2039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }, 2059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new Test("Layout") { 2079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void run() 2089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project { 2099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.notify(1, new Notification(NotificationTestList.this, 2119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project R.drawable.ic_statusbar_missedcall, 2129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project null, System.currentTimeMillis()-(1000*60*60*24), 2139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project "(453) 123-2328", 2149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project "", null)); 2159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.notify(2, new Notification(NotificationTestList.this, 2179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project R.drawable.ic_statusbar_email, 2189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project null, System.currentTimeMillis(), 2199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project "Mark Willem, Me (2)", 2209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project "Re: Didn't you get the memo?", null)); 2219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 2229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.notify(3, new Notification(NotificationTestList.this, 2239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project R.drawable.ic_statusbar_chat, 2249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project null, System.currentTimeMillis()+(1000*60*60*24), 2259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project "Sophia Winterlanden", 2269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project "Lorem ipsum dolor sit amet.", null)); 2279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 2289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }, 2299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 230005847b03b2ebe3eb1a974a8a04ad51bca6636cdJoe Onorato new Test("Bad Icon #1 (when=create)") { 231871bdb9867f6630d8bb28e5607263e8bf4eac3baJoe Onorato public void run() { 232005847b03b2ebe3eb1a974a8a04ad51bca6636cdJoe Onorato Notification n = new Notification(R.layout.chrono_notification /* not an icon */, 233005847b03b2ebe3eb1a974a8a04ad51bca6636cdJoe Onorato null, mActivityCreateTime); 234005847b03b2ebe3eb1a974a8a04ad51bca6636cdJoe Onorato n.setLatestEventInfo(NotificationTestList.this, "Persistent #1", 235005847b03b2ebe3eb1a974a8a04ad51bca6636cdJoe Onorato "This is the same notification!!!", makeIntent()); 236005847b03b2ebe3eb1a974a8a04ad51bca6636cdJoe Onorato mNM.notify(1, n); 237871bdb9867f6630d8bb28e5607263e8bf4eac3baJoe Onorato } 238871bdb9867f6630d8bb28e5607263e8bf4eac3baJoe Onorato }, 239871bdb9867f6630d8bb28e5607263e8bf4eac3baJoe Onorato 240005847b03b2ebe3eb1a974a8a04ad51bca6636cdJoe Onorato new Test("Bad Icon #1 (when=now)") { 241005847b03b2ebe3eb1a974a8a04ad51bca6636cdJoe Onorato public void run() { 242005847b03b2ebe3eb1a974a8a04ad51bca6636cdJoe Onorato Notification n = new Notification(R.layout.chrono_notification /* not an icon */, 243005847b03b2ebe3eb1a974a8a04ad51bca6636cdJoe Onorato null, System.currentTimeMillis()); 244005847b03b2ebe3eb1a974a8a04ad51bca6636cdJoe Onorato n.setLatestEventInfo(NotificationTestList.this, "Persistent #1", 245005847b03b2ebe3eb1a974a8a04ad51bca6636cdJoe Onorato "This is the same notification!!!", makeIntent()); 246005847b03b2ebe3eb1a974a8a04ad51bca6636cdJoe Onorato mNM.notify(1, n); 247005847b03b2ebe3eb1a974a8a04ad51bca6636cdJoe Onorato } 248005847b03b2ebe3eb1a974a8a04ad51bca6636cdJoe Onorato }, 249005847b03b2ebe3eb1a974a8a04ad51bca6636cdJoe Onorato 250005847b03b2ebe3eb1a974a8a04ad51bca6636cdJoe Onorato new Test("Bad resource #1 (when=create)") { 251005847b03b2ebe3eb1a974a8a04ad51bca6636cdJoe Onorato public void run() { 252005847b03b2ebe3eb1a974a8a04ad51bca6636cdJoe Onorato Notification n = new Notification(R.drawable.icon2, 253005847b03b2ebe3eb1a974a8a04ad51bca6636cdJoe Onorato null, mActivityCreateTime); 254005847b03b2ebe3eb1a974a8a04ad51bca6636cdJoe Onorato n.setLatestEventInfo(NotificationTestList.this, "Persistent #1", 255005847b03b2ebe3eb1a974a8a04ad51bca6636cdJoe Onorato "This is the same notification!!!", makeIntent()); 25668065e0a1980ab6abf8963b48b011efa017fe1c2Joe Onorato n.contentView.setInt(1 /*bogus*/, "bogus method", 666); 257005847b03b2ebe3eb1a974a8a04ad51bca6636cdJoe Onorato mNM.notify(1, n); 25868065e0a1980ab6abf8963b48b011efa017fe1c2Joe Onorato } 25968065e0a1980ab6abf8963b48b011efa017fe1c2Joe Onorato }, 26068065e0a1980ab6abf8963b48b011efa017fe1c2Joe Onorato 261005847b03b2ebe3eb1a974a8a04ad51bca6636cdJoe Onorato new Test("Bad resource #1 (when=now)") { 262005847b03b2ebe3eb1a974a8a04ad51bca6636cdJoe Onorato public void run() { 263005847b03b2ebe3eb1a974a8a04ad51bca6636cdJoe Onorato Notification n = new Notification(R.drawable.icon2, 264005847b03b2ebe3eb1a974a8a04ad51bca6636cdJoe Onorato null, System.currentTimeMillis()); 265005847b03b2ebe3eb1a974a8a04ad51bca6636cdJoe Onorato n.setLatestEventInfo(NotificationTestList.this, "Persistent #1", 266005847b03b2ebe3eb1a974a8a04ad51bca6636cdJoe Onorato "This is the same notification!!!", makeIntent()); 267005847b03b2ebe3eb1a974a8a04ad51bca6636cdJoe Onorato n.contentView.setInt(1 /*bogus*/, "bogus method", 666); 268005847b03b2ebe3eb1a974a8a04ad51bca6636cdJoe Onorato mNM.notify(1, n); 269005847b03b2ebe3eb1a974a8a04ad51bca6636cdJoe Onorato } 270005847b03b2ebe3eb1a974a8a04ad51bca6636cdJoe Onorato }, 271005847b03b2ebe3eb1a974a8a04ad51bca6636cdJoe Onorato 272005847b03b2ebe3eb1a974a8a04ad51bca6636cdJoe Onorato 27368065e0a1980ab6abf8963b48b011efa017fe1c2Joe Onorato new Test("Bad resource #3") { 27468065e0a1980ab6abf8963b48b011efa017fe1c2Joe Onorato public void run() 27568065e0a1980ab6abf8963b48b011efa017fe1c2Joe Onorato { 27668065e0a1980ab6abf8963b48b011efa017fe1c2Joe Onorato Notification n = new Notification(NotificationTestList.this, 27768065e0a1980ab6abf8963b48b011efa017fe1c2Joe Onorato R.drawable.ic_statusbar_missedcall, 27868065e0a1980ab6abf8963b48b011efa017fe1c2Joe Onorato null, System.currentTimeMillis()-(1000*60*60*24), 27968065e0a1980ab6abf8963b48b011efa017fe1c2Joe Onorato "(453) 123-2328", 28068065e0a1980ab6abf8963b48b011efa017fe1c2Joe Onorato "", null); 28168065e0a1980ab6abf8963b48b011efa017fe1c2Joe Onorato n.contentView.setInt(1 /*bogus*/, "bogus method", 666); 28268065e0a1980ab6abf8963b48b011efa017fe1c2Joe Onorato mNM.notify(3, n); 28368065e0a1980ab6abf8963b48b011efa017fe1c2Joe Onorato } 28468065e0a1980ab6abf8963b48b011efa017fe1c2Joe Onorato }, 28568065e0a1980ab6abf8963b48b011efa017fe1c2Joe Onorato 286c83bb730ec0333e52990a40edf6d54bb66b1d5baJoe Onorato new Test("Times") { 287c83bb730ec0333e52990a40edf6d54bb66b1d5baJoe Onorato public void run() 288c83bb730ec0333e52990a40edf6d54bb66b1d5baJoe Onorato { 289c83bb730ec0333e52990a40edf6d54bb66b1d5baJoe Onorato long now = System.currentTimeMillis(); 290c83bb730ec0333e52990a40edf6d54bb66b1d5baJoe Onorato 291c83bb730ec0333e52990a40edf6d54bb66b1d5baJoe Onorato timeNotification(7, "24 hours from now", now+(1000*60*60*24)); 292c83bb730ec0333e52990a40edf6d54bb66b1d5baJoe Onorato timeNotification(6, "12:01:00 from now", now+(1000*60*60*12)+(60*1000)); 293c83bb730ec0333e52990a40edf6d54bb66b1d5baJoe Onorato timeNotification(5, "12 hours from now", now+(1000*60*60*12)); 294c83bb730ec0333e52990a40edf6d54bb66b1d5baJoe Onorato timeNotification(4, "now", now); 295c83bb730ec0333e52990a40edf6d54bb66b1d5baJoe Onorato timeNotification(3, "11:59:00 ago", now-((1000*60*60*12)-(60*1000))); 296c83bb730ec0333e52990a40edf6d54bb66b1d5baJoe Onorato timeNotification(2, "12 hours ago", now-(1000*60*60*12)); 297c83bb730ec0333e52990a40edf6d54bb66b1d5baJoe Onorato timeNotification(1, "24 hours ago", now-(1000*60*60*24)); 298c83bb730ec0333e52990a40edf6d54bb66b1d5baJoe Onorato } 299c83bb730ec0333e52990a40edf6d54bb66b1d5baJoe Onorato }, 3009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new StateStress("Stress - Ongoing / Latest", 100, 100, new Runnable[] { 3019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new Runnable() { 3029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void run() { 3039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Log.d(TAG, "Stress - Ongoing/Latest 0"); 3049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Notification n = new Notification(NotificationTestList.this, 3059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project R.drawable.icon3, 3069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project null, System.currentTimeMillis(), "Stress - Ongoing", 3079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project "Notify me!!!", null); 3089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project n.flags |= Notification.FLAG_ONGOING_EVENT; 3099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.notify(1, n); 3109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }, 3129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new Runnable() { 3139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void run() { 3149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Log.d(TAG, "Stress - Ongoing/Latest 1"); 3159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Notification n = new Notification(NotificationTestList.this, 3169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project R.drawable.icon4, 3179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project null, System.currentTimeMillis(), "Stress - Latest", 3189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project "Notify me!!!", null); 319175f79c5a556416817a8f8674b2e0ac3b3cb6e6bJoe Onorato //n.flags |= Notification.FLAG_ONGOING_EVENT; 3209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.notify(1, n); 3219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }), 3249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 3259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new Test("Long") { 3269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void run() 3279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project { 3289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Notification n = new Notification(); 3299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project n.defaults |= Notification.DEFAULT_SOUND ; 3309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project n.vibrate = new long[] { 3319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 300, 400, 300, 400, 300, 400, 300, 400, 300, 400, 300, 400, 3329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 300, 400, 300, 400, 300, 400, 300, 400, 300, 400, 300, 400, 3339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 300, 400, 300, 400, 300, 400, 300, 400, 300, 400, 300, 400 }; 3349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.notify(1, n); 3359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 3369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }, 3379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 338105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project new Test("Blue Lights") { 339105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project public void run() 340105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project { 341105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project Notification n = new Notification(); 342105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project n.flags |= Notification.FLAG_SHOW_LIGHTS; 343105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project n.ledARGB = 0xff0000ff; 344b0fbe297c50df5dcfb81721fd6079dd7125f88e0Mattias Östergren n.ledOnMS = 1; 345b0fbe297c50df5dcfb81721fd6079dd7125f88e0Mattias Östergren n.ledOffMS = 0; 346105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project mNM.notify(1, n); 347105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project } 348105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project }, 349105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project 350105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project new Test("Red Lights") { 351105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project public void run() 352105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project { 353105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project Notification n = new Notification(); 354105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project n.flags |= Notification.FLAG_SHOW_LIGHTS; 355105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project n.ledARGB = 0xffff0000; 356b0fbe297c50df5dcfb81721fd6079dd7125f88e0Mattias Östergren n.ledOnMS = 1; 357b0fbe297c50df5dcfb81721fd6079dd7125f88e0Mattias Östergren n.ledOffMS = 0; 358105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project mNM.notify(1, n); 359105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project } 360105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project }, 361105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project 362105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project new Test("Yellow Lights") { 363105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project public void run() 364105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project { 365105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project Notification n = new Notification(); 366105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project n.flags |= Notification.FLAG_SHOW_LIGHTS; 367105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project n.ledARGB = 0xffffff00; 368b0fbe297c50df5dcfb81721fd6079dd7125f88e0Mattias Östergren n.ledOnMS = 1; 369b0fbe297c50df5dcfb81721fd6079dd7125f88e0Mattias Östergren n.ledOffMS = 0; 370b0fbe297c50df5dcfb81721fd6079dd7125f88e0Mattias Östergren mNM.notify(1, n); 371b0fbe297c50df5dcfb81721fd6079dd7125f88e0Mattias Östergren } 372b0fbe297c50df5dcfb81721fd6079dd7125f88e0Mattias Östergren }, 373b0fbe297c50df5dcfb81721fd6079dd7125f88e0Mattias Östergren 374b0fbe297c50df5dcfb81721fd6079dd7125f88e0Mattias Östergren new Test("Lights off") { 375b0fbe297c50df5dcfb81721fd6079dd7125f88e0Mattias Östergren public void run() 376b0fbe297c50df5dcfb81721fd6079dd7125f88e0Mattias Östergren { 377b0fbe297c50df5dcfb81721fd6079dd7125f88e0Mattias Östergren Notification n = new Notification(); 378b0fbe297c50df5dcfb81721fd6079dd7125f88e0Mattias Östergren n.flags |= Notification.FLAG_SHOW_LIGHTS; 379b0fbe297c50df5dcfb81721fd6079dd7125f88e0Mattias Östergren n.ledARGB = 0x00000000; 380b0fbe297c50df5dcfb81721fd6079dd7125f88e0Mattias Östergren n.ledOnMS = 0; 381b0fbe297c50df5dcfb81721fd6079dd7125f88e0Mattias Östergren n.ledOffMS = 0; 382105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project mNM.notify(1, n); 383105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project } 384105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project }, 385105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project 386105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project new Test("Blue Blinking Slow") { 387105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project public void run() 388105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project { 389105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project Notification n = new Notification(); 390105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project n.flags |= Notification.FLAG_SHOW_LIGHTS; 391b0fbe297c50df5dcfb81721fd6079dd7125f88e0Mattias Östergren n.ledARGB = 0xff0000ff; 392105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project n.ledOnMS = 1300; 393105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project n.ledOffMS = 1300; 394105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project mNM.notify(1, n); 395105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project } 396105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project }, 397105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project 398105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project new Test("Blue Blinking Fast") { 399105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project public void run() 400105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project { 401105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project Notification n = new Notification(); 402105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project n.flags |= Notification.FLAG_SHOW_LIGHTS; 403b0fbe297c50df5dcfb81721fd6079dd7125f88e0Mattias Östergren n.ledARGB = 0xff0000ff; 404105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project n.ledOnMS = 300; 405105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project n.ledOffMS = 300; 406105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project mNM.notify(1, n); 407105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project } 408105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project }, 409105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project 4109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new Test("Default All") { 4119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void run() 4129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project { 4139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Notification n = new Notification(); 4149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project n.defaults |= Notification.DEFAULT_ALL; 4159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.notify(1, n); 4169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }, 4189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new Test("Default All, once") { 4209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void run() 4219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project { 4229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Notification n = new Notification(); 4239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project n.defaults |= Notification.DEFAULT_ALL; 4249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project n.flags |= Notification.FLAG_ONLY_ALERT_ONCE ; 4259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.notify(1, n); 4269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }, 4289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new Test("Content Sound") { 4309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void run() 4319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project { 4329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Notification n = new Notification(); 4339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project n.sound = Uri.parse( 4349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project "content://media/internal/audio/media/7"); 4359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.notify(1, n); 4379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }, 4399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new Test("Resource Sound") { 4419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void run() 4429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project { 4439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Notification n = new Notification(); 4449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project n.sound = Uri.parse( 4454df2423a947bcd3f024cc3d3a1a315a8dc428598The Android Open Source Project ContentResolver.SCHEME_ANDROID_RESOURCE + "://" + 4464df2423a947bcd3f024cc3d3a1a315a8dc428598The Android Open Source Project getPackageName() + "/raw/ringer"); 4479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Log.d(TAG, "n.sound=" + n.sound); 4489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.notify(1, n); 4509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }, 4529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new Test("Sound and Cancel") { 4549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void run() 4559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project { 4569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Notification n = new Notification(); 4579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project n.sound = Uri.parse( 4589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project "content://media/internal/audio/media/7"); 4599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.notify(1, n); 4619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project SystemClock.sleep(200); 4629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.cancel(1); 4639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }, 4659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new Test("Vibrate") { 4679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void run() 4689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project { 4699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Notification n = new Notification(); 4709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project n.vibrate = new long[] { 0, 700, 500, 1000 }; 4719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.notify(1, n); 4739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }, 4759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new Test("Vibrate and cancel") { 4779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void run() 4789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project { 4799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Notification n = new Notification(); 4809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project n.vibrate = new long[] { 0, 700, 500, 1000 }; 4819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.notify(1, n); 4839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project SystemClock.sleep(500); 4849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.cancel(1); 4859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }, 4879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new Test("Vibrate pattern") { 4899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void run() 4909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project { 4919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mVibrator.vibrate(new long[] { 250, 1000, 500, 2000 }, -1); 4929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 4939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }, 4949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 4959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new Test("Vibrate pattern repeating") { 4969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void run() 4979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project { 4989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mVibrator.vibrate(new long[] { 250, 1000, 500 }, 1); 4999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }, 5019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new Test("Vibrate 3s") { 5039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void run() 5049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project { 5059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mVibrator.vibrate(3000); 5069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }, 5089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new Test("Vibrate 100s") { 5109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void run() 5119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project { 5129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mVibrator.vibrate(100000); 5139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }, 5159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new Test("Vibrate off") { 5179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void run() 5189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project { 5199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mVibrator.cancel(); 5209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }, 5229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new Test("Cancel #1") { 5249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void run() { 5259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.cancel(1); 5269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }, 5289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new Test("Cancel #1 in 3 sec") { 5309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void run() { 5319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mHandler.postDelayed(new Runnable() { 5329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void run() { 5339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Log.d(TAG, "Cancelling now..."); 5349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.cancel(1); 5359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }, 3000); 5379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }, 5399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new Test("Cancel #2") { 5419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void run() { 5429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.cancel(2); 5439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }, 5459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new Test("Persistent #1") { 5479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void run() { 5489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Notification n = new Notification(R.drawable.icon1, "tick tick tick", 549d2b1f00e1e34cdce0047af7374aa57b1e4b5b040Joe Onorato mActivityCreateTime); 5509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project n.setLatestEventInfo(NotificationTestList.this, "Persistent #1", 5519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project "This is a notification!!!", makeIntent()); 5529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.notify(1, n); 5539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }, 5559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new Test("Persistent #1 in 3 sec") { 5579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void run() { 5589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mHandler.postDelayed(new Runnable() { 5599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void run() { 5609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Notification n = new Notification(R.drawable.icon1, 5619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project " " 5629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project + "tick tock tick tock\n\nSometimes notifications can " 5639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project + "be really long and wrap to more than one line.\n" 5649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project + "Sometimes." 5659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project + "Ohandwhathappensifwehaveonereallylongstringarewesure" 5669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project + "thatwesegmentitcorrectly?\n", 5679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project System.currentTimeMillis()); 5689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project n.setLatestEventInfo(NotificationTestList.this, 5699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project "Still Persistent #1", 5709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project "This is still a notification!!!", 5719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project makeIntent()); 5729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.notify(1, n); 5739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }, 3000); 5759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }, 5779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 5789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new Test("Persistent #2") { 5799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void run() { 5809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Notification n = new Notification(R.drawable.icon2, "tock tock tock", 5819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project System.currentTimeMillis()); 5829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project n.setLatestEventInfo(NotificationTestList.this, "Persistent #2", 5839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project "Notify me!!!", makeIntent()); 5849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.notify(2, n); 5859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 5869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }, 5879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 58868065e0a1980ab6abf8963b48b011efa017fe1c2Joe Onorato new Test("Persistent #3") { 58968065e0a1980ab6abf8963b48b011efa017fe1c2Joe Onorato public void run() { 590ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato Notification n = new Notification(R.drawable.icon2, "tock tock tock\nmooooo", 59168065e0a1980ab6abf8963b48b011efa017fe1c2Joe Onorato System.currentTimeMillis()); 59268065e0a1980ab6abf8963b48b011efa017fe1c2Joe Onorato n.setLatestEventInfo(NotificationTestList.this, "Persistent #3", 59368065e0a1980ab6abf8963b48b011efa017fe1c2Joe Onorato "Notify me!!!", makeIntent()); 59468065e0a1980ab6abf8963b48b011efa017fe1c2Joe Onorato mNM.notify(3, n); 59568065e0a1980ab6abf8963b48b011efa017fe1c2Joe Onorato } 59668065e0a1980ab6abf8963b48b011efa017fe1c2Joe Onorato }, 59768065e0a1980ab6abf8963b48b011efa017fe1c2Joe Onorato 5989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new Test("Persistent #2 Vibrate") { 5999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void run() { 6009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Notification n = new Notification(R.drawable.icon2, "tock tock tock", 6019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project System.currentTimeMillis()); 6029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project n.setLatestEventInfo(NotificationTestList.this, "Persistent #2", 6039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project "Notify me!!!", makeIntent()); 6049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project n.defaults = Notification.DEFAULT_VIBRATE; 6059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.notify(2, n); 6069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }, 6089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 609d2b1f00e1e34cdce0047af7374aa57b1e4b5b040Joe Onorato new Test("Persistent #1 - different icon") { 610d2b1f00e1e34cdce0047af7374aa57b1e4b5b040Joe Onorato public void run() { 611d2b1f00e1e34cdce0047af7374aa57b1e4b5b040Joe Onorato Notification n = new Notification(R.drawable.icon2, null, 612d2b1f00e1e34cdce0047af7374aa57b1e4b5b040Joe Onorato mActivityCreateTime); 613d2b1f00e1e34cdce0047af7374aa57b1e4b5b040Joe Onorato n.setLatestEventInfo(NotificationTestList.this, "Persistent #1", 614d2b1f00e1e34cdce0047af7374aa57b1e4b5b040Joe Onorato "This is the same notification!!!", makeIntent()); 615d2b1f00e1e34cdce0047af7374aa57b1e4b5b040Joe Onorato mNM.notify(1, n); 616d2b1f00e1e34cdce0047af7374aa57b1e4b5b040Joe Onorato } 617d2b1f00e1e34cdce0047af7374aa57b1e4b5b040Joe Onorato }, 618d2b1f00e1e34cdce0047af7374aa57b1e4b5b040Joe Onorato 6199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new Test("Chronometer Start") { 6209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void run() { 6219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Notification n = new Notification(R.drawable.icon2, "me me me me", 6229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project System.currentTimeMillis()); 6239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project n.contentView = new RemoteViews(getPackageName(), R.layout.chrono_notification); 6249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mChronometerBase = SystemClock.elapsedRealtime(); 6259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project n.contentView.setChronometer(R.id.time, mChronometerBase, "Yay! (%s)", true); 6269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project n.flags |= Notification.FLAG_ONGOING_EVENT; 6279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project n.contentIntent = makeIntent(); 6289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.notify(2, n); 6299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }, 6319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new Test("Chronometer Stop") { 6339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void run() { 6349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mHandler.postDelayed(new Runnable() { 6359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void run() { 6369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Log.d(TAG, "Chronometer Stop"); 6379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Notification n = new Notification(); 6389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project n.icon = R.drawable.icon1; 6399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project n.contentView = new RemoteViews(getPackageName(), 6409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project R.layout.chrono_notification); 6419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project n.contentView.setChronometer(R.id.time, mChronometerBase, null, false); 6429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project n.contentIntent = makeIntent(); 6439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.notify(2, n); 6449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }, 3000); 6469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6479066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }, 6489066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new Test("Sequential Persistent") { 6509066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void run() { 6519066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.notify(1, notificationWithNumbers(1)); 6529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.notify(2, notificationWithNumbers(2)); 6539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6549066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }, 6559066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new Test("Replace Persistent") { 6579066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void run() { 6589066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.notify(1, notificationWithNumbers(1)); 6599066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.notify(1, notificationWithNumbers(1)); 6609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }, 6629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new Test("Run and Cancel (n=1)") { 6649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void run() { 6659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.notify(1, notificationWithNumbers(1)); 6669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.cancel(1); 6679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }, 6699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new Test("Run an Cancel (n=2)") { 6719066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void run() { 6729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.notify(1, notificationWithNumbers(1)); 6739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.notify(2, notificationWithNumbers(2)); 6749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.cancel(2); 6759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }, 6779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project // Repeatedly notify and cancel -- triggers bug #670627 6799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new Test("Bug 670627") { 6809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void run() { 6819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project for (int i = 0; i < 10; i++) { 6829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Log.d(TAG, "Add two notifications"); 6839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.notify(1, notificationWithNumbers(1)); 6849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.notify(2, notificationWithNumbers(2)); 6859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Log.d(TAG, "Cancel two notifications"); 6869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.cancel(1); 6879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.cancel(2); 6889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 6909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }, 6919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 6929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new Test("Ten Notifications") { 6939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void run() { 6949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project for (int i = 0; i < 2; i++) { 6959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Notification n = new Notification(NotificationTestList.this, R.drawable.icon2, 6969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project null, System.currentTimeMillis(), "Persistent #" + i, 6979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project "Notify me!!!" + i, null); 6989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project n.flags |= Notification.FLAG_ONGOING_EVENT; 6999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project n.number = i; 7009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.notify((i+1)*10, n); 7019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 7029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project for (int i = 2; i < 10; i++) { 7039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Notification n = new Notification(NotificationTestList.this, R.drawable.icon2, 7049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project null, System.currentTimeMillis(), "Persistent #" + i, 7059066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project "Notify me!!!" + i, null); 7069066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project n.number = i; 7079066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.notify((i+1)*10, n); 7089066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 7099066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 7109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }, 7119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new Test("Cancel eight notifications") { 7139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void run() { 7149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project for (int i = 1; i < 9; i++) { 7159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.cancel((i+1)*10); 7169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 7179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 7189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }, 7199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new Test("Persistent with numbers 1") { 7219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void run() { 7229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.notify(1, notificationWithNumbers(1)); 7239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 7249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }, 7259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new Test("Persistent with numbers 222") { 7279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void run() { 7289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.notify(1, notificationWithNumbers(22)); 7299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 7309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }, 7319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new Test("Persistent with numbers 333") { 7339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void run() { 7349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.notify(1, notificationWithNumbers(333)); 7359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 7369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }, 7379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project new Test("Persistent with numbers 4444") { 7399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void run() { 7409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNM.notify(1, notificationWithNumbers(4444)); 7419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 7429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }, 7439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 744105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project new Test("Crash") { 745105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project public void run() 746105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project { 747105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project PowerManager.WakeLock wl 748ef367529f9c7a538d74599b37b49ac309d0a8d8cChristian Mehlmauer = ((PowerManager)NotificationTestList.this.getSystemService(Context.POWER_SERVICE)) 749105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project .newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "crasher"); 750105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project wl.acquire(); 751105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project mHandler.postDelayed(new Runnable() { 752105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project public void run() { 753105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project throw new RuntimeException("Die!"); 754105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project } 755105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project }, 10000); 756105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project 757105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project } 758105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project }, 759105925376f8d0f6b318c9938c7b83ef7fef094daThe Android Open Source Project 7609066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }; 7619066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7629066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private Notification notificationWithNumbers(int num) { 7639066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Notification n = new Notification(this, R.drawable.icon2, null, System.currentTimeMillis(), 7649066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project "Persistent #2", "Notify me!!!", null); 7659066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project n.number = num; 7669066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return n; 7679066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 7689066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7699066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private PendingIntent makeIntent() { 7709066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Intent intent = new Intent(Intent.ACTION_MAIN); 7710e26dffd6cfcb09b08a94a857b891fdef7fe2b1eJoe Onorato intent.addCategory(Intent.CATEGORY_HOME); 7729066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return PendingIntent.getActivity(this, 0, intent, 0); 7739066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 7749066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 7759066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project class StateStress extends Test { 7769066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project StateStress(String name, int pause, int iterations, Runnable[] tasks) { 7779066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project super(name); 7789066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mPause = pause; 7799066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mTasks = tasks; 7809066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mIteration = iterations; 7819066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 7829066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Runnable[] mTasks; 7839066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int mNext; 7849066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project int mIteration; 7859066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project long mPause; 7869066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project Runnable mRunnable = new Runnable() { 7879066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void run() { 7889066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mTasks[mNext].run(); 7899066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNext++; 7909066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (mNext >= mTasks.length) { 7919066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNext = 0; 7929066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mIteration--; 7939066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project if (mIteration <= 0) { 7949066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return; 7959066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 7969066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 7979066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mHandler.postDelayed(mRunnable, mPause); 7989066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 7999066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project }; 8009066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public void run() { 8019066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mNext = 0; 8029066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mHandler.postDelayed(mRunnable, mPause); 8039066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 8049066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 805c83bb730ec0333e52990a40edf6d54bb66b1d5baJoe Onorato 806c83bb730ec0333e52990a40edf6d54bb66b1d5baJoe Onorato void timeNotification(int n, String label, long time) { 807c83bb730ec0333e52990a40edf6d54bb66b1d5baJoe Onorato mNM.notify(n, new Notification(NotificationTestList.this, 808c83bb730ec0333e52990a40edf6d54bb66b1d5baJoe Onorato R.drawable.ic_statusbar_missedcall, null, 809c83bb730ec0333e52990a40edf6d54bb66b1d5baJoe Onorato time, label, "" + new java.util.Date(time), null)); 810c83bb730ec0333e52990a40edf6d54bb66b1d5baJoe Onorato 811c83bb730ec0333e52990a40edf6d54bb66b1d5baJoe Onorato } 812ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato 813ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato Bitmap loadBitmap(int resId) { 814ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato BitmapDrawable bd = (BitmapDrawable)getResources().getDrawable(resId); 815ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato return Bitmap.createBitmap(bd.getBitmap()); 816ef1e7763c2dc5b9bac69cc747efe05c81d9fd9fcJoe Onorato } 8179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 8189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 819