diff --git a/app/src/main/java/org/y20k/transistor/MainActivityFragment.java b/app/src/main/java/org/y20k/transistor/MainActivityFragment.java
index 4d781e15..a6373289 100644
--- a/app/src/main/java/org/y20k/transistor/MainActivityFragment.java
+++ b/app/src/main/java/org/y20k/transistor/MainActivityFragment.java
@@ -16,6 +16,7 @@
 
 import android.Manifest;
 import android.app.Activity;
+import android.app.Application;
 import android.app.Fragment;
 import android.content.BroadcastReceiver;
 import android.content.Context;
@@ -77,6 +78,7 @@ public class MainActivityFragment extends Fragment {
 
 
     /* Main class variables */
+    private Application mApplication;
     private Activity mActivity;
     private Collection mCollection;
     private CollectionAdapter mCollectionAdapter = null;
@@ -98,8 +100,9 @@ public MainActivityFragment() {
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
 
-        // store context
+        // get activity and application contexts
         mActivity = getActivity();
+        mApplication = mActivity.getApplication();
 
         // set list state null
         mListState = null;
@@ -377,7 +380,7 @@ public void onReceive(Context context, Intent intent) {
             }
         };
         IntentFilter playbackStoppedIntentFilter = new IntentFilter(ACTION_PLAYBACK_STOPPED);
-        LocalBroadcastManager.getInstance(mActivity).registerReceiver(playbackStoppedReceiver, playbackStoppedIntentFilter);
+        LocalBroadcastManager.getInstance(mApplication).registerReceiver(playbackStoppedReceiver, playbackStoppedIntentFilter);
 
         // broadcast receiver: player service stopped playback
         BroadcastReceiver playbackStartedReceiver = new BroadcastReceiver() {
@@ -387,7 +390,7 @@ public void onReceive(Context context, Intent intent) {
             }
         };
         IntentFilter playbackStartedIntentFilter = new IntentFilter(ACTION_PLAYBACK_STARTED);
-        LocalBroadcastManager.getInstance(mActivity).registerReceiver(playbackStartedReceiver, playbackStartedIntentFilter);
+        LocalBroadcastManager.getInstance(mApplication).registerReceiver(playbackStartedReceiver, playbackStartedIntentFilter);
 
         // broadcast receiver: station added, deleted, or changed
         BroadcastReceiver collectionChangedReceiver = new BroadcastReceiver() {
@@ -397,7 +400,7 @@ public void onReceive(Context context, Intent intent) {
             }
         };
         IntentFilter collectionChangedIntentFilter = new IntentFilter(ACTION_COLLECTION_CHANGED);
-        LocalBroadcastManager.getInstance(mActivity).registerReceiver(collectionChangedReceiver, collectionChangedIntentFilter);
+        LocalBroadcastManager.getInstance(mApplication).registerReceiver(collectionChangedReceiver, collectionChangedIntentFilter);
 
         // broadcast receiver: listen for request to change station image
         BroadcastReceiver imageChangeRequestReceiver = new BroadcastReceiver() {
@@ -410,7 +413,7 @@ public void onReceive(Context context, Intent intent) {
             }
         };
         IntentFilter imageChangeRequesIntentFilter = new IntentFilter(ACTION_IMAGE_CHANGE_REQUESTED);
-        LocalBroadcastManager.getInstance(mActivity).registerReceiver(imageChangeRequestReceiver, imageChangeRequesIntentFilter);
+        LocalBroadcastManager.getInstance(mApplication).registerReceiver(imageChangeRequestReceiver, imageChangeRequesIntentFilter);
 
     }
 
diff --git a/app/src/main/java/org/y20k/transistor/PlayerService.java b/app/src/main/java/org/y20k/transistor/PlayerService.java
index 5641b0ff..f08f084c 100644
--- a/app/src/main/java/org/y20k/transistor/PlayerService.java
+++ b/app/src/main/java/org/y20k/transistor/PlayerService.java
@@ -348,7 +348,7 @@ private void startPlayback() {
         // send local broadcast (needed by MainActivityFragment)
         Intent i = new Intent();
         i.setAction(ACTION_PLAYBACK_STARTED);
-        LocalBroadcastManager.getInstance(this).sendBroadcast(i);
+        LocalBroadcastManager.getInstance(this.getApplication()).sendBroadcast(i);
     }
 
 
@@ -364,7 +364,7 @@ private void stopPlayback() {
         // send local broadcast (needed by PlayerActivityFragment and MainActivityFragment)
         Intent i = new Intent();
         i.setAction(ACTION_PLAYBACK_STOPPED);
-        LocalBroadcastManager.getInstance(this).sendBroadcast(i);
+        LocalBroadcastManager.getInstance(this.getApplication()).sendBroadcast(i);
 
         // retrieve notification system service and cancel notification
         NotificationManager notificationManager = (NotificationManager) getApplication().getSystemService(Context.NOTIFICATION_SERVICE);
diff --git a/app/src/main/java/org/y20k/transistor/helpers/CollectionAdapter.java b/app/src/main/java/org/y20k/transistor/helpers/CollectionAdapter.java
index a89c1d7e..0dd1829b 100644
--- a/app/src/main/java/org/y20k/transistor/helpers/CollectionAdapter.java
+++ b/app/src/main/java/org/y20k/transistor/helpers/CollectionAdapter.java
@@ -14,6 +14,7 @@
 
 package org.y20k.transistor.helpers;
 
+import android.app.Activity;
 import android.content.Context;
 import android.content.SharedPreferences;
 import android.graphics.Bitmap;
@@ -44,7 +45,7 @@ public class CollectionAdapter extends BaseAdapter {
     /* Main class variables */
     private final LinkedList<String> mStationNames;
     private final LinkedList<Bitmap> mStationImages;
-    private final Context mContext;
+    private final Activity mActivity;
     private Collection mCollection;
     private CollectionChangedListener mCollectionChangedListener;
     private boolean mPlayback;
@@ -58,14 +59,14 @@ public interface CollectionChangedListener {
 
 
     /* Constructor */
-    public CollectionAdapter(Context context, LinkedList<String> stationNames, LinkedList<Bitmap> stationImage) {
-        mContext = context;
+    public CollectionAdapter(Activity activity, LinkedList<String> stationNames, LinkedList<Bitmap> stationImage) {
+        mActivity = activity;
         mStationNames = stationNames;
         mStationImages = stationImage;
         mCollection = null;
         mCollectionChangedListener = null;
 
-        loadPlaybackState(context);
+        loadPlaybackState(mActivity);
     }
 
 
@@ -94,7 +95,7 @@ public View getView(final int position, View convertView, ViewGroup parent) {
 
         // create new view if no convertView available
         if (convertView == null) {
-            LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
+            LayoutInflater inflater = (LayoutInflater) mActivity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
             convertView = inflater.inflate(R.layout.list_item_collection, parent, false);
 
             holder = new ViewHolder();
@@ -128,7 +129,7 @@ public View getView(final int position, View convertView, ViewGroup parent) {
             @Override
             public void onClick(View view) {
                 StationContextMenu menu = new StationContextMenu();
-                menu.initialize(mContext, mCollection, view, position);
+                menu.initialize(mActivity, mCollection, view, position);
 
                 // listen for changes invoked by StationContextMenu
                 menu.setStationChangedListener(new StationContextMenu.StationChangedListener() {
@@ -152,7 +153,7 @@ public void stationChanged() {
     @Override
     public void notifyDataSetChanged() {
         super.notifyDataSetChanged();
-        loadPlaybackState(mContext);
+        loadPlaybackState(mActivity);
     }
 
 
diff --git a/app/src/main/java/org/y20k/transistor/helpers/DialogAddStation.java b/app/src/main/java/org/y20k/transistor/helpers/DialogAddStation.java
index 920c6a74..7a0943ab 100644
--- a/app/src/main/java/org/y20k/transistor/helpers/DialogAddStation.java
+++ b/app/src/main/java/org/y20k/transistor/helpers/DialogAddStation.java
@@ -14,8 +14,8 @@
 
 package org.y20k.transistor.helpers;
 
+import android.app.Activity;
 import android.app.AlertDialog;
-import android.content.Context;
 import android.content.DialogInterface;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -30,20 +30,20 @@
 public class DialogAddStation {
 
     /* Main class variables */
-    private final Context mContext;
+    private final Activity mActivity;
 
 
     /* Constructor */
-    public DialogAddStation(Context context) {
-        mContext = context;
+    public DialogAddStation(Activity activity) {
+        mActivity = activity;
     }
 
 
     /* Construct and show dialog */
     public void show() {
         // prepare dialog builder
-        LayoutInflater inflater = LayoutInflater.from(mContext);
-        final AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
+        LayoutInflater inflater = LayoutInflater.from(mActivity);
+        final AlertDialog.Builder builder = new AlertDialog.Builder(mActivity);
 
         // get input field
         View view = inflater.inflate(R.layout.dialog_add_station, null);
@@ -61,7 +61,7 @@ public void onClick(DialogInterface dialog, int id) {
                     final String input = inputField.getText().toString();
 
                     // download and add new station
-                    StationDownloader stationDownloader = new StationDownloader(input, mContext);
+                    StationDownloader stationDownloader = new StationDownloader(input, mActivity);
                     stationDownloader.execute();
                 }
             }
diff --git a/app/src/main/java/org/y20k/transistor/helpers/DialogDelete.java b/app/src/main/java/org/y20k/transistor/helpers/DialogDelete.java
index 5d6bf5c2..c204534c 100644
--- a/app/src/main/java/org/y20k/transistor/helpers/DialogDelete.java
+++ b/app/src/main/java/org/y20k/transistor/helpers/DialogDelete.java
@@ -14,8 +14,8 @@
 
 package org.y20k.transistor.helpers;
 
+import android.app.Activity;
 import android.app.AlertDialog;
-import android.content.Context;
 import android.content.DialogInterface;
 import android.content.Intent;
 import android.support.v4.content.LocalBroadcastManager;
@@ -35,7 +35,7 @@ public class DialogDelete {
 
 
     /* Main class variables */
-    private final Context mContext;
+    private final Activity mActivity;
     private final Collection mCollection;
     private final int mStationID;
     private StationDeletedListener mStationDeletedListener;
@@ -48,8 +48,8 @@ public interface StationDeletedListener {
 
 
     /* Constructor */
-    public DialogDelete(Context context, Collection collection, int stationID) {
-        mContext = context;
+    public DialogDelete(Activity activity, Collection collection, int stationID) {
+        mActivity = activity;
         mStationID = stationID;
         mCollection = collection;
         mStationDeletedListener = null;
@@ -58,7 +58,7 @@ public DialogDelete(Context context, Collection collection, int stationID) {
 
     /* Construct and show dialog */
     public void show() {
-        AlertDialog.Builder deleteDialog = new AlertDialog.Builder(mContext);
+        AlertDialog.Builder deleteDialog = new AlertDialog.Builder(mActivity);
 
         // add message to dialog
         deleteDialog.setMessage(R.string.dialog_delete_station_message);
@@ -70,12 +70,12 @@ public void onClick(DialogInterface arg0, int arg1) {
                 boolean success = mCollection.delete(mStationID);
                 if (success) {
                     // notify the user
-                    Toast.makeText(mContext, R.string.toastalert_delete_successful, Toast.LENGTH_LONG).show();
+                    Toast.makeText(mActivity, R.string.toastalert_delete_successful, Toast.LENGTH_LONG).show();
 
                     // send local broadcast
                     Intent i = new Intent();
                     i.setAction(ACTION_COLLECTION_CHANGED);
-                    LocalBroadcastManager.getInstance(mContext).sendBroadcast(i);
+                    LocalBroadcastManager.getInstance(mActivity.getApplication()).sendBroadcast(i);
 
                     // notify MainActivityFragment
                     if (mStationDeletedListener != null) {
diff --git a/app/src/main/java/org/y20k/transistor/helpers/DialogError.java b/app/src/main/java/org/y20k/transistor/helpers/DialogError.java
index 8de170d9..486e7c64 100644
--- a/app/src/main/java/org/y20k/transistor/helpers/DialogError.java
+++ b/app/src/main/java/org/y20k/transistor/helpers/DialogError.java
@@ -14,8 +14,8 @@
 
 package org.y20k.transistor.helpers;
 
+import android.app.Activity;
 import android.app.AlertDialog;
-import android.content.Context;
 import android.content.DialogInterface;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -30,15 +30,15 @@
 class DialogError {
 
     /* Main class variables */
-    private final Context mContext;
+    private final Activity mActivity;
     private final String mErrorTitle;
     private final String mErrorMessage;
     private final String mErrorDetails;
 
 
     /* Constructor */
-    public DialogError(Context context, String errorTitle, String errorMessage, String errorDetails) {
-        mContext = context;
+    public DialogError(Activity activity, String errorTitle, String errorMessage, String errorDetails) {
+        mActivity = activity;
         mErrorTitle = errorTitle;
         mErrorMessage = errorMessage;
         mErrorDetails = errorDetails;
@@ -48,8 +48,8 @@ public DialogError(Context context, String errorTitle, String errorMessage, Stri
     /* Construct and show dialog */
     public void show() {
         // prepare dialog builder
-        LayoutInflater inflater = LayoutInflater.from(mContext);
-        AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
+        LayoutInflater inflater = LayoutInflater.from(mActivity);
+        AlertDialog.Builder builder = new AlertDialog.Builder(mActivity);
 
         // get views
         View view = inflater.inflate(R.layout.dialog_error, null);
diff --git a/app/src/main/java/org/y20k/transistor/helpers/DialogRename.java b/app/src/main/java/org/y20k/transistor/helpers/DialogRename.java
index f06edb49..debcd66f 100644
--- a/app/src/main/java/org/y20k/transistor/helpers/DialogRename.java
+++ b/app/src/main/java/org/y20k/transistor/helpers/DialogRename.java
@@ -14,8 +14,8 @@
 
 package org.y20k.transistor.helpers;
 
+import android.app.Activity;
 import android.app.AlertDialog;
-import android.content.Context;
 import android.content.DialogInterface;
 import android.content.SharedPreferences;
 import android.preference.PreferenceManager;
@@ -38,7 +38,7 @@ public class DialogRename {
 
 
     /* Main class variables */
-    private final Context mContext;
+    private final Activity mActivity;
     private final Collection mCollection;
     private final int mStationID;
     private String mStationName;
@@ -52,8 +52,8 @@ public interface StationRenamedListener {
 
 
     /* Constructor */
-    public DialogRename(Context context, Collection collection, String stationName, int stationID) {
-        mContext = context;
+    public DialogRename(Activity activity, Collection collection, String stationName, int stationID) {
+        mActivity = activity;
         mStationName = stationName;
         mStationID = stationID;
         mCollection = collection;
@@ -64,8 +64,8 @@ public DialogRename(Context context, Collection collection, String stationName,
     /* Construct and show dialog */
     public void show() {
         // prepare dialog builder
-        LayoutInflater inflater = LayoutInflater.from(mContext);
-        AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
+        LayoutInflater inflater = LayoutInflater.from(mActivity);
+        AlertDialog.Builder builder = new AlertDialog.Builder(mActivity);
 
         // get input field
         View view = inflater.inflate(R.layout.dialog_rename_station, null);
@@ -83,7 +83,7 @@ public void onClick(DialogInterface arg0, int arg1) {
                 boolean success = mCollection.rename(mStationID, mStationName);
                 if (!success) {
                     // notify the user
-                    Toast.makeText(mContext, R.string.toastalert_rename_unsuccessful, Toast.LENGTH_LONG).show();
+                    Toast.makeText(mActivity, R.string.toastalert_rename_unsuccessful, Toast.LENGTH_LONG).show();
                 } else {
                     // notify MainActivityFragment
                     if (mStationRenamedListener != null) {
@@ -91,12 +91,12 @@ public void onClick(DialogInterface arg0, int arg1) {
                     }
 
                     // check for playback
-                    SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(mContext);
+                    SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(mActivity);
                     boolean playback = settings.getBoolean(PLAYBACK, false);
 
                     if (playback) {
                         // put up changed notification
-                        NotificationHelper notificationHelper = new NotificationHelper(mContext);
+                        NotificationHelper notificationHelper = new NotificationHelper(mActivity);
                         notificationHelper.setStationName(mStationName);
                         notificationHelper.createNotification();
                     }
diff --git a/app/src/main/java/org/y20k/transistor/helpers/ImageHelper.java b/app/src/main/java/org/y20k/transistor/helpers/ImageHelper.java
index 7101e73e..f184d3ed 100644
--- a/app/src/main/java/org/y20k/transistor/helpers/ImageHelper.java
+++ b/app/src/main/java/org/y20k/transistor/helpers/ImageHelper.java
@@ -14,7 +14,7 @@
 
 package org.y20k.transistor.helpers;
 
-import android.content.Context;
+import android.app.Activity;
 import android.graphics.Bitmap;
 import android.graphics.BitmapFactory;
 import android.graphics.Canvas;
@@ -39,28 +39,28 @@ public class ImageHelper {
     /* Main class variables */
     private final Bitmap mInputImage;
     private final Paint mBackgroundColor;
-    private final Context mContext;
+    private final Activity mActivity;
 
 
     /* Constructor when given a Bitmap*/
-    public ImageHelper(Bitmap inputImage, Context context) {
+    public ImageHelper(Bitmap inputImage, Activity activity) {
         mInputImage = inputImage;
-        mContext = context;
+        mActivity = activity;
 
         // set default background color white
-        int backgroundColor = ContextCompat.getColor(mContext, R.color.transistor_white);
+        int backgroundColor = ContextCompat.getColor(mActivity, R.color.transistor_white);
         mBackgroundColor = new Paint();
         mBackgroundColor.setColor(backgroundColor);
     }
 
 
     /* Constructor when given an Uri */
-    public ImageHelper(Uri inputImageUri, Context context) {
-        mContext = context;
+    public ImageHelper(Uri inputImageUri, Activity activity) {
+        mActivity = activity;
         mInputImage = decodeSampledBitmapFromUri(inputImageUri, 72, 72);
 
         // set default background color white
-        int backgroundColor = ContextCompat.getColor(mContext, R.color.transistor_white);
+        int backgroundColor = ContextCompat.getColor(mActivity, R.color.transistor_white);
         mBackgroundColor = new Paint();
         mBackgroundColor.setColor(backgroundColor);
     }
@@ -68,7 +68,7 @@ public ImageHelper(Uri inputImageUri, Context context) {
 
     /* Setter for color of background */
     public void setBackgroundColor(int color) {
-        int backgroundColor = ContextCompat.getColor(mContext, color);
+        int backgroundColor = ContextCompat.getColor(mActivity, color);
         mBackgroundColor.setColor(backgroundColor);
     }
 
@@ -141,7 +141,7 @@ private Bitmap decodeSampledBitmapFromUri(Uri imageUri, int reqWidth, int reqHei
         ParcelFileDescriptor parcelFileDescriptor =  null;
 
         try {
-            parcelFileDescriptor = mContext.getContentResolver().openFileDescriptor(imageUri, "r");
+            parcelFileDescriptor = mActivity.getContentResolver().openFileDescriptor(imageUri, "r");
         } catch (FileNotFoundException e) {
             // TODO handle error
             e.printStackTrace();
diff --git a/app/src/main/java/org/y20k/transistor/helpers/StationContextMenu.java b/app/src/main/java/org/y20k/transistor/helpers/StationContextMenu.java
index 9ee9357b..c3eb3f35 100644
--- a/app/src/main/java/org/y20k/transistor/helpers/StationContextMenu.java
+++ b/app/src/main/java/org/y20k/transistor/helpers/StationContextMenu.java
@@ -14,8 +14,8 @@
 
 package org.y20k.transistor.helpers;
 
+import android.app.Activity;
 import android.app.DialogFragment;
-import android.content.Context;
 import android.content.Intent;
 import android.support.v4.content.LocalBroadcastManager;
 import android.view.MenuItem;
@@ -42,7 +42,7 @@ public class StationContextMenu extends DialogFragment {
     /* Main class variables */
     private View mView;
     private int mStationID;
-    private Context mContext;
+    private Activity mActivity;
     private Collection mCollection;
     private StationChangedListener mStationChangedListener;
 
@@ -66,8 +66,8 @@ public void setStationChangedListener(StationChangedListener stationChangedListe
 
 
     /* Initializer for main class variables */
-    public void initialize(Context context, Collection collection, View view, int stationID) {
-        mContext = context;
+    public void initialize(Activity activity, Collection collection, View view, int stationID) {
+        mActivity = activity;
         mCollection = collection;
         mView = view;
         mStationID = stationID;
@@ -77,7 +77,7 @@ public void initialize(Context context, Collection collection, View view, int st
     /* Displays context menu */
     public void show() {
 
-        PopupMenu popup = new PopupMenu(mContext, mView);
+        PopupMenu popup = new PopupMenu(mActivity, mView);
         popup.inflate(R.menu.menu_main_list_item);
         popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
             @Override
@@ -92,7 +92,7 @@ public boolean onMenuItemClick(MenuItem item) {
                         Intent i = new Intent();
                         i.setAction(ACTION_IMAGE_CHANGE_REQUESTED);
                         i.putExtra(STATION_ID, mStationID);
-                        LocalBroadcastManager.getInstance(mContext.getApplicationContext()).sendBroadcast(i);
+                        LocalBroadcastManager.getInstance(mActivity.getApplication()).sendBroadcast(i);
 
                         return true;
 
@@ -101,7 +101,7 @@ public boolean onMenuItemClick(MenuItem item) {
                         // get name of station
                         String stationName = mCollection.getStations().get(mStationID).getStationName();
                         // construct rename dialog
-                        DialogRename dialogRename = new DialogRename(mContext, mCollection, stationName, mStationID);
+                        DialogRename dialogRename = new DialogRename(mActivity, mCollection, stationName, mStationID);
                         dialogRename.setStationRenamedListener(new DialogRename.StationRenamedListener() {
                             @Override
                             public void stationRenamed() {
@@ -117,7 +117,7 @@ public void stationRenamed() {
                     // CASE DELETE
                     case R.id.menu_delete:
                         // construct delete dialog
-                        DialogDelete dialogDelete = new DialogDelete(mContext, mCollection, mStationID);
+                        DialogDelete dialogDelete = new DialogDelete(mActivity, mCollection, mStationID);
                         // run dialog
                         dialogDelete.show();
                         return true;
diff --git a/app/src/main/java/org/y20k/transistor/helpers/StationDownloader.java b/app/src/main/java/org/y20k/transistor/helpers/StationDownloader.java
index ba009a30..136bd528 100644
--- a/app/src/main/java/org/y20k/transistor/helpers/StationDownloader.java
+++ b/app/src/main/java/org/y20k/transistor/helpers/StationDownloader.java
@@ -14,7 +14,7 @@
 
 package org.y20k.transistor.helpers;
 
-import android.content.Context;
+import android.app.Activity;
 import android.content.Intent;
 import android.os.AsyncTask;
 import android.support.v4.content.LocalBroadcastManager;
@@ -43,7 +43,7 @@ public class StationDownloader extends AsyncTask<Void, Void, Station> {
     private static final String ACTION_COLLECTION_CHANGED = "org.y20k.transistor.action.COLLECTION_CHANGED";
 
     /* Main class variables */
-    private final Context mContext;
+    private final Activity mActivity;
     private Collection mCollection;
     private File mFolder;
     private String mStationURLString;
@@ -52,8 +52,8 @@ public class StationDownloader extends AsyncTask<Void, Void, Station> {
 
 
     /* Constructor */
-    public StationDownloader(String stationURLString, Context context) {
-        mContext = context;
+    public StationDownloader(String stationURLString, Activity activity) {
+        mActivity = activity;
         mStationURLString = stationURLString;
 
         // get mFolder and mStationURL
@@ -62,8 +62,8 @@ public StationDownloader(String stationURLString, Context context) {
             // load collection
             mCollection = new Collection(mFolder);
             // notify user
-            String toastMessage = mContext.getString(R.string.toastmessage_add_download_started);
-            Toast.makeText(mContext, toastMessage + mStationURLString, Toast.LENGTH_LONG).show();
+            String toastMessage = mActivity.getString(R.string.toastmessage_add_download_started);
+            Toast.makeText(mActivity, toastMessage + mStationURLString, Toast.LENGTH_LONG).show();
         } else {
             // something is wrong with external storage or url
             mErrors = true;
@@ -90,8 +90,8 @@ protected void onPostExecute(Station station) {
 
         if (mErrors || station.getDownloadError()) {
             // construct error message
-            String errorTitle = mContext.getResources().getString(R.string.dialog_error_title_download);
-            String errorMessage = mContext.getResources().getString(R.string.dialog_error_message_download);
+            String errorTitle = mActivity.getResources().getString(R.string.dialog_error_title_download);
+            String errorMessage = mActivity.getResources().getString(R.string.dialog_error_message_download);
 
             // construct details string
             StringBuilder sb = new StringBuilder("");
@@ -107,7 +107,7 @@ protected void onPostExecute(Station station) {
             String errorDetails = sb.toString();
 
             // show error dialog
-            DialogError dialogError = new DialogError(mContext, errorTitle, errorMessage, errorDetails);
+            DialogError dialogError = new DialogError(mActivity, errorTitle, errorMessage, errorDetails);
             dialogError.show();
 
         } else {
@@ -116,7 +116,7 @@ protected void onPostExecute(Station station) {
             // send local broadcast
             Intent i = new Intent();
             i.setAction(ACTION_COLLECTION_CHANGED);
-            LocalBroadcastManager.getInstance(mContext).sendBroadcast(i);
+            LocalBroadcastManager.getInstance(mActivity.getApplication()).sendBroadcast(i);
         }
 
     }
@@ -125,11 +125,11 @@ protected void onPostExecute(Station station) {
     /* Get collection folder from external storage */
     private boolean getFolder() {
         try {
-            mFolder = new File(mContext.getExternalFilesDir("Collection").toString());
+            mFolder = new File(mActivity.getExternalFilesDir("Collection").toString());
             return true;
         } catch (NullPointerException e) {
             // notify user and log exception
-            Toast.makeText(mContext, R.string.toastalert_no_external_storage, Toast.LENGTH_LONG).show();
+            Toast.makeText(mActivity, R.string.toastalert_no_external_storage, Toast.LENGTH_LONG).show();
             Log.e(LOG_TAG, "Unable to access external storage.");
             return false;
         }