Search in sources :

Example 46 with File

use of com.codename1.io.File in project CodenameOne by codenameone.

the class FileEncodedImage method create.

/**
 * Creates an encoded image that maps to a local file thus allowing to
 * seamlessly fetch files as needed. This only works reasonably well for very small
 * files. This version of the method creates the file from an input stream
 *
 * @param fileName the name of the file
 * @param i input stream from which to create the file
 * @param width the width of the file or -1 if unknown (notice that this will improve performance)
 * @param height the height of the file or -1 if unknown (notice that this will improve performance)
 * @return image that will load the file seamlessly
 */
public static FileEncodedImage create(String fileName, InputStream i, int width, int height) throws IOException {
    EncodedImage e = EncodedImage.create(i);
    FileEncodedImage f = new FileEncodedImage(fileName, width, height, true);
    f.data = e.getImageData();
    OutputStream o = FileSystemStorage.getInstance().openOutputStream(fileName);
    o.write(f.data);
    o.close();
    return f;
}
Also used : OutputStream(java.io.OutputStream) EncodedImage(com.codename1.ui.EncodedImage)

Example 47 with File

use of com.codename1.io.File in project CodenameOne by codenameone.

the class JavaSEPort method downloadSkin.

private File downloadSkin(File skinDir, String url, String version, JLabel label) throws IOException {
    String fileName = url.substring(url.lastIndexOf("/"));
    File skin = new File(skinDir.getAbsolutePath() + "/" + fileName);
    HttpURLConnection.setFollowRedirects(true);
    URL u = new URL(url);
    FileOutputStream os = new FileOutputStream(skin);
    URLConnection uc = u.openConnection();
    InputStream is = uc.getInputStream();
    int length = uc.getContentLength();
    byte[] buffer = new byte[65536];
    int size = is.read(buffer);
    int offset = 0;
    int percent = 0;
    String msg = label.getText();
    if (length > 0) {
        System.out.println("Downloading " + length + " bytes");
    }
    while (size > -1) {
        offset += size;
        if (length > 0) {
            float f = ((float) offset) / ((float) length) * 100;
            if (percent != ((int) f)) {
                percent = (int) f;
                label.setText(msg + " " + percent + "%");
                label.repaint();
            }
        } else {
            if (percent < offset / 102400) {
                percent = offset / 102400;
                System.out.println("Downloaded " + percent + "00Kb");
            }
        }
        os.write(buffer, 0, size);
        size = is.read(buffer);
    }
    is.close();
    os.close();
    // store the skin version
    Preferences pref = Preferences.userNodeForPackage(JavaSEPort.class);
    pref.put(fileName, version);
    return skin;
}
Also used : BufferedInputStream(com.codename1.io.BufferedInputStream) MemoryCacheImageInputStream(javax.imageio.stream.MemoryCacheImageInputStream) ByteArrayInputStream(java.io.ByteArrayInputStream) AudioInputStream(javax.sound.sampled.AudioInputStream) ZipInputStream(java.util.zip.ZipInputStream) AttributedString(java.text.AttributedString) Preferences(java.util.prefs.Preferences) HttpsURLConnection(javax.net.ssl.HttpsURLConnection) Point(java.awt.Point)

Example 48 with File

use of com.codename1.io.File in project CodenameOne by codenameone.

the class JavaSEPort method editString.

/**
 * @inheritDoc
 */
public void editString(final Component cmp, final int maxSize, final int constraint, String text, final int keyCode) {
    if (scrollWheeling) {
        return;
    }
    if (System.getProperty("TextCompatMode") != null) {
        editStringLegacy(cmp, maxSize, constraint, text, keyCode);
        return;
    }
    if (editingInProgress != null) {
        final String fText = text;
        editingInProgress.invokeAfter(new Runnable() {

            public void run() {
                CN.callSerially(new Runnable() {

                    public void run() {
                        editString(cmp, maxSize, constraint, fText, keyCode);
                    }
                });
            }
        });
        editingInProgress.endEditing();
        return;
    }
    // a workaround to fix an issue where the previous Text Component wasn't removed properly.
    // java.awt.Component [] cmps = canvas.getComponents();
    // for (int i = 0; i < cmps.length; i++) {
    // java.awt.Component cmp1 = cmps[i];
    // if(cmp1 instanceof JScrollPane || cmp1 instanceof javax.swing.text.JTextComponent){
    // canvas.remove(cmp1);
    // }
    // }
    checkEDT();
    class Repainter {

        JComponent jcmp;

        javax.swing.border.Border origBorder;

        Repainter(JComponent jcmp) {
            this.jcmp = jcmp;
        }

        void repaint(long tm, int x, int y, int width, int height) {
            boolean oldShowEdtWarnings = showEDTWarnings;
            showEDTWarnings = false;
            // cmp.getSelectedStyle().getPadding(Component.TOP);
            int marginTop = 0;
            // cmp.getSelectedStyle().getPadding(Component.LEFT);
            int marginLeft = 0;
            // cmp.getSelectedStyle().getPadding(Component.RIGHT);
            int marginRight = 0;
            // cmp.getSelectedStyle().getPadding(Component.BOTTOM);
            int marginBottom = 0;
            int paddingTop = Math.round(cmp.getSelectedStyle().getPadding(Component.TOP) * zoomLevel);
            int paddingLeft = Math.round(cmp.getSelectedStyle().getPadding(Component.LEFT) * zoomLevel);
            int paddingRight = Math.round(cmp.getSelectedStyle().getPadding(Component.RIGHT) * zoomLevel);
            int paddingBottom = Math.round(cmp.getSelectedStyle().getPadding(Component.BOTTOM) * zoomLevel);
            Rectangle bounds;
            if (getSkin() != null) {
                bounds = new Rectangle((int) ((cmp.getAbsoluteX() + cmp.getScrollX() + getScreenCoordinates().x + canvas.x + marginLeft) * zoomLevel), (int) ((cmp.getAbsoluteY() + cmp.getScrollY() + getScreenCoordinates().y + canvas.y + marginTop) * zoomLevel), (int) ((cmp.getWidth() - marginLeft - marginRight) * zoomLevel), (int) ((cmp.getHeight() - marginTop - marginBottom) * zoomLevel));
            } else {
                bounds = new Rectangle(cmp.getAbsoluteX() + cmp.getScrollX() + marginLeft, cmp.getAbsoluteY() + cmp.getScrollY() + marginTop, cmp.getWidth() - marginRight - marginLeft, cmp.getHeight() - marginTop - marginBottom);
            }
            if (!jcmp.getBounds().equals(bounds)) {
                jcmp.setBounds(bounds);
                if (origBorder == null) {
                    origBorder = jcmp.getBorder();
                }
                // jcmp.setBorder(BorderFactory.createCompoundBorder(
                // origBorder,
                // BorderFactory.createEmptyBorder(paddingTop, paddingLeft, paddingBottom, paddingRight))
                // );
                jcmp.setBorder(BorderFactory.createEmptyBorder(paddingTop, paddingLeft, paddingBottom, paddingRight));
            }
            showEDTWarnings = oldShowEdtWarnings;
            Display.getInstance().callSerially(new Runnable() {

                public void run() {
                    cmp.repaint();
                }
            });
        }
    }
    javax.swing.text.JTextComponent swingT;
    if (((com.codename1.ui.TextArea) cmp).isSingleLineTextArea()) {
        JTextComponent t;
        if ((constraint & TextArea.PASSWORD) == TextArea.PASSWORD) {
            t = new JPasswordField() {

                Repainter repainter = new Repainter(this);

                @Override
                public void repaint(long tm, int x, int y, int width, int height) {
                    if (repainter != null) {
                        repainter.repaint(tm, x, y, width, height);
                    }
                }
            };
        } else {
            t = new JTextField() {

                Repainter repainter = new Repainter(this);

                @Override
                public void repaint(long tm, int x, int y, int width, int height) {
                    if (repainter != null) {
                        repainter.repaint(tm, x, y, width, height);
                    }
                }
            };
        /*
                ((JTextField)t).addActionListener(new ActionListener() {

                    @Override
                    public void actionPerformed(ActionEvent e) {
                        if (cmp instanceof com.codename1.ui.TextField) {
                            final com.codename1.ui.TextField tf = (com.codename1.ui.TextField)cmp;
                            if (tf.getDoneListener() != null) {
                                Display.getInstance().callSerially(new Runnable() {
                                    public void run() {
                                        if (tf.getDoneListener() != null) {
                                            tf.fireDoneEvent();
                                        }
                                    }
                                });
                            }
                        }
                    }
                    
                });
                */
        }
        swingT = t;
        textCmp = swingT;
    } else {
        // Forward references so that we can access the scroll pane and its
        // repainter from inside the JTextArea.
        final Repainter[] fRepainter = new Repainter[1];
        final JScrollPane[] fPane = new JScrollPane[1];
        final com.codename1.ui.TextArea ta = (com.codename1.ui.TextArea) cmp;
        JTextArea t = new JTextArea() {

            @Override
            public void repaint(long tm, int x, int y, int width, int height) {
                // enough.
                if (fRepainter[0] != null && fPane[0] != null) {
                    Point p = SwingUtilities.convertPoint(this, x, y, fPane[0]);
                    fRepainter[0].repaint(tm, p.x, p.y, width, height);
                }
            }
        };
        t.setWrapStyleWord(true);
        t.setLineWrap(true);
        swingT = t;
        JScrollPane pane = new JScrollPane(swingT) {

            Repainter repainter = new Repainter(this);

            {
                fRepainter[0] = repainter;
            }

            @Override
            public void repaint(long tm, int x, int y, int width, int height) {
                if (repainter != null) {
                    repainter.repaint(tm, x, y, width, height);
                }
            }
        };
        fPane[0] = pane;
        if (ta.isGrowByContent()) {
            pane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
        }
        pane.setBorder(null);
        pane.setOpaque(false);
        pane.getViewport().setOpaque(false);
        // Without these scrollbars, it seems terribly difficult
        // to work with TextAreas that contain more text than can fit.
        // Commenting these out for better usability - at least on OS X.
        // pane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_NEVER);
        // pane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
        textCmp = pane;
    }
    if (cmp.isRTL()) {
        textCmp.setComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT);
    }
    DefaultCaret caret = (DefaultCaret) swingT.getCaret();
    caret.setUpdatePolicy(DefaultCaret.ALWAYS_UPDATE);
    swingT.setFocusTraversalKeysEnabled(false);
    TextEditUtil.setCurrentEditComponent(cmp);
    final javax.swing.text.JTextComponent txt = swingT;
    txt.addKeyListener(new KeyListener() {

        @Override
        public void keyTyped(KeyEvent e) {
        }

        @Override
        public void keyPressed(KeyEvent e) {
        }

        @Override
        public void keyReleased(KeyEvent e) {
            if (e.getKeyCode() == KeyEvent.VK_TAB) {
                if (e.isShiftDown()) {
                    TextEditUtil.editPrevTextArea();
                } else {
                    TextEditUtil.editNextTextArea();
                }
            }
        }
    });
    // swingT.setBorder(null);
    swingT.setOpaque(false);
    swingT.setForeground(new Color(cmp.getUnselectedStyle().getFgColor()));
    swingT.setCaretColor(new Color(cmp.getUnselectedStyle().getFgColor()));
    final javax.swing.text.JTextComponent tf = swingT;
    if (keyCode > 0) {
        text += ((char) keyCode);
        setText(tf, text);
        setCaretPosition(tf, text.length());
        if (cmp instanceof com.codename1.ui.TextField) {
            ((com.codename1.ui.TextField) cmp).setText(getText(tf));
        }
    } else {
        setText(tf, text);
    }
    textCmp.setBorder(null);
    textCmp.setOpaque(false);
    canvas.add(textCmp);
    int marginTop = cmp.getSelectedStyle().getPadding(Component.TOP);
    int marginLeft = cmp.getSelectedStyle().getPadding(Component.LEFT);
    int marginRight = cmp.getSelectedStyle().getPadding(Component.RIGHT);
    int marginBottom = cmp.getSelectedStyle().getPadding(Component.BOTTOM);
    if (getSkin() != null) {
        textCmp.setBounds((int) ((cmp.getAbsoluteX() + cmp.getScrollX() + getScreenCoordinates().x + canvas.x + marginLeft) * zoomLevel), (int) ((cmp.getAbsoluteY() + cmp.getScrollY() + getScreenCoordinates().y + canvas.y + marginTop) * zoomLevel), (int) ((cmp.getWidth() - marginLeft - marginRight) * zoomLevel), (int) ((cmp.getHeight() - marginTop - marginBottom) * zoomLevel));
        // System.out.println("Set bounds to "+textCmp.getBounds());
        java.awt.Font f = font(cmp.getStyle().getFont().getNativeFont());
        tf.setFont(f.deriveFont(f.getSize2D() * zoomLevel));
    } else {
        textCmp.setBounds(cmp.getAbsoluteX() + cmp.getScrollX() + marginLeft, cmp.getAbsoluteY() + cmp.getScrollY() + marginTop, cmp.getWidth() - marginRight - marginLeft, cmp.getHeight() - marginTop - marginBottom);
        // System.out.println("Set bounds to "+textCmp.getBounds());
        tf.setFont(font(cmp.getStyle().getFont().getNativeFont()));
    }
    if (tf instanceof JPasswordField && tf.getFont() != null && tf.getFont().getFontName().contains("Roboto")) {
        java.awt.Font fallback = new java.awt.Font(java.awt.Font.SANS_SERIF, java.awt.Font.PLAIN, tf.getFont().getSize());
        tf.setFont(fallback);
    }
    setCaretPosition(tf, getText(tf).length());
    // Windows Tablet Show Virtual Keyboard
    // REf https://stackoverflow.com/a/25783041/2935174
    final String sysroot = System.getenv("SystemRoot");
    String tabTipExe = "C:\\Program Files\\Common Files\\microsoft shared\\ink\\TabTip.exe";
    if (exposeFilesystem) {
        final boolean useTabTip = "tabtip".equalsIgnoreCase(Display.getInstance().getProperty("javase.win.vkb", "tabtip"));
        if (new File(tabTipExe).exists()) {
            try {
                if (useTabTip) {
                    // System.out.println("Opening TabTip");
                    ProcessBuilder pb = new ProcessBuilder("cmd", "/c", tabTipExe);
                    tabTipProcess = pb.start();
                } else {
                    // System.out.println("Opening OSK");
                    ProcessBuilder pb = new ProcessBuilder(sysroot + "/system32/osk.exe");
                    tabTipProcess = pb.start();
                }
            } catch (Exception e) {
                System.err.println("Failed to open VKB: " + e.getMessage());
            }
            tf.addFocusListener(new FocusListener() {

                @Override
                public void focusLost(FocusEvent arg0) {
                    // System.out.println("Lost focus...");
                    try {
                        if (tabTipProcess != null) {
                            tabTipProcess.destroy();
                        }
                    } catch (Exception ex) {
                    }
                    try {
                        if (useTabTip) {
                            Runtime.getRuntime().exec("cmd /c taskkill /IM TabTip.exe");
                        } else {
                            Runtime.getRuntime().exec("cmd /c taskkill /IM osk.exe");
                        }
                    } catch (IOException e) {
                        System.err.println("Problem closing VKB: " + e.getMessage());
                    }
                }

                @Override
                public void focusGained(FocusEvent arg0) {
                }
            });
        }
    }
    tf.requestFocus();
    tf.setSelectionStart(0);
    tf.setSelectionEnd(0);
    class Listener implements ActionListener, FocusListener, KeyListener, TextListener, Runnable, DocumentListener, EditingInProgress {

        private final JTextComponent textCmp;

        private final JComponent swingComponentToRemove;

        private boolean performed;

        private boolean fireDone;

        Listener(JTextComponent textCmp, JComponent swingComponentToRemove) {
            this.textCmp = textCmp;
            this.swingComponentToRemove = swingComponentToRemove;
            if (textCmp instanceof JTextArea) {
                if (((com.codename1.ui.TextArea) cmp).getDoneListener() != null) {
                    InputMap input = textCmp.getInputMap();
                    KeyStroke enter = KeyStroke.getKeyStroke("ENTER");
                    KeyStroke shiftEnter = KeyStroke.getKeyStroke("shift ENTER");
                    // input.get(enter)) = "insert-break"
                    input.put(shiftEnter, "insert-break");
                    input.put(enter, "text-submit");
                    ActionMap actions = textCmp.getActionMap();
                    actions.put("text-submit", new AbstractAction() {

                        @Override
                        public void actionPerformed(ActionEvent e) {
                            fireDone = true;
                            Listener.this.actionPerformed(null);
                        }
                    });
                }
            }
        }

        public void run() {
            while (swingComponentToRemove.getParent() != null) {
                synchronized (this) {
                    try {
                        wait(20);
                    } catch (InterruptedException ex) {
                    }
                }
            }
            EventQueue.invokeLater(new Runnable() {

                public void run() {
                    actionPerformed(null);
                }
            });
        }

        public void actionPerformed(ActionEvent e) {
            if (performed) {
                return;
            }
            performed = true;
            String txt = getText(tf);
            if (testRecorder != null) {
                testRecorder.editTextFieldCompleted(cmp, txt);
            }
            Display.getInstance().onEditingComplete(cmp, txt);
            if (e != null && cmp instanceof com.codename1.ui.TextField || fireDone) {
                final com.codename1.ui.TextArea cn1Tf = (com.codename1.ui.TextArea) cmp;
                if (cmp != null && cn1Tf.getDoneListener() != null) {
                    cn1Tf.fireDoneEvent();
                }
            }
            if (tf instanceof JTextField) {
                ((JTextField) tf).removeActionListener(this);
            }
            ((JTextComponent) tf).getDocument().removeDocumentListener(this);
            tf.removeFocusListener(this);
            canvas.remove(swingComponentToRemove);
            editingInProgress = null;
            currentlyEditingField = null;
            synchronized (this) {
                notify();
            }
            canvas.repaint();
            if (invokeAfter != null) {
                for (Runnable r : invokeAfter) {
                    r.run();
                }
                invokeAfter = null;
            }
        }

        public void focusGained(FocusEvent e) {
            setCaretPosition(tf, getText(tf).length());
        }

        public void focusLost(FocusEvent e) {
            actionPerformed(null);
        }

        public void keyTyped(KeyEvent e) {
            String t = getText(tf);
            if (t.length() >= ((TextArea) cmp).getMaxSize()) {
                e.consume();
            }
        }

        public void keyPressed(KeyEvent e) {
        }

        public void keyReleased(KeyEvent e) {
            if (e.getKeyCode() == KeyEvent.VK_DOWN) {
                if (tf instanceof JTextField) {
                    actionPerformed(null);
                } else {
                    if (getCaretPosition(tf) >= getText(tf).length() - 1) {
                        actionPerformed(null);
                    }
                }
                return;
            }
            if (e.getKeyCode() == KeyEvent.VK_UP) {
                if (tf instanceof JTextField) {
                    actionPerformed(null);
                } else {
                    if (getCaretPosition(tf) <= 2) {
                        actionPerformed(null);
                    }
                }
                return;
            }
        }

        public void textValueChanged(TextEvent e) {
            // if (cmp instanceof com.codename1.ui.TextField) {
            updateText();
        // }
        }

        private void updateText() {
            Display.getInstance().callSerially(new Runnable() {

                public void run() {
                    // if(cmp instanceof com.codename1.ui.TextField) {
                    ((com.codename1.ui.TextArea) cmp).setText(getText(tf));
                // }
                }
            });
        }

        public void insertUpdate(DocumentEvent e) {
            updateText();
        }

        public void removeUpdate(DocumentEvent e) {
            updateText();
        }

        public void changedUpdate(DocumentEvent e) {
            updateText();
        }

        private ArrayList<Runnable> invokeAfter;

        @Override
        public void invokeAfter(Runnable r) {
            if (invokeAfter == null) {
                invokeAfter = new ArrayList<Runnable>();
            }
            invokeAfter.add(r);
        }

        @Override
        public void endEditing() {
            if (!EventQueue.isDispatchThread()) {
                EventQueue.invokeLater(new Runnable() {

                    public void run() {
                        endEditing();
                    }
                });
                return;
            }
            actionPerformed(null);
        }
    }
    ;
    final Listener l = new Listener(tf, textCmp);
    if (tf instanceof JTextField) {
        ((JTextField) tf).addActionListener(l);
    }
    ((JTextComponent) tf).getDocument().addDocumentListener(l);
    tf.addKeyListener(l);
    tf.addFocusListener(l);
    if (simulateAndroidKeyboard) {
        java.util.Timer t = new java.util.Timer();
        TimerTask tt = new TimerTask() {

            @Override
            public void run() {
                if (!Display.getInstance().isEdt()) {
                    Display.getInstance().callSerially(this);
                    return;
                }
                if (tf.getParent() != null) {
                    final int height = getScreenCoordinates().height;
                    JavaSEPort.this.sizeChanged(getScreenCoordinates().width, height / 2);
                    new UITimer(new Runnable() {

                        public void run() {
                            if (tf.getParent() != null) {
                                new UITimer(this).schedule(100, false, Display.getInstance().getCurrent());
                            } else {
                                JavaSEPort.this.sizeChanged(getScreenCoordinates().width, height);
                            }
                        }
                    }).schedule(100, false, Display.getInstance().getCurrent());
                }
            }
        };
        t.schedule(tt, 300);
    }
    editingInProgress = l;
    currentlyEditingField = cmp;
    new Thread(l).start();
}
Also used : TextArea(com.codename1.ui.TextArea) Rectangle(java.awt.Rectangle) JTextComponent(javax.swing.text.JTextComponent) Timer(java.util.Timer) AttributedString(java.text.AttributedString) DefaultCaret(javax.swing.text.DefaultCaret) FontRenderContext(java.awt.font.FontRenderContext) Color(java.awt.Color) java.util(java.util) EmptyBorder(javax.swing.border.EmptyBorder) TextArea(com.codename1.ui.TextArea) UITimer(com.codename1.ui.util.UITimer) Font(com.codename1.ui.Font) Point(java.awt.Point) JTextComponent(javax.swing.text.JTextComponent) Point(java.awt.Point) InvocationTargetException(java.lang.reflect.InvocationTargetException) SQLException(java.sql.SQLException) ParseException(java.text.ParseException) EOFException(java.io.EOFException) FontFormatException(java.awt.FontFormatException) LineUnavailableException(javax.sound.sampled.LineUnavailableException) javax.swing(javax.swing) UITimer(com.codename1.ui.util.UITimer) Timer(java.util.Timer) java.awt(java.awt)

Example 49 with File

use of com.codename1.io.File in project CodenameOne by codenameone.

the class JavaSEPort method setProjectBuildHint.

@Override
public void setProjectBuildHint(String key, String value) {
    File cnopFile = new File(getCWD(), "codenameone_settings.properties");
    if (cnopFile.exists()) {
        Properties cnop = new Properties();
        try (InputStream is = new FileInputStream(cnopFile)) {
            cnop.load(is);
        } catch (IOException err) {
            throw new RuntimeException(err);
        }
        cnop.setProperty("codename1.arg." + key, value);
        try (OutputStream os = new FileOutputStream(cnopFile)) {
            cnop.store(os, null);
        } catch (IOException err) {
            throw new RuntimeException(err);
        }
        return;
    }
    throw new RuntimeException("Illegal state, file not found: " + cnopFile.getAbsolutePath());
}
Also used : BufferedInputStream(com.codename1.io.BufferedInputStream) MemoryCacheImageInputStream(javax.imageio.stream.MemoryCacheImageInputStream) ByteArrayInputStream(java.io.ByteArrayInputStream) AudioInputStream(javax.sound.sampled.AudioInputStream) ZipInputStream(java.util.zip.ZipInputStream) BufferedOutputStream(com.codename1.io.BufferedOutputStream) Properties(com.codename1.io.Properties)

Example 50 with File

use of com.codename1.io.File in project CodenameOne by codenameone.

the class JavaSEPort method getProjectBuildHints.

@Override
public Map<String, String> getProjectBuildHints() {
    File cnopFile = new File(getCWD(), "codenameone_settings.properties");
    if (cnopFile.exists()) {
        java.util.Properties cnop = new java.util.Properties();
        try (InputStream is = new FileInputStream(cnopFile)) {
            cnop.load(is);
        } catch (IOException err) {
            return null;
        }
        HashMap<String, String> result = new HashMap<>();
        for (Object kk : cnop.keySet()) {
            String key = (String) kk;
            if (key.startsWith("codename1.arg.")) {
                String val = cnop.getProperty(key);
                key = key.substring(14);
                result.put(key, val);
            }
        }
        return Collections.unmodifiableMap(result);
    }
    return null;
}
Also used : java.util(java.util) HashMap(java.util.HashMap) BufferedInputStream(com.codename1.io.BufferedInputStream) MemoryCacheImageInputStream(javax.imageio.stream.MemoryCacheImageInputStream) ByteArrayInputStream(java.io.ByteArrayInputStream) AudioInputStream(javax.sound.sampled.AudioInputStream) ZipInputStream(java.util.zip.ZipInputStream) AttributedString(java.text.AttributedString) Properties(com.codename1.io.Properties)

Aggregations

IOException (java.io.IOException)76 File (java.io.File)61 FileInputStream (java.io.FileInputStream)43 InputStream (java.io.InputStream)33 EncodedImage (com.codename1.ui.EncodedImage)23 FileOutputStream (java.io.FileOutputStream)23 OutputStream (java.io.OutputStream)22 SortedProperties (com.codename1.ant.SortedProperties)18 FileSystemStorage (com.codename1.io.FileSystemStorage)17 BufferedInputStream (com.codename1.io.BufferedInputStream)15 Image (com.codename1.ui.Image)15 ByteArrayInputStream (java.io.ByteArrayInputStream)15 ActionEvent (com.codename1.ui.events.ActionEvent)14 RandomAccessFile (java.io.RandomAccessFile)14 ArrayList (java.util.ArrayList)14 EditableResources (com.codename1.ui.util.EditableResources)13 InvocationTargetException (java.lang.reflect.InvocationTargetException)13 Properties (java.util.Properties)12 File (com.codename1.io.File)11 BufferedImage (java.awt.image.BufferedImage)11