@Override MessageEditorData executeAsync(MyAccount ma, long msgId) { String body = MyQuery.msgIdToStringColumnValue(MyDatabase.Msg.BODY, msgId); if (ma.getOrigin().isHtmlContentAllowed()) { body = MyHtml.fromHtml(body); } return MessageEditorData.newEmpty(ma).setBody(body); }
@Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { final String method = "onCreateContextMenu"; super.onCreateContextMenu(menu, v, menuInfo); if (getViewItem() == null) { return; } MyAccount myActor = getMyActor(); if (!myActor.isValid() || !myActor.getOrigin().equals(getOrigin())) { setMyActor(getMyContext().persistentAccounts().getFirstSucceededForOrigin(getOrigin())); } int order = 0; try { new ContextMenuHeader(getActivity(), menu) .setTitle(getViewItem().mbUser.toUserTitle(false)) .setSubtitle(getMyActor().getAccountName()); String shortName = getViewItem().mbUser.getUserName(); if (getViewItem().mbUser.isIdentified()) { UserListContextMenuItem.USER_MESSAGES.addTo( menu, order++, String.format( getActivity().getText(R.string.menu_item_user_messages).toString(), shortName)); UserListContextMenuItem.FRIENDS.addTo( menu, order++, String.format(getActivity().getText(R.string.friends_of).toString(), shortName)); UserListContextMenuItem.FOLLOWERS.addTo( menu, order++, String.format(getActivity().getText(R.string.followers_of).toString(), shortName)); if (getViewItem().userIsFollowedBy(getMyActor())) { UserListContextMenuItem.STOP_FOLLOWING.addTo( menu, order++, String.format( getActivity().getText(R.string.menu_item_stop_following_user).toString(), shortName)); } else if (getViewItem().getUserId() != getMyActor().getUserId()) { UserListContextMenuItem.FOLLOW.addTo( menu, order++, String.format( getActivity().getText(R.string.menu_item_follow_user).toString(), shortName)); } switch (getMyActor().numberOfAccountsOfThisOrigin()) { case 0: case 1: break; case 2: UserListContextMenuItem.ACT_AS_FIRST_OTHER_USER.addTo( menu, order++, String.format( getActivity().getText(R.string.menu_item_act_as_user).toString(), getMyActor() .firstOtherAccountOfThisOrigin() .getShortestUniqueAccountName(getMyContext()))); break; default: UserListContextMenuItem.ACT_AS.addTo(menu, order++, R.string.menu_item_act_as); break; } } UserListContextMenuItem.GET_USER.addTo(menu, order++, R.string.get_user); } catch (Exception e) { MyLog.e(this, method, e); } }