Merge "Disable dock audio settings if the dock doesn't have Bluetooth."

This commit is contained in:
Daniel Sandler
2010-03-15 07:20:38 -07:00
committed by Android (Google) Code Review

View File

@@ -18,6 +18,7 @@ package com.android.settings;
import android.app.AlertDialog; import android.app.AlertDialog;
import android.app.Dialog; import android.app.Dialog;
import android.bluetooth.BluetoothDevice;
import android.content.BroadcastReceiver; import android.content.BroadcastReceiver;
import android.content.ContentResolver; import android.content.ContentResolver;
import android.content.Context; import android.content.Context;
@@ -91,19 +92,31 @@ public class DockSettings extends PreferenceActivity {
private void handleDockChange(Intent intent) { private void handleDockChange(Intent intent) {
if (mAudioSettings != null) { if (mAudioSettings != null) {
int dockState = intent.getIntExtra(Intent.EXTRA_DOCK_STATE, 0); int dockState = intent.getIntExtra(Intent.EXTRA_DOCK_STATE, 0);
mDockIntent = intent;
int resId = R.string.dock_audio_summary_unknown; boolean isBluetooth = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE) != null;
switch (dockState) {
case Intent.EXTRA_DOCK_STATE_CAR: if (!isBluetooth) {
resId = R.string.dock_audio_summary_car; // No dock audio if not on Bluetooth.
break; mAudioSettings.setEnabled(false);
case Intent.EXTRA_DOCK_STATE_DESK: mAudioSettings.setSummary(R.string.dock_audio_summary_unknown);
resId = R.string.dock_audio_summary_desk; } else {
break; mAudioSettings.setEnabled(true);
case Intent.EXTRA_DOCK_STATE_UNDOCKED:
resId = R.string.dock_audio_summary_none; mDockIntent = intent;
int resId = R.string.dock_audio_summary_unknown;
switch (dockState) {
case Intent.EXTRA_DOCK_STATE_CAR:
resId = R.string.dock_audio_summary_car;
break;
case Intent.EXTRA_DOCK_STATE_DESK:
resId = R.string.dock_audio_summary_desk;
break;
case Intent.EXTRA_DOCK_STATE_UNDOCKED:
resId = R.string.dock_audio_summary_none;
}
mAudioSettings.setSummary(resId);
} }
mAudioSettings.setSummary(resId);
if (dockState != Intent.EXTRA_DOCK_STATE_UNDOCKED) { if (dockState != Intent.EXTRA_DOCK_STATE_UNDOCKED) {
// remove undocked dialog if currently showing. // remove undocked dialog if currently showing.
try { try {