package cri.sanity.screen; import android.media.AudioManager; import android.os.Bundle; import cri.sanity.*; import cri.sanity.pref.*; public class VolumeActivity extends ScreenActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); CharSequence[][] arr = getVolumeLevels(AudioManager.STREAM_VOICE_CALL); for(String k : new String[]{ K.VOL_PHONE, K.VOL_WIRED, K.VOL_BT }) setVolumeLevels((PList)pref(k + K.WS), arr); setVolumeLevels((PList)pref(K.TTS_VOL +K.WS), TtsActivity.getVolumeStream()); setVolumeLevels((PList)pref(K.TTS_SMS_VOL+K.WS), TtsActivity.getVolumeStreamSMS()); if(!A.is(K.TTS)) { setEnabled(K.TTS_VOL+K.WS, false); if(!A.is(K.TTS_SMS)) setEnabled(K.TTS_SMS_VOL+K.WS, false); } fullOnly(K.TTS_VOL+K.WS, K.TTS_SMS_VOL+K.WS); } public static CharSequence[][] getVolumeLevels(int stream) { final String lev = A.s(R.string.level) + ' '; final int m = A.audioMan().getStreamMaxVolume(stream); final int n = m + 1; final CharSequence[] av = new CharSequence[n+1]; final CharSequence[] ae = new CharSequence[n+1]; av[0] = "-1"; av[1] = "0"; av[n] = Integer.toString(m); ae[0] = A.s(R.string.nochange); ae[1] = lev + av[1] + " - " + A.s(R.string.min); ae[n] = lev + av[n] + " - " + A.s(R.string.max); for(int i=2; i<n; i++) { av[i] = Integer.toString(i-1); ae[i] = lev + av[i]; } return new CharSequence[][]{ ae, av }; } public static void setVolumeLevels(PList p, CharSequence[][] arr) { p.setEntries (arr[0]); p.setEntryValues(arr[1]); p.update(); } public static void setVolumeLevels(PList p, int stream) { setVolumeLevels(p, getVolumeLevels(stream)); } }