Sub ShowFile_Chooser (FilePathCallback As Object, FileChooserParams As Object)
cc.Initialize("CC")
cc.Show("*/*", "Choose file")
Wait For CC_Result (Success As Boolean, Dir As String, FileName As String)
Dim jo As JavaObject = Me
If Success Then
Log(FileName)
Dim f As String = GetFileInfoByIndex("_display_name", FileName)
File.Copy(Dir, FileName, Starter.Provider.SharedFolder, f)
jo.RunMethod("SendResult", Array(Starter.Provider.GetFileUri(f), FilePathCallback))
Else
jo.RunMethod("SendResult", Array(Null, FilePathCallback))
End If
End Sub
Sub GetFileInfoByIndex(column As String, uri As String) As String
Dim results As String
Dim Cur As Cursor
Dim Uri1 As Uri
Dim cr As ContentResolver
cr.Initialize("")
'if viewing by gallery
If uri.StartsWith("content://media/") Then
Dim i As Int = uri.LastIndexOf("/")
Dim id As String = uri.SubString(i + 1)
Uri1.Parse(uri)
Cur = cr.Query(Uri1, Null, "_id = ?", Array As String(id), Null)
Cur.Position = 0
If Cur.RowCount <> 0 Then
For i = 0 To Cur.ColumnCount - 1
If Cur.GetColumnName(i) <> Null Then
If Cur.GetColumnName(i) = column Then
results = Cur.GetString2(i)
Exit
End If
End If
Next
End If
Else
Uri1.Parse(uri)
Cur = cr.Query(Uri1, Null, Null, Null, Null)
Cur.Position = 0
If Cur.RowCount <> 0 Then
For i = 0 To Cur.ColumnCount - 1
If Cur.GetColumnName(i) <> Null Then
If Cur.GetColumnName(i) = column Then
results = Cur.GetString2(i)
Exit
End If
End If
Next
End If
End If
Cur.Close
Return results
End Sub