Android Question SMM (both SetMediaFromFile and SetMediaWithExtra)

Samara

Member
When I use both SetMediaFromFile and SetMediaWithExtra, everything works fine at first.
But when an image is loaded from a file, the other panels start using the same image automatically , until I load another panel from file again.
After loading from file, all calls to SetMediaWithExtra are ignored. (SMM.TrimMediaCache , SMM.ClearMedia not work for this!!)

B4X:
For i = 0 To Max_ThreeColumn - 1
        
        'Ready .Info
        'Create Value List For Each Image #1,2,3
        Dim List_Value As List
        List_Value.Initialize
        If List_Target.Size >= (i*3)+1 Then List_Value.Add(List_Target.Get(i*3).As(Map))
        If List_Target.Size >= (i*3+1)+1 Then List_Value.Add(List_Target.Get(i*3+1).As(Map))
        If List_Target.Size >= (i*3+2)+1 Then List_Value.Add(List_Target.Get(i*3+2).As(Map))
        
        Clv_Main_AHV_GalleryPage.Add(SetViews.CreateListItem("Cell_GalleryImagesItem",100%x,120dip),List_Value)
        
        'Resize Height
        Dim Index_Resizing As Int = Clv_Main_AHV_GalleryPage.Size - 1
        If Index_Resizing < 0 Then Index_Resizing = 0
        If EventsList_HaveLoaded_Gallery = False And i = Max_ThreeColumn - 1 Then
            Clv_Main_AHV_GalleryPage.ResizeItem(Index_Resizing,Pnl_Main_GalleryImagesItem.Height)
        Else
            If Index_Resizing = 0 Then
                Clv_Main_AHV_GalleryPage.ResizeItem(Index_Resizing,Pnl_Main_GalleryImagesItem.Height)
            Else
                Clv_Main_AHV_GalleryPage.ResizeItem(Index_Resizing,Pnl_Main_GalleryImagesItem.Height)
            End If
        End If
        
        'Set .Info
        '#1
        If List_Target.Size >= (i*3)+1 Then
            Dim m_left As Map : m_left.Initialize
            m_left = List_Target.Get(i*3)
            '/Load Image
            Dim IsThumnail_Image As Int = Main.SQL_Thumnail.ExecQuerySingleResult($"SELECT count(*) As MaxNumber FROM Thumnail WHERE file_path = "${"thumb_" & m_left.Get("file_name").As(String) & ".png"}""$)
            If IsThumnail_Image <> 0 Then
                SMM_GalleryImages.SetMediaFromFile(PnlBtn_Left_GalleryImagesItem, _ '/Target
                xui.DefaultFolder , _ '/Dir
                "thumb_" & m_left.Get("file_name").As(String) & ".png" , _ '/FileName
                "image/*", _ '/Mime
                SMM_ExtraMap) '/Extra
            Else
                SMM_GalleryImages.SetMediaWithExtra(PnlBtn_Left_GalleryImagesItem, _ '/Target
                SnippetCodes.Create_DownloadURL(m_left.Get("file_name").As(String)) , _ '/URL
                "image/*", _ '/Mime
                SMM_ExtraMap) '/Extra
            End If
            SetViews.SetCircleClip(PnlBtn_Left_GalleryImagesItem)
            
            SetViews.Ripple_Effect(PnlBtn_Left_GalleryImagesItem,"Ripple_PnlBtn_Left_GalleryImagesItem")
        Else
            PnlBtn_Left_GalleryImagesItem.Visible = False
        End If
        '#2
        If List_Target.Size >= (i*3+1)+1 Then
            Dim m_center As Map : m_center.Initialize
            m_center = List_Target.Get(i*3+1)
            
            '/Load Image
            Dim IsThumnail_Image As Int = Main.SQL_Thumnail.ExecQuerySingleResult($"SELECT count(*) As MaxNumber FROM Thumnail WHERE file_path = "${"thumb_" & m_center.Get("file_name").As(String) & ".png"}""$)
            If IsThumnail_Image <> 0 Then
                SMM_GalleryImages.SetMediaFromFile(PnlBtn_Center_GalleryImagesItem, _ '/Target
                xui.DefaultFolder , _ '/Dir
                "thumb_" & m_center.Get("file_name").As(String) & ".png" , _ '/FileName
                "image/*", _ '/Mime
                SMM_ExtraMap) '/Extra
            Else
                SMM_GalleryImages.SetMediaWithExtra(PnlBtn_Center_GalleryImagesItem, _ '/Target
                SnippetCodes.Create_DownloadURL(m_center.Get("file_name").As(String)) , _ '/URL
                "image/*", _ '/Mime
                SMM_ExtraMap) '/Extra
            End If
            SetViews.SetCircleClip(PnlBtn_Center_GalleryImagesItem)
            
            SetViews.Ripple_Effect(PnlBtn_Center_GalleryImagesItem,"Ripple_PnlBtn_Center_GalleryImagesItem")
        Else
            PnlBtn_Center_GalleryImagesItem.Visible = False
        End If
        '#3
        If List_Target.Size >= (i*3+2)+1 Then
            Dim m_right As Map : m_right.Initialize
            m_right = List_Target.Get(i*3+2)
            
            '/Load Image
            Dim IsThumnail_Image As Int = Main.SQL_Thumnail.ExecQuerySingleResult($"SELECT count(*) As MaxNumber FROM Thumnail WHERE file_path = "${"thumb_" & m_right.Get("file_name").As(String) & ".png"}""$)
            If IsThumnail_Image <> 0 Then
                SMM_GalleryImages.SetMediaFromFile(PnlBtn_Right_GalleryImagesItem, _ '/Target
                xui.DefaultFolder , _ '/Dir
                "thumb_" & m_right.Get("file_name").As(String) & ".png" , _ '/FileName
                "image/*", _ '/Mime
                SMM_ExtraMap) '/Extra
            Else
                SMM_GalleryImages.SetMediaWithExtra(PnlBtn_Right_GalleryImagesItem, _ '/Target
                SnippetCodes.Create_DownloadURL(m_right.Get("file_name").As(String)) , _ '/URL
                "image/*", _ '/Mime
                SMM_ExtraMap) '/Extra
            End If
            SetViews.SetCircleClip(PnlBtn_Right_GalleryImagesItem)
            
            SetViews.Ripple_Effect(PnlBtn_Right_GalleryImagesItem,"Ripple_PnlBtn_Right_GalleryImagesItem")
        Else
            PnlBtn_Right_GalleryImagesItem.Visible = False
        End If
        LogColor("---------",Colors.Yellow)
    Next
 
Top