summaryrefslogtreecommitdiffstats
path: root/Android/06-Notifications/Notifications/src/course/labs
diff options
context:
space:
mode:
authorJérémy Zurcher <jeremy@asynk.ch>2014-03-03 23:33:25 +0100
committerJérémy Zurcher <jeremy@asynk.ch>2016-11-10 17:40:55 +0100
commit1e33c4940ea43093a80077fbb7249b013e35a1f1 (patch)
treec908396564aeca07472c016c9f91faac127c9e71 /Android/06-Notifications/Notifications/src/course/labs
parente55eeb311c01775c123eea7bd2f6e9c82fa067b4 (diff)
downloadcoursera-1e33c4940ea43093a80077fbb7249b013e35a1f1.zip
coursera-1e33c4940ea43093a80077fbb7249b013e35a1f1.tar.gz
Android : 06-Notifications: implement
Diffstat (limited to 'Android/06-Notifications/Notifications/src/course/labs')
-rw-r--r--Android/06-Notifications/Notifications/src/course/labs/notificationslab/DownloaderTask.java28
-rw-r--r--Android/06-Notifications/Notifications/src/course/labs/notificationslab/MainActivity.java26
2 files changed, 20 insertions, 34 deletions
diff --git a/Android/06-Notifications/Notifications/src/course/labs/notificationslab/DownloaderTask.java b/Android/06-Notifications/Notifications/src/course/labs/notificationslab/DownloaderTask.java
index b792b38..655d93a 100644
--- a/Android/06-Notifications/Notifications/src/course/labs/notificationslab/DownloaderTask.java
+++ b/Android/06-Notifications/Notifications/src/course/labs/notificationslab/DownloaderTask.java
@@ -147,15 +147,9 @@ public class DownloaderTask extends AsyncTask<String, Void, String[]> {
log("Entered result receiver's onReceive() method");
- // TODO: Check whether the result code is RESULT_OK
+ if (getResultCode() == Activity.RESULT_OK) {
- if (/*change this*/ true) {
-
- // TODO: If so, create a PendingIntent using the
- // restartMainActivityIntent and set its flags
- // to FLAG_UPDATE_CURRENT
-
- final PendingIntent pendingIntent = null;
+ final PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
// Uses R.layout.custom_notification for the
// layout of the notification View. The xml
@@ -164,19 +158,13 @@ public class DownloaderTask extends AsyncTask<String, Void, String[]> {
mApplicationContext.getPackageName(),
R.layout.custom_notification);
- // TODO: Set the notification View's text to
- // reflect whether or the download completed
- // successfully
-
- // TODO: Use the Notification.Builder class to
- // create the Notification. You will have to set
- // several pieces of information. You can use
- // android.R.drawable.stat_sys_warning
- // for the small icon. You should also setAutoCancel(true).
-
- Notification.Builder notificationBuilder = null;
+ mContentView.setTextViewText(R.id.text, successMsg);
- // TODO: Send the notification
+ Notification.Builder notificationBuilder = new Notification.Builder(context);
+ notificationBuilder.setContentIntent(pendingIntent);
+ notificationBuilder.setContent(mContentView);
+ notificationBuilder.setSmallIcon(android.R.drawable.stat_sys_warning);
+ notificationBuilder.setAutoCancel(true);
log("Notification Area Notification sent");
}
diff --git a/Android/06-Notifications/Notifications/src/course/labs/notificationslab/MainActivity.java b/Android/06-Notifications/Notifications/src/course/labs/notificationslab/MainActivity.java
index eebf924..e74daa9 100644
--- a/Android/06-Notifications/Notifications/src/course/labs/notificationslab/MainActivity.java
+++ b/Android/06-Notifications/Notifications/src/course/labs/notificationslab/MainActivity.java
@@ -17,6 +17,7 @@ import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
+import android.widget.Toast;
import android.os.Bundle;
import android.util.Log;
@@ -70,13 +71,10 @@ public class MainActivity extends Activity implements SelectionListener {
log("In ensureData(), mIsFresh:" + mIsFresh);
if (!mIsFresh) {
- // TODO:
- // Show a Toast Notification to inform user that
- // the app is "Downloading Tweets from Network"
log ("Issuing Toast Message");
+ Toast.makeText(MainActivity.this, "Downloading Tweets from Network", Toast.LENGTH_SHORT).show();
- // TODO:
- // Start new AsyncTask to download Tweets from network
+ new DownloaderTask(MainActivity.this).execute(URL_LGAGA, URL_RBLACK, URL_TSWIFT);
// Set up a BroadcastReceiver to receive an Intent when download
// finishes.
@@ -84,10 +82,9 @@ public class MainActivity extends Activity implements SelectionListener {
@Override
public void onReceive(Context context, Intent intent) {
log("BroadcastIntent received in MainActivity");
- // TODO:
- // Check to make sure this is an ordered broadcast
- // Let sender know that the Intent was received
- // by setting result code to RESULT_OK
+ if (isOrderedBroadcast()) {
+ setResultCode(RESULT_OK);
+ }
}
};
} else {
@@ -145,15 +142,16 @@ public class MainActivity extends Activity implements SelectionListener {
@Override
protected void onResume() {
super.onResume();
- // TODO:
- // Register the BroadcastReceiver to receive a
- // DATA_REFRESHED_ACTION broadcast
+ if(mRefreshReceiver != null) {
+ registerReceiver(mRefreshReceiver, new IntentFilter(DATA_REFRESHED_ACTION));
+ }
}
@Override
protected void onPause() {
- // TODO:
- // Unregister the BroadcastReceiver
+ if(mRefreshReceiver != null) {
+ unregisterReceiver(mRefreshReceiver);
+ }
super.onPause();
}