diff options
author | Joe Onorato <joeo@google.com> | 2010-11-19 13:56:21 -0800 |
---|---|---|
committer | Joe Onorato <joeo@google.com> | 2010-11-21 16:16:27 -0800 |
commit | 46439cec0eb0da4d0f853f2d8712d0c00c98475b (patch) | |
tree | 66439c8d205d8851f16f3e51bb62327cd9ed6be1 /tests | |
parent | 804043193a46a79a8616fd7696fb781edb80b519 (diff) | |
download | frameworks_base-46439cec0eb0da4d0f853f2d8712d0c00c98475b.zip frameworks_base-46439cec0eb0da4d0f853f2d8712d0c00c98475b.tar.gz frameworks_base-46439cec0eb0da4d0f853f2d8712d0c00c98475b.tar.bz2 |
Update the look of the notifications. Includes adding a new Notification.Builder class.
Change-Id: I7c57b81c45defe77d6f3d22472e9cf8432bbed03
Diffstat (limited to 'tests')
5 files changed, 165 insertions, 89 deletions
diff --git a/tests/StatusBar/AndroidManifest.xml b/tests/StatusBar/AndroidManifest.xml index c1ca618..b1734bb 100644 --- a/tests/StatusBar/AndroidManifest.xml +++ b/tests/StatusBar/AndroidManifest.xml @@ -21,6 +21,13 @@ <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> + <activity android:name="NotificationBuilderTest" android:label="_Notify Builder"> + <intent-filter> + <action android:name="android.intent.action.MAIN" /> + <category android:name="android.intent.category.DEFAULT" /> + <category android:name="android.intent.category.LAUNCHER" /> + </intent-filter> + </activity> <activity android:name="ToastTest" android:label="_Toasts"> <intent-filter> <action android:name="android.intent.action.MAIN" /> @@ -35,6 +42,8 @@ <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> + <activity android:name="ConfirmationActivity" android:theme="@android:style/Theme.Dialog"> + </activity> <activity android:name="TestAlertActivity" android:theme="@android:style/Theme.Dialog"> </activity> </application> diff --git a/tests/StatusBar/res/layout/confirmation_activity.xml b/tests/StatusBar/res/layout/confirmation_activity.xml new file mode 100644 index 0000000..50d1a49 --- /dev/null +++ b/tests/StatusBar/res/layout/confirmation_activity.xml @@ -0,0 +1,28 @@ +<?xml version="1.0" encoding="utf-8"?> +<LinearLayout + xmlns:android="http://schemas.android.com/apk/res/android" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_gravity="center" + android:gravity="center_horizontal" + android:orientation="vertical" + > + + <TextView android:id="@+id/text" + style="?android:attr/textAppearanceLarge" + android:padding="5dip" + android:singleLine="true" + android:ellipsize="end" + android:gravity="center" + android:layout_width="wrap_content" + android:layout_height="wrap_content" /> + + <Button + android:id="@+id/ok" + android:layout_width="wrap_content" + android:layout_height="wrap_content" + android:layout_weight="3" + android:onClick="dismiss" + android:text="Ok" /> + +</LinearLayout> diff --git a/tests/StatusBar/src/com/android/statusbartest/ConfirmationActivity.java b/tests/StatusBar/src/com/android/statusbartest/ConfirmationActivity.java new file mode 100644 index 0000000..5ce8f3f --- /dev/null +++ b/tests/StatusBar/src/com/android/statusbartest/ConfirmationActivity.java @@ -0,0 +1,32 @@ +package com.android.statusbartest; + +import android.app.Activity; +import android.view.View; +import android.widget.TextView; + +public class ConfirmationActivity extends Activity { + public static final String EXTRA_TITLE = "title"; + public static final String EXTRA_TEXT = "text"; + + @Override + public void onResume() { + super.onResume(); + setContentView(R.layout.confirmation_activity); + setTitle(getTextExtra(EXTRA_TITLE, "Title")); + ((TextView)findViewById(R.id.text)).setText(getTextExtra(EXTRA_TEXT, "text")); + findViewById(R.id.ok).setOnClickListener(new View.OnClickListener() { + public void onClick(View v) { + finish(); + } + }); + } + + private String getTextExtra(String extra, String def) { + final String text = getIntent().getStringExtra(extra); + if (text == null) { + return def; + } else { + return text; + } + } +} diff --git a/tests/StatusBar/src/com/android/statusbartest/NotificationBuilderTest.java b/tests/StatusBar/src/com/android/statusbartest/NotificationBuilderTest.java new file mode 100644 index 0000000..b871197 --- /dev/null +++ b/tests/StatusBar/src/com/android/statusbartest/NotificationBuilderTest.java @@ -0,0 +1,96 @@ +/* + * Copyright (C) 2010 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.android.statusbartest; + +import android.app.Notification; +import android.app.NotificationManager; +import android.app.PendingIntent; +import android.content.Context; +import android.content.ContentResolver; +import android.content.Intent; +import android.graphics.Bitmap; +import android.graphics.drawable.BitmapDrawable; +import android.net.Uri; +import android.os.Environment; +import android.os.Vibrator; +import android.os.Handler; +import android.util.Log; +import android.net.Uri; +import android.os.SystemClock; +import android.widget.RemoteViews; +import android.os.PowerManager; + +public class NotificationBuilderTest extends TestActivity +{ + private final static String TAG = "NotificationTestList"; + + NotificationManager mNM; + + @Override + protected String tag() { + return TAG; + } + + @Override + protected Test[] tests() { + mNM = (NotificationManager)getSystemService(NOTIFICATION_SERVICE); + + return mTests; + } + + private Test[] mTests = new Test[] { + new Test("Cancel (1)") { + public void run() { + mNM.cancel(1); + } + }, + + new Test("Basic Content (1)") { + public void run() { + int id = 1; + + Notification.Builder b = new Notification.Builder(NotificationBuilderTest.this); + + b.setWhen(System.currentTimeMillis()); + b.setSmallIcon(R.drawable.ic_statusbar_chat); + b.setContentTitle("Title"); + b.setContentText("text\nline2"); + b.setContentIntent(makeContentIntent(id)); + b.setDeleteIntent(makeDeleteIntent(id)); + + mNM.notify(id, b.getNotification()); + } + }, + }; + + private PendingIntent makeContentIntent(int id) { + Intent intent = new Intent(this, ConfirmationActivity.class); + intent.setData(Uri.fromParts("content", "//status_bar_test/content/" + id, null)); + intent.putExtra(ConfirmationActivity.EXTRA_TITLE, "Content intent"); + intent.putExtra(ConfirmationActivity.EXTRA_TEXT, "id: " + id); + return PendingIntent.getActivity(this, 0, intent, 0); + } + + private PendingIntent makeDeleteIntent(int id) { + Intent intent = new Intent(this, ConfirmationActivity.class); + intent.setData(Uri.fromParts("content", "//status_bar_test/delete/" + id, null)); + intent.putExtra(ConfirmationActivity.EXTRA_TITLE, "Delete intent"); + intent.putExtra(ConfirmationActivity.EXTRA_TEXT, "id: " + id); + return PendingIntent.getActivity(this, 0, intent, 0); + } +} + diff --git a/tests/StatusBar/src/com/android/statusbartest/NotificationTestList.java b/tests/StatusBar/src/com/android/statusbartest/NotificationTestList.java index 2df97dc..0f0637f 100644 --- a/tests/StatusBar/src/com/android/statusbartest/NotificationTestList.java +++ b/tests/StatusBar/src/com/android/statusbartest/NotificationTestList.java @@ -135,95 +135,6 @@ public class NotificationTestList extends TestActivity } }, - new Test("Ticker 1 line & icon") { - public void run() { - Notification n = new Notification(R.drawable.icon1, "tick tick tick", - mActivityCreateTime); - n.setLatestEventInfo(NotificationTestList.this, "Persistent #1", - "This is a notification!!!", makeIntent()); - n.tickerIcons = new Bitmap[1]; - n.tickerIcons[0] = loadBitmap(R.drawable.icon3); - mNM.notify(1, n); - } - }, - - new Test("Ticker 2 lines") { - public void run() { - Notification n = new Notification(R.drawable.icon1, "tick tick tick\ntock tock", - mActivityCreateTime); - n.setLatestEventInfo(NotificationTestList.this, "Persistent #1", - "This is a notification!!!", makeIntent()); - mNM.notify(1, n); - } - }, - - new Test("Ticker title") { - public void run() { - Notification n = new Notification(R.drawable.icon1, null, - mActivityCreateTime); - n.setLatestEventInfo(NotificationTestList.this, "Persistent #1", - "This is a notification!!!", makeIntent()); - n.tickerTitle = "This is a title"; - mNM.notify(1, n); - } - }, - - new Test("Ticker subtitle") { - public void run() { - Notification n = new Notification(R.drawable.icon1, null, - mActivityCreateTime); - n.setLatestEventInfo(NotificationTestList.this, "Persistent #1", - "This is a notification!!!", makeIntent()); - n.tickerSubtitle = "and a subtitle"; - mNM.notify(1, n); - } - }, - - new Test("Ticker title & subtitle") { - public void run() { - Notification n = new Notification(R.drawable.icon1, null, - mActivityCreateTime); - n.setLatestEventInfo(NotificationTestList.this, "Persistent #1", - "This is a notification!!!", makeIntent()); - n.tickerTitle = "This is a title it is really really longggggg long long long long"; - 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"; - mNM.notify(1, n); - } - }, - - new Test("Ticker text, title & subtitle") { - public void run() { - Notification n = new Notification(R.drawable.icon1, "not visible", - mActivityCreateTime); - n.setLatestEventInfo(NotificationTestList.this, "Persistent #1", - "This is a notification!!!", makeIntent()); - n.tickerTitle = "This is a title"; - n.tickerSubtitle = "and a subtitle"; - mNM.notify(1, n); - } - }, - - new Test("Ticker title, subtitle & 2 icons") { - public void run() { - Notification n = new Notification(R.drawable.icon1, null, - mActivityCreateTime); - n.setLatestEventInfo(NotificationTestList.this, "Persistent #1", - "This is a notification!!!", makeIntent()); - n.tickerTitle = "This is a title"; - n.tickerSubtitle = "and a subtitle"; - - n.tickerIcons = new Bitmap[2]; - n.tickerIcons[0] = loadBitmap(R.drawable.icon3); - n.tickerIcons[1] = loadBitmap(R.drawable.app_gmail); - - mNM.notify(1, n); - /* - n.tickerIcons[0].recycle(); - n.tickerIcons[1].recycle(); - */ - } - }, - new Test("No view") { public void run() { Notification n = new Notification(R.drawable.icon1, "No view", |