org.symbian.tools.wrttools/src/org/symbian/tools/wrttools/WRTProject.java
author Eugene Ostroukhov <eugeneo@symbian.org>
Thu, 29 Jul 2010 10:00:34 -0700
changeset 458 5ff93668b08c
parent 455 5da55957c779
child 461 7a8f9fa8d278
permissions -rw-r--r--
Emulator deployment was added
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
263
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
     1
/**
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
     2
 * Copyright (c) 2010 Symbian Foundation and/or its subsidiary(-ies).
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
     3
 * All rights reserved.
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
     4
 * This component and the accompanying materials are made available
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
     5
 * under the terms of the License "Eclipse Public License v1.0"
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
     6
 * which accompanies this distribution, and is available
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
     8
 *
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
     9
 * Initial Contributors:
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    10
 * Symbian Foundation - initial contribution.
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    11
 * Contributors:
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    12
 * Description:
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    13
 * Overview:
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    14
 * Details:
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    15
 * Platforms/Drives/Compatibility:
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    16
 * Assumptions/Requirement/Pre-requisites:
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    17
 * Failures and causes:
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    18
 */
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    19
package org.symbian.tools.wrttools;
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    20
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    21
import java.io.ByteArrayInputStream;
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    22
import java.io.ByteArrayOutputStream;
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    23
import java.io.IOException;
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    24
import java.io.InputStream;
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    25
import java.util.InvalidPropertiesFormatException;
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    26
import java.util.Properties;
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    27
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    28
import org.eclipse.core.resources.IFile;
455
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
    29
import org.eclipse.core.resources.IMarker;
263
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    30
import org.eclipse.core.resources.IProject;
455
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
    31
import org.eclipse.core.resources.IResource;
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
    32
import org.eclipse.core.resources.IncrementalProjectBuilder;
263
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    33
import org.eclipse.core.runtime.CoreException;
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    34
import org.eclipse.core.runtime.IPath;
455
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
    35
import org.eclipse.core.runtime.IProgressMonitor;
263
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    36
import org.eclipse.core.runtime.NullProgressMonitor;
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    37
import org.eclipse.core.runtime.Path;
455
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
    38
import org.symbian.tools.mtw.core.MTWCore;
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
    39
import org.symbian.tools.mtw.core.projects.IMTWProject;
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
    40
import org.symbian.tools.mtw.core.runtimes.IMobileWebRuntime;
263
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    41
455
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
    42
public class WRTProject implements IMTWProject {
448
4bb763ad2b12 Bug 3251 - phonegap project - Vibrate text overflows button size
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 263
diff changeset
    43
    private static final String PROP_PREFERED_SCREEN = "preferred.screen.size";
455
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
    44
    private static final IPath PROPERTIES_FILE = new Path(".settings").append(Activator.PLUGIN_ID + ".properties");
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
    45
    public static final String WRT11_RUNTIME = "org.symbian.wrt11";
263
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    46
    private final IProject project;
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    47
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    48
    public WRTProject(IProject project) {
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    49
        this.project = project;
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    50
    }
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    51
455
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
    52
    public String getName() {
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
    53
        return getProject().getName();
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
    54
    }
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
    55
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
    56
    public String getPreferredScreenSize() {
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
    57
        return getProps().getProperty(PROP_PREFERED_SCREEN);
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
    58
    }
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
    59
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
    60
    //    public DeploymentTarget getDeploymentTarget() {
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
    61
    //        Properties props = getProps();
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
    62
    //        String property = props.getProperty(PROP_DEPLOYMENT_TARGET_NAME);
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
    63
    //        if (property != null) {
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
    64
    //            return DeploymentTargetRegistry.getRegistry().findTarget(property,
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
    65
    //                    props.getProperty(PROP_DEPLOYMENT_TARGET_TYPE));
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
    66
    //        } else {
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
    67
    //            IPreferenceStore store = Activator.getDefault().getPreferenceStore();
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
    68
    //            String name = store.getString(PROP_DEPLOYMENT_TARGET_NAME);
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
    69
    //            if (name != null) {
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
    70
    //                return DeploymentTargetRegistry.getRegistry().findTarget(name,
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
    71
    //                        store.getString(PROP_DEPLOYMENT_TARGET_TYPE));
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
    72
    //            }
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
    73
    //
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
    74
    //        }
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
    75
    //        return null;
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
    76
    //    }
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
    77
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
    78
    public IProject getProject() {
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
    79
        return project;
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
    80
    }
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
    81
263
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    82
    private Properties getProps() {
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    83
        Properties props = new Properties();
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    84
        IFile file = project.getFile(PROPERTIES_FILE);
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    85
        if (file.exists()) {
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    86
            try {
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    87
                InputStream contents = file.getContents();
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    88
                try {
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    89
                    props.loadFromXML(contents);
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    90
                } finally {
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    91
                    contents.close();
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    92
                }
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    93
            } catch (InvalidPropertiesFormatException e) {
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    94
                Activator.log(e);
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    95
            } catch (IOException e) {
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    96
                Activator.log(e);
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    97
            } catch (CoreException e) {
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    98
                Activator.log(e);
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
    99
            }
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   100
        }
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   101
        return props;
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   102
    }
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   103
455
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
   104
    public IMobileWebRuntime getTargetRuntime() {
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
   105
        return MTWCore.getDefault().getRuntimesManager().getRuntime(WRT11_RUNTIME);
263
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   106
    }
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   107
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   108
    private void saveProperties(Properties props) {
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   109
        ByteArrayOutputStream stream = new ByteArrayOutputStream();
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   110
        try {
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   111
            props.storeToXML(stream, null);
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   112
            IFile file = project.getFile(PROPERTIES_FILE);
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   113
            if (!file.exists()) {
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   114
                file.create(new ByteArrayInputStream(stream.toByteArray()), false, new NullProgressMonitor());
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   115
            } else {
448
4bb763ad2b12 Bug 3251 - phonegap project - Vibrate text overflows button size
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 263
diff changeset
   116
                file.setContents(new ByteArrayInputStream(stream.toByteArray()), false, true, new NullProgressMonitor());
263
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   117
            }
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   118
        } catch (IOException e) {
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   119
            Activator.log(e);
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   120
        } catch (CoreException e) {
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   121
            Activator.log(e);
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   122
        }
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   123
    }
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   124
448
4bb763ad2b12 Bug 3251 - phonegap project - Vibrate text overflows button size
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 263
diff changeset
   125
    public void setPreferredScreenSize(String screenSize) {
4bb763ad2b12 Bug 3251 - phonegap project - Vibrate text overflows button size
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 263
diff changeset
   126
        Properties props = getProps();
4bb763ad2b12 Bug 3251 - phonegap project - Vibrate text overflows button size
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 263
diff changeset
   127
        if (screenSize != null) {
4bb763ad2b12 Bug 3251 - phonegap project - Vibrate text overflows button size
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 263
diff changeset
   128
            props.put(PROP_PREFERED_SCREEN, screenSize);
4bb763ad2b12 Bug 3251 - phonegap project - Vibrate text overflows button size
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 263
diff changeset
   129
        } else {
4bb763ad2b12 Bug 3251 - phonegap project - Vibrate text overflows button size
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 263
diff changeset
   130
            props.remove(PROP_PREFERED_SCREEN);
4bb763ad2b12 Bug 3251 - phonegap project - Vibrate text overflows button size
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 263
diff changeset
   131
        }
4bb763ad2b12 Bug 3251 - phonegap project - Vibrate text overflows button size
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 263
diff changeset
   132
        saveProperties(props);
4bb763ad2b12 Bug 3251 - phonegap project - Vibrate text overflows button size
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 263
diff changeset
   133
    }
4bb763ad2b12 Bug 3251 - phonegap project - Vibrate text overflows button size
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 263
diff changeset
   134
455
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
   135
    public boolean validate(IProgressMonitor monitor) {
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
   136
        try {
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
   137
            project.build(IncrementalProjectBuilder.FULL_BUILD, monitor);
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
   138
            IMarker[] markers = project.findMarkers(IMarker.PROBLEM, true, IResource.DEPTH_INFINITE);
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
   139
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
   140
            boolean hasErrors = false;
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
   141
            for (IMarker marker : markers) {
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
   142
                if (marker.getAttribute(IMarker.SEVERITY, IMarker.SEVERITY_INFO) == IMarker.SEVERITY_ERROR) {
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
   143
                    hasErrors = true;
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
   144
                    break;
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
   145
                }
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
   146
            }
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
   147
            return !hasErrors;
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
   148
        } catch (CoreException e1) {
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
   149
            // Proofing from coding exceptions in JSDT
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
   150
            Activator.log(e1);
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
   151
        }
5da55957c779 Bluetooth support was refactored on top of a new frameworks
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 448
diff changeset
   152
        return false;
448
4bb763ad2b12 Bug 3251 - phonegap project - Vibrate text overflows button size
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 263
diff changeset
   153
    }
263
0c4249e0396d Bug 2068 - Improve packaging and deployment usability
Eugene Ostroukhov <eugeneo@symbian.org>
parents:
diff changeset
   154
}