⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 contactpickerscript.luac.lua

📁 htc manila 2 sourcecode
💻 LUA
字号:
-- Decompiled using luadec 0.6 by sztupy (http://winmo.sztupy.hu)
-- Command line was: -l ;0,25;;;7,13;7,13;0,0,4,8,12,16,20,24;0,4,8,12,16,20,24;0,4;0,4;;;0,4,19;;;;94; 7fb1c81a_manila.luac 

trace("Load PeopleAllGlobal")
require("transitions")
require("LetterPicker")
require("people\\ContactObject")
require("people\\PeopleSearchGroup")
require("people\\PeopleImageLoader")
require("theme")
require("MyFaves_manager_v1_5_svc")
ContactObj = nil
SearchObj = nil
LetterPickerObj = nil
PicLoader = nil
PageIsDestroyed = false
SSelector = nil
FSelector = nil
gbRequireLandscape = false
ContactPickerScreenRotation = nil
MyFavesUtilityObj = nil
bMyFavesTurnOn = false
PeopleFrom = {All = 1, Device = 2, SIM = 3, Updated = 4}
objs3D = {}
objs3D[1] = Camera3D
objs2D = {}
objs2D[1] = SearchGroup
setOffScreen()
OnNavigateOut = function(l_1_0)
   PageIsDestroyed = true
   _application.OnVisibilityChanged:disconnect(HandleVisibilityChanged)
   _request.NavigateOutTo:disconnect(OnNavigateOut)
   _application.OnSipPanelChanged:disconnect(HandleOnSipPanelChanged)
   ContactPicker_CancelAllAsyncRequest()
   SearchObj:DisableSearchContacts()
   local l_1_1 = ContactObj:GetScrollPhysics()
   if l_1_1 ~= nil then
      l_1_1:CancelBehaviorCallback()
   end
   if PicLoader ~= nil then
      PicLoader:StopThread()
      PicLoader = nil
   end
   ContactObj:DisconnectEvents()
   Transition(l_1_0, "Out")
end

OnNavigateIn = function(l_2_0)
   _request.NavigateInFrom:disconnect(OnNavigateIn)
   Transition(l_2_0, "In")
end

_request.NavigateInFrom:connect(OnNavigateIn)
_request.NavigateOutTo:connect(OnNavigateOut)
ContactPicker_ListPhysicsScrollBehaviorCallback = function(l_3_0)
   if PageIsDestroyed then
      trace("ContactPicker PageIsDestroyed ContactPicker_ListPhysicsScrollBehaviorCallback ignored\n")
      return 
   end
   if l_3_0 == GESTURE_PAN_END then
      ContactPicker_UpdatePicture()
   end
   collectgarbage("collect")
end

ContactPicker_UpdatePicture = function()
   if PeopleListView == nil then
      return 
   end
   local l_4_0 = PeopleListView:GetLayout()
   if l_4_0 == nil then
      return 
   end
   local l_4_1 = PeopleListView:GetGenerator()
   if l_4_1 == nil then
      return 
   end
   local hi = l_4_0:GetVisibleHeadIndex()
   local co = l_4_0:GetVisibleCount()
   local c = hi + co - 1
   for i = hi, c  do
      local item = l_4_1:GetItem(i)
      if item ~= nil then
        if item.Tag ~= nil then
          if item.Tag.Oid ~= nil then
            local oid = item.Tag.Oid            
            if item.Tag.Pic == nil then
               item.Tag.Pic = PeopleImageLoader(AsyncPicLoader_CreateInstance(PicLoader), item.Namespace:FindName("HeaderIcon"), oid)
            end
          end
        end
      end
   end
end

ContactPicker_CancelAllAsyncRequest = function()
   if PeopleListView == nil then
      return 
   end
   local l_5_0 = PeopleListView:GetLayout()
   if l_5_0 == nil then
      return 
   end
   local l_5_1 = PeopleListView:GetGenerator()
   if l_5_1 == nil then
      return 
   end
   local hi = l_5_0:GetVisibleHeadIndex()
   local co = l_5_0:GetVisibleCount()
   local c = hi + co - 1   
   for i = hi, c do
      local item = l_5_1:GetItem(i)
      if item ~= nil then
         ContactPicker_HandleItemDestroyed(item)
      end
   end
end

ContactPicker_HandleItemCreated = function(l_6_0, l_6_1)
   local l_6_2 = l_6_1.Namespace:FindName("PhotoFrame")
   local l_6_3 = l_6_1.Namespace:FindName("HeaderIcon")
   local l_6_4 = l_6_1.Namespace:FindName("Name")
   local l_6_5 = l_6_1.Namespace:FindName("Desp")
   local l_6_6 = l_6_1.Namespace:FindName("InfoIcon")
   local l_6_7 = l_6_1.Namespace:FindName("line")
   l_6_7.Size.width = PeopleListView.Viewport.x
   l_6_3._visible = true
   l_6_1.Tag = {}
   if l_6_0 == -1 then
      l_6_2:SetTextureRef("Add_New_Contact")
      l_6_2._visible = true
      l_6_6._visible = false
      l_6_4.String = Locale:GetString("IDS_NEWITEMTITLE")
      l_6_4._visible = true
      l_6_5.String = Locale:GetString("IDS_NEWITEMSUB")
      l_6_5._visible = true
      l_6_1.Tag.Add = 1
   else
      local oid = ContactObj.ContactList:GetOidStr(l_6_0 + 1)
      local item = ContactObj.ContactData:GetItem(l_6_0)
      l_6_4.String = item.Name
      l_6_4.Position.y = -16
      l_6_4._visible = true
      l_6_5.String = ""
      l_6_5._visible = false
      l_6_6._visible = false
      l_6_1.Tag.Oid = oid
      l_6_2._visible = true
      if item.From == PeopleFrom.SIM then
         l_6_2:SetTextureRef("ContactTypeSIM")
      else
         local thumb = item:GetThumbnail()
         if thumb:HasValue() and
            thumb:GetValue():IsValid() then
              l_6_3:SetTexture(thumb:GetValue().Texture)
              l_6_3.TextureCoords.value = thumb:GetValue().UV
              thumb:GetValue():Clear()
         else
            l_6_3:SetTextureRef("PeoplePlaceholderSmall")
            l_6_3.TextureCoords:set(0, 0, 0.92578125, 0.92578125)
         end
         if not ContactObj:ListPhysicsIsScrolling() then
            l_6_1.Tag.Pic = PeopleImageLoader(AsyncPicLoader_CreateInstance(PicLoader), l_6_3, oid)
         end
      end
   end
   l_6_1.OnSelected:connect(HandleItemSelected)
   l_6_1.OnDeselected:connect(HandleItemDeselected)
   l_6_1.Focusable = true   
   if bMyFavesTurnOn == true then
      local mfi = l_6_1.Namespace:FindName("MyFavesIcon")
      if l_6_0 >= 0 then
         local item = ContactObj.ContactData:GetItem(l_6_0)
         if true == MyFavesUtilityObj:IsMyFavesContactyIDForLua(item:GetIDForLua()) then
            mfi._visible = true
            mfi.Position.x = screenWidth - 83
         else
            mfi._visible = false
         end
      else
         mfi._visible = false
      end
   end
end

ContactPicker_HandleItemDestroyed = function(l_7_0)
   local l_7_1 = l_7_0.Namespace:FindName("PhotoFrame")
   local l_7_2 = l_7_0.Namespace:FindName("HeaderIcon")
   local l_7_3 = l_7_0.Namespace:FindName("Name")
   local l_7_4 = l_7_0.Namespace:FindName("Desp")
   local l_7_5 = l_7_0.Namespace:FindName("InfoIcon")
   local l_7_6 = l_7_0.Namespace:FindName("MyFavesIcon")
   l_7_1._visible = false
   l_7_2._visible = false
   l_7_3._visible = false
   l_7_4._visible = false
   l_7_5._visible = false
   l_7_6._visible = false
   if l_7_0.Tag ~= nil then
      if l_7_0.Tag.Add ~= nil then
         l_7_0.Tag.Add = nil
      end
      if l_7_0.Tag.Pic ~= nil then
         local l_7_7 = l_7_0.Tag.Pic        
         l_7_7.Loader:Cancel()
         l_7_7.Loader = nil
         l_7_0.Tag.Pic = nil
      end
      if l_7_0.Tag.Oid ~= nil then
         l_7_0.Tag.Oid = nil
      end
      l_7_0.Tag = nil
   end
   l_7_0.OnSelected:disconnect(HandleItemSelected)
   l_7_0.OnDeselected:disconnect(HandleItemDeselected)
end

HandleItemSelected = function(l_8_0)
   local l_8_1 = l_8_0.Namespace:FindName("Name")
   local l_8_2 = l_8_0.Namespace:FindName("Desp")
   if l_8_1 ~= nil then
      l_8_1.Color = GetMainTextSelectedColor()
   end      
   if l_8_2 ~= nil then
      l_8_2.Color = GetSubTextSelectedColor()     
   end
end

HandleItemDeselected = function(l_9_0)
   local l_9_1 = l_9_0.Namespace:FindName("Name")
   local l_9_2 = l_9_0.Namespace:FindName("Desp")   
   if l_9_1 ~= nil then
      l_9_1.Color = GetMainTextUnselectedColor()
   end      
   if l_9_2 ~= nil then
      l_9_2.Color = GetSubTextUnselectedColor()
   end
end

ContactPicker_HandleItemSelection = function(l_10_0)
   if l_10_0 == 0 then
      if bMyFavesTurnOn == true then
        local p = _request.URL.Parameters:GetParameter("MyFaves.CID") 
        if p ~= nil and p ~= "" then
           trace("New MyFaves contact")
           MyFavesUtilityObj:NewMy5Contact(tonumber(p))
           _application.Navigation:Navigate(URL("Manila://myfaves.page"), false)
           return 
        end
      end
      ContactObj:LaunchNewContact()
   elseif l_10_0 > 0 then
      trace("HandleItemSelection index=" .. l_10_0)
      if bMyFavesTurnOn == true then
        local p = _request.URL.Parameters:GetParameter("MyFaves.CID") 
        if p ~= nil and p ~= "" then
         trace("Add MyFaves contact")
         MyFavesUtilityObj:EditMy5Contact(tonumber(p), ContactObj.ContactList:GetOidStr(l_10_0))
         _application.Navigation:Navigate(URL("Manila://myfaves.page"), false)
         return 
        end
      end
      ContactObj.ContactList:StoreOidForFav(l_10_0)
      ContactObj.ContactList:StoreOid(l_10_0)
      _application.Navigation:Navigate(URL("Manila://people/favoritepeople/favoritepeople.page"), false)
   end
end

HandleVisibilityChanged = function()
   trace("[PeopleAllGlobal] HandleVisibilityChanged")
   if _application.Visibility == true and ContactObj.bUpdatedContactList then
      ContactObj:ViewFavoriteCandidates()
   end
end

HandleLetterSelected = function(l_12_0)
   local l_12_1 = string.char(l_12_0 + 65)
   trace("HandleLetterSelected=" .. l_12_1)
   local l_12_2 = ContactObj.ContactList:GetLetterIndex(tostring(l_12_1)) + ContactObj.offset
   trace("HandleLetterSelected indexJump=" .. l_12_2)
   ContactObj.listview:GetLayout():JumpToIndex(l_12_2, ListAlignment_Top, ListAlignmentOptions_Snap)
end

InitLetterPicker = function()
   if HandleLetterSelected ~= nil then
      PeopleLetterPickerListView.Position.y = 0
      PeopleLetterPickerListView.Viewport.y = 624
      LetterPickerObj = LetterPicker(PeopleLetterPickerListView, PeopleScrubBar, HandleLetterSelected, CharacterDialogGroup, LetterPickerDialogChar)
   end
end

BackToPreviousPage = function()
   _application.Navigation:NavigateBack()
end

HandleOnSipPanelChanged = function(l_15_0)
   if l_15_0 then
      trace("bSIPOn")
      if Selector then
         Selector._visible = false
      end
      LetterGroup._visible = false
   else
      trace("bSIPOFF")
      LetterGroup._visible = true
      if Selector then
         Selector._visible = true
      end
   end
end

main = function()
   if _application.Store:GetStringValue(Lifetime_Permanent, "EnableLandscape") == "true" then
      trace("[ContactPicker] : EnableLandscape")
      require("people\\ContactPicker_Landscape")
      gbRequireLandscape = true
      ContactPickerScreenRotation = ContactPicker_ScreenRotation(PeopleListView, Camera2D, Camera3D, MaskAll)
   end
   MyFavesUtilityObj = MyFavesUtility()
   bMyFavesTurnOn = MyFavesUtilityObj:IsMyFavesTurnOn()
   if bMyFavesTurnOn == true then
      trace("MyFaves on")
   end
   ContactObj = ContactControl(PeopleListView, ContactPicker_HandleItemCreated, ContactPicker_HandleItemDestroyed, ContactPicker_HandleItemSelection, true)
   ContactObj:SetViewPort(480, 636, 0)
   ContactObj:SetOffset(1)
   ContactObj:ViewFavoriteCandidates()
   InitLetterPicker()
   SearchObj = SearchObject(ContactObj, InputBox, SearchGroup, AllPeopleGroup, LetterGroup, SearchIcon, SearchIconHitArea, SelectorFull, Selector, LetterPickerObj)
   SearchObj:EnableSearchContacts()
   SearchObj:SetLetterGroupVisibility(true)
   SearchObj:SetHitIconVisibility(false)
   ContactObj:SetSelectorNode(Selector)
   SSelector = Selector
   FSelector = SelectorFull
   local l_16_0 = ContactObj:GetScrollPhysics()
   if l_16_0 ~= nil then
      l_16_0:SetBehaviorCallback(ContactPicker_ListPhysicsScrollBehaviorCallback)
   end
   _application.OnVisibilityChanged:connect(HandleVisibilityChanged)
   _application:SetLeftSoftkey(Softkey((Locale:GetString("")), nil))
   _application:SetRightSoftkey(Softkey(Locale:GetString("IDS_CANCEL"), BackToPreviousPage))
   _application.OnSipPanelChanged:connect(HandleOnSipPanelChanged)
   PicLoader = PicLoader_CreateInstance()
   if ContactPickerScreenRotation then
      ContactPickerScreenRotation:SetLetterObj(LetterPickerObj)
      ContactPickerScreenRotation:SetSearchObj(SearchObj)
      ContactPickerScreenRotation:OnScreenRotation()
   end
end

main()

⌨️ 快捷键说明

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