Fix mute toggle behavior in Volume dialog.
Adjust some padding and alignment.
Bug: 5128528
Fix highlighted entry when using Battery shortcut.
Bug: 5099767
Change-Id: I830dbb40b0b8a6448d33b2be2c36b9b80ff14bc4
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index a99eb66..35dd268 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -1100,7 +1100,7 @@
<meta-data android:name="com.android.settings.FRAGMENT_CLASS"
android:value="com.android.settings.fuelgauge.PowerUsageSummary" />
<meta-data android:name="com.android.settings.TOP_LEVEL_HEADER_ID"
- android:resource="@id/application_settings" />
+ android:resource="@id/battery_settings" />
</activity>
<activity
diff --git a/res/layout/preference_dialog_ringervolume.xml b/res/layout/preference_dialog_ringervolume.xml
index 4944f91..66067b3 100644
--- a/res/layout/preference_dialog_ringervolume.xml
+++ b/res/layout/preference_dialog_ringervolume.xml
@@ -59,7 +59,7 @@
<ImageView android:id="@+id/media_mute_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:padding="8dip"
+ android:padding="16dip"
android:background="?android:attr/selectableItemBackground"
/>
@@ -68,7 +68,7 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:paddingTop="2dip"
- android:paddingLeft="20dip"
+ android:paddingLeft="12dip"
android:paddingRight="20dip" />
</LinearLayout>
@@ -100,7 +100,7 @@
<ImageView android:id="@+id/ringer_mute_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:padding="8dip"
+ android:padding="16dip"
android:background="?android:attr/selectableItemBackground"
/>
@@ -109,7 +109,7 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:paddingTop="2dip"
- android:paddingLeft="20dip"
+ android:paddingLeft="12dip"
android:paddingRight="20dip" />
</LinearLayout>
@@ -143,7 +143,7 @@
<ImageView android:id="@+id/notification_mute_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:padding="8dip"
+ android:padding="16dip"
android:background="?android:attr/selectableItemBackground"
/>
@@ -152,7 +152,7 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:paddingTop="2dip"
- android:paddingLeft="20dip"
+ android:paddingLeft="12dip"
android:paddingRight="20dip" />
</LinearLayout>
@@ -173,12 +173,13 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="8dip"
- android:orientation="horizontal">
+ 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="8dip"
+ android:padding="16dip"
android:background="?android:attr/selectableItemBackground"
/>
<SeekBar android:id="@+id/alarm_volume_seekbar"
@@ -186,7 +187,7 @@
android:layout_height="wrap_content"
android:layout_weight="1"
android:paddingTop="2dip"
- android:paddingLeft="20dip"
+ android:paddingLeft="12dip"
android:paddingRight="20dip" />
</LinearLayout>
diff --git a/src/com/android/settings/RingerVolumePreference.java b/src/com/android/settings/RingerVolumePreference.java
index 129edee..a083737 100644
--- a/src/com/android/settings/RingerVolumePreference.java
+++ b/src/com/android/settings/RingerVolumePreference.java
@@ -28,6 +28,7 @@
import android.content.Intent;
import android.content.IntentFilter;
import android.media.AudioManager;
+import android.media.AudioSystem;
import android.net.Uri;
import android.os.Handler;
import android.os.Looper;
@@ -36,6 +37,7 @@
import android.os.Parcelable;
import android.preference.VolumePreference;
import android.provider.Settings;
+import android.provider.Settings.System;
import android.util.AttributeSet;
import android.util.Log;
import android.view.KeyEvent;
@@ -164,10 +166,15 @@
}
}
+ final int silentableStreams = System.getInt(getContext().getContentResolver(),
+ System.MODE_RINGER_STREAMS_AFFECTED,
+ ((1 << AudioSystem.STREAM_NOTIFICATION) | (1 << AudioSystem.STREAM_RING)));
// Register callbacks for mute/unmute buttons
for (int i = 0; i < mCheckBoxes.length; i++) {
ImageView checkbox = (ImageView) view.findViewById(CHECKBOX_VIEW_ID[i]);
- checkbox.setOnClickListener(this);
+ if ((silentableStreams & (1 << SEEKBAR_TYPE[i])) != 0) {
+ checkbox.setOnClickListener(this);
+ }
mCheckBoxes[i] = checkbox;
}