summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTom Taylor <tomtaylor@google.com>2011-02-25 14:52:52 -0800
committerTom Taylor <tomtaylor@google.com>2011-02-25 14:52:52 -0800
commitdb6fea8cc6f41f737b74378cf805a39204a1ed09 (patch)
tree18fe6a6014919c14c97b38c28204ff3c089a06db
parent58a104a69871bd7e93afd768ceca5df1eac32ff9 (diff)
downloadandroid_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-xsrc/com/android/basicsmsreceiver/DialogSmsDisplay.java58
-rwxr-xr-xsrc/com/android/basicsmsreceiver/SmsMessageReceiver.java4
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 */