/// <summary> /// 更新昵称完成 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void UpdateRemarkComplete(object sender, UploadDataCompletedEventArgs res) { if (res.Error == null)//正常情况 { var result = JsonConvert.DeserializeObject <JsonBase>(Encoding.UTF8.GetString(res.Result)); if (result.resultCode == 1) { new DataOfFriends().UpdateRemarkName(Friend.userId, TempRemarkName); //更新数据库 RemarkName = TempRemarkName; //更新界面 Friend.remarkName = RemarkName; //更新好友昵称 TempRemarkName = ""; //重置编辑文本框 IsEditing = false; //取消编辑状态(关闭对话框) //通知主窗口更改备注 var item = new MessageListItem { Jid = friend.userId, MessageTitle = Friend.remarkName, Avator = Applicate.LocalConfigData.GetDisplayAvatorPath(friend.userId) }; Messenger.Default.Send(item, MainViewNotifactions.UpdateAccountName);//通知主窗口更新名称 Snackbar.Enqueue("修改昵称成功"); } } else { Snackbar.Enqueue("修改昵称失败:" + res.Error.Message); } }
//------------------------------------------------------------------- // # Topic Messages public void getMessageInfos(ListBox.ObjectCollection MessageList) { foreach (var MessageListItem in MessageList) { messagesInfo.Add(MessageListItem.ToString()); } }
/// <summary> /// 新增聊天信息 /// </summary> /// <param name="message"></param> private void AddMessage(ChatMessage message) { var item = new MessageListItem() { Message = message }; MessageListPanel.Controls.Add(item); MessageListPanel.VerticalScroll.Value = MessageListPanel.VerticalScroll.Maximum; }
/// <summary> /// Room转MessageListItem /// </summary> /// <param name="room"></param> /// <returns></returns> public static MessageListItem ToMsgItem(this Room room) { MessageListItem item = new MessageListItem() { Id = room.id, ShowTitle = room.name, MessageTitle = room.name, MessageItemType = ItemType.Group, Jid = room.jid, Avator = Applicate.LocalConfigData.GetDisplayAvatorPath(room.jid) }; return(item); }
private void OnEntryCompleted(object sender, EventArgs e) { var message = ((Entry)sender).Text; if (message.Length > 0) { //Clear entry ((Entry)sender).Text = ""; //Make object to be placed in ListView var messageListItem = new MessageListItem(message, connection.Account.Name); messageList.Add(messageListItem); //Send the message to the bot connection.SendMessage(message); } }
/// <summary> /// 克隆MessageListItem /// </summary> /// <param name="source">源Item</param> /// <returns>新Item</returns> public static MessageListItem Clone(this MessageListItem source) { return(new MessageListItem { Id = source.Id, MessageItemContent = source.MessageItemContent, MessageItemType = source.MessageItemType, Msg = source.Msg, MessageTitle = source.MessageTitle, Jid = source.Jid, TimeSend = source.TimeSend, UnReadCount = source.UnReadCount, ShowTitle = source.ShowTitle, IsVisibility = source.IsVisibility, Avator = source.Avator }); }
/// <summary> /// 更新群昵称 /// </summary> /// <param name="item">更新项</param> private void UpdateGroupMemberRemark(MessageListItem item) { var lists = ChatMessageList.Where(c => c.fromUserId == item.Jid).ToList(); if (lists.Count > 0) { for (int i = 0; i < lists.Count; i++) { lists[i].fromUserName = item.ShowTitle;//设置修改后的昵称 } Task.Run(() => { //for (int i = 0; i < lists.Count; i++) //{ lists[0].UpdateNicknameByUserId(lists[0].jid, item.Jid, item.ShowTitle); //更新数据库 //} }); } }
/// <summary> /// <see cref="DataOfFriends"/>转<see cref="MessageListItem"/> /// </summary> /// <param name="friend"></param> /// <returns></returns> public static MessageListItem ToMsgListItem(this DataOfFriends friend) { var tmpitem = new MessageListItem(); try { tmpitem = new MessageListItem()//实例化一个消息项 { MessageTitle = friend.toNickname, Jid = friend.toUserId, //设置UserId //MessageItemType = ItemType.User,//好友项 ShowTitle = friend.remarkName, //备注名 Avator = Applicate.LocalConfigData.GetDisplayAvatorPath(friend.toUserId), //获取头像 }; } catch (System.Exception ex) { ConsoleLog.Output("ToMsgListItem=-" + ex.Message); } return(tmpitem); }
//public string deviceName = "MikroKopter_BT"; // Specify the device name to be selected; You can find the device name from the webb under bluetooth public async void Run(IBackgroundTaskInstance taskInstance) { // // TODO: Insert code to perform background work // // If you start any asynchronous methods here, prevent the task // from closing prematurely by using BackgroundTaskDeferral as // described in http://aka.ms/backgroundtaskdeferral // _deferral = taskInstance.GetDeferral(); PowerManager.BatteryStatusChanged += PowerManager_BatteryStatusChanged; PowerManager.PowerSupplyStatusChanged += PowerManager_PowerSupplyStatusChanged; PowerManager.RemainingChargePercentChanged += PowerManager_RemainingChargePercentChanged; deviceId = await AzureIoTHub.TestHubConnection(false, ""); DateTime d = DateTime.UtcNow; //RateSensor bs = new RateSensor(); //bs.RateSensorInit(); //await Task.Delay(1000); //bs.RateMonitorON(); //mt = new MiotyTX(); //mt.Init(); //await Task.Delay(1000); long x = d.ToFileTime(); if (deviceId != null) { await AzureIoTHub.SendDeviceToCloudMessageAsync("{\"pkey\":\"" + deviceId + "\", \"rkey\":\"" + x.ToString() + "\",\"status\":\"Device Restarted\"}"); bool result = await AzureIoTHub.SendDeviceToCloudMessageAsync("Device Restarted"); //InitAzureIotReceiver(); } AzureIoTHub.counter++; // request access to vibration device //if (await VibrationDevice.RequestAccessAsync() != VibrationAccessStatus.Allowed) //{ // Debug.WriteLine("access to vibration device denied!!!!!!"); //} //enable this to start periodic message to iot Hub this.timer = ThreadPoolTimer.CreateTimer(Timer_Tick, TimeSpan.FromSeconds(2)); //this.fileReadTimer = ThreadPoolTimer.CreateTimer(FileReadTimer_Tick, TimeSpan.FromMilliseconds(900)); try { await Task.Run(async() => { while (true) { string receivedMessage = null; try { receivedMessage = await AzureIoTHub.ReceiveCloudToDeviceMessageAsync(); AzureIoTHub.counter++; } catch (Exception ex) { Debug.WriteLine("******ERROR RECEIVER: " + ex.Message); } if (receivedMessage == null) { continue; } Debug.WriteLine("Received message:" + receivedMessage); JsonObject j = null; try { j = JsonObject.Parse(receivedMessage); } catch { Debug.WriteLine(" error"); continue; } try { if (j.Keys.Contains("msg")) { string msg = j.GetNamedString("msg"); AzureIoTHub.counter++; MessageListItem m = new MessageListItem(); m.message = msg; AzureIoTHub.msgList.Add(m); Windows.Storage.StorageFolder storageFolder = Windows.Storage.KnownFolders.PicturesLibrary; Windows.Storage.StorageFile msgFile = await storageFolder.CreateFileAsync("message.txt", Windows.Storage.CreationCollisionOption.GenerateUniqueName); await Windows.Storage.FileIO.AppendTextAsync(msgFile, msg); } if (j.Keys.Contains("cmd")) { string cmd = j.GetNamedString("cmd"); if (cmd == "info") { await UpdateBatteryInfo(); } if (cmd == "wake") { if (ShutdownManager.IsPowerStateSupported(PowerState.ConnectedStandby)) { ShutdownManager.EnterPowerState(PowerState.ConnectedStandby, TimeSpan.FromSeconds(1)); //ShutdownManager.EnterPowerState(PowerState.SleepS3, TimeSpan.FromSeconds(15)); } } if (cmd == "vibra") { //try //{ // VibrationDevice VibrationDevice = await VibrationDevice.GetDefaultAsync(); // SimpleHapticsControllerFeedback BuzzFeedback = null; // foreach (var f in VibrationDevice.SimpleHapticsController.SupportedFeedback) // { // if (f.Waveform == KnownSimpleHapticsControllerWaveforms.BuzzContinuous) // BuzzFeedback = f; // } // if (BuzzFeedback != null) // { // VibrationDevice.SimpleHapticsController.SendHapticFeedbackForDuration(BuzzFeedback, 1, TimeSpan.FromMilliseconds(200)); // } //} //catch (Exception ex) //{ //} } } } catch (Exception ex) { } } }); } catch (Exception ex) { } // // Once the asynchronous method(s) are done, close the deferral. // //_deferral.Complete(); }
ListItemView GetStandardView( int position, View convertView, ViewGroup parent ) { MessageListItem messageItem = convertView as MessageListItem; if ( messageItem == null ) { messageItem = new MessageListItem( ParentFragment.Activity.BaseContext ); } messageItem.ParentAdapter = this; messageItem.Position = position; messageItem.Title.Text = ParentFragment.Series.Messages[ position ].Name; if ( ParentFragment.Series.Private == true || ParentFragment.Series.Messages[ position ].Private == true ) { messageItem.Title.Text += " (Private)"; } messageItem.Date.Text = ParentFragment.Series.Messages[ position ].Date; messageItem.Speaker.Text = ParentFragment.Series.Messages[ position ].Speaker; if ( string.IsNullOrEmpty( ParentFragment.Series.Messages[ position ].AudioUrl ) == true ) { messageItem.ToggleListenButton( false ); } else { messageItem.ToggleListenButton( true ); } if ( string.IsNullOrEmpty( ParentFragment.Series.Messages[ position ].WatchUrl ) == true ) { messageItem.ToggleWatchButton( false ); } else { messageItem.ToggleWatchButton( true ); } if ( string.IsNullOrEmpty( ParentFragment.Series.Messages[ position ].NoteUrl ) == true ) { messageItem.ToggleTakeNotesButton( false ); } else { messageItem.ToggleTakeNotesButton( true ); } return messageItem; }
/// <summary> /// 收到消息时 /// </summary> /// <param name="msg">收到的新消息</param> public void ProcessNewMessage(Messageobject msg) { if (msg.type >= kWCMessageType.FriendRequest && msg.type <= kWCMessageType.PhoneContactToFriend) { var vItem = new VerifingFriend(); var mControl = ServiceLocator.Current.GetInstance <MainViewModel>(); if (VerifyUserList.FirstOrDefault(v => v.toUserId == msg.fromUserId) != null) { vItem = VerifyUserList.FirstOrDefault(v => v.toUserId == msg.fromUserId); } switch (msg.type) { case kWCMessageType.FriendRequest: vItem.VerifyStatus = -4; //对方添加己方 vItem.StatusTag = "通过验证"; vItem.Content = msg.content; //消息内容 break; case kWCMessageType.RequestAgree: vItem.VerifyStatus = 1; vItem.StatusTag = "已通过验证"; vItem.Content = "验证被" + msg.fromUserName /*((vItem.sex == 0) ? ("他") : ("她"))*/ + "通过了"; //mControl.AddToFriendList(msg.FromId);//添加到好友列表 var tmp = new MessageListItem() { Jid = msg.FromId, ShowTitle = msg.fromUserName, MessageTitle = msg.fromUserName, MessageItemType = ItemType.Message, Avator = Applicate.LocalConfigData.GetDisplayAvatorPath(msg.FromId) }; mControl.MsgItemMouseDown(tmp); mControl.StartNewChatFromItem(tmp.Clone()); break; case kWCMessageType.RequestRefuse: //对方回话 //item.StatusTag = ""; vItem.CanAnswer = true; vItem.Content = msg.content; //回话内容 DialogShow = false; AnswerContnt = ""; //清空文本 break; case kWCMessageType.DeleteFriend: //System.Windows.Forms.MessageBox.Show("删除成功"); vItem.Content = msg.fromUserName + " 已删除了我"; vItem.VerifyStatus = 0; break; case kWCMessageType.BlackFriend: vItem.VerifyStatus = 0; vItem.Content = msg.fromUserName + " 拉黑了我"; break; case kWCMessageType.RequestFriendDirectly: vItem.VerifyStatus = 1; //互为好友 vItem.Content = msg.fromUserName + " 添加你为好友"; //消息内容 break; case kWCMessageType.CancelBlackFriend: vItem.Content = msg.fromUserName + " 取消了黑名单"; Messenger.Default.Send(vItem.toUserId, MainViewNotifactions.CancelBlockItem); var tmpFriend = new DataOfFriends(); break; default: break; } //更新最近用户中的内容 Messenger.Default.Send(new MessageListItem { Jid = "10001", MessageItemContent = vItem.Content, Avator = Applicate.LocalConfigData.GetDisplayAvatorPath("10001") }, MainViewNotifactions.UpdateRecentItemContent); vItem.toUserId = msg.fromUserId; //UserId vItem.toNickname = msg.fromUserName; //昵称 vItem.Type = Convert.ToInt32(msg.type); //消息类型 vItem.InsertOrUpdate(); //存入数据库 AddOrUpdateToList(vItem); } }
ListItemView GetStandardView(int position, View convertView, ViewGroup parent) { MessageListItem messageItem = convertView as MessageListItem; if (messageItem == null) { messageItem = new MessageListItem(ParentFragment.Activity.BaseContext); } messageItem.ParentAdapter = this; messageItem.Position = position; messageItem.Title.Text = ParentFragment.Series.Messages[position].Name; if (ParentFragment.Series.SeriesPrivate == true || ParentFragment.Series.Messages[position].Private == true) { messageItem.Title.Text += " (Private)"; } messageItem.Date.Text = ParentFragment.Series.Messages[position].Date; messageItem.Speaker.Text = ParentFragment.Series.Messages[position].Speaker; // AudioURL - if blank, disable the button if (string.IsNullOrWhiteSpace(ParentFragment.Series.Messages[position].AudioUrl) == true) { messageItem.ToggleListenButton(false); } else { messageItem.ToggleListenButton(true); } // WatchURL - if blank, disable the button if (string.IsNullOrWhiteSpace(ParentFragment.Series.Messages[position].WatchUrl) == true) { messageItem.ToggleWatchButton(false); } else { messageItem.ToggleWatchButton(true); } // NoteURL - if blank, disable the button if (string.IsNullOrWhiteSpace(ParentFragment.Series.Messages[position].NoteUrl) == true) { messageItem.ToggleTakeNotesButton(false); } else { messageItem.ToggleTakeNotesButton(true); } // DiscussionGuideURL - if blank, disable the button if (string.IsNullOrWhiteSpace(ParentFragment.Series.Messages[position].DiscussionGuideUrl) == true) { messageItem.ToggleDiscussionGuideButton(false); } else { messageItem.ToggleDiscussionGuideButton(true); } return(messageItem); }