<!-- Used for the media volume -->
<LinearLayout
+ android:id="@+id/media_section"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:paddingStart="8dip"
- android:orientation="horizontal"
- android:gravity="center_vertical">
+ android:orientation="vertical">
- <ImageView android:id="@+id/media_mute_button"
- android:layout_width="wrap_content"
+ <LinearLayout
+ android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:padding="16dip"
- android:background="?android:attr/selectableItemBackground"
- android:contentDescription="@string/volume_media_mute"
- />
+ android:paddingStart="8dip"
+ android:orientation="horizontal"
+ android:gravity="center_vertical">
+
+ <ImageView android:id="@+id/media_mute_button"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:padding="16dip"
+ android:background="?android:attr/selectableItemBackground"
+ android:contentDescription="@string/volume_media_mute"
+ />
+
+ <SeekBar android:id="@+id/media_volume_seekbar"
+ android:layout_width="0dip"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:paddingTop="2dip"
+ android:layout_marginEnd="@dimen/volume_seekbar_side_margin" />
+ </LinearLayout>
- <SeekBar android:id="@+id/media_volume_seekbar"
- android:layout_width="0dip"
- android:layout_height="wrap_content"
- android:layout_weight="1"
- android:paddingTop="2dip"
- android:layout_marginEnd="@dimen/volume_seekbar_side_margin" />
</LinearLayout>
<!-- Used for the ringer/notification volume -->
</LinearLayout>
- <TextView
- android:textAppearance="?android:attr/textAppearanceSmall"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_marginTop="16dip"
- android:paddingStart="16dip"
- android:layout_gravity="start"
- android:text="@string/volume_alarm_description"
- />
-
<!-- Used for the alarm volume -->
<LinearLayout
+ android:id="@+id/alarm_section"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:paddingStart="8dip"
- android:orientation="horizontal"
- android:gravity="center_vertical">
+ android:orientation="vertical">
- <ImageView android:id="@+id/alarm_mute_button"
+ <TextView
+ android:textAppearance="?android:attr/textAppearanceSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:padding="16dip"
- android:background="?android:attr/selectableItemBackground"
- android:contentDescription="@string/volume_alarm_mute" />
- <SeekBar android:id="@+id/alarm_volume_seekbar"
- android:layout_width="0dip"
+ android:layout_marginTop="16dip"
+ android:paddingStart="16dip"
+ android:layout_gravity="start"
+ android:text="@string/volume_alarm_description"
+ />
+
+ <!-- Used for the alarm volume -->
+ <LinearLayout
+ android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:layout_weight="1"
- android:paddingTop="2dip"
- android:layout_marginEnd="@dimen/volume_seekbar_side_margin" />
+ android:paddingStart="8dip"
+ android:orientation="horizontal"
+ android:gravity="center_vertical">
+
+ <ImageView android:id="@+id/alarm_mute_button"
+ android:layout_width="wrap_content"
+ android:layout_height="wrap_content"
+ android:padding="16dip"
+ android:background="?android:attr/selectableItemBackground"
+ android:contentDescription="@string/volume_alarm_mute" />
+ <SeekBar android:id="@+id/alarm_volume_seekbar"
+ android:layout_width="0dip"
+ android:layout_height="wrap_content"
+ android:layout_weight="1"
+ android:paddingTop="2dip"
+ android:layout_marginEnd="@dimen/volume_seekbar_side_margin" />
+ </LinearLayout>
+
</LinearLayout>
</LinearLayout>
R.id.alarm_mute_button
};
+ private static final int[] SEEKBAR_SECTION_ID = new int[] {
+ R.id.media_section,
+ R.id.ringer_section,
+ R.id.notification_section,
+ R.id.alarm_section
+ };
+
private static final int[] SEEKBAR_MUTED_RES_ID = new int[] {
com.android.internal.R.drawable.ic_audio_vol_mute,
com.android.internal.R.drawable.ic_audio_ring_notif_mute,
getContext().registerReceiver(mRingModeChangedReceiver, filter);
}
- // Disable either ringer+notifications or notifications
- int id;
- if (!Utils.isVoiceCapable(getContext())) {
- id = R.id.ringer_section;
+ boolean useMasterVolume = getContext().getResources().
+ getBoolean(com.android.internal.R.bool.config_useMasterVolume);
+ if (useMasterVolume) {
+ // If config_useMasterVolume is true, all streams are treated as STREAM_MASTER.
+ // So hide all except a stream.
+ int id;
+ if (Utils.isVoiceCapable(getContext())) {
+ id = R.id.ringer_section;
+ } else {
+ id = R.id.media_section;
+ }
+ for (int i = 0; i < SEEKBAR_SECTION_ID.length; i++) {
+ if (SEEKBAR_SECTION_ID[i] != id) {
+ view.findViewById(SEEKBAR_SECTION_ID[i]).setVisibility(View.GONE);
+ }
+ }
} else {
- id = R.id.notification_section;
+ // Disable either ringer+notifications or notifications
+ int id;
+ if (!Utils.isVoiceCapable(getContext())) {
+ id = R.id.ringer_section;
+ } else {
+ id = R.id.notification_section;
+ }
+ View hideSection = view.findViewById(id);
+ hideSection.setVisibility(View.GONE);
}
- View hideSection = view.findViewById(id);
- hideSection.setVisibility(View.GONE);
}
private Uri getMediaVolumeUri(Context context) {