peoplemessage.luac.lua

来自「htc manila 2 sourcecode」· LUA 代码 · 共 661 行 · 第 1/2 页

LUA
661
字号
MessagesObject.HandleSendOnPress = function(l_23_0, l_23_1, l_23_2)
   trace("$$$$$$$$$$$$$4       HandleSendOnPress")
   if l_23_0.ShowSIP then
      SendDown.Size.height = l_23_0.SendButtonPortraitH
      _application:HideInputPanel()
   else
      SendDown.Size.height = l_23_0.SendButtonLandscapeH
   end
   SendDown.Opacity:Interpolate(100, 0, 3, 0, Interpolate_Linear, l_23_0.CheckInputData, l_23_0)
   l_23_2.value = true
end

MessagesObject.HandleSendOnRelease = function(l_24_0, l_24_1, l_24_2)
   trace("$$$$$$$$$$$$$4       HandleSendOnRelease")
   l_24_2.value = true
end

MessagesObject.HandleSendOnReleaseOutside = function(l_25_0, l_25_1, l_25_2)
   trace("$$$$$$$$$$$$$4       HandleSendOnReleaseOutside")
   l_25_2.value = true
end

MessagesObject.CheckInputData = function(l_26_0)
   local l_26_1 = l_26_0.objBox.WindowText
   if l_26_1 ~= nil and l_26_1:len() > 0 then
      local l_26_2 = SIMUtilities()
      if l_26_2.bIsSIMPresent then
         trace("@@@###\t[People Message - MessagesObject:HandleSendOnRelease]\tSIM is present")
         if l_26_2.bIsRadioOn then
            trace("@@@###\t[People Message - MessagesObject:HandleSendOnRelease]\tRadio is on")
            if l_26_2.bIsSIMReady then
               l_26_0:ReplySMS()
            else
               trace("@@@###\t[People Message - MessagesObject:HandleSendOnRelease]\tSIM is not ready")
               l_26_2:OpenPINCodeDialog()
            end
         else
            trace("@@@###\t[People Message - MessagesObject:HandleSendOnRelease]\tRadio is not on")
            ShowDialog(Locale:GetString("IDS_RADIO_OFF"), Locale:GetString("IDS_RADIO_OFF_DESP"), "OK", FunctionDialogReturned)
         end
      else
         trace("@@@###\t[People Message - MessagesObject:HandleSendOnRelease]\tSIM is not present")
         ShowDialog(Locale:GetString("IDS_ERROR"), Locale:GetString("IDS_SIM_NOT_EXIST"), "OK", FunctionDialogReturned)
      end
   end
end

MessagesObject.ReplySMS = function(l_27_0)
   trace("@@@###\t[People Message - MessagesObject:HandleSendOnRelease]\tSIM is ready")
   local l_27_1 = MailDatabase("SMS", _application:GetScopedLog("Messaging"))
   l_27_1:SendSMSMessage("", l_27_0.PI:GetMobilePhoneNum(), l_27_0.objBox.WindowText, 0)
   l_27_0.objBox:SetWindowSize(0, 0)
   l_27_0.objBox.WindowText = ""
end

SetContactPicture = function(l_28_0, l_28_1, l_28_2, l_28_3)
   trace("GetContactType " .. tostring(l_28_3))
   if l_28_3 == 1 then
      l_28_1:SetTextureRef("ContactTypeSIM")
      l_28_1.TextureCoords:set(0.046875, 0.046875, 0.5546875, 0.5546875)
      l_28_1._visible = true
   elseif l_28_3 == -1 then
      l_28_1:SetTextureRef("PeoplePlaceholder")
      l_28_1.TextureCoords:set(0, 0, 0.92578125, 0.92578125)
      l_28_1._visible = true
   elseif l_28_0 ~= nil and l_28_0:HasValue() then
      trace("+++++++")
      if l_28_1:SetTexture(l_28_0:GetValue().Texture) then
         l_28_1.TextureCoords.value = l_28_0:GetValue().UV
         l_28_1._visible = true
      else
         l_28_1._visible = false
      end
   else
      l_28_1:SetTextureRef("PeoplePlaceholder")
      l_28_1.TextureCoords:set(0, 0, 0.92578125, 0.92578125)
      l_28_1._visible = true
   end
end

SetUserPic = function(l_29_0, l_29_1)
   if l_29_0 ~= nil and not l_29_0:GetValue():IsEmpty() then
      if l_29_1:SetTexture(l_29_0:GetValue().Texture) then
         l_29_1.TextureCoords.value = l_29_0:GetValue().UV
         l_29_1._visible = true
      else
         l_29_1._visible = false
      end
   else
      l_29_1:SetTextureRef("PeoplePlaceholder")
      l_29_1.TextureCoords:set(0, 0, 0.92578125, 0.92578125)
      l_29_1._visible = true
   end
end

MessagesObject.Destroy = function(l_30_0)
   l_30_0.BtnSend.onPress:disconnect(l_30_0.HandleSendOnPress, l_30_0)
   l_30_0.BtnSend.onRelease:disconnect(l_30_0.HandleSendOnRelease, l_30_0)
   l_30_0.BtnSend.onReleaseOutside:disconnect(l_30_0.HandleSendOnReleaseOutside, l_30_0)
   l_30_0.objLvMessages:Destroy()
   _application:HideInputPanel()
end

MessagesObject.ResetDateTimeFormate = function(l_31_0)
   trace("ResetDateTimeFormate")
   local l_31_1 = l_31_0.objLvMessages.listview:GetGenerator()
   if l_31_1 ~= nil then
      local l_31_2 = l_31_1:GetCount() - 1 
      local l_31_3 = nil
      local l_31_4 = nil
      for i = 0, l_31_2 do
         l_31_3 = l_31_1:GetItem(i)
         if l_31_3 ~= nil then
            local omi = l_31_0.objLvMessages.Messages:GetItem(i)
            local mi = l_31_0.objLvMessages.PIDB:GetMailMessagingInstance(omi)
            local pidb = mi:GetDeliverTime():ToLocal()
            l_31_4 = l_31_3.Namespace:FindName("MessageTime")
            l_31_4.String = GetFormatTime(pidb)
         end
      end
   end
   trace("ResetDateTimeFormate end")
end

LvMessages.__init = function(l_32_0, l_32_1, l_32_2, l_32_3, l_32_4)
   trace(" LvMessages:__init")
   l_32_0.Type = l_32_4
   l_32_0.offset = 0
   l_32_0.WindowW = 480
   l_32_0.WindowH = 696
   l_32_0.SMSDX = 60
   l_32_0.ContentDX = 130
   l_32_0.ItemH = 81
   l_32_0.TextDX = 8
   l_32_0.PIDB = l_32_1
   l_32_0.listview = l_32_3
   l_32_0.Messages = l_32_2
   l_32_0.Messages.ItemsRemoved:connect(l_32_0.CollectionReset, l_32_0)
   l_32_0.Messages.CollectionReset:connect(l_32_0.CollectionReset, l_32_0)
   local l_32_5 = SequentialLayout()
   l_32_5:SetItemSize(l_32_0.WindowW, l_32_0.ItemH, 0)
   l_32_0.listview:SetLayout(l_32_5)
   l_32_0.listview:ForceLayout()
   l_32_0.listview:Focus()
   l_32_0:ResetListViewLayout(l_32_0.WindowW, l_32_0.WindowH)
   l_32_0.ListPhysics = ScrollPhysics(l_32_0.listview, l_32_0.listview)
end

LvMessages.ResetListViewLayout = function(l_33_0, l_33_1, l_33_2)
   l_33_0.WindowW = l_33_1
   l_33_0.WindowH = l_33_2
   l_33_0.ContentWidth = l_33_0.WindowW - l_33_0.ContentDX
   l_33_0.listview:GetLayout():SetItemSize(l_33_0.WindowW, l_33_0.ItemH, 0)
end

LvMessages.SetMyPic = function(l_34_0, l_34_1)
   l_34_0.MyPic = l_34_1
end

LvMessages.SetContactPic = function(l_35_0, l_35_1)
   l_35_0.ContactPic = l_35_1
end

LvMessages.PrepareData = function(l_36_0)
   l_36_0.initial = true
   l_36_0.ListPhysics:DisconnectMouseEvents()
   l_36_0:ResetGenerator()
   local l_36_1 = l_36_0.Messages:GetCount() - 1
   for i = 0, l_36_1 do
      l_36_0.collection:push_back(i)
   end
   local l_36_2 = math.ceil(l_36_0.listview.Viewport.y / l_36_0.listview:GetLayout().ItemSize.y)
   l_36_0.listview:GetLayout():JumpToIndex(l_36_1 - l_36_2 + 1, ListAlignment_Top, ListAlignmentOptions_Snap)
   l_36_0.ListPhysics:ConnectMouseEvents()
   trace("LvMessages:PrepareData.." .. tostring(l_36_0.collection:GetCount()))
end

LvMessages.ResetGenerator = function(l_37_0)
   l_37_0.listview:SetGenerator(nil)
   l_37_0.ListGenerator = nil
   l_37_0.collection = nil
   l_37_0.collection = VectorNotifyint()
   l_37_0.ListGenerator = SequentialLibraryGeneratorint(l_37_0.collection, l_37_0.listview:GetMovie(), l_37_0.listview.ComponentLibraryName, l_37_0.listview.ComponentLibraryID)
   l_37_0.ListGenerator.ItemCreated:connect(l_37_0.HandleItemCreated, l_37_0)
   l_37_0.ListGenerator.ItemDestroyed:connect(l_37_0.HandleItemDestroyed, l_37_0)
   l_37_0.ListGenerator.ExtendInternalGetItemSize:connect(l_37_0.HandleExtendInternalGetItemSize, l_37_0)
   l_37_0.ListGenerator.RecycleItems = true
   l_37_0.listview:SetGenerator(l_37_0.ListGenerator)
end

LvMessages.HandleExtendInternalGetItemSize = function(l_38_0, l_38_1, l_38_2, l_38_3, l_38_4, l_38_5, l_38_6)
   local l_38_7 = l_38_0.listview:GetGenerator():GetDataByRealizedIndex(l_38_4)
   local l_38_8 = l_38_0.Messages:GetItem(l_38_7)
   local l_38_9 = l_38_0.Messages:GetCount() - 1
   local l_38_10 = l_38_0.listview:GetGenerator():GetItem(l_38_4)
   l_38_0:AdjustItemHeight(l_38_10, l_38_0.PIDB:GetMailMessagingInstance(l_38_8), l_38_5)
   if l_38_0.initial then
     if l_38_7 < l_38_9 then
       l_38_0.listview:ApplyScrollDelta(Vector3F(0, l_38_5.value.y, 0))
     else
        l_38_0.initial = false
     end
   end     
   l_38_6.value = true
   trace("HandleExtendInternalGetItemSize end")
end

LvMessages.AdjustItemHeight = function(l_39_0, l_39_1, l_39_2, l_39_3)
   local l_39_4 = l_39_1.Namespace
   local dottedline = l_39_4:FindName("dottedline")
   local messagecontent = l_39_4:FindName("MessageContent")
   local messagetime = l_39_4:FindName("MessageTime")
   local mmsicon = l_39_4:FindName("MMSIcon")
   local l_39_9 = 0
   if l_39_2:GetMessageType() == 2 then
      messagecontent.Size.width = l_39_0.ContentWidth
   else
      messagecontent.Size.width = l_39_0.WindowW - l_39_0.SMSDX
   end
   if l_39_2:GetSubject() ~= nil and l_39_2:GetSubject():len() > 0 then
      l_39_9 = TextHelper_GetStringHeight(messagecontent, l_39_2:GetSubject())
   end
   trace("height=" .. tostring(l_39_9))
   local l_39_10 = -messagecontent.Position.y
   local l_39_11 = messagetime.Size.height
   local l_39_12 = l_39_10 + l_39_9 + l_39_11 + l_39_0.TextDX
   if l_39_12 <= l_39_0.ItemH then
      messagecontent.Size.height = l_39_9
      l_39_3.value.y = l_39_0.ItemH
   else
      messagecontent.Size.height = l_39_9 + l_39_0.TextDX
      l_39_3.value.y = l_39_10 + l_39_9 + 2 * l_39_0.TextDX + l_39_11
   end
   l_39_3.value.x = l_39_0.WindowW
   l_39_3.value.z = 0
   dottedline.Position.y = -l_39_3.value.y + 1
   messagetime.Position.y = -l_39_3.value.y + l_39_11 + l_39_0.TextDX
end

LvMessages.HandleItemCreated = function(l_40_0, l_40_1, l_40_2)
   trace("$$$$$   HandleItemCreated " .. l_40_1)
   local l_40_3 = l_40_2.Namespace
   local l_40_4 = l_40_0.Messages:GetItem(l_40_1)
   local l_40_5 = l_40_0.PIDB:GetMailMessagingInstance(l_40_4)
   local messagetime = l_40_3:FindName("MessageTime")
   local dottedline = l_40_3:FindName("dottedline")
   local headicon = l_40_3:FindName("HeadIcon")
   local mmsicon = l_40_3:FindName("MMSIcon")
   local messagecontent = l_40_3:FindName("MessageContent")
   messagetime._visible = true
   dottedline._visible = true
   headicon._visible = true
   messagecontent._visible = true
   dottedline.Size.width = l_40_0.WindowW
   dottedline.TextureCoords.width = l_40_0.WindowW / 2
   messagecontent.String = l_40_5:GetSubject()
   local l_40_11 = l_40_5:GetDeliverTime():ToLocal()
   messagetime.String = GetFormatTime(l_40_11)
   if l_40_5:IsMine() then
      SetUserPic(l_40_0.MyPic, headicon)
   else
      SetContactPicture(l_40_0.ContactPic, headicon, true, l_40_0.Type)
   end
   if l_40_5:GetMessageType() == 2 then
      mmsicon._visible = true
      mmsicon.Tag = {}
      mmsicon.Tag.Data = l_40_1
      mmsicon.onPress:connect(l_40_0.Handle_MMSIconOnPress, l_40_0)
      mmsicon.onRelease:connect(l_40_0.Handle_MMSIconOnRelease, l_40_0)
      mmsicon.onReleaseOutside:connect(l_40_0.Handle_MMSIconOnReleaseOutside, l_40_0)
   end
   l_40_2.Focusable = true
   trace("$$$$$   HandleItemCreated end")
end

LvMessages.HandleItemDestroyed = function(l_41_0, l_41_1)
   trace("LvMessages:HandleItemDestroyed")
   local l_41_2 = l_41_1.Namespace
   local mmsicon = l_41_2:FindName("MMSIcon")
   local dottedline = l_41_2:FindName("dottedline")
   local headicon = l_41_2:FindName("HeadIcon")
   local messagetime = l_41_2:FindName("MessageTime")
   local messagecontent = l_41_2:FindName("MessageContent")
   if mmsicon._visible then
      mmsicon.onPress:disconnect(l_41_0.Handle_MMSIconOnPress, l_41_0)
      mmsicon.onRelease:disconnect(l_41_0.Handle_MMSIconOnRelease, l_41_0)
      mmsicon.onReleaseOutside:disconnect(l_41_0.Handle_MMSIconOnReleaseOutside, l_41_0)
   end
   headicon._visible = false
   dottedline._visible = false
   mmsicon._visible = false
   messagetime._visible = false
   messagecontent._visible = false
   headicon = nil
   dottedline = nil
   mmsicon = nil
   messagetime = nil
   messagecontent = nil
   trace("LvMessages:HandleItemDestroyed end")
end

LvMessages.CollectionReset = function(l_42_0)
   trace("LvMessages:CollectionReset")
   l_42_0:PrepareData()
end

LvMessages.Handle_MMSIconOnPress = function(l_43_0, l_43_1, l_43_2)
   l_43_1:SetTextureRef("Icon_MMS_Dn")
end

LvMessages.Handle_MMSIconOnRelease = function(l_44_0, l_44_1, l_44_2)
   l_44_1:SetTextureRef("Icon_MMS_Up")
   local l_44_3 = l_44_0.PIDB:GetMailMessagingInstance(l_44_0.Messages:GetItem(l_44_1.Tag.Data))
   l_44_3:ShowMessageDetail(0)
end

LvMessages.Handle_MMSIconOnReleaseOutside = function(l_45_0, l_45_1, l_45_2)
   l_45_1:SetTextureRef("Icon_MMS_Up")
end

LvMessages.Destroy = function(l_46_0)
   l_46_0.ListGenerator.ItemCreated:disconnect(l_46_0.HandleItemCreated, l_46_0)
   l_46_0.ListGenerator.ItemDestroyed:disconnect(l_46_0.HandleItemDestroyed, l_46_0)
   l_46_0.MyPic = nil
   l_46_0.ContactPic = nil
end

main()

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?