Skip to content

Commit

Permalink
Pass an Activity rather than a Context into the tracker, so we can us…
Browse files Browse the repository at this point in the history
…e it as the notification target
  • Loading branch information
jezhiggins committed Mar 8, 2015
1 parent 8eb4280 commit 46f5e1a
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 5 deletions.
@@ -1,5 +1,6 @@
package net.cyclestreets.track;

import android.app.Activity;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
Expand All @@ -9,7 +10,7 @@
class Controller
implements TrackerControl,
ServiceConnection {
public static TrackerControl create(final Context context, final TrackListener listener) {
public static TrackerControl create(final Activity context, final TrackListener listener) {
Controller control = new Controller(context, listener);

Intent rService = new Intent(context, RecordingService.class);
Expand All @@ -18,14 +19,14 @@ public static TrackerControl create(final Context context, final TrackListener l
return control;
} // create

private final Context context_;
private final Activity context_;
private final TrackListener listener_;
private IRecordService rs_;
private boolean shouldStart_;
private boolean unbound_;

private Controller(
final Context context,
final Activity context,
final TrackListener listener) {
context_ = context;
listener_ = listener;
Expand All @@ -37,6 +38,7 @@ public void onServiceConnected(
final IBinder service) {
rs_ = (IRecordService)service;
rs_.setListener(listener_);
rs_.setNotificationActivity((Class<Activity>)context_.getClass());

if (shouldStart_ == true)
rs_.startRecording();
Expand Down
@@ -1,10 +1,13 @@
package net.cyclestreets.track;

import android.app.Activity;

interface IRecordService {
public int getState();

public TripData startRecording();
public TripData stopRecording();

public void setListener(TrackListener ra);
public void setNotificationActivity(Class<Activity> activityClass);
}
Expand Up @@ -4,6 +4,7 @@
import java.util.TimerTask;
import java.util.List;

import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
Expand All @@ -28,6 +29,7 @@ public class RecordingService
private static final int NOTIFICATION_ID = 1;

private TrackListener trackListener_;
private Class<Activity> activityClass_;
private LocationManager locationManager_ = null;

// Bike bell variables
Expand Down Expand Up @@ -104,6 +106,10 @@ public void setListener(
final TrackListener ra) {
rs_.trackListener_ = ra;
}
public void setNotificationActivity(
final Class<Activity> activityClass) {
rs_.activityClass_ = activityClass;
}
} // class MyServiceBinder

// ---end SERVICE methods -------------------------
Expand Down Expand Up @@ -245,7 +251,7 @@ private Notification createNotification(
final int flags) {
final Notification notification = new Notification(R.drawable.icon25, tickerText, System.currentTimeMillis());
notification.flags = flags;
final Intent notificationIntent = new Intent(this, RecordingService.class);
final Intent notificationIntent = new Intent(this, activityClass_);
final PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
notification.setLatestEventInfo(this, "Cycle Hackney - Recording", "Tap to see your ongoing trip", contentIntent);
return notification;
Expand Down
@@ -1,5 +1,6 @@
package net.cyclestreets.track;

import android.app.Activity;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
Expand All @@ -9,7 +10,7 @@
import java.util.List;

public class Tracker {
public static TrackerControl create(final Context context, final TrackListener listener) {
public static TrackerControl create(final Activity context, final TrackListener listener) {
return Controller.create(context, listener);
} // create

Expand Down

0 comments on commit 46f5e1a

Please sign in to comment.