Use new drive number when attaching hard drive images.

This commit is contained in:
James Sanford 2012-12-21 14:01:29 -08:00
parent cfad789cf8
commit d12e3a8d0c
2 changed files with 14 additions and 11 deletions

View File

@ -53,11 +53,11 @@ public class KegsMain extends SherlockFragmentActivity implements KegsKeyboard.S
private long mScreenSizeTime = 0;
private boolean mPaused = false;
final ArrayDeque<Runnable> mResumeQueue = new ArrayDeque<Runnable>();
final Runnable mErrorFinish = new Runnable() { public void run() { finish(); } };
private final ArrayDeque<Runnable> mResumeQueue = new ArrayDeque<Runnable>();
private final Runnable mErrorFinish = new Runnable() { public void run() { finish(); } };
private DiskLoader mDiskLoader = null;
private int mNextDriveNumber = 2;
private final DiskImage.DriveNumber mDriveNumber = new DiskImage.DriveNumber();
private void withUIActive(final Runnable runnable) {
if(!mPaused) {
@ -153,12 +153,7 @@ public class KegsMain extends SherlockFragmentActivity implements KegsKeyboard.S
getThread().allowPowerOn();
} else if (image.action == DiskImage.SWAP) {
if (image.isHardDrive()) {
// Probably not the right place for this.
image.updateDriveNumber(mNextDriveNumber);
mNextDriveNumber += 1;
if (mNextDriveNumber > 7) {
mNextDriveNumber = 2;
}
image.chooseDriveNumber(mDriveNumber);
}
getThread().getEventQueue().add(image.getDiskImageEvent());
}

View File

@ -116,8 +116,12 @@ class DiskImage implements Comparable {
}
}
public void updateDriveNumber(int drive) {
this.drive = this.drive.substring(0, 3) + drive;
public void chooseDriveNumber(final DriveNumber driveNumber) {
this.drive = this.drive.substring(0, 3) + driveNumber.drive;
driveNumber.drive++;
if (driveNumber.drive > 7) {
driveNumber.drive = 2;
}
}
public boolean isHardDrive() {
@ -131,4 +135,8 @@ class DiskImage implements Comparable {
throw new ClassCastException();
}
}
static class DriveNumber {
public int drive = 2;
}
}