📄 .#settings.java.1.5
字号:
package no.auc.one.portableplayer;
import no.auc.one.portableplayer.communication.mediaserver.MediaServer;
import no.auc.one.portableplayer.communication.mediarenderer.MediaRenderer;
import javax.microedition.rms.*;
import org.apache.log4j.*;
/**
* This class hold the settings information like if shuffle or repeat is on
* or off and which renderer that should be used.
*
* Uses singleton design pattern.
*/
public class Settings {
private static Settings ref = null;
private static Logger LOG;
private MediaRenderer currentMediaRenderer = null;
private MediaServer currentMediaServer = null;
boolean repeat = false;
boolean shuffle = false;
RecordStore settingsStore;
private Settings() {
try {
LOG = Logger.getLogger("Conf");
settingsStore = RecordStore.openRecordStore("ONEPP-Settings", true);
if (settingsStore.getNumRecords() == 0) {
// Must initialize the record store.
int res = -1;
// Add record for current Media Server
res = settingsStore.addRecord(null, 0, 0);
LOG.debug("res = " + res);
// Add record for current Media Renderer
res = settingsStore.addRecord(null, 0, 0);
LOG.debug("res = " + res);
// Add record for shuffle setting
res = settingsStore.addRecord(null, 0, 0);
LOG.debug("res = " + res);
// Add record for repeat setting
res = settingsStore.addRecord(null, 0, 0);
LOG.debug("res = " + res);
} else {
// Should initialize the current settings using the stored
// settings
LOG.debug("Current settings:");
for (RecordEnumeration e =
settingsStore.enumerateRecords(null, null, false);
e.hasNextElement(); )
{
LOG.debug("Record id = " + e.nextRecordId());
}
}
} catch (RecordStoreException rse) {
LOG.debug("RS Exception...");
rse.printStackTrace();
}
}
/**
* Used to retrieve a reference to this class.
*
* @return Returns the reference to this class (Singleton design pattern)
*/
public static Settings getInstance() {
if(ref == null) {
ref = new Settings();
}
return ref;
}
/**
* Sets the current MediaRenderer to be used, based on the {@linkplain no.auc.one.portableplayer.librarymanager.LibraryMgr#renderers available renderers}.
*
* @param index The index to the AVRenderer element in the renderers Vector
* in the LibraryMgr which should be set as current renderer, SET TO -1 TO USE INTERNAL RENDERER.
*/
public void setCurrentMediaRenderer(MediaRenderer mr) {
currentMediaRenderer = mr;
}
/**
* Get the index of the current {@link no.auc.one.portableplayer.communication.mediarenderer.MediaRenderer MediaRenderer} in use.
*
* @return The index to the AVRenderer element in the renderers Vector in the
* LibraryMgr which is set as current renderer, IF -1, USE INTERNAL RENDERER
*/
public MediaRenderer getCurrentMediaRenderer() {
return currentMediaRenderer;
}
public void setCurrentMediaServer(MediaServer ms) {
currentMediaServer = ms;
}
public MediaServer getCurrentMediaServer() {
return currentMediaServer;
}
/**
* Set repeat mode.
*
* @param repeat Set repeat on = true or off = false
*/
public void setRepeatSetting(boolean repeat) {
this.repeat = repeat;
}
/**
* Get repeat mode.
*
* @return Return the setting of repeat, true = on or false = off
*/
public boolean getRepeatSetting() {
return repeat;
}
/**
* Set shuffle mode.
*
* @param shuffle Set shuffle on = true or off = false
*/
public void setShuffleSetting(boolean shuffle) {
this.shuffle = shuffle;
}
/**
* Get shuffle mode.
*
* @return Return the setting of shuffle, true = on or false = off
*/
public boolean getShuffleSetting() {
return shuffle;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -