FileDocCategorySizeDatePackage
WindowsLoader.javaAPI DocAndroid 1.5 API2771Wed May 06 22:41:10 BST 2009com.android.hierarchyviewer.scene

WindowsLoader

public class WindowsLoader extends Object

Fields Summary
Constructors Summary
Methods Summary
public static com.android.hierarchyviewer.device.Window[]loadWindows(com.android.ddmlib.Device device)

        Socket socket = null;
        BufferedReader in = null;
        BufferedWriter out = null;

        try {
            ArrayList<Window> windows = new ArrayList<Window>();

            socket = new Socket();
            socket.connect(new InetSocketAddress("127.0.0.1",
                    DeviceBridge.getDeviceLocalPort(device)));

            out = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
            in = new BufferedReader(new InputStreamReader(socket.getInputStream()));

            out.write("LIST");
            out.newLine();
            out.flush();

            String line;
            while ((line = in.readLine()) != null) {
                if ("DONE.".equalsIgnoreCase(line)) {
                    break;
                }

                int index = line.indexOf(' ");
                if (index != -1) {
                    Window w = new Window(line.substring(index + 1),
                            Integer.parseInt(line.substring(0, index), 16));
                    windows.add(w);
                }
            }

            return windows.toArray(new Window[windows.size()]);
        } catch (IOException e) {
            // Empty
        } finally {
            try {
                if (out != null) {
                    out.close();
                }
                if (in != null) {
                    in.close();
                }
                if (socket != null) {
                    socket.close();
                }
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }

        return new Window[0];