Skip to content

Commit

Permalink
Merge pull request #31 from Daeda88/post_resume
Browse files Browse the repository at this point in the history
Added Post Active to ensure events have been set up before actions occur
  • Loading branch information
thoutbeckers committed Apr 5, 2019
2 parents 2734d70 + e4ea190 commit 22f5c21
Show file tree
Hide file tree
Showing 8 changed files with 87 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@

import houtbecke.rs.when.robo.act.event.InvalidateMenus;
import houtbecke.rs.when.robo.condition.event.ActivityPause;
import houtbecke.rs.when.robo.condition.event.ActivityPostPause;
import houtbecke.rs.when.robo.condition.event.ActivityPostResume;
import houtbecke.rs.when.robo.condition.event.ActivityResume;
import houtbecke.rs.when.robo.condition.event.FragmentPause;
import houtbecke.rs.when.robo.condition.event.FragmentResume;
Expand Down Expand Up @@ -65,6 +67,7 @@ public void onResume(Activity a) {
bus.post(new ActivityResume(a));
bus.register(this);
bus.register(a);
bus.register(new ActivityPostResume(a));
}

public void onResume(Fragment f) {
Expand All @@ -77,6 +80,7 @@ public void onPause(Activity a) {
bus.post(new ActivityPause(a));
bus.unregister(this);
bus.unregister(a);
bus.post(new ActivityPostPause(a));
}

public void onPause(Fragment f) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,6 @@ public class Active extends BaseActive {

@Inject
public Active(Bus bus) {
super(bus, true, false);
super(bus, true, false, false, false);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@

import houtbecke.rs.when.BasePushCondition;
import houtbecke.rs.when.robo.condition.event.ActivityPause;
import houtbecke.rs.when.robo.condition.event.ActivityPostPause;
import houtbecke.rs.when.robo.condition.event.ActivityPostResume;
import houtbecke.rs.when.robo.condition.event.ActivityResume;
import houtbecke.rs.when.robo.condition.event.FragmentPause;
import houtbecke.rs.when.robo.condition.event.FragmentResume;
Expand All @@ -19,13 +21,15 @@ public abstract class BaseActive extends BasePushCondition {

// maybe use a weakhashmap to track behaviour for multiple object of same classes etc.

final boolean onPause, onResume;
final boolean onPause, onResume, onPostPause, onPostResume;

@Inject
public BaseActive(Bus bus, Boolean onResume, Boolean onPause) {
public BaseActive(Bus bus, Boolean onResume, Boolean onPause, Boolean onPostResume, Boolean onPostPause) {
subscriber = new Subscriber(bus);
this.onResume = onResume;
this.onPause = onPause;
this.onPostResume = onPostResume;
this.onPostPause = onPostPause;
}

final Subscriber subscriber;
Expand All @@ -46,6 +50,16 @@ public void onActivityEvent(ActivityPause event) {
onPause(event);
}

@Subscribe
public void onActivityEvent(ActivityPostPause event) {
onPostPause(event);
}

@Subscribe
public void onActivityEvent(ActivityPostResume event) {
onPostResume(event);
}

@Subscribe
public void onFragmentEvent(FragmentResume event) {
onResume(event);
Expand All @@ -69,5 +83,16 @@ void onResume(ResumeEvent resume) {
stickForThing(resume.getResourceId(),onResume);
}

void onPostPause(PauseEvent pause) {
stickForThing(pause.getSourceClass(), onPostPause);
stickForThing(pause.getObject(), onPostPause);
stickForThing(pause.getResourceId(), onPostPause);
}

void onPostResume(ResumeEvent resume) {
stickForThing(resume.getSourceClass(),onPostResume);
stickForThing(resume.getObject(),onPostResume);
stickForThing(resume.getResourceId(),onPostResume);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ public class NotActive extends BaseActive {

@Inject
public NotActive(Bus bus) {
super(bus, false, true);
super(bus, false, true, false, false);
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package houtbecke.rs.when.robo.condition;

import com.squareup.otto.Bus;

import javax.inject.Inject;
import javax.inject.Singleton;

@Singleton
public class NotPostActive extends BaseActive {

@Inject
public NotPostActive(Bus bus) {
super(bus, false, false, false, true);
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package houtbecke.rs.when.robo.condition;

import com.squareup.otto.Bus;

import javax.inject.Inject;
import javax.inject.Singleton;

@Singleton
public class PostActive extends BaseActive {

@Inject
public PostActive(Bus bus) {
super(bus, true, false, false, false);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package houtbecke.rs.when.robo.condition.event;

import android.app.Activity;

import houtbecke.rs.when.robo.event.PauseEvent;

public class ActivityPostPause extends ActivityEvent implements PauseEvent {
public ActivityPostPause(Activity activity) {
super(activity);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package houtbecke.rs.when.robo.condition.event;

import android.app.Activity;

import houtbecke.rs.when.robo.event.ResumeEvent;

public class ActivityPostResume extends ActivityEvent implements ResumeEvent {

public ActivityPostResume(Activity activity) {
super(activity);
}
}

0 comments on commit 22f5c21

Please sign in to comment.