Make reminders pop up a dialog after opening app instead of embedded layout

pull/14/head
Sam Bosley 14 years ago
parent 64952ca9bb
commit 6505ad97c6

@ -31,19 +31,17 @@ import android.content.Intent;
import android.os.Bundle; import android.os.Bundle;
import android.view.LayoutInflater; import android.view.LayoutInflater;
import android.view.View; import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.FrameLayout; import android.widget.FrameLayout;
import android.widget.LinearLayout; import android.widget.LinearLayout;
import android.widget.Spinner; import android.widget.Spinner;
import android.widget.TextView;
import android.widget.TimePicker; import android.widget.TimePicker;
import android.widget.Toast;
import com.timsu.astrid.R; import com.timsu.astrid.R;
import com.todoroo.andlib.sql.QueryTemplate; import com.todoroo.andlib.sql.QueryTemplate;
import com.todoroo.andlib.utility.DateUtilities; import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.andlib.utility.Preferences; import com.todoroo.andlib.utility.Preferences;
import com.todoroo.astrid.activity.AstridActivity;
import com.todoroo.astrid.activity.TaskListActivity;
import com.todoroo.astrid.activity.TaskListFragment; import com.todoroo.astrid.activity.TaskListFragment;
import com.todoroo.astrid.api.Filter; import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.core.PluginServices; import com.todoroo.astrid.core.PluginServices;
@ -87,7 +85,6 @@ public class NotificationFragment extends TaskListFragment implements OnTimeSetL
public void onActivityCreated(Bundle savedInstanceState) { public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState); super.onActivityCreated(savedInstanceState);
displayNotificationPopup();
} }
@Override @Override
@ -98,6 +95,7 @@ public class NotificationFragment extends TaskListFragment implements OnTimeSetL
@Override @Override
protected void onNewIntent(Intent intent) { protected void onNewIntent(Intent intent) {
populateFilter(intent); populateFilter(intent);
displayNotificationPopup();
super.onNewIntent(intent); super.onNewIntent(intent);
} }
@ -111,6 +109,8 @@ public class NotificationFragment extends TaskListFragment implements OnTimeSetL
new QueryTemplate().where(TaskCriteria.byId(taskId)), new QueryTemplate().where(TaskCriteria.byId(taskId)),
null); null);
intent.putExtra(TaskListFragment.TOKEN_FILTER, itemFilter); intent.putExtra(TaskListFragment.TOKEN_FILTER, itemFilter);
if (getActivity() instanceof TaskListActivity) // Title was already set before this fragment took over; set it again
((TaskListActivity) getActivity()).setListsTitle(itemFilter.title);
} }
/** /**
@ -120,48 +120,8 @@ public class NotificationFragment extends TaskListFragment implements OnTimeSetL
// hide quick add // hide quick add
getView().findViewById(R.id.taskListFooter).setVisibility(View.GONE); getView().findViewById(R.id.taskListFooter).setVisibility(View.GONE);
// instantiate reminder window String title = getActivity().getIntent().getStringExtra(Notifications.EXTRAS_TEXT);
ViewGroup parent = (ViewGroup) getView().findViewById(R.id.taskListParent); new ReminderDialog((AstridActivity) getActivity(), taskId, title).show();
getActivity().getLayoutInflater().inflate(R.layout.astrid_reminder_view, parent, true);
getView().findViewById(R.id.reminder_root).setBackgroundResource(R.color.reminder_background);
String reminder = Notifications.getRandomReminder(getResources().getStringArray(R.array.reminder_responses));
if(Preferences.getBoolean(R.string.p_rmd_nagging, true))
((TextView)getView().findViewById(R.id.reminder_message)).setText(reminder);
else {
getView().findViewById(R.id.reminder_message).setVisibility(View.GONE);
getView().findViewById(R.id.astridIcon).setVisibility(View.GONE);
getView().findViewById(R.id.speech_bubble_content).setVisibility(View.GONE);
}
getView().findViewById(R.id.reminder_edit).setVisibility(View.GONE);
// set up listeners
getView().findViewById(R.id.dismiss).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
getActivity().finish();
}
});
getView().findViewById(R.id.reminder_snooze).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
snooze(getActivity(), NotificationFragment.this, NotificationFragment.this);
}
});
getView().findViewById(R.id.reminder_complete).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Task task = new Task();
task.setId(taskId);
PluginServices.getTaskService().setComplete(task, true);
Toast.makeText(getActivity(), R.string.rmd_NoA_completed_toast, Toast.LENGTH_LONG).show();
getActivity().finish();
}
});
} }
public static class SnoozeDialog extends FrameLayout implements DialogInterface.OnClickListener { public static class SnoozeDialog extends FrameLayout implements DialogInterface.OnClickListener {

@ -177,6 +177,7 @@ public class Notifications extends BroadcastReceiver {
Intent notifyIntent = new Intent(context, TaskListActivity.class); Intent notifyIntent = new Intent(context, TaskListActivity.class);
notifyIntent.setAction("NOTIFY" + id); //$NON-NLS-1$ notifyIntent.setAction("NOTIFY" + id); //$NON-NLS-1$
notifyIntent.putExtra(NotificationFragment.TOKEN_ID, id); notifyIntent.putExtra(NotificationFragment.TOKEN_ID, id);
notifyIntent.putExtra(EXTRAS_TEXT, text);
notifyIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_MULTIPLE_TASK); notifyIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
notifyIntent.putExtra(TaskListFragment.TOKEN_SOURCE, Constants.SOURCE_NOTIFICATION); notifyIntent.putExtra(TaskListFragment.TOKEN_SOURCE, Constants.SOURCE_NOTIFICATION);

@ -225,7 +225,7 @@ public class TaskListActivity extends AstridActivity implements MainMenuListener
setupTasklistFragmentWithFilter(savedFilter); setupTasklistFragmentWithFilter(savedFilter);
if (savedFilter != null) if (savedFilter != null)
lists.setText(savedFilter.title); setListsTitle(savedFilter.title);
if (!Flags.checkAndClear(Flags.TLA_DISMISSED_FROM_TASK_EDIT)) { if (!Flags.checkAndClear(Flags.TLA_DISMISSED_FROM_TASK_EDIT)) {
TaskEditFragment tea = getTaskEditFragment(); TaskEditFragment tea = getTaskEditFragment();
@ -234,6 +234,10 @@ public class TaskListActivity extends AstridActivity implements MainMenuListener
} }
} }
public void setListsTitle(String title) {
lists.setText(title);
}
@Override @Override
protected void onPause() { protected void onPause() {
super.onPause(); super.onPause();

Loading…
Cancel
Save