diff options
author | Tom Taylor <tomtaylor@google.com> | 2011-02-25 14:52:52 -0800 |
---|---|---|
committer | Tom Taylor <tomtaylor@google.com> | 2011-02-25 14:52:52 -0800 |
commit | db6fea8cc6f41f737b74378cf805a39204a1ed09 (patch) | |
tree | 18fe6a6014919c14c97b38c28204ff3c089a06db | |
parent | 58a104a69871bd7e93afd768ceca5df1eac32ff9 (diff) | |
download | android_packages_apps_BasicSmsReceiver-db6fea8cc6f41f737b74378cf805a39204a1ed09.tar.gz android_packages_apps_BasicSmsReceiver-db6fea8cc6f41f737b74378cf805a39204a1ed09.tar.bz2 android_packages_apps_BasicSmsReceiver-db6fea8cc6f41f737b74378cf805a39204a1ed09.zip |
Handle newIntent cases
When a message is already being displayed, handle the case where
a user taps the notification of another message.
Change-Id: Ia5297999b3f691dabf92558b98cd6ec23b8fed4d
-rwxr-xr-x | src/com/android/basicsmsreceiver/DialogSmsDisplay.java | 58 | ||||
-rwxr-xr-x | src/com/android/basicsmsreceiver/SmsMessageReceiver.java | 4 |
2 files changed, 32 insertions, 30 deletions
diff --git a/src/com/android/basicsmsreceiver/DialogSmsDisplay.java b/src/com/android/basicsmsreceiver/DialogSmsDisplay.java index a6bb19b..0c9c65e 100755 --- a/src/com/android/basicsmsreceiver/DialogSmsDisplay.java +++ b/src/com/android/basicsmsreceiver/DialogSmsDisplay.java @@ -16,8 +16,6 @@ package com.android.basicsmsreceiver; -import java.util.Locale; - import android.app.Activity; import android.app.AlertDialog; import android.app.Dialog; @@ -27,9 +25,6 @@ import android.content.DialogInterface; import android.content.Intent; import android.os.Bundle; import android.util.Log; -import android.view.KeyEvent; -import android.view.View; -import android.view.Window; public class DialogSmsDisplay extends Activity { private static final String LOG_TAG = "SmsReceivedDialog"; @@ -50,7 +45,11 @@ public class DialogSmsDisplay extends Activity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - Bundle extras = getIntent().getExtras(); + parseIntent(getIntent()); + } + + private void parseIntent(Intent intent) { + Bundle extras = intent.getExtras(); mFromAddress = extras.getString(SMS_FROM_ADDRESS_EXTRA); mMessage = extras.getString(SMS_MESSAGE_EXTRA); int notificationId = extras.getInt(SMS_NOTIFICATION_ID_EXTRA); @@ -66,28 +65,35 @@ public class DialogSmsDisplay extends Activity { } @Override + protected void onNewIntent(Intent intent) { + removeDialog(DIALOG_SHOW_MESSAGE); + + parseIntent(intent); + } + + @Override protected Dialog onCreateDialog(int id) { switch (id) { - case DIALOG_SHOW_MESSAGE: - return new AlertDialog.Builder(this) - .setTitle(String.format(getString(R.string.sms_message_from_format), - mFromAddress)) - .setMessage(mMessage) - .setCancelable(true) - .setOnCancelListener(new AlertDialog.OnCancelListener() { - public void onCancel(DialogInterface dialog) { - dialog.dismiss(); - finish(); - } - }) - .setNeutralButton(R.string.sms_done_button, - new DialogInterface.OnClickListener() { - public void onClick(DialogInterface dialog, int whichButton) { - dialog.dismiss(); - finish(); - } - }) - .create(); + case DIALOG_SHOW_MESSAGE: + return new AlertDialog.Builder(this) + .setTitle(String.format(getString(R.string.sms_message_from_format), + mFromAddress)) + .setMessage(mMessage) + .setCancelable(true) + .setOnCancelListener(new AlertDialog.OnCancelListener() { + public void onCancel(DialogInterface dialog) { + dialog.dismiss(); + finish(); + } + }) + .setNeutralButton(R.string.sms_done_button, + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int whichButton) { + dialog.dismiss(); + finish(); + } + }) + .create(); } return null; } diff --git a/src/com/android/basicsmsreceiver/SmsMessageReceiver.java b/src/com/android/basicsmsreceiver/SmsMessageReceiver.java index b3c86c7..bab74e8 100755 --- a/src/com/android/basicsmsreceiver/SmsMessageReceiver.java +++ b/src/com/android/basicsmsreceiver/SmsMessageReceiver.java @@ -22,13 +22,9 @@ import android.app.PendingIntent; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; -import android.database.Cursor; -import android.net.Uri; import android.os.Bundle; -import android.provider.ContactsContract; import android.telephony.SmsMessage; import android.util.Log; -import android.widget.RemoteViews; public class SmsMessageReceiver extends BroadcastReceiver { /** Tag string for our debug logs */ |