diff -r e5618cc85d74 -r 6c158198356e javauis/amms_akn/src_tuner/javasrc/com/nokia/amms/control/tuner/TunerControlImpl.java
--- a/javauis/amms_akn/src_tuner/javasrc/com/nokia/amms/control/tuner/TunerControlImpl.java Thu Jul 15 18:31:06 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,548 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: This class implements
- * javax.microedition.amms.control.tuner.TunerControl
- *
-*/
-
-
-package com.nokia.amms.control.tuner;
-
-import javax.microedition.media.MediaException;
-import javax.microedition.media.Control;
-import com.nokia.microedition.media.InternalPlayer;
-import com.nokia.microedition.media.PlayerImpl;
-import com.nokia.microedition.media.Locator;
-import com.nokia.microedition.media.ManagerImpl;
-import com.nokia.microedition.media.control.ControlImpl;
-import com.nokia.mj.impl.rt.legacy.NativeError;
-
-public class TunerControlImpl
- extends ControlImpl
- implements javax.microedition.amms.control.tuner.TunerControl
-{
- //preset name max length
- private static final int MAX_PRESET_NAME_LENGTH = 100;
- //max number of presets
- private static final int MAX_NUMBER_OF_PRESETS = 20;
- //all frequencys are in 100 Hertzs
- private static final int HERTZ_MULTIPLIER = 100;
-
- /**
- * Constructor
- */
- public TunerControlImpl()
- {
- //JDEBUG( "AMMS TunerControlImpl Constructor" );
- }
-
- /**
- * Gets the minimum frequency supported by this tuner
- * with the given modulation.
- *
- * @param modulation The modulation whose supported minimum frequency
- * is asked.
- * @return The minimum frequency in 100 Hertzs.
- * @throws IllegalArgumentException if the modulation
is not supported or it is null.
- */
- public int getMinFreq(String aModulation)
- {
- if (aModulation != MODULATION_FM)
- {
- throw new IllegalArgumentException("Modulation is not valid.");
- }
-
- int minFreq = _getMinFreq(iEventSource,
- iControlHandle);
-
- NativeError.check(minFreq);
-
- return minFreq / HERTZ_MULTIPLIER;
- }
-
- /**
- * Gets the maximum frequency supported by this tuner
- * with the given modulation.
- *
- * @param modulation The modulation whose supported maximum frequency
- * is asked.
- * @return The maximum frequency in 100 Hertzs.
- * @throws IllegalArgumentException if the modulation
is not supported or it is null.
- */
- public int getMaxFreq(String aModulation)
- {
- if (aModulation != MODULATION_FM)
- {
- throw new IllegalArgumentException("Modulation is not valid.");
- }
-
- int maxFreq = _getMaxFreq(iEventSource,
- iControlHandle);
-
- NativeError.check(maxFreq);
-
- return maxFreq / HERTZ_MULTIPLIER;
- }
-
- /**
- * Tunes to the given frequency or to the closest supported frequency.
- *
- * @param freq The frequency in 100 Hertzs that will be taken into use.
- * If that frequency is not supported, the closest supported
- * frequency will be taken into use.
- *
- * @param modulation The modulation to be used. TunerControl
specifies
- * predefined constants MODULATION_FM
and MODULATION_AM
- * but other modulations can be supported as well. Supported modulations can be queried
- * by System
property tuner.modulations
.
- *
- * @throws IllegalArgumentException if freq
is not inside the frequency band supported
- * by the device or if the modulation
is not supported or the modulation
is null.
- *
- * @return the frequency in 100 Hertzs that was taken into use.
- */
- public int setFrequency(int aFreq, String aModulation)
- {
- if (aModulation != MODULATION_FM)
- {
- throw new IllegalArgumentException("Modulation is not valid.");
- }
-
- int freqInUse = _setFrequency(iEventSource,
- iControlHandle,
- aFreq * HERTZ_MULTIPLIER);
-
- NativeError.check(freqInUse);
-
- return freqInUse / HERTZ_MULTIPLIER;
- }
-
- /**
- * Gets the frequency which the tuner has been tuned to.
- *
- * @return The frequency to which the device has been tuned, in 100 Hertzs.
- */
- public int getFrequency()
- {
- int freq = _getFrequency(iEventSource, iControlHandle);
-
- NativeError.check(freq);
-
- return freq / HERTZ_MULTIPLIER;
- }
-
- /**
- *
Seeks for the next broadcast signal. If the end of the Player's - * frequency band is reached before a signal was found, the scan - * continues from the other end until a signal is found or the - * starting frequency is reached.
- * - *After seeking, the frequency of the Player is the one that - * was returned or if nothing was found, the original frequency.
- * - * @param startFreq the frequency in 100 Hertzs wherefrom the scan starts (inclusive) - * - * @param modulation The modulation to be used.TunerControl
specifies
- * predefined constants MODULATION_FM
and MODULATION_AM
- * but other modulations can be supported as well. Supported modulations can be queried
- * by System
property tuner.modulations
.
- * @param upwards if true
, the scan proceeds towards higher frequencies,
- * otherwise towards lower frequencies
- *
- * @return The found frequency in 100 Hertzs or, if no signal was found, 0.
- *
- * @throws IllegalArgumentException if startFreq
is not between the supported minimum
- * and maximum frequencies or if the modulation
is null.
- * @throws MediaException if the seek functionality is not available for the given modulation.
- */
- public int seek(int aStartFreq, String aModulation, boolean aUpwards)
- throws MediaException
- {
- if (aModulation != MODULATION_FM)
- {
- throw new IllegalArgumentException("Modulation is not valid.");
- }
-
- int foundFreq = _seek(iEventSource,
- iControlHandle,
- aStartFreq * HERTZ_MULTIPLIER,
- aUpwards);
-
- NativeError.check(foundFreq);
-
- return foundFreq / HERTZ_MULTIPLIER;
- }
-
- /**
- * Gets the current squelching (muting in frequencies without broadcast)
- * setting.
- *
- * @return true
if squelch is on or false
if squelch is off.
- */
- public boolean getSquelch()
- {
- int retValue = _getSquelch(iEventSource, iControlHandle);
-
- NativeError.check(retValue);
-
- if (retValue == NativeError.KErrNone)
- {
- return true;
- }
-
- return false;
- }
-
- /**
- * Sets squelching on or off. Squelching means muting the frequencies
- * that do not contain radio broadcast.
- *
- * @param squelch true
to turn the squelch on or false
to turn the squelch off.
- * @throws MediaException if the given squelch setting is not supported.
- */
- public void setSquelch(boolean aSquelch) throws MediaException
- {
- int err = _setSquelch(iEventSource, iControlHandle, aSquelch);
-
- NativeError.check(err);
- }
-
- /**
- * Gets the modulation in use.
- *
- * @return The modulation currently in use.
- */
- public String getModulation()
- {
- //only FM modulation is supported
- return MODULATION_FM;
- }
-
- /**
- * Gets the strength of the recepted signal.
- *
- * @return A value between 0 and 100 where 0 means the faintest and 100 the strongest possible signal strength.
- * @throws MediaException if querying the signal strength is not supported.
- */
- public int getSignalStrength() throws MediaException
- {
- int signalStrength = _getSignalStrength(iEventSource,
- iControlHandle);
-
- if (signalStrength != NativeError.KErrNone)
- {
- throw new MediaException("Signal strength is not supported.");
- }
-
- return signalStrength;
- }
-
- /**
- * Gets the stereo mode in use.
- *
- * @return The stereo mode in use. Stereo mode is one of MONO
,
- * STEREO
or AUTO
.
- */
- public int getStereoMode()
- {
- int stereoMode = _getStereoMode(iEventSource, iControlHandle);
-
- NativeError.check(stereoMode);
-
- return stereoMode;
- }
-
- /**
- * Sets the stereo mode.
- *
- * @param mode The stereo mode to be used. Stereo mode is one of MONO
,
- * STEREO
or AUTO
.
- * @throws IllegalArgumentException if the given mode is not supported.
- */
- public void setStereoMode(int aStereoMode)
- {
- if (aStereoMode != MONO && aStereoMode != STEREO && aStereoMode != AUTO)
- {
- throw new IllegalArgumentException();
- }
-
- int err = _setStereoMode(iEventSource, iControlHandle, aStereoMode);
-
- if (err != NativeError.KErrNone)
- {
- throw new IllegalArgumentException("Stereo mode is not supported.");
- }
- }
-
- /**
- * Gets the number of presets. The numbering of presets starts from one and the largest
- * preset number equals the value returned from this method.
- *
- * @return The number of presets, or zero if the presets are not supported.
- */
- public int getNumberOfPresets()
- {
-
- return 0;
- }
-
- /**
- * Tunes the tuner by using settings specified in the preset. Changes to
- * presets following a usePreset
call do not tune the tuner automatically.
- *
- * @param preset the preset to be used.
- * @throws IllegalArgumentException if preset
< 1 or preset
> number of presets.
- */
- public void usePreset(int aPreset)
- {
- if (aPreset < 0 || aPreset > MAX_NUMBER_OF_PRESETS)
- {
- throw new IllegalArgumentException("Preset out of preset range.");
- }
- int err = _usePreset(iEventSource, iControlHandle, aPreset);
-
- NativeError.check(err);
- }
-
- /**
- * Configures the preset using current frequency and modulation
- * (and stereo mode if native presets support storing it).
- *
- * @param preset the preset to be set.
- * @throws IllegalArgumentException if preset
< 1 or preset
> number of preset range.
- * @throws SecurityException if setting presets has been prohibited.
- */
- public void setPreset(int aPreset)
- {
- if (aPreset < 0 || aPreset > MAX_NUMBER_OF_PRESETS)
- {
- throw new IllegalArgumentException("Preset out of preset range.");
- }
- int err = _setPreset(iEventSource, iControlHandle, aPreset);
-
- NativeError.check(err);
- }
-
- /**
- * Configures the preset using given settings.
- * The stereo mode might not be stored if it is not supported by the presets.
- * (In that case, IllegalArgumentException
is not thrown.)
- *
- * @param preset the preset to be configured.
- * @param freq the frequency of the preset in 100 Hertzs.
- * @param mod the modulation of the preset.
- * @param stereoMode the stereo mode of the preset.
- * @throws IllegalArgumentException if preset
< 1 or preset
> number of presets or
- * freq
or modulation
are not available or if the modulation
is null or if stereoMode
is not a supported stereo mode.
- * @throws SecurityException if setting presets has been prohibited.
- */
- public void setPreset(int aPreset, int aFreq, String aModulation, int aStereoMode)
- {
- if (aPreset < 0 || aPreset > MAX_NUMBER_OF_PRESETS)
- {
- throw new IllegalArgumentException("Preset out of preset range.");
- }
- if (aModulation != MODULATION_FM)
- {
- throw new IllegalArgumentException("Modulation is not valid.");
- }
- if (aStereoMode != MONO && aStereoMode != STEREO && aStereoMode != AUTO)
- {
- throw new IllegalArgumentException("Stereo mode is not supported.");
- }
-
- int err = _setPreset(iEventSource, iControlHandle, aPreset, aFreq * HERTZ_MULTIPLIER, aStereoMode);
-
- NativeError.check(err);
- }
-
- /**
- * Gets the preset's frequency.
- *
- * @param preset the preset whose frequency is to be returned.
- * @return The frequency of the preset in 100 Hertzs.
- * @throws IllegalArgumentException if preset
< 1 or preset
> number of presets.
- */
- public int getPresetFrequency(int aPreset)
- {
- if (aPreset < 0 || aPreset > MAX_NUMBER_OF_PRESETS)
- {
- throw new IllegalArgumentException("Preset out of preset range.");
- }
-
- int presetFreq = _getPresetFrequency(iEventSource, iControlHandle, aPreset);
-
- NativeError.check(presetFreq);
-
- return presetFreq / HERTZ_MULTIPLIER;
- }
-
- /**
- * Gets the preset's modulation.
- *
- * @param preset the preset whose modulation is to be returned.
- * @return The modulation of the preset.
- * @throws IllegalArgumentException if preset
< 1 or preset
> number of presets.
- */
- public String getPresetModulation(int aPreset)
- {
- if (aPreset < 0 || aPreset > MAX_NUMBER_OF_PRESETS)
- {
- throw new IllegalArgumentException("Preset out of preset range.");
- }
- return MODULATION_FM;
- }
-
- /**
- * Gets the preset's stereo mode.
- *
- * @param preset the preset whose stereo mode is to be returned.
- * @return The stereo mode of the preset. Stereo mode is one of
- * MONO
, STEREO
or AUTO
.
- * @throws IllegalArgumentException if preset
< 1 or preset
> number of presets.
- * @throws MediaException if the presets do not support storing of the stereo mode.
- */
- public int getPresetStereoMode(int aPreset) throws MediaException
- {
- if (aPreset < 0 || aPreset > MAX_NUMBER_OF_PRESETS)
- {
- throw new IllegalArgumentException("Preset out of preset range.");
- }
-
- int presetStereoMode = _getPresetStereoMode(iEventSource, iControlHandle, aPreset);
-
- NativeError.check(presetStereoMode);
-
- return presetStereoMode;
- }
-
- /**
- * Gets the preset name.
- *
- * @param preset the preset whose name is to be returned.
- * @return A String
containing the preset name.
- * @throws IllegalArgumentException if preset
< 1 or preset
> number of presets.
- */
- public String getPresetName(int aPreset)
- {
- if (aPreset < 0 || aPreset > MAX_NUMBER_OF_PRESETS)
- {
- throw new IllegalArgumentException("Preset out of preset range.");
- }
-
- int[] error = new int[ 1 ];
-
- String presetName = _getPresetName(iEventSource, iControlHandle, aPreset, error);
-
- NativeError.check(error[ 0 ]);
-
- return presetName;
- }
-
- /**
- * Sets the preset name.
- *
- * @param preset the preset whose name is to be set.
- * @param name the name of the preset.
- * @throws IllegalArgumentException if preset
< 1 or preset
> number of presets or
- * if the name
is null.
- * @throws SecurityException if setting presets has been prohibited.
- */
- public void setPresetName(int aPreset, String aName)
- {
- if (aPreset < 0 || aPreset > MAX_NUMBER_OF_PRESETS)
- {
- throw new IllegalArgumentException("Preset out of preset range.");
- }
- if (aName.length() > MAX_PRESET_NAME_LENGTH)
- {
- throw new IllegalArgumentException("Preset name too long");
- }
-
- int err = _setPresetName(iEventSource, iControlHandle, aPreset, aName);
-
- NativeError.check(err);
- }
-
-
- private native int _getMinFreq(int aEventSourceHandle,
- int aTunerControlHandle);
-
- private native int _getMaxFreq(int aEventSourceHandle,
- int aTunerControlHandle);
-
- private native int _setFrequency(int aEventSourceHandle,
- int aTunerControlHandle,
- int aFreq);
-
- private native int _getFrequency(int aEventSourceHandle,
- int aTunerControlHandle);
-
-
- private native int _seek(int aEventSourceHandle,
- int aTunerControlHandle,
- int aStartFreq,
- boolean aUpwards);
-
- private native int _getSquelch(int aEventSourceHandle,
- int aTunerControlHandle);
-
- private native int _setSquelch(int aEventSourceHandle,
- int aTunerControlHandle,
- boolean aSquelch);
-
- private native int _getSignalStrength(int aEventSourceHandle,
- int aTunerControlHandle);
-
- private native int _getStereoMode(int aEventSourceHandle,
- int aTunerControlHandle);
-
- private native int _setStereoMode(int aEventSourceHandle,
- int aTunerControlHandle,
- int aStereoMode);
-
- private native int _usePreset(int aEventSourceHandle,
- int aTunerControlHandle,
- int aPreset);
-
- private native int _setPreset(int aEventSourceHandle,
- int aTunerControlHandle,
- int aPreset);
-
- private native int _setPreset(int aEventSourceHandle,
- int aTunerControlHandle,
- int aPreset,
- int aFreq,
- int aStereoMode);
-
- private native int _getPresetFrequency(int aEventSourceHandle,
- int aTunerControlHandle,
- int aPreset);
-
- private native int _getPresetStereoMode(int aEventSourceHandle,
- int aTunerControlHandle,
- int aPreset);
-
- private native int _setPresetName(int aEventSourceHandle,
- int aTunerControlHandle,
- int aPreset,
- String aName);
-
- private native String _getPresetName(int aEventSourceHandle,
- int aTunerControlHandle,
- int aPreset,
- int[] aError);
-
-
-}