Loading core/java/android/provider/Settings.java +8 −0 Original line number Diff line number Diff line Loading @@ -2446,6 +2446,14 @@ public final class Settings { */ public static final String STATUS_BAR_BRIGHTNESS_TOGGLE = "status_bar_brightness_toggle"; /** * Whether to display headset icon on status bar when headset is plugged in * 0: headset icon is never displayed * 1: headset icon is displayed when headset is plugged in * @hide */ public static final String STATUS_BAR_HEADSET = "status_bar_headset"; /** * Whether to wake the screen with the trackball. The value is boolean (1 or 0). * @hide Loading packages/SystemUI/src/com/android/systemui/statusbar/StatusBarPolicy.java +18 −7 Original line number Diff line number Diff line Loading @@ -92,6 +92,9 @@ public class StatusBarPolicy { private final Handler mHandler = new StatusBarHandler(); private final IBatteryStats mBatteryStats; // headset private boolean mHeadsetPlugged = false; // storage private StorageManager mStorageManager; Loading Loading @@ -604,6 +607,8 @@ public class StatusBarPolicy { // need another var that superceding mPhoneSignalHidden private boolean mShowCmSignal; private boolean mShowHeadset; class SettingsObserver extends ContentObserver { SettingsObserver(Handler handler) { super(handler); Loading @@ -616,6 +621,9 @@ public class StatusBarPolicy { resolver.registerContentObserver(Settings.System .getUriFor(Settings.System.STATUS_BAR_CM_SIGNAL_TEXT), false, this); resolver.registerContentObserver(Settings.System .getUriFor(Settings.System.STATUS_BAR_HEADSET), false, this); } @Override public void onChange(boolean selfChange) { Loading Loading @@ -1386,16 +1394,16 @@ public class StatusBarPolicy { } private final void updateHeadset(Intent intent) { final boolean isConnected = intent.getIntExtra("state", 0) == 1; mHeadsetPlugged = intent.getIntExtra("state", 0) == 1; if (isConnected) { if (mHeadsetPlugged) { final boolean hasMicrophone = intent.getIntExtra("microphone", 1) == 1; final int iconId = hasMicrophone ? com.android.internal.R.drawable.stat_sys_headset : R.drawable.stat_sys_headset_no_mic; mService.setIcon("headset", iconId, 0); } mService.setIconVisibility("headset", isConnected); mService.setIconVisibility("headset", mShowHeadset && mHeadsetPlugged); } private final void updateBluetooth(Intent intent) { Loading Loading @@ -1660,5 +1668,8 @@ public class StatusBarPolicy { Settings.System.STATUS_BAR_CM_SIGNAL_TEXT, 0) != 0; mService.setIconVisibility("phone_signal", !mShowCmSignal); mShowHeadset = (Settings.System.getInt(resolver, Settings.System.STATUS_BAR_HEADSET, 1) == 1); mService.setIconVisibility("headset", mShowHeadset && mHeadsetPlugged); } } Loading
core/java/android/provider/Settings.java +8 −0 Original line number Diff line number Diff line Loading @@ -2446,6 +2446,14 @@ public final class Settings { */ public static final String STATUS_BAR_BRIGHTNESS_TOGGLE = "status_bar_brightness_toggle"; /** * Whether to display headset icon on status bar when headset is plugged in * 0: headset icon is never displayed * 1: headset icon is displayed when headset is plugged in * @hide */ public static final String STATUS_BAR_HEADSET = "status_bar_headset"; /** * Whether to wake the screen with the trackball. The value is boolean (1 or 0). * @hide Loading
packages/SystemUI/src/com/android/systemui/statusbar/StatusBarPolicy.java +18 −7 Original line number Diff line number Diff line Loading @@ -92,6 +92,9 @@ public class StatusBarPolicy { private final Handler mHandler = new StatusBarHandler(); private final IBatteryStats mBatteryStats; // headset private boolean mHeadsetPlugged = false; // storage private StorageManager mStorageManager; Loading Loading @@ -604,6 +607,8 @@ public class StatusBarPolicy { // need another var that superceding mPhoneSignalHidden private boolean mShowCmSignal; private boolean mShowHeadset; class SettingsObserver extends ContentObserver { SettingsObserver(Handler handler) { super(handler); Loading @@ -616,6 +621,9 @@ public class StatusBarPolicy { resolver.registerContentObserver(Settings.System .getUriFor(Settings.System.STATUS_BAR_CM_SIGNAL_TEXT), false, this); resolver.registerContentObserver(Settings.System .getUriFor(Settings.System.STATUS_BAR_HEADSET), false, this); } @Override public void onChange(boolean selfChange) { Loading Loading @@ -1386,16 +1394,16 @@ public class StatusBarPolicy { } private final void updateHeadset(Intent intent) { final boolean isConnected = intent.getIntExtra("state", 0) == 1; mHeadsetPlugged = intent.getIntExtra("state", 0) == 1; if (isConnected) { if (mHeadsetPlugged) { final boolean hasMicrophone = intent.getIntExtra("microphone", 1) == 1; final int iconId = hasMicrophone ? com.android.internal.R.drawable.stat_sys_headset : R.drawable.stat_sys_headset_no_mic; mService.setIcon("headset", iconId, 0); } mService.setIconVisibility("headset", isConnected); mService.setIconVisibility("headset", mShowHeadset && mHeadsetPlugged); } private final void updateBluetooth(Intent intent) { Loading Loading @@ -1660,5 +1668,8 @@ public class StatusBarPolicy { Settings.System.STATUS_BAR_CM_SIGNAL_TEXT, 0) != 0; mService.setIconVisibility("phone_signal", !mShowCmSignal); mShowHeadset = (Settings.System.getInt(resolver, Settings.System.STATUS_BAR_HEADSET, 1) == 1); mService.setIconVisibility("headset", mShowHeadset && mHeadsetPlugged); } }