From 64f99309f01b54bb3bbe379486acc84f025ef119 Mon Sep 17 00:00:00 2001 From: Sam Bosley Date: Thu, 11 Apr 2013 11:33:22 -0700 Subject: [PATCH] Polish to the feedback banner --- astrid/res/layout/feedback_prompt.xml | 16 ++--- astrid/res/values/strings-core.xml | 2 + .../astrid/activity/TaskListFragment.java | 65 ++++++++----------- 3 files changed, 34 insertions(+), 49 deletions(-) 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); + } } }