telepathyClient: Add support for aliases on the self-contact

Upgrade the connection's self contact to allow aliases, so that we
don't show the internal telepathy identifier anywhere user-visible.

https://bugzilla.gnome.org/show_bug.cgi?id=642793
This commit is contained in:
Jasper St. Pierre 2011-02-26 09:25:11 -05:00
parent ebcb87c163
commit 6ff69da0de

View File

@ -68,7 +68,22 @@ Client.prototype = {
_observeChannels: function(observer, account, conn, channels, _observeChannels: function(observer, account, conn, channels,
dispatchOp, requests, context) { dispatchOp, requests, context) {
let connPath = conn.get_object_path(); // If the self_contact doesn't have the ALIAS, make sure
// to fetch it before trying to grab the channels.
let self_contact = conn.get_self_contact();
if (self_contact.has_feature(Tp.ContactFeature.ALIAS)) {
this._finishObserveChannels(account, conn, channels, context);
} else {
Shell.get_self_contact_features(conn,
contactFeatures.length, contactFeatures,
Lang.bind(this, function() {
this._finishObserveChannels(account, conn, channels, context);
}));
context.delay();
}
},
_finishObserveChannels: function(account, conn, channels, context) {
let len = channels.length; let len = channels.length;
for (let i = 0; i < len; i++) { for (let i = 0; i < len; i++) {
let channel = channels[i]; let channel = channels[i];
@ -91,7 +106,6 @@ Client.prototype = {
}), null); }), null);
} }
// Allow dbus method to return
context.accept(); context.accept();
}, },