1
0
Fork 0
forked from len0rd/rockbox

Use function for updating detected device entry.

Use a function instead of looking for an existing entry and creating a new one
if necessary every time.

Change-Id: I7b385dad7366f27370545a7d1a9f7052510cca11
This commit is contained in:
Dominik Riebeling 2013-09-20 21:03:51 +02:00
parent 310e7b4943
commit 1977281bb3
2 changed files with 23 additions and 65 deletions

View file

@ -138,18 +138,11 @@ void Autodetection::mergeMounted(void)
QSettings log(mounts.at(i) + "/.rockbox/rbutil.log", QSettings log(mounts.at(i) + "/.rockbox/rbutil.log",
QSettings::IniFormat, this); QSettings::IniFormat, this);
if(!log.value("platform").toString().isEmpty()) { if(!log.value("platform").toString().isEmpty()) {
int index = findDetectedDevice(log.value("platform").toString());
struct Detected d; struct Detected d;
d.device = log.value("platform").toString(); d.device = log.value("platform").toString();
d.mountpoint = mounts.at(i); d.mountpoint = mounts.at(i);
d.status = PlayerOk; d.status = PlayerOk;
if(index < 0) { updateDetectedDevice(d);
m_detected.append(d);
}
else {
m_detected.takeAt(index);
m_detected.append(d);
}
qDebug() << "[Autodetect] rbutil.log detected:" qDebug() << "[Autodetect] rbutil.log detected:"
<< log.value("platform").toString() << mounts.at(i); << log.value("platform").toString() << mounts.at(i);
} }
@ -159,18 +152,11 @@ void Autodetection::mergeMounted(void)
RockboxInfo info(mounts.at(i)); RockboxInfo info(mounts.at(i));
if(info.success()) if(info.success())
{ {
int index = findDetectedDevice(info.target());
struct Detected d; struct Detected d;
d.device = info.target(); d.device = info.target();
d.mountpoint = mounts.at(i); d.mountpoint = mounts.at(i);
d.status = PlayerOk; d.status = PlayerOk;
if(index < 0) { updateDetectedDevice(d);
m_detected.append(d);
}
else {
m_detected.takeAt(index);
m_detected.append(d);
}
qDebug() << "[Autodetect] rockbox-info.txt detected:" qDebug() << "[Autodetect] rockbox-info.txt detected:"
<< info.target() << mounts.at(i); << info.target() << mounts.at(i);
} }
@ -185,7 +171,7 @@ void Autodetection::mergeMounted(void)
d.device = "player"; d.device = "player";
d.mountpoint = mounts.at(i); d.mountpoint = mounts.at(i);
d.status = PlayerOk; d.status = PlayerOk;
m_detected.append(d); updateDetectedDevice(d);
} }
if(rootentries.contains("ONDIOST.BIN", Qt::CaseInsensitive)) if(rootentries.contains("ONDIOST.BIN", Qt::CaseInsensitive))
{ {
@ -194,14 +180,7 @@ void Autodetection::mergeMounted(void)
d.device = "ondiofm"; d.device = "ondiofm";
d.mountpoint = mounts.at(i); d.mountpoint = mounts.at(i);
d.status = PlayerOk; d.status = PlayerOk;
int index = findDetectedDevice("ondiofm"); updateDetectedDevice(d);
if(index < 0) {
m_detected.append(d);
}
else {
m_detected.takeAt(index);
m_detected.append(d);
}
} }
if(rootentries.contains("ONDIOSP.BIN", Qt::CaseInsensitive)) if(rootentries.contains("ONDIOSP.BIN", Qt::CaseInsensitive))
{ {
@ -210,14 +189,7 @@ void Autodetection::mergeMounted(void)
d.device = "ondiosp"; d.device = "ondiosp";
d.mountpoint = mounts.at(i); d.mountpoint = mounts.at(i);
d.status = PlayerOk; d.status = PlayerOk;
int index = findDetectedDevice("ondiosp"); updateDetectedDevice(d);
if(index < 0) {
m_detected.append(d);
}
else {
m_detected.takeAt(index);
m_detected.append(d);
}
} }
if(rootentries.contains("ajbrec.ajz", Qt::CaseInsensitive)) if(rootentries.contains("ajbrec.ajz", Qt::CaseInsensitive))
{ {
@ -228,14 +200,7 @@ void Autodetection::mergeMounted(void)
d.status = PlayerOk; d.status = PlayerOk;
if(!d.device.isEmpty()) { if(!d.device.isEmpty()) {
qDebug() << "[Autodetect]" << d.device; qDebug() << "[Autodetect]" << d.device;
int index = findDetectedDevice("ondiosp"); updateDetectedDevice(d);
if(index < 0) {
m_detected.append(d);
}
else {
m_detected.takeAt(index);
m_detected.append(d);
}
} }
} }
// detection based on player specific folders // detection based on player specific folders
@ -247,14 +212,7 @@ void Autodetection::mergeMounted(void)
struct Detected d; struct Detected d;
d.device = "gigabeatf"; d.device = "gigabeatf";
d.mountpoint = mounts.at(i); d.mountpoint = mounts.at(i);
int index = findDetectedDevice("ondiosp"); updateDetectedDevice(d);
if(index < 0) {
m_detected.append(d);
}
else {
m_detected.takeAt(index);
m_detected.append(d);
}
} }
} }
} }
@ -315,14 +273,7 @@ void Autodetection::mergePatcher(void)
d.status = PlayerWrongFilesystem; d.status = PlayerWrongFilesystem;
else else
d.status = PlayerOk; d.status = PlayerOk;
int index = findDetectedDevice(ipod.targetname); updateDetectedDevice(d);
if(index < 0) {
m_detected.append(d);
}
else {
m_detected.takeAt(index);
m_detected.append(d);
}
} }
else { else {
qDebug() << "[Autodetect] ipodpatcher: no Ipod found." << n; qDebug() << "[Autodetect] ipodpatcher: no Ipod found." << n;
@ -348,14 +299,7 @@ void Autodetection::mergePatcher(void)
d.device = QString("sansa%1").arg(sansa.targetname); d.device = QString("sansa%1").arg(sansa.targetname);
d.mountpoint = Utils::resolveMountPoint(mp); d.mountpoint = Utils::resolveMountPoint(mp);
d.status = PlayerOk; d.status = PlayerOk;
int index = findDetectedDevice(d.device); updateDetectedDevice(d);
if(index < 0) {
m_detected.append(d);
}
else {
m_detected.takeAt(index);
m_detected.append(d);
}
} }
else { else {
qDebug() << "[Autodetect] sansapatcher: no Sansa found." << n; qDebug() << "[Autodetect] sansapatcher: no Sansa found." << n;
@ -423,3 +367,16 @@ int Autodetection::findDetectedDevice(QString device)
} }
return -1; return -1;
} }
void Autodetection::updateDetectedDevice(Detected& entry)
{
int index = findDetectedDevice(entry.device);
if(index < 0) {
m_detected.append(entry);
}
else {
m_detected.takeAt(index);
m_detected.append(entry);
}
}

View file

@ -61,6 +61,7 @@ private:
void mergePatcher(void); void mergePatcher(void);
QString detectAjbrec(QString); QString detectAjbrec(QString);
int findDetectedDevice(QString device); int findDetectedDevice(QString device);
void updateDetectedDevice(struct Detected& entry);
QList<struct Detected> m_detected; QList<struct Detected> m_detected;
QList<int> m_usbconid; QList<int> m_usbconid;