Skip to content

Commit

Permalink
@emir-hasanbegovic removed forceStart from uri so that it doesn't get…
Browse files Browse the repository at this point in the history
… written into the db
  • Loading branch information
emir-hasanbegovic committed Aug 23, 2014
1 parent f855ca8 commit 8566051
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,6 @@ public static class Columns {
public static final ViewModelColumn IMAGE_URL = new ViewModelColumn(VIEW_NAME, ProductTable.Columns.IMAGE_URL);
@ColumnDefinition
public static final ViewModelColumn TASTING_NOTE = new ViewModelColumn(VIEW_NAME, ProductTable.Columns.TASTING_NOTE);

}

@PathDefinitions
Expand Down
8 changes: 7 additions & 1 deletion task/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>mobi.liason</groupId>
<artifactId>task</artifactId>
<version>0.0.3</version>
<version>0.0.4</version>
<packaging>jar</packaging>
<name>Liason - Task extension for MVVM</name>
<description>Task library</description>
Expand Down Expand Up @@ -104,6 +104,12 @@
<scope>test</scope>
</dependency>

<dependency>
<groupId>mobi.liason</groupId>
<artifactId>loaders</artifactId>
<version>[0.0.1,)</version>
</dependency>

<dependency>
<groupId>mobi.liason</groupId>
<artifactId>mvvm</artifactId>
Expand Down
16 changes: 8 additions & 8 deletions task/src/main/java/mobi/liason/mvvm/task/Task.java
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ public abstract class Task implements Runnable {
private final String mAuthority;
private JsonObject mJsonObject;
private boolean mHasFailed;
private boolean mForceTask;

public Task(final Context context, final String authority, final Uri uri) {
mContext = context;
Expand Down Expand Up @@ -70,7 +71,7 @@ public boolean shouldRunRequest() {
Cursor cursor = null;
try {

final boolean forceTask = forceNetworkRequest(mUri);
final boolean forceTask = forceTask();
if (forceTask) {
return true;
}
Expand Down Expand Up @@ -140,9 +141,12 @@ private boolean setRunning() {
return uri != null;
}

private boolean forceNetworkRequest(final Uri uri) {
final String forceRequestString = uri.getQueryParameter(QueryParameters.FORCE_TASK);
return forceRequestString != null && Boolean.parseBoolean(forceRequestString);
private boolean forceTask() {
return mForceTask;
}

void setForceTask(final boolean forceTask){
mForceTask = forceTask;
}

public boolean needsUpdate(final Cursor cursor) {
Expand Down Expand Up @@ -187,8 +191,4 @@ public Uri getUri() {
return mUri;
}

public static final class QueryParameters {
public static final String FORCE_TASK = "forceTask";
}

}
12 changes: 10 additions & 2 deletions task/src/main/java/mobi/liason/mvvm/task/TaskService.java
Original file line number Diff line number Diff line change
Expand Up @@ -64,11 +64,17 @@ private void handleOnStart(Intent intent) {
return;

final String uriString = intent.getStringExtra(EXTRAS.URI);
final boolean forceTask = intent.getBooleanExtra(EXTRAS.FORCE_TASK, false);
final Uri uri = Uri.parse(uriString);
final int code = mURIMatcher.match(uri);
final Context context = getApplicationContext();
final String authority = getAuthority(context);
final Task task = getTask(context, authority, uri, code);
task.setForceTask(forceTask);
runTask(task);
}

public void runTask(final Task task) {
if (task == null) {
return;
}
Expand All @@ -87,6 +93,7 @@ public void onDestroy() {

protected static final class EXTRAS {
public static final String URI = "uri";
public static final String FORCE_TASK = "forceTask";
}

public static <T extends Task> T createTask(final Context context, final String authority, final Uri uri, final Class<T> klass) {
Expand Down Expand Up @@ -114,10 +121,11 @@ public static void startTask(final Context context, final Uri uri, final Class k
}

public static void forceStartTask(final Context context, final Uri uri, final Class klass) {
final Uri forcedUri = uri.buildUpon().appendQueryParameter(Task.QueryParameters.FORCE_TASK, Boolean.toString(true)).build();
final String uriString = forcedUri.toString();
final String uriString = uri.toString();
final Intent intent = new Intent(context, klass);
intent.putExtra(EXTRAS.URI, uriString);
intent.putExtra(EXTRAS.FORCE_TASK, true);

context.startService(intent);
}

Expand Down

0 comments on commit 8566051

Please sign in to comment.