245 lines
7.5 KiB
Plaintext
245 lines
7.5 KiB
Plaintext
autoImport('PersonalPhoto')
|
|
autoImport('PhotoFileInfo')
|
|
autoImport('LocalPersonalPhoto')
|
|
autoImport('NetIngPersonalPhoto')
|
|
|
|
PersonalPhotoHelper = class('PersonalPhotoHelper')
|
|
|
|
function PersonalPhotoHelper.Ins()
|
|
if PersonalPhotoHelper.ins == nil then
|
|
PersonalPhotoHelper.ins = PersonalPhotoHelper.new()
|
|
end
|
|
return PersonalPhotoHelper.ins
|
|
end
|
|
|
|
function PersonalPhotoHelper:Initialize()
|
|
self.tabIsCheckingExistO = {}
|
|
self.tabIsCheckingExistT = {}
|
|
self.tabCachedParamsO = {}
|
|
self.tabCachedParamsT = {}
|
|
self.tabStopFlagO = {}
|
|
self.tabStopFlagT = {}
|
|
end
|
|
|
|
function PersonalPhotoHelper:GetOriginImage(pos_index, timestamp, progress_callback, success_callback, error_callback, is_keep_previous_callback, is_through_personalphotocallback)
|
|
print(string.format('PersonalPhotoHelper:GetOriginImage\npos_index=%s\ntimestamp=%s\nis_keep_previous_callback=%s', tostring(pos_index), tostring(timestamp), tostring(is_keep_previous_callback)))
|
|
self.tabStopFlagO[pos_index] = nil
|
|
local isLatestLocal = false
|
|
local photoID = PersonalPhoto.Ins():GetPhotoID(Game.Myself.data.id, pos_index)
|
|
local localTimestamp = LocalPersonalPhoto.Ins():GetTimestamp(photoID, true)
|
|
if localTimestamp ~= nil then
|
|
isLatestLocal = localTimestamp >= timestamp
|
|
else
|
|
isLatestLocal = false
|
|
end
|
|
if isLatestLocal then
|
|
PersonalPhoto.Ins():GetOriginImage(
|
|
pos_index,
|
|
timestamp,
|
|
progress_callback,
|
|
success_callback,
|
|
error_callback,
|
|
is_keep_previous_callback,
|
|
is_through_personalphotocallback
|
|
)
|
|
else
|
|
if self.tabCachedParamsO[pos_index] == nil then
|
|
self.tabCachedParamsO[pos_index] = {}
|
|
end
|
|
table.insert(
|
|
self.tabCachedParamsO[pos_index],
|
|
{
|
|
timestamp = timestamp,
|
|
progressCallback = progress_callback,
|
|
successCallback = success_callback,
|
|
errorCallback = error_callback,
|
|
isKeepPreviousCallback = is_keep_previous_callback,
|
|
isThroughPersonalphotocallback = is_through_personalphotocallback
|
|
}
|
|
)
|
|
|
|
if self.tabIsCheckingExistO[pos_index] == nil then
|
|
-- NetIngPersonalPhoto.Ins():CheckExist(
|
|
-- Game.Myself.data.id,
|
|
-- pos_index,
|
|
-- function ()
|
|
-- self.tabIsCheckingExistO[pos_index] = nil
|
|
-- if self.tabStopFlagO[pos_index] == nil then
|
|
-- local params = self.tabCachedParamsO[pos_index]
|
|
-- for i = 1, #params do
|
|
-- local param = params[i]
|
|
-- PersonalPhoto.Ins():GetOriginImage(
|
|
-- pos_index,
|
|
-- param.timestamp,
|
|
-- param.progressCallback,
|
|
-- param.successCallback,
|
|
-- param.errorCallback,
|
|
-- param.isKeepPreviousCallback,
|
|
-- param.isThroughPersonalphotocallback,
|
|
-- PhotoFileInfo.Extension
|
|
-- )
|
|
-- end
|
|
-- end
|
|
-- self.tabCachedParamsO[pos_index] = nil
|
|
-- end,
|
|
-- function ()
|
|
-- self.tabIsCheckingExistO[pos_index] = nil
|
|
-- if self.tabStopFlagO[pos_index] == nil then
|
|
-- local params = self.tabCachedParamsO[pos_index]
|
|
-- for i = 1, #params do
|
|
-- local param = params[i]
|
|
-- PersonalPhoto.Ins():GetOriginImage(
|
|
-- pos_index,
|
|
-- param.timestamp,
|
|
-- param.progressCallback,
|
|
-- param.successCallback,
|
|
-- param.errorCallback,
|
|
-- param.isKeepPreviousCallback,
|
|
-- param.isThroughPersonalphotocallback,
|
|
-- PhotoFileInfo.OldExtension
|
|
-- )
|
|
-- end
|
|
-- end
|
|
-- self.tabCachedParamsO[pos_index] = nil
|
|
-- end,
|
|
-- PhotoFileInfo.Extension
|
|
-- )
|
|
|
|
self.tabIsCheckingExistO[pos_index] = nil
|
|
if self.tabStopFlagO[pos_index] == nil then
|
|
local params = self.tabCachedParamsO[pos_index]
|
|
for i = 1, #params do
|
|
local param = params[i]
|
|
PersonalPhoto.Ins():GetOriginImage(
|
|
pos_index,
|
|
param.timestamp,
|
|
param.progressCallback,
|
|
param.successCallback,
|
|
param.errorCallback,
|
|
param.isKeepPreviousCallback,
|
|
param.isThroughPersonalphotocallback,
|
|
PhotoFileInfo.Extension
|
|
)
|
|
end
|
|
end
|
|
self.tabCachedParamsO[pos_index] = nil
|
|
|
|
self.tabIsCheckingExistO[pos_index] = 0
|
|
end
|
|
end
|
|
end
|
|
|
|
function PersonalPhotoHelper:StopGetOriginImage(pos_index)
|
|
if self.tabIsCheckingExistO[pos_index] ~= nil then
|
|
self.tabStopFlagO[pos_index] = 0
|
|
end
|
|
PersonalPhoto.Ins():StopGetOriginImage(pos_index)
|
|
end
|
|
|
|
function PersonalPhotoHelper:GetThumbnail(pos_index, timestamp, progress_callback, success_callback, error_callback, is_keep_previous_callback)
|
|
print(string.format('PersonalPhotoHelper:GetThumbnail\npos_index=%s\ntimestamp=%s\nis_keep_previous_callback=%s', tostring(pos_index), tostring(timestamp), tostring(is_keep_previous_callback)))
|
|
self.tabStopFlagT[pos_index] = nil
|
|
local isLatestLocal = false
|
|
local photoID = PersonalPhoto.Ins():GetPhotoID(Game.Myself.data.id, pos_index)
|
|
local localTimestamp = LocalPersonalPhoto.Ins():GetTimestamp(photoID, false)
|
|
if localTimestamp ~= nil then
|
|
isLatestLocal = localTimestamp >= timestamp
|
|
else
|
|
isLatestLocal = false
|
|
end
|
|
if isLatestLocal then
|
|
PersonalPhoto.Ins():GetThumbnail(
|
|
pos_index,
|
|
timestamp,
|
|
progress_callback,
|
|
success_callback,
|
|
error_callback,
|
|
is_keep_previous_callback
|
|
)
|
|
else
|
|
if self.tabCachedParamsT[pos_index] == nil then
|
|
self.tabCachedParamsT[pos_index] = {}
|
|
end
|
|
table.insert(
|
|
self.tabCachedParamsT[pos_index],
|
|
{
|
|
timestamp = timestamp,
|
|
progressCallback = progress_callback,
|
|
successCallback = success_callback,
|
|
errorCallback = error_callback,
|
|
isKeepPreviousCallback = is_keep_previous_callback
|
|
}
|
|
)
|
|
|
|
if self.tabIsCheckingExistT[pos_index] == nil then
|
|
-- NetIngPersonalPhoto.Ins():CheckExist(
|
|
-- Game.Myself.data.id,
|
|
-- pos_index,
|
|
-- function ()
|
|
-- self.tabIsCheckingExistT[pos_index] = nil
|
|
-- if self.tabStopFlagT[pos_index] == nil then
|
|
-- local params = self.tabCachedParamsT[pos_index]
|
|
-- for i = 1, #params do
|
|
-- local param = params[i]
|
|
-- PersonalPhoto.Ins():GetThumbnail(
|
|
-- pos_index,
|
|
-- param.timestamp,
|
|
-- param.progressCallback,
|
|
-- param.successCallback,
|
|
-- param.errorCallback,
|
|
-- param.isKeepPreviousCallback,
|
|
-- PhotoFileInfo.Extension
|
|
-- )
|
|
-- end
|
|
-- end
|
|
-- self.tabCachedParamsT[pos_index] = nil
|
|
-- end,
|
|
-- function ()
|
|
-- self.tabIsCheckingExistT[pos_index] = nil
|
|
-- if self.tabStopFlagT[pos_index] == nil then
|
|
-- local params = self.tabCachedParamsT[pos_index]
|
|
-- for i = 1, #params do
|
|
-- local param = params[i]
|
|
-- PersonalPhoto.Ins():GetThumbnail(
|
|
-- pos_index,
|
|
-- param.timestamp,
|
|
-- param.progressCallback,
|
|
-- param.successCallback,
|
|
-- param.errorCallback,
|
|
-- param.isKeepPreviousCallback,
|
|
-- PhotoFileInfo.OldExtension
|
|
-- )
|
|
-- end
|
|
-- end
|
|
-- self.tabCachedParamsT[pos_index] = nil
|
|
-- end,
|
|
-- PhotoFileInfo.Extension
|
|
-- )
|
|
self.tabIsCheckingExistT[pos_index] = nil
|
|
if self.tabStopFlagT[pos_index] == nil then
|
|
local params = self.tabCachedParamsT[pos_index]
|
|
for i = 1, #params do
|
|
local param = params[i]
|
|
PersonalPhoto.Ins():GetThumbnail(
|
|
pos_index,
|
|
param.timestamp,
|
|
param.progressCallback,
|
|
param.successCallback,
|
|
param.errorCallback,
|
|
param.isKeepPreviousCallback,
|
|
PhotoFileInfo.Extension
|
|
)
|
|
end
|
|
end
|
|
self.tabCachedParamsT[pos_index] = nil
|
|
self.tabIsCheckingExistT[pos_index] = 0
|
|
end
|
|
end
|
|
end
|
|
|
|
function PersonalPhotoHelper:StopGetThumbnail(pos_index)
|
|
if self.tabIsCheckingExistT[pos_index] ~= nil then
|
|
self.tabStopFlagT[pos_index] = 0
|
|
end
|
|
PersonalPhoto.Ins():StopGetThumbnail(pos_index)
|
|
end |