SL-20163 Rework LLAvatarPropertiesProcessor::sendRequest()
parent
fa09db746a
commit
702e4c7dc1
|
|
@ -294,7 +294,7 @@ bool LLAvatarIconCtrl::updateFromCache()
|
|||
//virtual
|
||||
void LLAvatarIconCtrl::processProperties(void* data, EAvatarProcessorType type)
|
||||
{
|
||||
if (APT_PROPERTIES == type)
|
||||
if (APT_PROPERTIES_LEGACY == type)
|
||||
{
|
||||
LLAvatarData* avatar_data = static_cast<LLAvatarData*>(data);
|
||||
if (avatar_data)
|
||||
|
|
|
|||
|
|
@ -114,32 +114,32 @@ void LLAvatarPropertiesProcessor::sendRequest(const LLUUID& avatar_id, EAvatarPr
|
|||
return;
|
||||
}
|
||||
|
||||
std::string cap;
|
||||
|
||||
switch (type)
|
||||
// Try to send HTTP request if cap_url is available
|
||||
if (type == APT_PROPERTIES || type == APT_PICKS || type == APT_GROUPS || type == APT_NOTES)
|
||||
{
|
||||
std::string cap_url(gAgent.getRegionCapability("AgentProfile"));
|
||||
if (!cap_url.empty())
|
||||
{
|
||||
initAgentProfileCapRequest(avatar_id, cap_url, type);
|
||||
return;
|
||||
}
|
||||
|
||||
// Don't sent UDP request for APT_PROPERTIES
|
||||
if (type == APT_PROPERTIES)
|
||||
{
|
||||
LL_WARNS() << "No cap_url for APT_PROPERTIES, request is not sent" << LL_ENDL;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Send UDP request
|
||||
if (type == APT_PROPERTIES_LEGACY)
|
||||
{
|
||||
case APT_PROPERTIES:
|
||||
// indicate we're going to make a request
|
||||
sendAvatarPropertiesRequestMessage(avatar_id);
|
||||
// can use getRegionCapability("AgentProfile"), but it is heavy
|
||||
// initAgentProfileCapRequest(avatar_id, cap);
|
||||
break;
|
||||
case APT_PICKS:
|
||||
case APT_GROUPS:
|
||||
case APT_NOTES:
|
||||
if (cap.empty())
|
||||
{
|
||||
// indicate we're going to make a request
|
||||
sendGenericRequest(avatar_id, type, method);
|
||||
}
|
||||
else
|
||||
{
|
||||
initAgentProfileCapRequest(avatar_id, cap);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
}
|
||||
else
|
||||
{
|
||||
sendGenericRequest(avatar_id, type, method);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -155,7 +155,7 @@ void LLAvatarPropertiesProcessor::sendGenericRequest(const LLUUID& avatar_id, EA
|
|||
|
||||
void LLAvatarPropertiesProcessor::sendAvatarPropertiesRequestMessage(const LLUUID& avatar_id)
|
||||
{
|
||||
addPendingRequest(avatar_id, APT_PROPERTIES);
|
||||
addPendingRequest(avatar_id, APT_PROPERTIES_LEGACY);
|
||||
|
||||
LLMessageSystem *msg = gMessageSystem;
|
||||
|
||||
|
|
@ -167,19 +167,16 @@ void LLAvatarPropertiesProcessor::sendAvatarPropertiesRequestMessage(const LLUUI
|
|||
gAgent.sendReliableMessage();
|
||||
}
|
||||
|
||||
void LLAvatarPropertiesProcessor::initAgentProfileCapRequest(const LLUUID& avatar_id, const std::string& cap_url)
|
||||
void LLAvatarPropertiesProcessor::initAgentProfileCapRequest(const LLUUID& avatar_id, const std::string& cap_url, EAvatarProcessorType type)
|
||||
{
|
||||
addPendingRequest(avatar_id, APT_PROPERTIES);
|
||||
addPendingRequest(avatar_id, APT_PICKS);
|
||||
addPendingRequest(avatar_id, APT_GROUPS);
|
||||
addPendingRequest(avatar_id, APT_NOTES);
|
||||
addPendingRequest(avatar_id, type);
|
||||
LLCoros::instance().launch("requestAgentUserInfoCoro",
|
||||
boost::bind(requestAvatarPropertiesCoro, cap_url, avatar_id));
|
||||
[cap_url, avatar_id, type]() { requestAvatarPropertiesCoro(cap_url, avatar_id, type); });
|
||||
}
|
||||
|
||||
void LLAvatarPropertiesProcessor::sendAvatarPropertiesRequest(const LLUUID& avatar_id)
|
||||
void LLAvatarPropertiesProcessor::sendAvatarPropertiesRequest(const LLUUID& avatar_id, bool use_cap)
|
||||
{
|
||||
sendRequest(avatar_id, APT_PROPERTIES, "AvatarPropertiesRequest");
|
||||
sendRequest(avatar_id, use_cap ? APT_PROPERTIES : APT_PROPERTIES_LEGACY, "AvatarPropertiesRequest");
|
||||
}
|
||||
|
||||
void LLAvatarPropertiesProcessor::sendAvatarPicksRequest(const LLUUID& avatar_id)
|
||||
|
|
@ -274,7 +271,7 @@ bool LLAvatarPropertiesProcessor::hasPaymentInfoOnFile(const LLAvatarData* avata
|
|||
}
|
||||
|
||||
// static
|
||||
void LLAvatarPropertiesProcessor::requestAvatarPropertiesCoro(std::string cap_url, LLUUID agent_id)
|
||||
void LLAvatarPropertiesProcessor::requestAvatarPropertiesCoro(std::string cap_url, LLUUID agent_id, EAvatarProcessorType type)
|
||||
{
|
||||
LLCore::HttpRequest::policy_t httpPolicy(LLCore::HttpRequest::DEFAULT_POLICY_ID);
|
||||
LLCoreHttpUtil::HttpCoroutineAdapter::ptr_t
|
||||
|
|
@ -289,6 +286,9 @@ void LLAvatarPropertiesProcessor::requestAvatarPropertiesCoro(std::string cap_ur
|
|||
|
||||
LLSD result = httpAdapter->getAndSuspend(httpRequest, finalUrl, httpOpts, httpHeaders);
|
||||
|
||||
// Response is being processed, no longer pending is required
|
||||
getInstance()->removePendingRequest(agent_id, type);
|
||||
|
||||
LLSD httpResults = result[LLCoreHttpUtil::HttpCoroutineAdapter::HTTP_RESULTS];
|
||||
LLCore::HttpStatus status = LLCoreHttpUtil::HttpCoroutineAdapter::getStatusFromLLSD(httpResults);
|
||||
|
||||
|
|
@ -300,114 +300,108 @@ void LLAvatarPropertiesProcessor::requestAvatarPropertiesCoro(std::string cap_ur
|
|||
<< (!status ? " (no HTTP status)" : !result.has("id") ? " (no result.id)" :
|
||||
std::string(" (result.id=") + result["id"].asUUID().asString() + ")")
|
||||
<< LL_ENDL;
|
||||
LLAvatarPropertiesProcessor* self = getInstance();
|
||||
self->removePendingRequest(agent_id, APT_PROPERTIES);
|
||||
self->removePendingRequest(agent_id, APT_PICKS);
|
||||
self->removePendingRequest(agent_id, APT_GROUPS);
|
||||
self->removePendingRequest(agent_id, APT_NOTES);
|
||||
return;
|
||||
}
|
||||
|
||||
// Avatar Data
|
||||
|
||||
LLAvatarData avatar_data;
|
||||
std::string birth_date;
|
||||
|
||||
avatar_data.agent_id = agent_id;
|
||||
avatar_data.avatar_id = agent_id;
|
||||
avatar_data.image_id = result["sl_image_id"].asUUID();
|
||||
avatar_data.fl_image_id = result["fl_image_id"].asUUID();
|
||||
avatar_data.partner_id = result["partner_id"].asUUID();
|
||||
avatar_data.about_text = result["sl_about_text"].asString();
|
||||
avatar_data.fl_about_text = result["fl_about_text"].asString();
|
||||
avatar_data.born_on = result["member_since"].asDate();
|
||||
avatar_data.hide_age = result["hide_age"].asBoolean();
|
||||
avatar_data.profile_url = getProfileURL(agent_id.asString());
|
||||
avatar_data.customer_type = result["customer_type"].asString();
|
||||
|
||||
avatar_data.flags = 0;
|
||||
if (result["online"].asBoolean())
|
||||
if (type == APT_PROPERTIES)
|
||||
{
|
||||
avatar_data.flags |= AVATAR_ONLINE;
|
||||
LLAvatarData avatar_data;
|
||||
|
||||
std::string birth_date;
|
||||
|
||||
avatar_data.agent_id = agent_id;
|
||||
avatar_data.avatar_id = agent_id;
|
||||
avatar_data.image_id = result["sl_image_id"].asUUID();
|
||||
avatar_data.fl_image_id = result["fl_image_id"].asUUID();
|
||||
avatar_data.partner_id = result["partner_id"].asUUID();
|
||||
avatar_data.about_text = result["sl_about_text"].asString();
|
||||
avatar_data.fl_about_text = result["fl_about_text"].asString();
|
||||
avatar_data.born_on = result["member_since"].asDate();
|
||||
// TODO: SL-20163 Remove the "has" check when SRV-684 is done
|
||||
// and the field "hide_age" is included to the http response
|
||||
avatar_data.hide_age = !result.has("hide_age") || result["hide_age"].asBoolean();
|
||||
avatar_data.profile_url = getProfileURL(agent_id.asString());
|
||||
avatar_data.customer_type = result["customer_type"].asString();
|
||||
|
||||
avatar_data.flags = 0;
|
||||
if (result["online"].asBoolean())
|
||||
{
|
||||
avatar_data.flags |= AVATAR_ONLINE;
|
||||
}
|
||||
if (result["allow_publish"].asBoolean())
|
||||
{
|
||||
avatar_data.flags |= AVATAR_ALLOW_PUBLISH;
|
||||
}
|
||||
if (result["identified"].asBoolean())
|
||||
{
|
||||
avatar_data.flags |= AVATAR_IDENTIFIED;
|
||||
}
|
||||
if (result["transacted"].asBoolean())
|
||||
{
|
||||
avatar_data.flags |= AVATAR_TRANSACTED;
|
||||
}
|
||||
|
||||
avatar_data.caption_index = 0;
|
||||
if (result.has("charter_member")) // won't be present if "caption" is set
|
||||
{
|
||||
avatar_data.caption_index = result["charter_member"].asInteger();
|
||||
}
|
||||
else if (result.has("caption"))
|
||||
{
|
||||
avatar_data.caption_text = result["caption"].asString();
|
||||
}
|
||||
|
||||
getInstance()->notifyObservers(agent_id, &avatar_data, type);
|
||||
}
|
||||
if (result["allow_publish"].asBoolean())
|
||||
else if (type == APT_PICKS)
|
||||
{
|
||||
avatar_data.flags |= AVATAR_ALLOW_PUBLISH;
|
||||
LLAvatarPicks avatar_picks;
|
||||
|
||||
avatar_picks.agent_id = agent_id; // Not in use?
|
||||
avatar_picks.target_id = agent_id;
|
||||
|
||||
LLSD picks_array = result["picks"];
|
||||
for (LLSD::array_const_iterator it = picks_array.beginArray(); it != picks_array.endArray(); ++it)
|
||||
{
|
||||
const LLSD& pick_data = *it;
|
||||
avatar_picks.picks_list.emplace_back(pick_data["id"].asUUID(), pick_data["name"].asString());
|
||||
}
|
||||
|
||||
getInstance()->notifyObservers(agent_id, &avatar_picks, type);
|
||||
}
|
||||
if (result["identified"].asBoolean())
|
||||
else if (type == APT_GROUPS)
|
||||
{
|
||||
avatar_data.flags |= AVATAR_IDENTIFIED;
|
||||
LLAvatarGroups avatar_groups;
|
||||
|
||||
avatar_groups.agent_id = agent_id; // Not in use?
|
||||
avatar_groups.avatar_id = agent_id; // target_id
|
||||
|
||||
LLSD groups_array = result["groups"];
|
||||
for (LLSD::array_const_iterator it = groups_array.beginArray(); it != groups_array.endArray(); ++it)
|
||||
{
|
||||
const LLSD& group_info = *it;
|
||||
LLAvatarGroups::LLGroupData group_data;
|
||||
group_data.group_powers = 0; // Not in use?
|
||||
group_data.group_title = group_info["name"].asString(); // Missing data, not in use?
|
||||
group_data.group_id = group_info["id"].asUUID();
|
||||
group_data.group_name = group_info["name"].asString();
|
||||
group_data.group_insignia_id = group_info["image_id"].asUUID();
|
||||
|
||||
avatar_groups.group_list.push_back(group_data);
|
||||
}
|
||||
|
||||
getInstance()->notifyObservers(agent_id, &avatar_groups, type);
|
||||
}
|
||||
if (result["transacted"].asBoolean())
|
||||
else if (type == APT_NOTES)
|
||||
{
|
||||
avatar_data.flags |= AVATAR_TRANSACTED;
|
||||
LLAvatarNotes avatar_notes;
|
||||
|
||||
avatar_notes.agent_id = agent_id;
|
||||
avatar_notes.target_id = agent_id;
|
||||
avatar_notes.notes = result["notes"].asString();
|
||||
|
||||
getInstance()->notifyObservers(agent_id, &avatar_notes, type);
|
||||
}
|
||||
|
||||
avatar_data.caption_index = 0;
|
||||
if (result.has("charter_member")) // won't be present if "caption" is set
|
||||
{
|
||||
avatar_data.caption_index = result["charter_member"].asInteger();
|
||||
}
|
||||
else if (result.has("caption"))
|
||||
{
|
||||
avatar_data.caption_text = result["caption"].asString();
|
||||
}
|
||||
|
||||
LLAvatarPropertiesProcessor* self = getInstance();
|
||||
// Request processed, no longer pending
|
||||
self->removePendingRequest(agent_id, APT_PROPERTIES);
|
||||
self->notifyObservers(agent_id, &avatar_data, APT_PROPERTIES);
|
||||
|
||||
// Picks
|
||||
|
||||
LLSD picks_array = result["picks"];
|
||||
LLAvatarPicks avatar_picks;
|
||||
avatar_picks.agent_id = agent_id; // Not in use?
|
||||
avatar_picks.target_id = agent_id;
|
||||
|
||||
for (LLSD::array_const_iterator it = picks_array.beginArray(); it != picks_array.endArray(); ++it)
|
||||
{
|
||||
const LLSD& pick_data = *it;
|
||||
avatar_picks.picks_list.emplace_back(pick_data["id"].asUUID(), pick_data["name"].asString());
|
||||
}
|
||||
|
||||
// Request processed, no longer pending
|
||||
self->removePendingRequest(agent_id, APT_PICKS);
|
||||
self->notifyObservers(agent_id, &avatar_picks, APT_PICKS);
|
||||
|
||||
// Groups
|
||||
|
||||
LLSD groups_array = result["groups"];
|
||||
LLAvatarGroups avatar_groups;
|
||||
avatar_groups.agent_id = agent_id; // Not in use?
|
||||
avatar_groups.avatar_id = agent_id; // target_id
|
||||
|
||||
for (LLSD::array_const_iterator it = groups_array.beginArray(); it != groups_array.endArray(); ++it)
|
||||
{
|
||||
const LLSD& group_info = *it;
|
||||
LLAvatarGroups::LLGroupData group_data;
|
||||
group_data.group_powers = 0; // Not in use?
|
||||
group_data.group_title = group_info["name"].asString(); // Missing data, not in use?
|
||||
group_data.group_id = group_info["id"].asUUID();
|
||||
group_data.group_name = group_info["name"].asString();
|
||||
group_data.group_insignia_id = group_info["image_id"].asUUID();
|
||||
|
||||
avatar_groups.group_list.push_back(group_data);
|
||||
}
|
||||
|
||||
self->removePendingRequest(agent_id, APT_GROUPS);
|
||||
self->notifyObservers(agent_id, &avatar_groups, APT_GROUPS);
|
||||
|
||||
// Notes
|
||||
LLAvatarNotes avatar_notes;
|
||||
|
||||
avatar_notes.agent_id = agent_id;
|
||||
avatar_notes.target_id = agent_id;
|
||||
avatar_notes.notes = result["notes"].asString();
|
||||
|
||||
// Request processed, no longer pending
|
||||
self->removePendingRequest(agent_id, APT_NOTES);
|
||||
self->notifyObservers(agent_id, &avatar_notes, APT_NOTES);
|
||||
}
|
||||
|
||||
void LLAvatarPropertiesProcessor::processAvatarPropertiesReply(LLMessageSystem* msg, void**)
|
||||
|
|
@ -443,8 +437,8 @@ void LLAvatarPropertiesProcessor::processAvatarPropertiesReply(LLMessageSystem*
|
|||
}
|
||||
LLAvatarPropertiesProcessor* self = getInstance();
|
||||
// Request processed, no longer pending
|
||||
self->removePendingRequest(avatar_data.avatar_id, APT_PROPERTIES);
|
||||
self->notifyObservers(avatar_data.avatar_id, &avatar_data, APT_PROPERTIES);
|
||||
self->removePendingRequest(avatar_data.avatar_id, APT_PROPERTIES_LEGACY);
|
||||
self->notifyObservers(avatar_data.avatar_id, &avatar_data, APT_PROPERTIES_LEGACY);
|
||||
}
|
||||
|
||||
void LLAvatarPropertiesProcessor::processAvatarInterestsReply(LLMessageSystem* msg, void**)
|
||||
|
|
|
|||
|
|
@ -50,7 +50,8 @@ class LLMessageSystem;
|
|||
|
||||
enum EAvatarProcessorType
|
||||
{
|
||||
APT_PROPERTIES,
|
||||
APT_PROPERTIES_LEGACY, // APT_PROPERTIES via udp request
|
||||
APT_PROPERTIES, // APT_PROPERTIES via http request
|
||||
APT_NOTES,
|
||||
APT_GROUPS,
|
||||
APT_PICKS,
|
||||
|
|
@ -210,7 +211,7 @@ public:
|
|||
|
||||
// Request various types of avatar data. Duplicate requests will be
|
||||
// suppressed while waiting for a response from the network.
|
||||
void sendAvatarPropertiesRequest(const LLUUID& avatar_id);
|
||||
void sendAvatarPropertiesRequest(const LLUUID& avatar_id, bool use_cap = false);
|
||||
void sendAvatarPicksRequest(const LLUUID& avatar_id);
|
||||
void sendAvatarNotesRequest(const LLUUID& avatar_id);
|
||||
void sendAvatarGroupsRequest(const LLUUID& avatar_id);
|
||||
|
|
@ -247,7 +248,7 @@ public:
|
|||
|
||||
static bool hasPaymentInfoOnFile(const LLAvatarData* avatar_data);
|
||||
|
||||
static void requestAvatarPropertiesCoro(std::string cap_url, LLUUID agent_id);
|
||||
static void requestAvatarPropertiesCoro(std::string cap_url, LLUUID agent_id, EAvatarProcessorType type);
|
||||
|
||||
static void processAvatarPropertiesReply(LLMessageSystem* msg, void**);
|
||||
|
||||
|
|
@ -267,10 +268,10 @@ public:
|
|||
|
||||
protected:
|
||||
|
||||
void sendRequest(const LLUUID& avatar_id, EAvatarProcessorType type, const std::string &method);
|
||||
void sendRequest(const LLUUID& avatar_id, EAvatarProcessorType type, const std::string &method);
|
||||
void sendGenericRequest(const LLUUID& avatar_id, EAvatarProcessorType type, const std::string &method);
|
||||
void sendAvatarPropertiesRequestMessage(const LLUUID& avatar_id);
|
||||
void initAgentProfileCapRequest(const LLUUID& avatar_id, const std::string& cap_url);
|
||||
void initAgentProfileCapRequest(const LLUUID& avatar_id, const std::string& cap_url, EAvatarProcessorType type);
|
||||
|
||||
void notifyObservers(const LLUUID& id,void* data, EAvatarProcessorType type);
|
||||
|
||||
|
|
|
|||
|
|
@ -354,7 +354,7 @@ LLFetchAvatarPaymentInfo::~LLFetchAvatarPaymentInfo()
|
|||
|
||||
void LLFetchAvatarPaymentInfo::processProperties(void* data, EAvatarProcessorType type)
|
||||
{
|
||||
if (data && type == APT_PROPERTIES)
|
||||
if (data && type == APT_PROPERTIES_LEGACY)
|
||||
{
|
||||
LLAvatarData* avatar_data = static_cast<LLAvatarData*>(data);
|
||||
LLFloaterBuyCurrency::handleBuyCurrency(LLAvatarPropertiesProcessor::hasPaymentInfoOnFile(avatar_data), mHasTarget, mName, mPrice);
|
||||
|
|
|
|||
|
|
@ -330,7 +330,7 @@ LLFloaterPreference::LLFloaterPreference(const LLSD& key)
|
|||
|
||||
void LLFloaterPreference::processProperties( void* pData, EAvatarProcessorType type )
|
||||
{
|
||||
if ( APT_PROPERTIES == type )
|
||||
if ( APT_PROPERTIES_LEGACY == type )
|
||||
{
|
||||
const LLAvatarData* pAvatarData = static_cast<const LLAvatarData*>( pData );
|
||||
if (pAvatarData && (gAgent.getID() == pAvatarData->avatar_id) && (pAvatarData->avatar_id != LLUUID::null))
|
||||
|
|
@ -636,7 +636,6 @@ void LLFloaterPreference::cancel()
|
|||
|
||||
void LLFloaterPreference::onOpen(const LLSD& key)
|
||||
{
|
||||
|
||||
// this variable and if that follows it are used to properly handle do not disturb mode response message
|
||||
static bool initialized = FALSE;
|
||||
// if user is logged in and we haven't initialized do not disturb mode response yet, do it
|
||||
|
|
|
|||
|
|
@ -124,7 +124,7 @@ public:
|
|||
processor->addObserver(mAvatarID, this);
|
||||
// send a request (duplicates will be suppressed inside the avatar
|
||||
// properties processor)
|
||||
processor->sendAvatarPropertiesRequest(mAvatarID);
|
||||
processor->sendAvatarPropertiesRequest(mAvatarID, true);
|
||||
}
|
||||
|
||||
~LLFetchAvatarData()
|
||||
|
|
@ -261,12 +261,15 @@ void LLInspectAvatar::requestUpdate()
|
|||
void LLInspectAvatar::processAvatarData(LLAvatarData* data)
|
||||
{
|
||||
LLStringUtil::format_map_t args;
|
||||
{
|
||||
std::string birth_date = LLTrans::getString("AvatarBirthDateFormat");
|
||||
LLStringUtil::format(birth_date, LLSD().with("datetime", (S32) data->born_on.secondsSinceEpoch()));
|
||||
args["[BORN_ON]"] = birth_date;
|
||||
}
|
||||
args["[AGE]"] = LLDateUtil::ageFromDate(data->born_on, LLDate::now());
|
||||
|
||||
std::string birth_date = LLTrans::getString(data->hide_age ?
|
||||
"AvatarBirthDateFormatShort" :
|
||||
"AvatarBirthDateFormatFull");
|
||||
LLStringUtil::format(birth_date, LLSD().with("datetime", (S32)data->born_on.secondsSinceEpoch()));
|
||||
args["[BORN_ON]"] = birth_date;
|
||||
args["[AGE]"] = data->hide_age ?
|
||||
LLStringUtilBase<char>::null :
|
||||
LLDateUtil::ageFromDate(data->born_on, LLDate::now());
|
||||
args["[SL_PROFILE]"] = data->about_text;
|
||||
args["[RW_PROFILE"] = data->fl_about_text;
|
||||
args["[ACCTTYPE]"] = LLAvatarPropertiesProcessor::accountType(data);
|
||||
|
|
|
|||
|
|
@ -145,9 +145,7 @@ void request_avatar_properties_coro(std::string cap_url, LLUUID agent_id)
|
|||
return;
|
||||
}
|
||||
|
||||
|
||||
// Avatar Data
|
||||
|
||||
LLAvatarData *avatar_data = &panel_profile->mAvatarData;
|
||||
std::string birth_date;
|
||||
|
||||
|
|
@ -191,7 +189,11 @@ void request_avatar_properties_coro(std::string cap_url, LLUUID agent_id)
|
|||
avatar_data->caption_text = result["caption"].asString();
|
||||
}
|
||||
|
||||
avatar_data->hide_age = result["hide_age"].asBoolean();
|
||||
// TODO: SL-20163 Remove the "has" check when SRV-684 is done
|
||||
// and the field "hide_age" is included to the http response
|
||||
avatar_data->hide_age = result.has("hide_age") ?
|
||||
result["hide_age"].asBoolean() : // Server option value provided by resident
|
||||
!panel_profile->getSelfProfile(); // Fallback temporary value (to be removed)
|
||||
|
||||
panel = floater_profile->findChild<LLPanel>(PANEL_SECONDLIFE, TRUE);
|
||||
LLPanelProfileSecondLife *panel_sl = dynamic_cast<LLPanelProfileSecondLife*>(panel);
|
||||
|
|
@ -215,7 +217,6 @@ void request_avatar_properties_coro(std::string cap_url, LLUUID agent_id)
|
|||
}
|
||||
|
||||
// Picks
|
||||
|
||||
LLSD picks_array = result["picks"];
|
||||
LLAvatarPicks avatar_picks;
|
||||
avatar_picks.agent_id = agent_id; // Not in use?
|
||||
|
|
@ -237,7 +238,6 @@ void request_avatar_properties_coro(std::string cap_url, LLUUID agent_id)
|
|||
}
|
||||
|
||||
// Groups
|
||||
|
||||
LLSD groups_array = result["groups"];
|
||||
LLAvatarGroups avatar_groups;
|
||||
avatar_groups.agent_id = agent_id; // Not in use?
|
||||
|
|
@ -312,7 +312,6 @@ LLUUID post_profile_image(std::string cap_url, const LLSD &first_data, std::stri
|
|||
}
|
||||
|
||||
// Upload the image
|
||||
|
||||
LLCore::HttpRequest::ptr_t uploaderhttpRequest(new LLCore::HttpRequest);
|
||||
LLCore::HttpHeaders::ptr_t uploaderhttpHeaders(new LLCore::HttpHeaders);
|
||||
LLCore::HttpOptions::ptr_t uploaderhttpOpts(new LLCore::HttpOptions);
|
||||
|
|
@ -982,7 +981,7 @@ void LLPanelProfileSecondLife::updateData()
|
|||
if (!cap_url.empty())
|
||||
{
|
||||
LLCoros::instance().launch("requestAgentUserInfoCoro",
|
||||
boost::bind(request_avatar_properties_coro, cap_url, avatar_id));
|
||||
[cap_url, avatar_id]() { request_avatar_properties_coro(cap_url, avatar_id); });
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -1058,7 +1057,6 @@ void LLPanelProfileSecondLife::processProfileProperties(const LLAvatarData* avat
|
|||
|
||||
void LLPanelProfileSecondLife::processGroupProperties(const LLAvatarGroups* avatar_groups)
|
||||
{
|
||||
|
||||
LLAvatarGroups::group_list_t::const_iterator it = avatar_groups->group_list.begin();
|
||||
const LLAvatarGroups::group_list_t::const_iterator it_end = avatar_groups->group_list.end();
|
||||
|
||||
|
|
@ -2420,7 +2418,7 @@ void LLPanelProfileNotes::updateData()
|
|||
if (!cap_url.empty())
|
||||
{
|
||||
LLCoros::instance().launch("requestAgentUserInfoCoro",
|
||||
boost::bind(request_avatar_properties_coro, cap_url, avatar_id));
|
||||
[cap_url, avatar_id]() { request_avatar_properties_coro(cap_url, avatar_id); });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2586,7 +2584,7 @@ void LLPanelProfile::updateData()
|
|||
if (!cap_url.empty())
|
||||
{
|
||||
LLCoros::instance().launch("requestAgentUserInfoCoro",
|
||||
boost::bind(request_avatar_properties_coro, cap_url, avatar_id));
|
||||
[cap_url, avatar_id]() { request_avatar_properties_coro(cap_url, avatar_id); });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3935,7 +3935,8 @@ Abuse Report</string>
|
|||
<string name="dance8">dance8</string>
|
||||
|
||||
<!-- birth date format shared by avatar inspector and profile panels -->
|
||||
<string name="AvatarBirthDateFormat">[mthnum,datetime,slt]/[day,datetime,slt]/[year,datetime,slt]</string>
|
||||
<string name="AvatarBirthDateFormatFull">[mthnum,datetime,slt]/[day,datetime,slt]/[year,datetime,slt]</string>
|
||||
<string name="AvatarBirthDateFormatShort">[mthnum,datetime,slt]/[day,datetime,slt]</string>
|
||||
|
||||
<string name="DefaultMimeType">none/none</string>
|
||||
<string name="texture_load_dimensions_error">Can't load images larger than [WIDTH]*[HEIGHT]</string>
|
||||
|
|
|
|||
Loading…
Reference in New Issue