mirror of
https://github.com/WinampDesktop/winamp.git
synced 2025-06-19 14:45:45 -04:00
CDImagePBP: Add multi-disc support
This commit is contained in:
@ -139,11 +139,13 @@ public class AndroidHostInterface {
|
||||
|
||||
public native void setFastForwardEnabled(boolean enabled);
|
||||
|
||||
public native String[] getMediaPlaylistPaths();
|
||||
public native boolean hasMediaSubImages();
|
||||
|
||||
public native int getMediaPlaylistIndex();
|
||||
public native String[] getMediaSubImageTitles();
|
||||
|
||||
public native boolean setMediaPlaylistIndex(int index);
|
||||
public native int getMediaSubImageIndex();
|
||||
|
||||
public native boolean switchMediaSubImage(int index);
|
||||
|
||||
public native boolean setMediaFilename(String filename);
|
||||
|
||||
|
@ -690,9 +690,23 @@ public class EmulationActivity extends AppCompatActivity implements SurfaceHolde
|
||||
}
|
||||
}
|
||||
|
||||
private void startDiscChangeFromFile() {
|
||||
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
|
||||
intent.setType("*/*");
|
||||
intent.addCategory(Intent.CATEGORY_OPENABLE);
|
||||
startActivityForResult(Intent.createChooser(intent, getString(R.string.main_activity_choose_disc_image)), REQUEST_CHANGE_DISC_FILE);
|
||||
}
|
||||
|
||||
private void showDiscChangeMenu() {
|
||||
final String[] paths = AndroidHostInterface.getInstance().getMediaPlaylistPaths();
|
||||
final int currentPath = AndroidHostInterface.getInstance().getMediaPlaylistIndex();
|
||||
final AndroidHostInterface hi = AndroidHostInterface.getInstance();
|
||||
|
||||
if (!hi.hasMediaSubImages()) {
|
||||
startDiscChangeFromFile();
|
||||
return;
|
||||
}
|
||||
|
||||
final String[] paths = AndroidHostInterface.getInstance().getMediaSubImageTitles();
|
||||
final int currentPath = AndroidHostInterface.getInstance().getMediaSubImageIndex();
|
||||
final int numPaths = (paths != null) ? paths.length : 0;
|
||||
|
||||
AlertDialog.Builder builder = new AlertDialog.Builder(this);
|
||||
@ -707,12 +721,9 @@ public class EmulationActivity extends AppCompatActivity implements SurfaceHolde
|
||||
onMenuClosed();
|
||||
|
||||
if (i < numPaths) {
|
||||
AndroidHostInterface.getInstance().setMediaPlaylistIndex(i);
|
||||
AndroidHostInterface.getInstance().switchMediaSubImage(i);
|
||||
} else {
|
||||
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
|
||||
intent.setType("*/*");
|
||||
intent.addCategory(Intent.CATEGORY_OPENABLE);
|
||||
startActivityForResult(Intent.createChooser(intent, getString(R.string.main_activity_choose_disc_image)), REQUEST_CHANGE_DISC_FILE);
|
||||
startDiscChangeFromFile();
|
||||
}
|
||||
});
|
||||
builder.setOnCancelListener(dialogInterface -> onMenuClosed());
|
||||
|
Reference in New Issue
Block a user