Remove help info popover

Alex Baker 13 years ago
parent 41f736a6a6
commit a71565db26

@ -62,7 +62,6 @@ import com.todoroo.astrid.tags.TagMemberMetadata;
import com.todoroo.astrid.tags.TagService;
import com.todoroo.astrid.utility.AstridPreferences;
import com.todoroo.astrid.utility.ResourceDrawableCache;
import com.todoroo.astrid.welcome.HelpInfoPopover;
import org.json.JSONArray;
import org.json.JSONException;

@ -80,7 +80,6 @@ import com.todoroo.astrid.tags.TaskToTagMetadata;
import com.todoroo.astrid.utility.AstridPreferences;
import com.todoroo.astrid.utility.Flags;
import com.todoroo.astrid.utility.ResourceDrawableCache;
import com.todoroo.astrid.welcome.HelpInfoPopover;
import org.json.JSONArray;
import org.json.JSONException;
@ -212,20 +211,6 @@ public class TagViewFragment extends TaskListFragment {
return R.layout.task_list_body_tag;
}
private void showListSettingsPopover() {
if (!AstridPreferences.canShowPopover()) {
return;
}
if (!Preferences.getBoolean(R.string.p_showed_list_settings_help, false)) {
Preferences.setBoolean(R.string.p_showed_list_settings_help, true);
View tabView = getView().findViewById(R.id.members_edit);
if (tabView != null) {
HelpInfoPopover.showPopover(getActivity(), tabView,
R.string.help_popover_list_settings, null);
}
}
}
@Override
protected void addSyncRefreshMenuItem(Menu menu, int themeFlags) {
if (actFmPreferenceService.isLoggedIn()) {
@ -764,7 +749,6 @@ public class TagViewFragment extends TaskListFragment {
IntentFilter intentFilter = new IntentFilter(BROADCAST_TAG_ACTIVITY);
getActivity().registerReceiver(notifyReceiver, intentFilter);
showListSettingsPopover();
updateCommentCount();
}

@ -1,41 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
** Copyright (c) 2012 Todoroo Inc
**
** See the file "LICENSE" for the full license governing this code.
-->
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:id="@+id/gdi_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/gdi_arrow_up"
android:gravity="center"
android:textColor="@android:color/white"
android:textSize="18sp"
android:textStyle="bold"
android:background="@drawable/popover_bg"
android:fadingEdgeLength="0dp"/>
<ImageView
android:id="@+id/gdi_arrow_up"
android:layout_marginBottom="-18dip"
android:layout_width="27dip"
android:layout_height="27dip"
android:scaleType="fitCenter"
android:src="@drawable/popover_arrow_up"/>
<ImageView
android:id="@+id/gdi_arrow_down"
android:layout_width="27dip"
android:layout_height="27dip"
android:scaleType="fitCenter"
android:layout_below="@id/gdi_message"
android:layout_marginTop="-19dip"
android:src="@drawable/popover_arrow_down"/>
</RelativeLayout>

@ -1,41 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
** Copyright (c) 2012 Todoroo Inc
**
** See the file "LICENSE" for the full license governing this code.
-->
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:id="@+id/gdi_message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/gdi_arrow_up"
android:gravity="center"
android:textColor="@android:color/white"
android:textSize="18sp"
android:textStyle="bold"
android:background="@drawable/popover_bg"
android:fadingEdgeLength="0dp"/>
<ImageView
android:id="@+id/gdi_arrow_up"
android:layout_marginBottom="-15dip"
android:layout_width="27dip"
android:layout_height="27dip"
android:scaleType="fitCenter"
android:src="@drawable/popover_arrow_up"/>
<ImageView
android:id="@+id/gdi_arrow_down"
android:layout_width="27dip"
android:layout_height="27dip"
android:scaleType="fitCenter"
android:layout_below="@id/gdi_message"
android:layout_marginTop="-16dip"
android:src="@drawable/popover_arrow_down"/>
</RelativeLayout>

@ -55,7 +55,6 @@ import com.todoroo.astrid.api.FilterWithUpdate;
import com.todoroo.astrid.tags.TagService;
import com.todoroo.astrid.tags.TagsPlugin;
import com.todoroo.astrid.utility.AstridPreferences;
import com.todoroo.astrid.welcome.HelpInfoPopover;
/**
* Activity that displays a user's task lists and allows users
@ -448,11 +447,6 @@ public class FilterListFragment extends SherlockListFragment {
adapter.getLists();
}
public void showAddListPopover() {
View anchor = getView().findViewById(R.id.new_list_button);
HelpInfoPopover.showPopover(getActivity(), anchor, R.string.help_popover_add_lists, null);
}
/**
* Receiver which receives refresh intents
*

@ -102,7 +102,6 @@ import com.todoroo.astrid.ui.FeedbackPromptDialogs;
import com.todoroo.astrid.ui.QuickAddBar;
import com.todoroo.astrid.utility.AstridPreferences;
import com.todoroo.astrid.utility.Flags;
import com.todoroo.astrid.welcome.HelpInfoPopover;
import com.todoroo.astrid.widget.TasksWidget;
import java.util.List;
@ -695,13 +694,6 @@ public class TaskListFragment extends SherlockListFragment implements OnSortSele
setUpBackgroundJobs();
if (!Preferences.getBoolean(R.string.p_showed_add_task_help, false)) {
showTaskCreateHelpPopover();
} else if (!Preferences.getBoolean(R.string.p_showed_tap_task_help, false)) {
showTaskEditHelpPopover();
} else if (!Preferences.getBoolean(R.string.p_showed_lists_help, false)) {
showListsHelp();
}
refreshFilterCount();
initiateAutomaticSync();
@ -906,11 +898,6 @@ public class TaskListFragment extends SherlockListFragment implements OnSortSele
@Override
public void run() {
Activity activity = getActivity();
if (activity != null) {
HelpInfoPopover.showPopover(getActivity(), quickAddBar.getQuickAddBox(),
R.string.help_popover_add_task, null);
Preferences.setBoolean(R.string.p_showed_add_task_help, true);
}
}
}, 1000);
}
@ -1105,74 +1092,6 @@ public class TaskListFragment extends SherlockListFragment implements OnSortSele
}
}
private void showTaskCreateHelpPopover() {
if (!AstridPreferences.canShowPopover()) {
return;
}
if (!Preferences.getBoolean(R.string.p_showed_add_task_help, false)) {
Preferences.setBoolean(R.string.p_showed_add_task_help, true);
HelpInfoPopover.showPopover(getActivity(), quickAddBar.getQuickAddBox(),
R.string.help_popover_add_task, null);
}
}
public void showTaskEditHelpPopover() {
if (!AstridPreferences.canShowPopover()) {
return;
}
if (!Preferences.getBoolean(R.string.p_showed_tap_task_help, false)) {
quickAddBar.hideKeyboard();
getListView().postDelayed(new Runnable() {
@Override
public void run() {
try {
if (taskAdapter != null && taskAdapter.getCount() > 0) {
final View view = getListView().getChildAt(
getListView().getChildCount() - 1);
if (view != null) {
Activity activity = getActivity();
if (activity != null) {
HelpInfoPopover.showPopover(getActivity(), view,
R.string.help_popover_tap_task, null);
Preferences.setBoolean(R.string.p_showed_tap_task_help, true);
}
}
}
} catch (IllegalStateException e) {
// Whoops, view is gone. Try again later
}
}
}, 1000L);
}
}
private void showListsHelp() {
if (!AstridPreferences.canShowPopover()) {
return;
}
if (!Preferences.getBoolean(
R.string.p_showed_lists_help, false)) {
AstridActivity activity = (AstridActivity) getActivity();
if (activity != null) {
if (AstridPreferences.useTabletLayout(activity)) {
FilterListFragment flf = activity.getFilterListFragment();
if (flf != null) {
flf.showAddListPopover();
}
} else {
ActionBar ab = activity.getSupportActionBar();
View anchor = ab.getCustomView().findViewById(R.id.lists_nav);
HelpInfoPopover.showPopover(activity,
anchor, R.string.help_popover_switch_lists, null);
}
Preferences.setBoolean(
R.string.p_showed_lists_help,
true);
}
}
}
/*
* ======================================================================
* ============================================================== actions

@ -295,10 +295,6 @@ public class QuickAddBar extends LinearLayout {
addToCalendar(task, title);
if (!TextUtils.isEmpty(title)) {
fragment.showTaskEditHelpPopover();
}
TextView quickAdd = (TextView) findViewById(R.id.quickAddText);
quickAdd.setText(""); //$NON-NLS-1$

@ -1,107 +0,0 @@
/**
* Copyright (c) 2012 Todoroo Inc
*
* See the file "LICENSE" for the full license governing this code.
*/
package com.todoroo.astrid.welcome;
import android.app.Activity;
import android.content.Context;
import android.graphics.Rect;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import android.widget.TextView;
import com.timsu.astrid.R;
import com.todoroo.astrid.utility.AstridPreferences;
import java.util.List;
import greendroid.widget.QuickAction;
import greendroid.widget.QuickActionWidget;
/**
* Displays a popover with some help text for first time users.
*
* @author Sam Bosley <sam@astrid.com>
*/
public class HelpInfoPopover extends QuickActionWidget {
public static HelpInfoPopover showPopover(final Activity activity, final View parent,
final int textId, OnDismissListener dismissListener) {
final HelpInfoPopover toShow = new HelpInfoPopover(activity, textId);
if (dismissListener != null) {
toShow.setOnDismissListener(dismissListener);
}
parent.postDelayed(new Runnable() {
@Override
public void run() {
try {
toShow.show(parent);
} catch (Exception e) {
//Activity wasn't running or something like that
}
}
}, 250);
return toShow;
}
private final boolean tablet;
private int measuredWidth;
private HelpInfoPopover(Context context, int textId) {
super(context);
setContentView(R.layout.help_popover);
TextView message = (TextView) getContentView().findViewById(R.id.gdi_message);
message.setText(textId);
setFocusable(false);
setTouchable(true);
measuredWidth = -1; // uninitialized
tablet = AstridPreferences.useTabletLayout(context);
}
@Override
protected void populateQuickActions(List<QuickAction> quickActions) {
// Do nothing
}
@Override
protected int getArrowLeftMargin(View arrow) {
if (measuredWidth > 0) {
return (measuredWidth - arrow.getMeasuredWidth()) / 2;
}
if (tablet) {
return mRect.width() / 4;
}
return mRect.width() / 2;
}
@Override
protected int getShowAtX() {
if (measuredWidth > 0) {
return mRect.left + (mRect.width() - measuredWidth) / 2;
}
return mRect.left;
}
@Override
protected void onMeasureAndLayout(Rect anchorRect, View contentView) {
contentView.setLayoutParams(new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
contentView.measure(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
int rootHeight = contentView.getMeasuredHeight();
measuredWidth = contentView.getMeasuredWidth();
int offsetY = getArrowOffsetY();
int dyTop = anchorRect.top;
int dyBottom = getScreenHeight() - anchorRect.bottom;
boolean onTop = dyTop > dyBottom;
int popupY = onTop ? anchorRect.top - rootHeight + offsetY : anchorRect.bottom - offsetY;
setWidgetSpecs(popupY, onTop);
}
}
Loading…
Cancel
Save