package cri.sanity; import java.util.HashMap; import java.util.Map; import android.util.Pair; import cri.sanity.screen.*; public final class PrefGroups { public static final int SHORTCUT_FILTER_ROW = 3; public static final String[][] sections() { return new String[][]{ new String[]{ "general_cat", K.ENABLED, K.QUICK_START, K.SILENT_LIMIT, K.AIRPLANE_LIMIT, K.FORCE_BT_AUDIO, K.REVERSE_PROXIMITY, K.PWD, K.PWD_CLEAR }, new String[]{ "devices_cat", K.AUTO_MOBDATA, K.AUTO_WIFI, K.AUTO_GPS, K.AUTO_BT, K.SKIP_BT, K.SKIP_MOBDATA, K.SKIP_HOTSPOT, K.SKIP_TETHER, K.REVERSE_BT, K.REVERSE_BT_TIMEOUT, K.BT_OFF }, new String[]{ "proximity_cat", K.DISABLE_PROXIMITY, K.DISABLE_DELAY, K.ENABLE_PROXIMITY, K.ENABLE_DELAY, K.SCREEN_OFF, K.SCREEN_ON }, new String[]{ "speaker_cat", K.SPEAKER_AUTO, K.SPEAKER_DELAY, K.SPEAKER_CALL, K.SPEAKER_CALL_DELAY, K.SPEAKER_VOL, K.SPEAKER_SILENT_END, K.SPEAKER_ON_COUNT, K.SPEAKER_OFF_COUNT }, new String[]{ "rec_cat", K.REC, K.REC_FMT, K.REC_SRC, K.REC_START, K.REC_START_DELAY, K.REC_FILTER, K.REC_START_SPEAKER, K.REC_START_HEADSET, K.REC_START_DIR, K.REC_START_TIMES, K.REC_STOP, K.REC_STOP_DELAY, K.REC_STOP_SPEAKER, K.REC_STOP_HEADSET, K.REC_STOP_LIMIT, K.REC_AUTOREMOVE }, new String[]{ "block_cat", K.BLOCK_FILTER, K.BLOCK_MODE, K.BLOCK_RESUME, K.BLOCK_PICKUP, K.BLOCK_SKIP, K.BLOCK_NOTIFY, K.BLOCK_SMS, K.BLOCK_SMS_FILTER, K.BLOCK_SMS_NOTIFY, K.BLOCK_SMS_MAX }, new String[]{ "tts_cat", K.TTS, K.TTS_HEADSET, K.TTS_SKIP, K.TTS_SOLO, K.TTS_VOL, K.TTS_TONE, K.TTS_REPEAT, K.TTS_PAUSE, K.TTS_PREFIX, K.TTS_SUFFIX, K.TTS_ANONYM, K.TTS_UNKNOWN, K.TTS_FILTER, K.TTS_STREAM }, new String[]{ "urgent_cat", K.URGENT_FILTER, K.URGENT_MODE }, new String[]{ "answer_cat", K.ANSWER, K.ANSWER_HEADSET, K.ANSWER_SKIP, K.ANSWER_DELAY, K.ANSWER_FILTER }, new String[]{ "anonym_cat", K.ANONYM, K.ANONYM_CONFIRM, K.ANONYM_NOTIFY, K.ANONYM_PREFIX, K.ANONYM_FILTER }, new String[]{ "vol_cat", K.VOL_PHONE, K.VOL_WIRED, K.VOL_BT, K.VOL_SOLO }, new String[]{ "vibrate_cat", K.VIBRATE_PICKUP, K.VIBRATE_END, K.VIBRATE_MODE }, new String[]{ "notify_cat", K.NOTIFY_ENABLE, K.NOTIFY_DISABLE, K.NOTIFY_ACTIVITY, K.NOTIFY_VOLUME, K.NOTIFY_REC_STOP }, }; } // SHORTCUT_FILTER_ROW contains how many values are in one row! public static final Object[] filterShortcuts() { return new Object[] { R.string.rec_cat , R.drawable.menu_rec , "rec", R.string.block_cat , R.drawable.menu_block , "block", R.string.blocksms_cat, R.drawable.menu_block , "blocksms", R.string.tts_cat , R.drawable.menu_tts , "tts", R.string.ttsms_cat , R.drawable.menu_tts , "ttsms", R.string.urgent_cat , R.drawable.menu_urgent, "urgent", R.string.answer_cat , R.drawable.menu_answer, "answer", R.string.anonym_cat , R.drawable.menu_anonym, "anonym", }; } public static final String[] skipKeys() { return new String[]{ K.BT_COUNT, K.NAG, K.CRON, K.FULL, K.LICVER, K.SMS_COUNT }; } public static final String[] edits() { return new String[]{ K.TTS_PREFIX, K.TTS_SUFFIX, K.TTS_ANONYM, K.TTS_ANONYM, K.TTS_SMS_PREFIX, K.TTS_SMS_SUFFIX, K.ANONYM_PREFIX }; } public static final String[] volumes() { return new String[]{ K.VOL_PHONE, K.VOL_WIRED, K.VOL_BT, K.SPEAKER_VOL, K.TTS_VOL, K.TTS_SMS_VOL }; } public static final Object[] screens() { return new Object[] { "screen_general" , GeneralActivity.class , R.xml.prefs_general , R.id.menu_general , R.layout.img_general, "screen_devices" , DevicesActivity.class , R.xml.prefs_devices , R.id.menu_devices , R.layout.img_devices, "screen_proximity", ProximityActivity.class, R.xml.prefs_proximity, R.id.menu_proximity, R.layout.img_proximity, "screen_speaker" , SpeakerActivity.class , R.xml.prefs_speaker , R.id.menu_speaker , R.layout.img_speaker, "screen_volume" , VolumeActivity.class , R.xml.prefs_volume , R.id.menu_vol , R.layout.img_vol, "screen_record" , RecordActivity.class , R.xml.prefs_record , R.id.menu_rec , R.layout.img_rec, "screen_block" , BlockerActivity.class , R.xml.prefs_block , R.id.menu_block , R.layout.img_block, "screen_tts" , TtsActivity.class , R.xml.prefs_tts , R.id.menu_tts , R.layout.img_tts, "screen_urgent" , UrgentActivity.class , R.xml.prefs_urgent , R.id.menu_urgent , R.layout.img_urgent, "screen_answer" , AnswerActivity.class , R.xml.prefs_answer , R.id.menu_answer , R.layout.img_answer, "screen_anonym" , AnonymActivity.class , R.xml.prefs_anonym , R.id.menu_anonym , R.layout.img_anonym, "screen_vibra" , VibraActivity.class , R.xml.prefs_vibra , R.id.menu_vibra , R.layout.img_vibra, "screen_notify" , NotifyActivity.class , R.xml.prefs_notify , R.id.menu_notify , R.layout.img_notify, "screen_about" , AboutActivity.class , R.xml.prefs_about , R.id.menu_about , R.layout.img_about, }; } public static final Map<String,Pair<Integer,Integer>> intLabVals() { Map<String,Pair<Integer,Integer>> m = new HashMap<String,Pair<Integer,Integer>>(); Pair<Integer,Integer> pd = p(R.array.disable_delay_labels, R.array.disable_delay_values); Pair<Integer,Integer> psc = p(R.array.speaker_count_labels, R.array.speaker_count_values); m.put(K.DISABLE_DELAY , pd); m.put(K.ENABLE_DELAY , p(R.array.enable_delay_labels, R.array.enable_delay_values)); m.put(K.SPEAKER_DELAY , pd); m.put(K.SPEAKER_CALL , p(R.array.speaker_call_labels, R.array.speaker_call_values)); m.put(K.SPEAKER_CALL_DELAY, pd); m.put(K.SPEAKER_ON_COUNT , psc); m.put(K.SPEAKER_OFF_COUNT , psc); m.put(K.REC_FMT , p(R.array.rec_fmt_labels, R.array.rec_fmt_values)); m.put(K.REC_SRC , p(R.array.rec_src_labels, R.array.rec_src_values)); m.put(K.REC_START_DELAY , pd); m.put(K.REC_STOP_DELAY , pd); m.put(K.REC_START_HEADSET , p(R.array.rec_start_headset_labels , R.array.rec_headset_values)); m.put(K.REC_STOP_HEADSET , p(R.array.rec_stop_headset_labels , R.array.rec_headset_values)); m.put(K.REC_STOP_LIMIT , p(R.array.rec_stop_limit_labels , R.array.rec_stop_limit_values)); m.put(K.REC_START_TIMES , p(R.array.rec_start_times_labels , R.array.rec_start_times_values)); m.put(K.REC_START_DIR , p(R.array.rec_start_dir_labels , R.array.rec_start_dir_values)); m.put(K.REC_AUTOREMOVE , p(R.array.rec_autoremove_labels , R.array.rec_autoremove_values)); m.put(K.REVERSE_BT_TIMEOUT, p(R.array.bt_reverse_timeout_labels, R.array.bt_reverse_timeout_values)); m.put(K.BLOCK_MODE , p(R.array.block_mode_labels , R.array.block_mode_values)); m.put(K.BLOCK_RESUME , p(R.array.block_resume_labels , R.array.block_resume_values)); m.put(K.BLOCK_SMS_MAX , p(R.array.blocksms_max_labels , R.array.blocksms_max_values)); m.put(K.TTS_TONE , p(R.array.tts_tone_labels , R.array.tts_tone_values)); m.put(K.TTS_REPEAT , p(R.array.tts_repeat_labels , R.array.tts_repeat_values)); m.put(K.TTS_PAUSE , p(R.array.tts_pause_labels , R.array.tts_pause_values)); m.put(K.URGENT_MODE , p(R.array.urgent_mode_labels , R.array.urgent_mode_values)); m.put(K.ANSWER_DELAY , pd); m.put(K.VIBRATE_MODE , p(R.array.vibrate_mode_labels , R.array.vibrate_mode_values)); return m; } private static Pair<Integer,Integer> p(int lab, int val) { return new Pair<Integer,Integer>(lab, val); } }