Sub populatePackages
lv.Clear
Dim Obj1, Obj2, Obj3 As Reflector
Dim size, i, flags As Int
Dim name As String
Obj1.Target = Obj1.GetContext
Obj1.Target = Obj1.RunMethod("getPackageManager") ' PackageManager
Obj1.Target = Obj1.RunMethod2("getInstalledPackages", 0, "java.lang.int") ' List<PackageInfo>
size = Obj1.RunMethod("size")
For i = 0 To size -1
Obj2.Target = Obj1.RunMethod2("get", i, "java.lang.int") ' PackageInfo
name = Obj2.GetField("packageName")
Obj3.Target = Obj2.GetField("applicationInfo") ' ApplicationInfo
flags = Obj3.GetField("flags")
If Bit.AND(flags, 1) = 0 Then
'app is not in the system image
'Log(name & " : " & flags)
lv.AddSingleLine(name)
End If
Next
End Sub