diff --git a/astrid/res/layout/feedback_prompt.xml b/astrid/res/layout/feedback_prompt.xml
index 13eb5b6c8..9564921cf 100644
--- a/astrid/res/layout/feedback_prompt.xml
+++ b/astrid/res/layout/feedback_prompt.xml
@@ -1,9 +1,10 @@
+ android:text="@string/feedback_banner_text"/>
-
-
-
\ No newline at end of file
diff --git a/astrid/res/values/strings-core.xml b/astrid/res/values/strings-core.xml
index e5ea0ee17..1c1abd315 100644
--- a/astrid/res/values/strings-core.xml
+++ b/astrid/res/values/strings-core.xml
@@ -989,6 +989,8 @@ Astrid is open-source and proudly maintained by Todoroo, Inc.
Not now
+ How\'s Astrid working for you?
+
It looks like you are using an app that can kill processes (%s)! If you can,
diff --git a/astrid/src/com/todoroo/astrid/activity/TaskListFragment.java b/astrid/src/com/todoroo/astrid/activity/TaskListFragment.java
index 9e612ff50..ef81a3bff 100644
--- a/astrid/src/com/todoroo/astrid/activity/TaskListFragment.java
+++ b/astrid/src/com/todoroo/astrid/activity/TaskListFragment.java
@@ -44,7 +44,7 @@ import android.widget.AbsListView.OnScrollListener;
import android.widget.AdapterView;
import android.widget.AdapterView.AdapterContextMenuInfo;
import android.widget.AdapterView.OnItemClickListener;
-import android.widget.FrameLayout;
+import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
@@ -719,47 +719,38 @@ public class TaskListFragment extends SherlockListFragment implements OnScrollLi
if (!(this instanceof TagViewFragment) &&
(DateUtilities.now() - Preferences.getLong(PREF_LAST_FEEDBACK_TIME, 0)) > FEEDBACK_TIME_INTERVAL &&
taskService.getUserActivationStatus()) {
- final FrameLayout root = (FrameLayout) getView();
- final View feedbackPrompt = getActivity().getLayoutInflater().inflate(R.layout.feedback_prompt, root, false);
+ final LinearLayout root = (LinearLayout) getView().findViewById(R.id.taskListParent);
+ if (root.findViewById(R.id.feedback_banner) == null) {
+ final View feedbackPrompt = getActivity().getLayoutInflater().inflate(R.layout.feedback_prompt, root, false);
- feedbackPrompt.findViewById(R.id.dismiss).setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- try {
- root.removeView(feedbackPrompt);
- } catch (Exception e) {
- //
- }
- }
- });
-
- feedbackPrompt.findViewById(R.id.positiveFeedback).setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- try {
- root.removeView(feedbackPrompt);
- FeedbackPromptDialogs.showFeedbackDialog((AstridActivity) getActivity(), true);
- Preferences.setLong(PREF_LAST_FEEDBACK_TIME, DateUtilities.now());
- } catch (Exception e) {
- e.printStackTrace();
+ feedbackPrompt.findViewById(R.id.positiveFeedback).setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ try {
+ root.removeView(feedbackPrompt);
+ FeedbackPromptDialogs.showFeedbackDialog((AstridActivity) getActivity(), true);
+ // Preferences.setLong(PREF_LAST_FEEDBACK_TIME, DateUtilities.now());
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
}
- }
- });
+ });
- feedbackPrompt.findViewById(R.id.negativeFeedback).setOnClickListener(new OnClickListener() {
- @Override
- public void onClick(View v) {
- try {
- root.removeView(feedbackPrompt);
- FeedbackPromptDialogs.showFeedbackDialog((AstridActivity) getActivity(), false);
- Preferences.setLong(PREF_LAST_FEEDBACK_TIME, DateUtilities.now());
- } catch (Exception e) {
- e.printStackTrace();
+ feedbackPrompt.findViewById(R.id.negativeFeedback).setOnClickListener(new OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ try {
+ root.removeView(feedbackPrompt);
+ FeedbackPromptDialogs.showFeedbackDialog((AstridActivity) getActivity(), false);
+ // Preferences.setLong(PREF_LAST_FEEDBACK_TIME, DateUtilities.now());
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
}
- }
- });
+ });
- root.addView(feedbackPrompt);
+ root.addView(feedbackPrompt, 0);
+ }
}
}