Search in sources :

Example 1 with ApplicationPermissions

use of net.rim.device.api.applicationcontrol.ApplicationPermissions in project CodenameOne by codenameone.

the class BlackBerryImplementation method init.

public void init(Object m) {
    instance = this;
    app = (CodenameOneUiApplication) m;
    if (askForPermission) {
        app.invokeAndWait(new Runnable() {

            public void run() {
                ApplicationPermissions permRequest = new ApplicationPermissions();
                permRequest.addPermission(ApplicationPermissions.PERMISSION_EMAIL);
                permRequest.addPermission(ApplicationPermissions.PERMISSION_FILE_API);
                permRequest.addPermission(ApplicationPermissions.PERMISSION_WIFI);
                try {
                    // ApplicationPermissions.PERMISSION_CROSS_APPLICATION_COMMUNICATION
                    permRequest.addPermission(11);
                } catch (Exception e) {
                }
                try {
                    // ApplicationPermissions.PERMISSION_MEDIA
                    permRequest.addPermission(21);
                } catch (Exception e) {
                }
                try {
                    // ApplicationPermissions.PERMISSION_INPUT_SIMULATION
                    permRequest.addPermission(6);
                } catch (Exception e) {
                }
                try {
                    // ApplicationPermissions.PERMISSION_LOCATION_DATA
                    permRequest.addPermission(14);
                } catch (Exception e) {
                }
                try {
                    // ApplicationPermissions.PERMISSION_ORGANIZER_DATA
                    permRequest.addPermission(16);
                } catch (Exception e) {
                }
                try {
                    // ApplicationPermissions.PERMISSION_INTERNET
                    permRequest.addPermission(7);
                } catch (Exception e) {
                }
                try {
                    // ApplicationPermissions.PERMISSION_RECORDING
                    permRequest.addPermission(17);
                } catch (Exception e) {
                }
                ApplicationPermissionsManager apm = ApplicationPermissionsManager.getInstance();
                if (!apm.invokePermissionsRequest(permRequest)) {
                    exitApplication();
                    return;
                }
            }
        });
    }
    app.enableKeyUpEvents(true);
    if (!app.isHandlingEvents()) {
        new Thread() {

            public void run() {
                app.enterEventDispatcher();
            }
        }.start();
    }
    Dialog.setCommandsAsButtons(true);
    UIManager.getInstance().addThemeRefreshListener(new ActionListener() {

        public void actionPerformed(ActionEvent evt) {
            Hashtable themeProps = new Hashtable();
            themeProps.put("SoftButton.margin", "0,0,0,0");
            themeProps.put("SoftButton.padding", "0,0,0,0");
            UIManager.getInstance().addThemeProps(themeProps);
        }
    });
    RecordEnumeration e = null;
    RecordStore r = null;
    try {
        r = RecordStore.openRecordStore("FAT", true);
        if (r.getNumRecords() > 0) {
            e = r.enumerateRecords(null, null, false);
            while (e.hasNextElement()) {
                byte[] rec = e.nextRecord();
                ByteArrayInputStream bi = new ByteArrayInputStream(rec);
                DataInputStream di = new DataInputStream(bi);
                String name = di.readUTF();
                short key = di.readShort();
                di.close();
                bi.close();
                fat.put(name, new Short(key));
                if (key >= currentKey) {
                    currentKey += key;
                }
            }
            e.destroy();
            e = null;
        }
        r.closeRecordStore();
        r = null;
    } catch (Exception ex) {
        ex.printStackTrace();
        cleanup(r);
        cleanup(e);
    }
}
Also used : ActionEvent(com.codename1.ui.events.ActionEvent) Hashtable(java.util.Hashtable) RecordEnumeration(javax.microedition.rms.RecordEnumeration) ApplicationPermissions(net.rim.device.api.applicationcontrol.ApplicationPermissions) DataInputStream(java.io.DataInputStream) IOException(java.io.IOException) RecordStoreException(javax.microedition.rms.RecordStoreException) MediaException(javax.microedition.media.MediaException) ConnectionNotFoundException(javax.microedition.io.ConnectionNotFoundException) ActionListener(com.codename1.ui.events.ActionListener) ByteArrayInputStream(java.io.ByteArrayInputStream) RecordStore(javax.microedition.rms.RecordStore) ApplicationPermissionsManager(net.rim.device.api.applicationcontrol.ApplicationPermissionsManager)

Aggregations

ActionEvent (com.codename1.ui.events.ActionEvent)1 ActionListener (com.codename1.ui.events.ActionListener)1 ByteArrayInputStream (java.io.ByteArrayInputStream)1 DataInputStream (java.io.DataInputStream)1 IOException (java.io.IOException)1 Hashtable (java.util.Hashtable)1 ConnectionNotFoundException (javax.microedition.io.ConnectionNotFoundException)1 MediaException (javax.microedition.media.MediaException)1 RecordEnumeration (javax.microedition.rms.RecordEnumeration)1 RecordStore (javax.microedition.rms.RecordStore)1 RecordStoreException (javax.microedition.rms.RecordStoreException)1 ApplicationPermissions (net.rim.device.api.applicationcontrol.ApplicationPermissions)1 ApplicationPermissionsManager (net.rim.device.api.applicationcontrol.ApplicationPermissionsManager)1