From 8c02884c8c3c97cdc2366ac187c8a326308b895b Mon Sep 17 00:00:00 2001 From: Fabrice Di Meglio Date: Wed, 9 Jan 2013 18:20:38 -0800 Subject: Fix Volume icons for RTL languages - add mirrored version of the icons - make VolumePanel respond to layout direction changes - make AudioService propagate layout direction changes to the VolumePanel Change-Id: Ibb884ab81641c319a9b7bea1381066f3f19581f0 --- core/java/android/view/VolumePanel.java | 7 +++++++ .../res/drawable-ldrtl-hdpi/ic_audio_notification.png | Bin 0 -> 4028 bytes .../drawable-ldrtl-hdpi/ic_audio_notification_mute.png | Bin 0 -> 4258 bytes core/res/res/drawable-ldrtl-hdpi/ic_audio_phone.png | Bin 0 -> 3970 bytes core/res/res/drawable-ldrtl-hdpi/ic_audio_ring_notif.png | Bin 0 -> 4284 bytes .../res/drawable-ldrtl-hdpi/ic_audio_ring_notif_mute.png | Bin 0 -> 4441 bytes .../drawable-ldrtl-hdpi/ic_audio_ring_notif_vibrate.png | Bin 0 -> 4405 bytes core/res/res/drawable-ldrtl-hdpi/ic_audio_vol.png | Bin 0 -> 4264 bytes core/res/res/drawable-ldrtl-hdpi/ic_audio_vol_mute.png | Bin 0 -> 4441 bytes .../res/drawable-ldrtl-mdpi/ic_audio_notification.png | Bin 0 -> 3665 bytes .../drawable-ldrtl-mdpi/ic_audio_notification_mute.png | Bin 0 -> 3805 bytes core/res/res/drawable-ldrtl-mdpi/ic_audio_phone.png | Bin 0 -> 3625 bytes core/res/res/drawable-ldrtl-mdpi/ic_audio_ring_notif.png | Bin 0 -> 3800 bytes .../res/drawable-ldrtl-mdpi/ic_audio_ring_notif_mute.png | Bin 0 -> 3862 bytes .../drawable-ldrtl-mdpi/ic_audio_ring_notif_vibrate.png | Bin 0 -> 3895 bytes core/res/res/drawable-ldrtl-mdpi/ic_audio_vol.png | Bin 0 -> 3788 bytes core/res/res/drawable-ldrtl-mdpi/ic_audio_vol_mute.png | Bin 0 -> 3862 bytes .../res/drawable-ldrtl-xhdpi/ic_audio_notification.png | Bin 0 -> 4367 bytes .../drawable-ldrtl-xhdpi/ic_audio_notification_mute.png | Bin 0 -> 4864 bytes core/res/res/drawable-ldrtl-xhdpi/ic_audio_phone.png | Bin 0 -> 4385 bytes .../res/res/drawable-ldrtl-xhdpi/ic_audio_ring_notif.png | Bin 0 -> 4846 bytes .../drawable-ldrtl-xhdpi/ic_audio_ring_notif_mute.png | Bin 0 -> 5139 bytes .../drawable-ldrtl-xhdpi/ic_audio_ring_notif_vibrate.png | Bin 0 -> 5075 bytes core/res/res/drawable-ldrtl-xhdpi/ic_audio_vol.png | Bin 0 -> 4803 bytes core/res/res/drawable-ldrtl-xhdpi/ic_audio_vol_mute.png | Bin 0 -> 5139 bytes media/java/android/media/AudioService.java | 1 + 26 files changed, 8 insertions(+) create mode 100644 core/res/res/drawable-ldrtl-hdpi/ic_audio_notification.png create mode 100644 core/res/res/drawable-ldrtl-hdpi/ic_audio_notification_mute.png create mode 100644 core/res/res/drawable-ldrtl-hdpi/ic_audio_phone.png create mode 100644 core/res/res/drawable-ldrtl-hdpi/ic_audio_ring_notif.png create mode 100644 core/res/res/drawable-ldrtl-hdpi/ic_audio_ring_notif_mute.png create mode 100644 core/res/res/drawable-ldrtl-hdpi/ic_audio_ring_notif_vibrate.png create mode 100644 core/res/res/drawable-ldrtl-hdpi/ic_audio_vol.png create mode 100644 core/res/res/drawable-ldrtl-hdpi/ic_audio_vol_mute.png create mode 100644 core/res/res/drawable-ldrtl-mdpi/ic_audio_notification.png create mode 100644 core/res/res/drawable-ldrtl-mdpi/ic_audio_notification_mute.png create mode 100644 core/res/res/drawable-ldrtl-mdpi/ic_audio_phone.png create mode 100644 core/res/res/drawable-ldrtl-mdpi/ic_audio_ring_notif.png create mode 100644 core/res/res/drawable-ldrtl-mdpi/ic_audio_ring_notif_mute.png create mode 100644 core/res/res/drawable-ldrtl-mdpi/ic_audio_ring_notif_vibrate.png create mode 100644 core/res/res/drawable-ldrtl-mdpi/ic_audio_vol.png create mode 100644 core/res/res/drawable-ldrtl-mdpi/ic_audio_vol_mute.png create mode 100644 core/res/res/drawable-ldrtl-xhdpi/ic_audio_notification.png create mode 100644 core/res/res/drawable-ldrtl-xhdpi/ic_audio_notification_mute.png create mode 100644 core/res/res/drawable-ldrtl-xhdpi/ic_audio_phone.png create mode 100644 core/res/res/drawable-ldrtl-xhdpi/ic_audio_ring_notif.png create mode 100644 core/res/res/drawable-ldrtl-xhdpi/ic_audio_ring_notif_mute.png create mode 100644 core/res/res/drawable-ldrtl-xhdpi/ic_audio_ring_notif_vibrate.png create mode 100644 core/res/res/drawable-ldrtl-xhdpi/ic_audio_vol.png create mode 100644 core/res/res/drawable-ldrtl-xhdpi/ic_audio_vol_mute.png diff --git a/core/java/android/view/VolumePanel.java b/core/java/android/view/VolumePanel.java index 6251c45..d20bbd6 100644 --- a/core/java/android/view/VolumePanel.java +++ b/core/java/android/view/VolumePanel.java @@ -336,6 +336,11 @@ public class VolumePanel extends Handler implements OnSeekBarChangeListener, Vie listenToRingerMode(); } + public void setLayoutDirection(int layoutDirection) { + mPanel.setLayoutDirection(layoutDirection); + updateStates(); + } + private void listenToRingerMode() { final IntentFilter filter = new IntentFilter(); filter.addAction(AudioManager.RINGER_MODE_CHANGED_ACTION); @@ -459,6 +464,8 @@ public class VolumePanel extends Handler implements OnSeekBarChangeListener, Vie private void updateSlider(StreamControl sc) { sc.seekbarView.setProgress(getStreamVolume(sc.streamType)); final boolean muted = isMuted(sc.streamType); + // Force reloading the image resource + sc.icon.setImageDrawable(null); sc.icon.setImageResource(muted ? sc.iconMuteRes : sc.iconRes); if (sc.streamType == AudioManager.STREAM_RING && mAudioManager.getRingerMode() == AudioManager.RINGER_MODE_VIBRATE) { diff --git a/core/res/res/drawable-ldrtl-hdpi/ic_audio_notification.png b/core/res/res/drawable-ldrtl-hdpi/ic_audio_notification.png new file mode 100644 index 0000000..62ef692 Binary files /dev/null and b/core/res/res/drawable-ldrtl-hdpi/ic_audio_notification.png differ diff --git a/core/res/res/drawable-ldrtl-hdpi/ic_audio_notification_mute.png b/core/res/res/drawable-ldrtl-hdpi/ic_audio_notification_mute.png new file mode 100644 index 0000000..40123e3 Binary files /dev/null and b/core/res/res/drawable-ldrtl-hdpi/ic_audio_notification_mute.png differ diff --git a/core/res/res/drawable-ldrtl-hdpi/ic_audio_phone.png b/core/res/res/drawable-ldrtl-hdpi/ic_audio_phone.png new file mode 100644 index 0000000..968f5ee Binary files /dev/null and b/core/res/res/drawable-ldrtl-hdpi/ic_audio_phone.png differ diff --git a/core/res/res/drawable-ldrtl-hdpi/ic_audio_ring_notif.png b/core/res/res/drawable-ldrtl-hdpi/ic_audio_ring_notif.png new file mode 100644 index 0000000..e5f0dcf Binary files /dev/null and b/core/res/res/drawable-ldrtl-hdpi/ic_audio_ring_notif.png differ diff --git a/core/res/res/drawable-ldrtl-hdpi/ic_audio_ring_notif_mute.png b/core/res/res/drawable-ldrtl-hdpi/ic_audio_ring_notif_mute.png new file mode 100644 index 0000000..371e32f Binary files /dev/null and b/core/res/res/drawable-ldrtl-hdpi/ic_audio_ring_notif_mute.png differ diff --git a/core/res/res/drawable-ldrtl-hdpi/ic_audio_ring_notif_vibrate.png b/core/res/res/drawable-ldrtl-hdpi/ic_audio_ring_notif_vibrate.png new file mode 100644 index 0000000..e05e8f5 Binary files /dev/null and b/core/res/res/drawable-ldrtl-hdpi/ic_audio_ring_notif_vibrate.png differ diff --git a/core/res/res/drawable-ldrtl-hdpi/ic_audio_vol.png b/core/res/res/drawable-ldrtl-hdpi/ic_audio_vol.png new file mode 100644 index 0000000..81a8422 Binary files /dev/null and b/core/res/res/drawable-ldrtl-hdpi/ic_audio_vol.png differ diff --git a/core/res/res/drawable-ldrtl-hdpi/ic_audio_vol_mute.png b/core/res/res/drawable-ldrtl-hdpi/ic_audio_vol_mute.png new file mode 100644 index 0000000..371e32f Binary files /dev/null and b/core/res/res/drawable-ldrtl-hdpi/ic_audio_vol_mute.png differ diff --git a/core/res/res/drawable-ldrtl-mdpi/ic_audio_notification.png b/core/res/res/drawable-ldrtl-mdpi/ic_audio_notification.png new file mode 100644 index 0000000..d9843e0 Binary files /dev/null and b/core/res/res/drawable-ldrtl-mdpi/ic_audio_notification.png differ diff --git a/core/res/res/drawable-ldrtl-mdpi/ic_audio_notification_mute.png b/core/res/res/drawable-ldrtl-mdpi/ic_audio_notification_mute.png new file mode 100644 index 0000000..2159cab Binary files /dev/null and b/core/res/res/drawable-ldrtl-mdpi/ic_audio_notification_mute.png differ diff --git a/core/res/res/drawable-ldrtl-mdpi/ic_audio_phone.png b/core/res/res/drawable-ldrtl-mdpi/ic_audio_phone.png new file mode 100644 index 0000000..b5af351 Binary files /dev/null and b/core/res/res/drawable-ldrtl-mdpi/ic_audio_phone.png differ diff --git a/core/res/res/drawable-ldrtl-mdpi/ic_audio_ring_notif.png b/core/res/res/drawable-ldrtl-mdpi/ic_audio_ring_notif.png new file mode 100644 index 0000000..6341be6 Binary files /dev/null and b/core/res/res/drawable-ldrtl-mdpi/ic_audio_ring_notif.png differ diff --git a/core/res/res/drawable-ldrtl-mdpi/ic_audio_ring_notif_mute.png b/core/res/res/drawable-ldrtl-mdpi/ic_audio_ring_notif_mute.png new file mode 100644 index 0000000..b4c3a54 Binary files /dev/null and b/core/res/res/drawable-ldrtl-mdpi/ic_audio_ring_notif_mute.png differ diff --git a/core/res/res/drawable-ldrtl-mdpi/ic_audio_ring_notif_vibrate.png b/core/res/res/drawable-ldrtl-mdpi/ic_audio_ring_notif_vibrate.png new file mode 100644 index 0000000..835773e Binary files /dev/null and b/core/res/res/drawable-ldrtl-mdpi/ic_audio_ring_notif_vibrate.png differ diff --git a/core/res/res/drawable-ldrtl-mdpi/ic_audio_vol.png b/core/res/res/drawable-ldrtl-mdpi/ic_audio_vol.png new file mode 100644 index 0000000..947d1f9 Binary files /dev/null and b/core/res/res/drawable-ldrtl-mdpi/ic_audio_vol.png differ diff --git a/core/res/res/drawable-ldrtl-mdpi/ic_audio_vol_mute.png b/core/res/res/drawable-ldrtl-mdpi/ic_audio_vol_mute.png new file mode 100644 index 0000000..b4c3a54 Binary files /dev/null and b/core/res/res/drawable-ldrtl-mdpi/ic_audio_vol_mute.png differ diff --git a/core/res/res/drawable-ldrtl-xhdpi/ic_audio_notification.png b/core/res/res/drawable-ldrtl-xhdpi/ic_audio_notification.png new file mode 100644 index 0000000..43aedea Binary files /dev/null and b/core/res/res/drawable-ldrtl-xhdpi/ic_audio_notification.png differ diff --git a/core/res/res/drawable-ldrtl-xhdpi/ic_audio_notification_mute.png b/core/res/res/drawable-ldrtl-xhdpi/ic_audio_notification_mute.png new file mode 100644 index 0000000..4e87f77 Binary files /dev/null and b/core/res/res/drawable-ldrtl-xhdpi/ic_audio_notification_mute.png differ diff --git a/core/res/res/drawable-ldrtl-xhdpi/ic_audio_phone.png b/core/res/res/drawable-ldrtl-xhdpi/ic_audio_phone.png new file mode 100644 index 0000000..1066d03 Binary files /dev/null and b/core/res/res/drawable-ldrtl-xhdpi/ic_audio_phone.png differ diff --git a/core/res/res/drawable-ldrtl-xhdpi/ic_audio_ring_notif.png b/core/res/res/drawable-ldrtl-xhdpi/ic_audio_ring_notif.png new file mode 100644 index 0000000..daf9213 Binary files /dev/null and b/core/res/res/drawable-ldrtl-xhdpi/ic_audio_ring_notif.png differ diff --git a/core/res/res/drawable-ldrtl-xhdpi/ic_audio_ring_notif_mute.png b/core/res/res/drawable-ldrtl-xhdpi/ic_audio_ring_notif_mute.png new file mode 100644 index 0000000..83d3bdd Binary files /dev/null and b/core/res/res/drawable-ldrtl-xhdpi/ic_audio_ring_notif_mute.png differ diff --git a/core/res/res/drawable-ldrtl-xhdpi/ic_audio_ring_notif_vibrate.png b/core/res/res/drawable-ldrtl-xhdpi/ic_audio_ring_notif_vibrate.png new file mode 100644 index 0000000..4de95aa Binary files /dev/null and b/core/res/res/drawable-ldrtl-xhdpi/ic_audio_ring_notif_vibrate.png differ diff --git a/core/res/res/drawable-ldrtl-xhdpi/ic_audio_vol.png b/core/res/res/drawable-ldrtl-xhdpi/ic_audio_vol.png new file mode 100644 index 0000000..8132926 Binary files /dev/null and b/core/res/res/drawable-ldrtl-xhdpi/ic_audio_vol.png differ diff --git a/core/res/res/drawable-ldrtl-xhdpi/ic_audio_vol_mute.png b/core/res/res/drawable-ldrtl-xhdpi/ic_audio_vol_mute.png new file mode 100644 index 0000000..83d3bdd Binary files /dev/null and b/core/res/res/drawable-ldrtl-xhdpi/ic_audio_vol_mute.png differ diff --git a/media/java/android/media/AudioService.java b/media/java/android/media/AudioService.java index 9aac0e6..fb66df0 100644 --- a/media/java/android/media/AudioService.java +++ b/media/java/android/media/AudioService.java @@ -5991,6 +5991,7 @@ public class AudioService extends IAudioService.Stub implements OnFinished { } } } + mVolumePanel.setLayoutDirection(config.getLayoutDirection()); } catch (Exception e) { Log.e(TAG, "Error retrieving device orientation: " + e); } -- cgit v1.1