Fix launching task from widget with custom intent

pull/384/head
Alex Baker 9 years ago
parent 1b13ea7ac1
commit 167ec840f3

@ -28,7 +28,6 @@ import com.todoroo.andlib.data.Callback;
import com.todoroo.andlib.sql.Criterion;
import com.todoroo.andlib.sql.QueryTemplate;
import com.todoroo.andlib.utility.AndroidUtilities;
import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.astrid.actfm.FilterSettingsActivity;
import com.todoroo.astrid.actfm.TagSettingsActivity;
import com.todoroo.astrid.actfm.TagViewFragment;
@ -703,14 +702,18 @@ public class TaskListActivity extends InjectingAppCompatActivity implements
}
protected Bundle configureIntentAndExtrasWithFilter(Intent intent, Filter filter) {
Bundle extras;
if(filter instanceof FilterWithCustomIntent) {
int lastSelectedList = intent.getIntExtra(NavigationDrawerFragment.TOKEN_LAST_SELECTED, 0);
intent = ((FilterWithCustomIntent)filter).getCustomIntent();
intent.putExtra(NavigationDrawerFragment.TOKEN_LAST_SELECTED, lastSelectedList);
setIntent(intent);
Intent customIntent = ((FilterWithCustomIntent)filter).getCustomIntent();
customIntent.putExtra(NavigationDrawerFragment.TOKEN_LAST_SELECTED, intent.getIntExtra(NavigationDrawerFragment.TOKEN_LAST_SELECTED, 0));
if (intent.hasExtra(OPEN_TASK)) {
customIntent.putExtra(OPEN_TASK, intent.getLongExtra(OPEN_TASK, 0));
}
setIntent(customIntent);
extras = customIntent.getExtras();
} else {
extras = intent.getExtras();
}
Bundle extras = intent.getExtras();
if (extras != null) {
extras = (Bundle) extras.clone();
}

@ -1,6 +1,5 @@
package org.tasks.widget;
import android.annotation.TargetApi;
import android.app.PendingIntent;
import android.appwidget.AppWidgetManager;
import android.content.ComponentName;
@ -8,7 +7,6 @@ import android.content.ContentValues;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.widget.RemoteViews;
@ -54,7 +52,6 @@ public class WidgetHelper {
this.alarmManager = alarmManager;
}
@TargetApi(Build.VERSION_CODES.ICE_CREAM_SANDWICH)
public RemoteViews createScrollableWidget(Context context, int id) {
Intent intent = new Intent(context, ScrollableWidgetUpdateService.class);
PendingIntent pendingIntent = PendingIntent.getService(context, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);
@ -116,17 +113,14 @@ public class WidgetHelper {
listIntent.putExtras(((FilterWithCustomIntent) filter).customExtras);
}
return PendingIntent.getActivity(context, widgetId,
listIntent, PendingIntent.FLAG_CANCEL_CURRENT);
return PendingIntent.getActivity(context, widgetId, listIntent, PendingIntent.FLAG_CANCEL_CURRENT);
}
private PendingIntent getEditTaskIntent(Context context, Filter filter, int widgetId) {
Intent intent = new Intent(context, TasksWidget.class);
if (context.getResources().getBoolean(R.bool.two_pane_layout)) {
if (filter != null && filter instanceof FilterWithCustomIntent) {
Bundle customExtras = ((FilterWithCustomIntent) filter).customExtras;
intent.putExtras(customExtras);
}
if (filter != null && filter instanceof FilterWithCustomIntent) {
Bundle customExtras = ((FilterWithCustomIntent) filter).customExtras;
intent.putExtras(customExtras);
}
return PendingIntent.getBroadcast(context, -widgetId, intent, 0);
}

Loading…
Cancel
Save