Merge remote-tracking branch 'origin/2.6'

Conflicts:
	share/share.qbs
	tests/auto/icheckbuild/icheckbuild.pro

Change-Id: I13bc737c981aaeb615ab1a3571cc8a18f60a7cd6
This commit is contained in:
Eike Ziller
2012-10-25 10:45:58 +02:00
45 changed files with 17728 additions and 12311 deletions

View File

@@ -521,9 +521,9 @@ QVector<AndroidDeviceInfo> AndroidConfigurations::androidVirtualDevices() const
QString AndroidConfigurations::startAVD(int *apiLevel, const QString &name) const
{
QProcess *m_avdProcess = new QProcess();
connect(this, SIGNAL(destroyed()), m_avdProcess, SLOT(deleteLater()));
connect(m_avdProcess, SIGNAL(finished(int)), m_avdProcess, SLOT(deleteLater()));
QProcess *avdProcess = new QProcess();
connect(this, SIGNAL(destroyed()), avdProcess, SLOT(deleteLater()));
connect(avdProcess, SIGNAL(finished(int)), avdProcess, SLOT(deleteLater()));
QString avdName = name;
QVector<AndroidDeviceInfo> devices;
@@ -531,7 +531,7 @@ QString AndroidConfigurations::startAVD(int *apiLevel, const QString &name) cons
while (true) {
if (avdName.isEmpty()) {
devices = androidVirtualDevices();
foreach (AndroidDeviceInfo device, devices)
foreach (const AndroidDeviceInfo &device, devices)
if (device.sdk >= *apiLevel) { // take first emulator how supports this package
*apiLevel = device.sdk;
avdName = device.serialNumber;
@@ -552,20 +552,23 @@ QString AndroidConfigurations::startAVD(int *apiLevel, const QString &name) cons
return avdName;
// start the emulator
m_avdProcess->start(emulatorToolPath().toString(),
avdProcess->start(emulatorToolPath().toString(),
QStringList() << QLatin1String("-partition-size") << QString::number(config().partitionSize)
<< QLatin1String("-avd") << avdName);
if (!m_avdProcess->waitForStarted(-1)) {
delete m_avdProcess;
if (!avdProcess->waitForStarted(-1)) {
delete avdProcess;
return QString();
}
// wait until the emulator is online
QProcess proc;
proc.start(adbToolPath().toString(), QStringList() << QLatin1String("-e") << QLatin1String("wait-for-device"));
if (!proc.waitForFinished(-1)) {
proc.terminate();
return QString();
while (!proc.waitForFinished(500)) {
if (avdProcess->waitForFinished(0)) {
proc.terminate();
proc.waitForFinished(-1);
return QString();
}
}
sleep(5);// wait for pm to start