Replace custom Dialogs with Spinners.
Change-Id: Idb55d2834b99fb23907a204200d71d25a194df2f
diff --git a/res/drawable-hdpi/btn_circle_disable.png b/res/drawable-hdpi/btn_circle_disable.png
deleted file mode 100644
index 39652a8..0000000
--- a/res/drawable-hdpi/btn_circle_disable.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/btn_circle_disable_focused.png b/res/drawable-hdpi/btn_circle_disable_focused.png
deleted file mode 100644
index 1aa7ffe..0000000
--- a/res/drawable-hdpi/btn_circle_disable_focused.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/btn_circle_normal.png b/res/drawable-hdpi/btn_circle_normal.png
deleted file mode 100644
index 6011219..0000000
--- a/res/drawable-hdpi/btn_circle_normal.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/btn_circle_pressed.png b/res/drawable-hdpi/btn_circle_pressed.png
deleted file mode 100644
index 4942e50..0000000
--- a/res/drawable-hdpi/btn_circle_pressed.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-hdpi/btn_circle_selected.png b/res/drawable-hdpi/btn_circle_selected.png
deleted file mode 100644
index fe49a40..0000000
--- a/res/drawable-hdpi/btn_circle_selected.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ldpi/btn_circle_disable.png b/res/drawable-ldpi/btn_circle_disable.png
deleted file mode 100644
index 87a51c5..0000000
--- a/res/drawable-ldpi/btn_circle_disable.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ldpi/btn_circle_disable_focused.png b/res/drawable-ldpi/btn_circle_disable_focused.png
deleted file mode 100644
index cc28e3b..0000000
--- a/res/drawable-ldpi/btn_circle_disable_focused.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ldpi/btn_circle_normal.png b/res/drawable-ldpi/btn_circle_normal.png
deleted file mode 100644
index b25ad81..0000000
--- a/res/drawable-ldpi/btn_circle_normal.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ldpi/btn_circle_pressed.png b/res/drawable-ldpi/btn_circle_pressed.png
deleted file mode 100644
index abeedad..0000000
--- a/res/drawable-ldpi/btn_circle_pressed.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-ldpi/btn_circle_selected.png b/res/drawable-ldpi/btn_circle_selected.png
deleted file mode 100644
index e3e8d13..0000000
--- a/res/drawable-ldpi/btn_circle_selected.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/btn_circle_disable.png b/res/drawable-mdpi/btn_circle_disable.png
deleted file mode 100644
index 29e227c..0000000
--- a/res/drawable-mdpi/btn_circle_disable.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/btn_circle_disable_focused.png b/res/drawable-mdpi/btn_circle_disable_focused.png
deleted file mode 100644
index c5aa3c5..0000000
--- a/res/drawable-mdpi/btn_circle_disable_focused.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/btn_circle_normal.png b/res/drawable-mdpi/btn_circle_normal.png
deleted file mode 100644
index 6358351..0000000
--- a/res/drawable-mdpi/btn_circle_normal.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/btn_circle_pressed.png b/res/drawable-mdpi/btn_circle_pressed.png
deleted file mode 100644
index dc07a61..0000000
--- a/res/drawable-mdpi/btn_circle_pressed.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-mdpi/btn_circle_selected.png b/res/drawable-mdpi/btn_circle_selected.png
deleted file mode 100644
index 6eb2ff5..0000000
--- a/res/drawable-mdpi/btn_circle_selected.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/btn_circle.xml b/res/drawable/btn_circle.xml
deleted file mode 100644
index 243f506..0000000
--- a/res/drawable/btn_circle.xml
+++ /dev/null
@@ -1,34 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2009 The Android Open Source Project
-
- Licensed under the Apache License, Version 2.0 (the "License");
- you may not use this file except in compliance with the License.
- You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
--->
-
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
- <item android:state_window_focused="false" android:state_enabled="true"
- android:drawable="@drawable/btn_circle_normal" />
- <item android:state_window_focused="false" android:state_enabled="false"
- android:drawable="@drawable/btn_circle_disable" />
- <item android:state_pressed="true" android:state_enabled="false"
- android:drawable="@drawable/btn_circle_disable" />
- <item android:state_pressed="true"
- android:drawable="@drawable/btn_circle_pressed" />
- <item android:state_focused="true" android:state_enabled="true"
- android:drawable="@drawable/btn_circle_selected" />
- <item android:state_enabled="true"
- android:drawable="@drawable/btn_circle_normal" />
- <item android:state_focused="true"
- android:drawable="@drawable/btn_circle_disable_focused" />
- <item
- android:drawable="@drawable/btn_circle_disable" />
-</selector>
diff --git a/res/layout-land/music_main.xml b/res/layout-land/music_main.xml
index fcfe530..fc3eacb 100644
--- a/res/layout-land/music_main.xml
+++ b/res/layout-land/music_main.xml
@@ -47,7 +47,7 @@
android:layout_marginLeft="15dip"
android:layout_alignParentLeft="true"
android:textAppearance="?android:attr/textAppearanceLarge"
- android:text="@string/main_toggle_effects_title" />
+ android:text="@string/eq_dialog_title" />
<Switch
android:id="@+id/mainToggleEffectsCheckBox"
android:layout_width="wrap_content"
@@ -64,56 +64,15 @@
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:minHeight="?android:attr/listPreferredItemHeight"
android:gravity="center_vertical"
android:layout_gravity="center"
android:orientation="vertical">
- <LinearLayout
- android:id="@+id/eqLayout"
- android:layout_width="match_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- android:minHeight="?android:attr/listPreferredItemHeight"
- android:gravity="center_vertical"
- android:paddingRight="?android:attr/scrollbarSize"
- android:focusable="true"
- android:background="@android:drawable/list_selector_background">
-
- <RelativeLayout
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginLeft="15dip"
- android:layout_marginRight="6dip"
- android:layout_marginTop="6dip"
- android:layout_marginBottom="6dip"
- android:layout_weight="1">
- <TextView
- android:id="@+id/eqPresetsTitleTextView"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textAppearance="?android:attr/textAppearanceLarge"
- android:ellipsize="marquee"
- android:fadingEdge="horizontal"
- android:text="@string/eq_title" />
- <TextView
- android:id="@+id/eqPresetsSummaryTextView"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_below="@+id/eqPresetsTitleTextView"
- android:layout_alignLeft="@+id/eqPresetsTitleTextView"
- android:textAppearance="?android:attr/textAppearanceSmall"
- android:maxLines="4" />
- </RelativeLayout>
- <ImageView
- android:id="@+id/eqPresetsImageView"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginRight="4dip"
- android:layout_gravity="center_vertical"
- android:background="@drawable/btn_circle"
- android:src="@drawable/ic_btn_round_more" />
- </LinearLayout>
+ <Spinner android:id="@+id/eqSpinner"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:drawSelectorOnTop="true"
+ />
<LinearLayout
android:layout_width="wrap_content"
@@ -189,51 +148,13 @@
android:paddingRight="20dip" />
</LinearLayout>
- <LinearLayout
- android:id="@+id/eRLayout"
- android:layout_width="match_parent"
+ <Spinner android:id="@+id/prSpinner"
+ android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:minHeight="?android:attr/listPreferredItemHeight"
- android:gravity="center_vertical"
- android:paddingRight="?android:attr/scrollbarSize"
- android:focusable="true"
- android:background="@android:drawable/list_selector_background"
- android:visibility="gone">
- <RelativeLayout
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginLeft="15dip"
- android:layout_marginRight="6dip"
- android:layout_marginTop="6dip"
- android:layout_marginBottom="6dip"
- android:layout_weight="1">
- <TextView
- android:id="@+id/eRPresetsTitleTextView"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textAppearance="?android:attr/textAppearanceLarge"
- android:ellipsize="marquee"
- android:fadingEdge="horizontal"
- android:text="@string/pr_title" />
- <TextView
- android:id="@+id/eRPresetsSummaryTextView"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_below="@+id/eRPresetsTitleTextView"
- android:layout_alignLeft="@+id/eRPresetsTitleTextView"
- android:textAppearance="?android:attr/textAppearanceSmall"
- android:maxLines="4"
- android:text="@string/pr_summary" />
- </RelativeLayout>
- <ImageView
- android:id="@+id/eRPresetsImageView"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginRight="4dip"
- android:layout_gravity="center_vertical"
- android:background="@drawable/btn_circle"
- android:src="@drawable/ic_btn_round_more" />
- </LinearLayout>
+ android:drawSelectorOnTop="true"
+ android:visibility="gone"
+ />
</LinearLayout>
</LinearLayout>
diff --git a/res/layout/music_main.xml b/res/layout/music_main.xml
index 8993309..90c23ff 100644
--- a/res/layout/music_main.xml
+++ b/res/layout/music_main.xml
@@ -47,7 +47,7 @@
android:layout_marginLeft="15dip"
android:layout_alignParentLeft="true"
android:textAppearance="?android:attr/textAppearanceLarge"
- android:text="@string/main_toggle_effects_title" />
+ android:text="@string/eq_dialog_title" />
<Switch
android:id="@+id/mainToggleEffectsCheckBox"
android:layout_width="wrap_content"
@@ -64,55 +64,15 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:minHeight="?android:attr/listPreferredItemHeight"
android:gravity="center_vertical"
android:orientation="vertical">
- <LinearLayout
- android:id="@+id/eqLayout"
- android:layout_width="match_parent"
+ <Spinner android:id="@+id/eqSpinner"
+ android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:orientation="horizontal">
android:minHeight="?android:attr/listPreferredItemHeight"
- android:gravity="center_vertical"
- android:paddingRight="?android:attr/scrollbarSize"
- android:focusable="true"
- android:background="@android:drawable/list_selector_background">
-
- <RelativeLayout
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginLeft="15dip"
- android:layout_marginRight="6dip"
- android:layout_marginTop="6dip"
- android:layout_marginBottom="6dip"
- android:layout_weight="1">
- <TextView
- android:id="@+id/eqPresetsTitleTextView"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textAppearance="?android:attr/textAppearanceLarge"
- android:ellipsize="marquee"
- android:fadingEdge="horizontal"
- android:text="@string/eq_title" />
- <TextView
- android:id="@+id/eqPresetsSummaryTextView"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_below="@+id/eqPresetsTitleTextView"
- android:layout_alignLeft="@+id/eqPresetsTitleTextView"
- android:textAppearance="?android:attr/textAppearanceSmall"
- android:maxLines="4" />
- </RelativeLayout>
- <ImageView
- android:id="@+id/eqPresetsImageView"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginRight="4dip"
- android:layout_gravity="center_vertical"
- android:background="@drawable/btn_circle"
- android:src="@drawable/ic_btn_round_more" />
- </LinearLayout>
+ android:drawSelectorOnTop="true"
+ />
<include layout="@layout/music_eq" />
@@ -178,51 +138,13 @@
android:paddingRight="20dip" />
</LinearLayout>
- <LinearLayout
- android:id="@+id/eRLayout"
- android:layout_width="match_parent"
+ <Spinner android:id="@+id/prSpinner"
+ android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:minHeight="?android:attr/listPreferredItemHeight"
- android:gravity="center_vertical"
- android:paddingRight="?android:attr/scrollbarSize"
- android:focusable="true"
- android:background="@android:drawable/list_selector_background"
- android:visibility="gone">
- <RelativeLayout
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginLeft="15dip"
- android:layout_marginRight="6dip"
- android:layout_marginTop="6dip"
- android:layout_marginBottom="6dip"
- android:layout_weight="1">
- <TextView
- android:id="@+id/eRPresetsTitleTextView"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:textAppearance="?android:attr/textAppearanceLarge"
- android:ellipsize="marquee"
- android:fadingEdge="horizontal"
- android:text="@string/pr_title" />
- <TextView
- android:id="@+id/eRPresetsSummaryTextView"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_below="@+id/eRPresetsTitleTextView"
- android:layout_alignLeft="@+id/eRPresetsTitleTextView"
- android:textAppearance="?android:attr/textAppearanceSmall"
- android:maxLines="4"
- android:text="@string/pr_summary" />
- </RelativeLayout>
- <ImageView
- android:id="@+id/eRPresetsImageView"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginRight="4dip"
- android:layout_gravity="center_vertical"
- android:background="@drawable/btn_circle"
- android:src="@drawable/ic_btn_round_more" />
- </LinearLayout>
+ android:drawSelectorOnTop="true"
+ android:visibility="gone"
+ />
</LinearLayout>
</ScrollView>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 8c048d5..c5507dd 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -20,7 +20,6 @@
<!-- ControlPanelMusic strings -->
<string name="no_effects">Effects not available</string>
<string name="main_toggle_effects_title">Audio effects</string>
- <string name="eq_title">Equalizer:</string>
<string name="eq_dialog_title">Equalizer</string>
<string name="headset_plug">Please plug headphones for these effects</string>
<string name="bass_boost_strength">Bass boost</string>
diff --git a/src/com/android/musicfx/ActivityMusic.java b/src/com/android/musicfx/ActivityMusic.java
index b3c8e99..8e9dab2 100644
--- a/src/com/android/musicfx/ActivityMusic.java
+++ b/src/com/android/musicfx/ActivityMusic.java
@@ -43,11 +43,15 @@
import android.view.View.OnClickListener;
import android.view.View.OnTouchListener;
import android.view.ViewGroup;
+import android.widget.AdapterView;
+import android.widget.AdapterView.OnItemSelectedListener;
+import android.widget.ArrayAdapter;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.RelativeLayout;
+import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;
@@ -66,12 +70,6 @@
private final static int EQUALIZER_MAX_BANDS = 32;
/**
- * Dialog IDS
- */
- static final int DIALOG_EQUALIZER = 0;
- static final int DIALOG_PRESET_REVERB = 1;
-
- /**
* Indicates if Virtualizer effect is supported.
*/
private boolean mVirtualizerSupported;
@@ -99,6 +97,7 @@
private String[] mEQPresetNames;
private int mPRPreset;
+ private int mPRPresetPrevious;
private boolean mIsHeadsetOn = false;
@@ -404,28 +403,23 @@
// Initialize the Equalizer elements.
if (mEqualizerSupported) {
- final View view = findViewById(R.id.eqLayout);
- view.setOnClickListener(new OnClickListener() {
-
- @Override
- public void onClick(final View v) {
- showDialog(DIALOG_EQUALIZER);
- }
- });
- equalizerInit(findViewById(R.id.eqcontainer));
+ mEQPreset = ControlPanelEffect.getParameterInt(mContext, mCallingPackageName,
+ mAudioSession, ControlPanelEffect.Key.eq_current_preset);
+ if (mEQPreset >= mEQPresetNames.length) {
+ mEQPreset = 0;
+ }
+ mEQPresetPrevious = mEQPreset;
+ equalizerSpinnerInit((Spinner)findViewById(R.id.eqSpinner));
+ equalizerBandsInit(findViewById(R.id.eqcontainer));
}
// Initialize the Preset Reverb elements.
// Set Spinner listeners.
if (mPresetReverbSupported) {
- final View view = findViewById(R.id.eRLayout);
- view.setOnClickListener(new OnClickListener() {
-
- @Override
- public void onClick(final View v) {
- showDialog(DIALOG_PRESET_REVERB);
- }
- });
+ mPRPreset = ControlPanelEffect.getParameterInt(mContext, mCallingPackageName,
+ mAudioSession, ControlPanelEffect.Key.pr_current_preset);
+ mPRPresetPrevious = mPRPreset;
+ reverbSpinnerInit((Spinner)findViewById(R.id.prSpinner));
}
} else {
@@ -479,158 +473,51 @@
unregisterReceiver(mReceiver);
}
- /*
- * Create dialogs for about, EQ preset control, PR and reset to default (alert) dialogs
- *
- * (non-Javadoc)
- *
- * @see android.app.Activity#onCreateDialog(int)
- */
- @Override
- protected Dialog onCreateDialog(final int id) {
- final AlertDialog alertDialog;
- switch (id) {
- case DIALOG_EQUALIZER: {
- final AlertDialog.Builder builder = new AlertDialog.Builder(this);
- builder.setTitle(R.string.eq_dialog_title);
- builder.setSingleChoiceItems(mEQPresetNames, -1,
- new DialogInterface.OnClickListener() {
- @Override
- public void onClick(final DialogInterface dialog, final int item) {
- if (item != mEQPresetPrevious) {
- equalizerSetPreset(item);
- }
- mEQPresetPrevious = item;
- }
- });
- builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(final DialogInterface dialog, final int whichButton) {
- final ListView listView = ((AlertDialog) dialog).getListView();
- final int newPreset = listView.getCheckedItemPosition();
- equalizerSetPreset(newPreset);
- }
- });
- builder.setNegativeButton(android.R.string.cancel,
- new DialogInterface.OnClickListener() {
- @Override
- public void onClick(final DialogInterface dialog, final int whichButton) {
- dialog.cancel();
- }
- });
- builder.setOnCancelListener(new OnCancelListener() {
- @Override
- public void onCancel(final DialogInterface dialog) {
- equalizerSetPreset(mEQPreset);
- final int[] presetUserBandLevels = ControlPanelEffect.getParameterIntArray(
- mContext, mCallingPackageName, mAudioSession,
- ControlPanelEffect.Key.eq_preset_user_band_level);
- short band = 0;
- for (final int bandLevel : mEQPresetUserBandLevelsPrev) {
- if (bandLevel != presetUserBandLevels[band]) {
- if (!isEqualizerUserPreset(mEQPreset)) {
- ControlPanelEffect.setParameterInt(mContext, mCallingPackageName,
- mAudioSession,
- ControlPanelEffect.Key.eq_preset_user_band_level,
- bandLevel, band);
- } else {
- equalizerBandUpdate(band, (short) bandLevel);
- }
- }
- band++;
- }
- }
- });
+ private void reverbSpinnerInit(Spinner spinner) {
+ ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
+ android.R.layout.simple_spinner_item, PRESETREVERBPRESETSTRINGS);
+ adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
+ spinner.setAdapter(adapter);
+ spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
- alertDialog = builder.create();
- final LayoutInflater factory = LayoutInflater.from(this);
- break;
- }
- case DIALOG_PRESET_REVERB: {
- final AlertDialog.Builder builder = new AlertDialog.Builder(this);
- builder.setTitle(R.string.pr_dialog_title);
- builder.setSingleChoiceItems(PRESETREVERBPRESETSTRINGS, -1,
- new DialogInterface.OnClickListener() {
- @Override
- public void onClick(final DialogInterface dialog, final int item) {
- presetReverbSetPreset(item);
- }
- });
- builder.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener() {
- @Override
- public void onClick(final DialogInterface dialog, final int whichButton) {
- final ListView listView = ((AlertDialog) dialog).getListView();
- final int newPreset = listView.getCheckedItemPosition();
- presetReverbSetPreset(newPreset);
- ((TextView) findViewById(R.id.eRPresetsTitleTextView))
- .setText(getString(R.string.pr_title) + " "
- + listView.getItemAtPosition(newPreset).toString());
+ @Override
+ public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
+ if (position != mPRPresetPrevious) {
+ presetReverbSetPreset(position);
}
- });
- builder.setNegativeButton(android.R.string.cancel,
- new DialogInterface.OnClickListener() {
- @Override
- public void onClick(final DialogInterface dialog, final int whichButton) {
- dialog.cancel();
- }
- });
- builder.setOnCancelListener(new OnCancelListener() {
- @Override
- public void onCancel(final DialogInterface dialog) {
- presetReverbSetPreset(mPRPreset);
- }
- });
-
- alertDialog = builder.create();
- break;
- }
- default:
- Log.e(TAG, "onCreateDialog invalid Dialog id: " + id);
- alertDialog = null;
- break;
- }
- return alertDialog;
- }
-
- /*
- * Updates dialog (selections) before they are shown if necessary
- *
- * (non-Javadoc)
- *
- * @see android.app.Activity#onPrepareDialog(int, android.app.Dialog, android.os.Bundle)
- */
- @Override
- protected void onPrepareDialog(final int id, final Dialog dialog, final Bundle args) {
- switch (id) {
- case DIALOG_EQUALIZER: {
- mEQPreset = ControlPanelEffect.getParameterInt(mContext, mCallingPackageName,
- mAudioSession, ControlPanelEffect.Key.eq_current_preset);
- if (mEQPreset >= mEQPresetNames.length) {
- mEQPreset = 0;
+ mPRPresetPrevious = position;
}
- mEQPresetPrevious = mEQPreset;
- mEQPresetUserBandLevelsPrev = ControlPanelEffect.getParameterIntArray(mContext,
- mCallingPackageName, mAudioSession,
- ControlPanelEffect.Key.eq_preset_user_band_level);
- final ListView listView = ((AlertDialog) dialog).getListView();
- listView.setItemChecked(mEQPreset, true);
- listView.setSelection(mEQPreset);
- break;
- }
- case DIALOG_PRESET_REVERB: {
- mPRPreset = ControlPanelEffect.getParameterInt(mContext, mCallingPackageName,
- mAudioSession, ControlPanelEffect.Key.pr_current_preset);
- final ListView listView = ((AlertDialog) dialog).getListView();
- listView.setItemChecked(mPRPreset, true);
- listView.setSelection(mPRPreset);
- break;
- }
- default:
- Log.e(TAG, "onPrepareDialog invalid Dialog id: " + id);
- break;
- }
+
+ @Override
+ public void onNothingSelected(AdapterView<?> parent) {
+ }
+ });
+ spinner.setSelection(mPRPreset);
}
+ private void equalizerSpinnerInit(Spinner spinner) {
+ ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
+ android.R.layout.simple_spinner_item, mEQPresetNames);
+ adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
+ spinner.setAdapter(adapter);
+ spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
+
+ @Override
+ public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
+ if (position != mEQPresetPrevious) {
+ equalizerSetPreset(position);
+ }
+ mEQPresetPrevious = position;
+ }
+
+ @Override
+ public void onNothingSelected(AdapterView<?> parent) {
+ }
+ });
+ spinner.setSelection(mEQPreset);
+ }
+
+
/**
* En/disables all children for a given view. For linear and relative layout children do this
* recursively
@@ -671,24 +558,13 @@
ControlPanelEffect.Key.bb_strength));
}
if (mEqualizerSupported) {
- final String [] presets = mEQPresetNames;
- int idx = ControlPanelEffect.getParameterInt(mContext,
- mCallingPackageName, mAudioSession,
- ControlPanelEffect.Key.eq_current_preset);
- if (idx >= presets.length) {
- idx = 0;
- }
- ((TextView) findViewById(R.id.eqPresetsSummaryTextView))
- .setText(presets[idx]);
equalizerUpdateDisplay();
}
if (mPresetReverbSupported) {
- ((TextView) findViewById(R.id.eRPresetsTitleTextView))
- .setText(getString(R.string.pr_title)
- + " "
- + PRESETREVERBPRESETSTRINGS[ControlPanelEffect.getParameterInt(
+ int reverb = ControlPanelEffect.getParameterInt(
mContext, mCallingPackageName, mAudioSession,
- ControlPanelEffect.Key.pr_current_preset)]);
+ ControlPanelEffect.Key.pr_current_preset);
+ ((Spinner)findViewById(R.id.prSpinner)).setSelection(reverb);
}
}
@@ -711,7 +587,7 @@
/**
* Initializes the equalizer elements. Set the SeekBars and Spinner listeners.
*/
- private void equalizerInit(View eqcontainer) {
+ private void equalizerBandsInit(View eqcontainer) {
// Initialize the N-Band Equalizer elements.
mNumberEqualizerBands = ControlPanelEffect.getParameterInt(mContext, mCallingPackageName,
mAudioSession, ControlPanelEffect.Key.eq_num_bands);
@@ -860,26 +736,6 @@
ControlPanelEffect.setParameterInt(mContext, mCallingPackageName, mAudioSession,
ControlPanelEffect.Key.eq_current_preset, preset);
equalizerUpdateDisplay();
- ((TextView) findViewById(R.id.eqPresetsSummaryTextView))
- .setText(mEQPresetNames[preset]);
- }
-
- /**
- * Checks if an User EQ preset is set.
- */
- private boolean isEqualizerUserPreset(final int preset) {
- return (preset == mEQPresetUserPos);
- }
-
- /**
- * Sets the given PR preset.
- *
- * @param preset
- * PR preset id.
- */
- private void presetReverbSetPreset(final short preset) {
- ControlPanelEffect.setParameterInt(mContext, mCallingPackageName, mAudioSession,
- ControlPanelEffect.Key.pr_current_preset, preset);
}
/**
@@ -889,7 +745,8 @@
* PR preset id.
*/
private void presetReverbSetPreset(final int preset) {
- presetReverbSetPreset((short) preset);
+ ControlPanelEffect.setParameterInt(mContext, mCallingPackageName, mAudioSession,
+ ControlPanelEffect.Key.pr_current_preset, preset);
}
/**