CrabtreeOn,印度客户定制APP,迁移2.0平台版本
JLChen
2021-04-15 2202cc1f498434220f010f3806a5030390f616ee
Crabtree/SmartHome/UI/SimpleControl/Phone/Alexa/SmartSpeakertListPage.cs
@@ -21,7 +21,7 @@
        {
            #region ---TopView---
            base.ShowPage ();
            this.topTitleBtn.Text = "Alexa list";
            this.topTitleBtn.Text = "Smart speaker";
            this.topItemButton.RemoveFromParent ();
            #endregion
@@ -140,19 +140,37 @@
            #region 重命名
            var btnRename = new Button () {
                TextID = R.MyInternationalizationString.rename,
                BackgroundColor = SkinStyle.Current.DelColor,
                BackgroundColor = SkinStyle.Current.TitileView,
                TextSize = 11,
            };
            //保存事件
            Action<string> renameAction = (newName) => {
                RenameAlexaRemark (newName, speakerInfo, btnName);
                RenameAlexaRemark (newName, speakerInfo, btnName, rowView);
            };
            btnRename.MouseUpEventHandler += (sender, e) => {
                CommonUtlis.Current.ShowEditTextDialog (speakerInfo.remark, renameAction, Language.StringByID (R.MyInternationalizationString.rename));
            };
            rowView.AddRightView (btnRename);
            #endregion
            #region 删除
            var btnDelete = new Button () {
                TextID = R.MyInternationalizationString.Delete,
                BackgroundColor = SkinStyle.Current.DelColor,
                TextSize = 11,
            };
            //删除事件
            Action deleteAction = () => {
                UnbindSpeaker (speakerInfo, rowView);
            };
            btnDelete.MouseUpEventHandler += (sender, e) => {
                CommonUtlis.Current.ShowActionAlert (Language.StringByID (R.MyInternationalizationString.DoYouWantToUnbind), deleteAction);
            };
            rowView.AddRightView (btnDelete);
            #endregion
        }
@@ -163,7 +181,7 @@
        /// <param name="newName"></param>
        /// <param name="speakerInfo"></param>
        /// <param name="btnName"></param>
        void RenameAlexaRemark (string newName, SpeakerInfo speakerInfo, Button btnName)
        void RenameAlexaRemark (string newName, SpeakerInfo speakerInfo, Button btnName, RowLayout rowView)
        {
            MainPage.Loading.Start (Language.StringByID (R.MyInternationalizationString.load));
@@ -181,6 +199,7 @@
                        Application.RunOnMainThread (() => {
                            speakerInfo.remark = newName;
                            btnName.Text = newName;
                            rowView.HideRightMenu ();
                            Utlis.ShowAlertOnMainThread (Language.StringByID (R.MyInternationalizationString.AmendTheSuccess));
                        });
@@ -220,5 +239,49 @@
            UserMiddle.SettingPageView.PageIndex = UserMiddle.SettingPageView.ChildrenCount - 1;
        }
        /// <summary>
        /// 请求解绑音箱
        /// </summary>
        /// <param name="speakerInfo">音箱参数</param>
        /// <param name="rowView">音箱rowView</param>
        void UnbindSpeaker (SpeakerInfo speakerInfo, RowLayout rowView)
        {
            if (speakerInfo == null || string.IsNullOrEmpty (speakerInfo.tokenId)) {
                Utlis.ShowTip (Language.StringByID (R.MyInternationalizationString.RequestFailedParameterException) + "(-3)");
            }
            MainPage.Loading.Start (Language.StringByID (R.MyInternationalizationString.load));
            System.Threading.Tasks.Task.Run (() => {
                try {
                    var revertObj =  HttpServerRequest.Current.UnbindSpeaker (speakerInfo.tokenId);
                    if (revertObj.Code == StateCode.SUCCESS) {
                        //解绑成功
                        Application.RunOnMainThread (() => {
                            //rowView
                            if (rowView != null) {
                                rowView.RemoveFromParent ();
                            }
                            //提示解绑成功
                            Utlis.ShowTip (Language.StringByID (R.MyInternationalizationString.UnbindSuccessfully));
                        });
                    } else {
                        //提示错误
                        IMessageCommon.Current.ShowErrorInfoAlter (revertObj.Code);
                    }
                } catch {
                } finally {
                    Application.RunOnMainThread (() => {
                        MainPage.Loading.Hide ();
                    });
                }
            });
        }
    }
}