peopleupdatepage.luac.lua

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

LUA
548
字号
-- Decompiled using luadec 0.6 by sztupy (http://winmo.sztupy.hu)
-- Command line was: -l ;;;;;;;;;;0,1,1,1,1;;;;0,25,31,56,58,60;;;0,3,6,8;0,0,0,5,9,13,17,21,25,29,33,37,41,45,57,58,64,109,118;;0,0,0,9,13;;;0,12,82;0,0,34,37;;0,0,34,37;; 5d1338c0_manila.luac 

require("scrollphysics")
require("transitions")
require("facebook_svc")
require("people\\PeopleImageLoader")
require("people\\PeopleGreetings")
PeopeUpdatesForm = class()
PeopeUpdatesForm.__init = function(l_1_0)
   l_1_0._request = _request
   l_1_0._request.NavigateInFrom:connect(l_1_0.OnNavigateIn, l_1_0)
   l_1_0._request.PageInit:connect(l_1_0.OnPageInit, l_1_0)
   l_1_0._request.NavigateOutTo:connect(l_1_0.OnNavigateOut, l_1_0)
   l_1_0._application = _application
   l_1_0._application:SetLeftSoftkey(Softkey(Locale:GetString("IDS_BACK"), OnLeftSoftKeyPress))
   l_1_0._application:SetRightSoftkey(Softkey(Locale:GetString("IDS_MENU"), OnRightSoftKeyPress))
   l_1_0.mode = "ShowMore"
end

PeopeUpdatesForm.OnNavigateIn = function(l_2_0, l_2_1)
   objs3D = {}
   objs3D[1] = Camera2D
   setOffScreen()
   FBmgr = FacebookManager_Instance()
   FBmgr:CreateConnection()
   _UpdateSummaryList = UpdateSummaryList(l_2_0:GetCollection())
   FBmgr.OnContactCreated:connect(l_2_0.OnContactModified, l_2_0)
   FBmgr.OnContactChanged:connect(l_2_0.OnContactModified22, l_2_0)
   FBmgr.OnContactDeleted:connect(l_2_0.OnContactModified33, l_2_0)
   Transition(l_2_1, "In")
end

PeopeUpdatesForm.OnPageInit = function(l_3_0, l_3_1)
   if FBmgr:IsUpdating() then
      EventHeaderElement._visible = true
      UpdateHeaderElement._visible = true
      FBmgr.OnUpdateComplete:connect(PeopeUpdatesForm_onUpdateComplete)
   end
   Transition(l_3_1, "In")
end

PeopeUpdatesForm.OnNavigateOut = function(l_4_0, l_4_1)
   _UpdateSummaryList.PageIsDestroyed = true
   _UpdateSummaryList:Finalize()
   FBmgr.OnContactCreated:disconnect(l_4_0.OnContactModified, l_4_0)
   FBmgr.OnContactChanged:disconnect(l_4_0.OnContactModified22, l_4_0)
   FBmgr.OnContactDeleted:disconnect(l_4_0.OnContactModified33, l_4_0)
   if EventHeaderElement ~= nil and EventHeaderElement._visible then
      FBmgr.OnUpdateComplete:disconnect(PeopeUpdatesForm_onUpdateComplete)
   end
   l_4_0._request.NavigateInFrom:disconnect(l_4_0.OnNavigateIn, l_4_0)
   l_4_0._request.PageInit:disconnect(l_4_0.OnPageInit, l_4_0)
   l_4_0._request.NavigateOutTo:disconnect(l_4_0.OnNavigateOut, l_4_0)
   Transition(l_4_1, "Out")
end

PeopeUpdatesForm.OnContactModified = function(l_5_0)
   trace("11111")
   _UpdateSummaryList:Reset(_PeopeUpdatesForm:GetCollection())
end

PeopeUpdatesForm.OnContactModified22 = function(l_6_0)
   trace("22222")
   _UpdateSummaryList:Reset(_PeopeUpdatesForm:GetCollection())
end

PeopeUpdatesForm.OnContactModified33 = function(l_7_0)
   trace("33333")
   _UpdateSummaryList:Reset(_PeopeUpdatesForm:GetCollection())
end

PeopeUpdatesForm.GetCollection = function(l_8_0)
   UpdatesCollection = FBmgr:GetUpdateSummaryList()
   EventsCollection = FBmgr:GetEventSummaryList()
   UpdatesCount = UpdatesCollection:GetCount()
   EventsCount = EventsCollection:GetCount()
   local vni = VectorNotifyint()
   if not FBmgr:IsLogin() then
      TotalUpdatesCount = 1     
      vni:push_back(-3)
   elseif l_8_0.mode == "ShowMore" then
      vni:push_back(-1)
      if UpdatesCount > 4 then
         for i = 0, 3 do
            vni:push_back(i)
         end
         vni:push_back(-4)
         TotalUpdatesCount = 6
      else
         for i = 0, UpdatesCount - 1 do
            vni:push_back(i)
         end
         TotalUpdatesCount = UpdatesCount + 1
      end
   else
      vni:push_back(-1)
      for i = 0, UpdatesCount - 1 do
         vni:push_back(i)
      end
      TotalUpdatesCount = UpdatesCount + 1
   end
  if EventsCount == 0 then
     EventsCount = 1
     vni:push_back(-2)
  else
     for i = UpdatesCount, UpdatesCount + EventsCount - 1 do
        vni:push_back(i)
     end
  end
  return vni
end

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

OnRightSoftKeyPress = function()
   local l_10_0 = nil
   if FBmgr:IsLogin() then
      l_10_0 = _application.DialogManager:GetDialog(URL("Manila://people-update-menu.dialog"))
   else
      l_10_0 = _application.DialogManager:GetDialog(URL("Manila://people-update-nologin-menu.dialog"))
   end
   l_10_0.OnExit:connect(MenuExitCallback)
   l_10_0:Show()
end

MenuExitCallback = function(l_11_0)
   l_11_0.OnExit:disconnect(MenuExitCallback)
   if l_11_0.Result.ExitType ~= DialogExitType_Cancel then
     if l_11_0.Result.UserValue == "Data Connection Setting" then
        _application.Navigation:Navigate(URL("Manila://people/facebooklogin/connectsetting.page"),true)
     elseif l_11_0.Result.UserValue == "Update Now" then
       if not FBmgr:IsUpdating() then
        FBmgr:UpdateAll()
        FBmgr.OnUpdateComplete:connect(PeopeUpdatesForm_onUpdateComplete)
        if EventHeaderElement ~= nil then
          EventHeaderElement._visible = true
        end
        if UpdateHeaderElement ~= nil then
           UpdateHeaderElement._visible = true
        end
      end
     elseif l_11_0.Result.UserValue == "Logout" then
        FBmgr:Logout()
     end
   end
end

PeopeUpdatesForm_onUpdateComplete = function(l_12_0)
   trace("[Facebook]Update complete")
   if l_12_0 then
      _UpdateSummaryList:Reset(_PeopeUpdatesForm:GetCollection())
   else
      trace("[Facebook]Download is failed")
   end
   if EventHeaderElement ~= nil then
      EventHeaderElement._visible = false
   end
   if UpdateHeaderElement ~= nil then
      UpdateHeaderElement._visible = false
   end
   FBmgr.OnUpdateComplete:disconnect(PeopeUpdatesForm_onUpdateComplete)
end

UpdateSummaryList = class()
UpdateSummaryList.__init = function(l_13_0, l_13_1)
   l_13_0._request = _request
   l_13_0.Collection = l_13_1
   l_13_0.ListView = SummaryListView
   l_13_0.Layout = SequentialLayout()
   l_13_0.Layout:SetItemSize(480, 80, 0)
   l_13_0.Layout:SetHeaderSize(480, 40, 0)
   l_13_0.Layout.DisableVirtualization = true
   l_13_0.ListView:SetLayout(l_13_0.Layout)
   l_13_0.Generator = SequentialLibraryGeneratorint(l_13_0.Collection, l_13_0.ListView:GetMovie(), l_13_0.ListView.ComponentLibraryName, l_13_0.ListView.ComponentLibraryID)
   l_13_0.Generator:SetHeaderComponent(l_13_0.ListView:GetMovie(), l_13_0.ListView.ComponentLibraryName, "SummaryHeader")
   l_13_0.Generator.GroupFunction:connect(l_13_0.OnHeaderGroup, l_13_0)
   l_13_0.Generator.HeaderCreated:connect(l_13_0.OnHeaderCreated, l_13_0)
   l_13_0.Generator.ItemCreated:connect(l_13_0.OnItemCreated, l_13_0)
   l_13_0.Generator.ItemDestroyed:connect(l_13_0.OnItemDestroyed, l_13_0)
   l_13_0.ListView:SetGenerator(l_13_0.Generator)
   l_13_0.ListPhysics = ScrollPhysics(l_13_0.ListView, l_13_0.ListView, HandleSelection)
   l_13_0.ListPhysics:ConnectMouseEvents()
   l_13_0.ListPhysics:SetBehaviorCallback(ListPhysicsScrollBehaviorCallback)
   l_13_0.PageIsDestroyed = false
   l_13_0.PicLoader = PicLoader_CreateInstance()
   UpdateHeaderElement = nil
   EventHeaderElement = nil
end

UpdateSummaryList.Finalize = function(l_14_0)
   l_14_0.PageIsDestroyed = true
   if nil ~= l_14_0.ListPhysics then
      l_14_0.ListPhysics:DisconnectMouseEvents()
      l_14_0.ListPhysics:CancelBehaviorCallback()
      l_14_0.ListPhysics = nil
   end
   if nil ~= l_14_0.PicLoader then
      l_14_0.PicLoader:StopThread()
      l_14_0.PicLoader = nil
   end
   if nil == l_14_0.ListView then
      return 
   end
   local l_14_1 = l_14_0.ListView:GetLayout()
   if nil == l_14_1 then
      return 
   end
   local l_14_2 = l_14_0.ListView:GetGenerator()
   if nil == l_14_2 then
      return 
   end
   l_14_2.GroupFunction:disconnect(l_14_0.OnHeaderGroup, l_14_0)
   l_14_2.HeaderCreated:disconnect(l_14_0.OnHeaderCreated, l_14_0)
   l_14_2.ItemCreated:disconnect(l_14_0.OnItemCreated, l_14_0)
   l_14_2.ItemDestroyed:disconnect(l_14_0.OnItemDestroyed, l_14_0)
   local l_14_3 = l_14_1:GetVisibleHeadIndex()
   local l_14_4 = l_14_1:GetVisibleCount()
   local l_14_5 = l_14_3 + l_14_4 - 1
   for i = l_14_3, l_14_5 do
      local item = l_14_2:GetItem(i)
      if item ~= nil then
         l_14_0:OnItemDestroyed(item)
      end
   end
   l_14_0.ListView = nil
end

UpdateSummaryList.Reset = function(l_15_0, l_15_1)
   l_15_0:Finalize()
   l_15_0.Collection = l_15_1
   l_15_0.ListView = SummaryListView
   l_15_0.Layout = SequentialLayout()
   l_15_0.Layout:SetItemSize(480, 80, 0)
   l_15_0.Layout:SetHeaderSize(480, 40, 0)
   l_15_0.Layout.DisableVirtualization = true
   l_15_0.ListView:SetLayout(l_15_0.Layout)
   l_15_0.Generator = SequentialLibraryGeneratorint(l_15_0.Collection, l_15_0.ListView:GetMovie(), l_15_0.ListView.ComponentLibraryName, l_15_0.ListView.ComponentLibraryID)
   l_15_0.Generator:SetHeaderComponent(l_15_0.ListView:GetMovie(), l_15_0.ListView.ComponentLibraryName, "SummaryHeader")
   l_15_0.Generator.GroupFunction:connect(l_15_0.OnHeaderGroup, l_15_0)
   l_15_0.Generator.HeaderCreated:connect(l_15_0.OnHeaderCreated, l_15_0)
   l_15_0.Generator.ItemCreated:connect(l_15_0.OnItemCreated, l_15_0)
   l_15_0.Generator.ItemDestroyed:connect(l_15_0.OnItemDestroyed, l_15_0)
   l_15_0.ListView:SetGenerator(l_15_0.Generator)
   l_15_0.ListPhysics = ScrollPhysics(l_15_0.ListView, l_15_0.ListView, HandleSelection)
   l_15_0.ListPhysics:ConnectMouseEvents()
   l_15_0.ListPhysics:SetBehaviorCallback(ListPhysicsScrollBehaviorCallback)
   l_15_0.PageIsDestroyed = false
   l_15_0.PicLoader = PicLoader_CreateInstance()
   UpdateHeaderElement = nil
   EventHeaderElement = nil
end

ListPhysicsScrollBehaviorCallback = function(l_16_0)
   if _UpdateSummaryList.PageIsDestroyed then
      return 
   end
   if l_16_0 == GESTURE_PAN_END then
      _UpdateSummaryList:PeopleAll_UpdatePicture()
   end
   collectgarbage("collect")
end

UpdateSummaryList.PeopleAll_UpdatePicture = function(l_17_0)
   local l_17_1 = l_17_0.Layout:GetVisibleHeadIndex()
   local l_17_2 = l_17_0.Layout:GetVisibleCount()
   local l_17_3 = l_17_1 + l_17_2 - 1
   for i = l_17_1, l_17_3 do
      local item = l_17_0.Generator:GetItem(i)
      if item ~= nil and item.Tag ~= nil and item.Tag.Oid ~= nil then
        local oid = item.Tag.Oid
        if item.Tag.Pic == nil then

⌨️ 快捷键说明

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