diff --git a/src/com/froop/app/kegs/KegsMain.java b/src/com/froop/app/kegs/KegsMain.java index 8ca0a89..8759047 100644 --- a/src/com/froop/app/kegs/KegsMain.java +++ b/src/com/froop/app/kegs/KegsMain.java @@ -53,11 +53,11 @@ public class KegsMain extends SherlockFragmentActivity implements KegsKeyboard.S private long mScreenSizeTime = 0; private boolean mPaused = false; - final ArrayDeque mResumeQueue = new ArrayDeque(); - final Runnable mErrorFinish = new Runnable() { public void run() { finish(); } }; + private final ArrayDeque mResumeQueue = new ArrayDeque(); + 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()); } diff --git a/src/com/froop/app/kegs/diskimage/DiskImage.java b/src/com/froop/app/kegs/diskimage/DiskImage.java index 844abd5..7e35c69 100644 --- a/src/com/froop/app/kegs/diskimage/DiskImage.java +++ b/src/com/froop/app/kegs/diskimage/DiskImage.java @@ -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; + } }