b/2296110 Car Dock - Stop service when done processing each command. Clean up logs.

Change-Id: I92124d2856e6c825a2b4148473431789a1f5b156
This commit is contained in:
Michael Chan
2009-12-08 22:18:23 -08:00
parent d617a0781c
commit 503c236db5
3 changed files with 20 additions and 25 deletions

View File

@@ -55,7 +55,7 @@ public class DockEventReceiver extends BroadcastReceiver {
if (Intent.ACTION_DOCK_EVENT.equals(intent.getAction()) if (Intent.ACTION_DOCK_EVENT.equals(intent.getAction())
|| ACTION_DOCK_SHOW_UI.endsWith(intent.getAction())) { || ACTION_DOCK_SHOW_UI.endsWith(intent.getAction())) {
if (device == null) { if (device == null) {
if (DEBUG) Log.e(TAG, "Device is missing"); if (DEBUG) Log.d(TAG, "Device is missing");
return; return;
} }

View File

@@ -46,12 +46,6 @@ public class DockService extends Service implements AlertDialog.OnMultiChoiceCli
DialogInterface.OnClickListener, DialogInterface.OnDismissListener, DialogInterface.OnClickListener, DialogInterface.OnDismissListener,
CompoundButton.OnCheckedChangeListener { CompoundButton.OnCheckedChangeListener {
// TODO check for waitlock leak
// TODO check for service shutting down properly
// TODO sticky vs non-sticky
// TODO clean up static functions
// TODO test after wiping data
private static final String TAG = "DockService"; private static final String TAG = "DockService";
// TODO clean up logs. Disable DEBUG flag for this file and receiver's too // TODO clean up logs. Disable DEBUG flag for this file and receiver's too
@@ -157,7 +151,7 @@ public class DockService extends Service implements AlertDialog.OnMultiChoiceCli
msg.arg2 = startId; msg.arg2 = startId;
processMessage(msg); processMessage(msg);
return START_STICKY; return START_NOT_STICKY;
} }
private final class ServiceHandler extends Handler { private final class ServiceHandler extends Handler {
@@ -229,15 +223,15 @@ public class DockService extends Service implements AlertDialog.OnMultiChoiceCli
case MSG_TYPE_UNDOCKED_TEMPORARY: case MSG_TYPE_UNDOCKED_TEMPORARY:
// Undocked event received. Queue a delayed msg to sever connection // Undocked event received. Queue a delayed msg to sever connection
Message newMsg = mServiceHandler.obtainMessage(MSG_TYPE_UNDOCKED_PERMANENT, state, Message newMsg = mServiceHandler.obtainMessage(MSG_TYPE_UNDOCKED_PERMANENT, state,
0, device); startId, device);
mServiceHandler.sendMessageDelayed(newMsg, UNDOCKED_GRACE_PERIOD); mServiceHandler.sendMessageDelayed(newMsg, UNDOCKED_GRACE_PERIOD);
break; break;
} }
if (mDialog == null && mPendingDevice == null) { if (mDialog == null && mPendingDevice == null && msgType != MSG_TYPE_UNDOCKED_TEMPORARY) {
// NOTE: We MUST not call stopSelf() directly, since we need to // NOTE: We MUST not call stopSelf() directly, since we need to
// make sure the wake lock acquired by the Receiver is released. // make sure the wake lock acquired by the Receiver is released.
DockEventReceiver.finishStartingService(DockService.this, msg.arg1); DockEventReceiver.finishStartingService(DockService.this, startId);
} }
} }
@@ -251,7 +245,7 @@ public class DockService extends Service implements AlertDialog.OnMultiChoiceCli
} }
if (device == null) { if (device == null) {
Log.e(TAG, "device is null"); Log.w(TAG, "device is null");
return null; return null;
} }
@@ -416,8 +410,9 @@ public class DockService extends Service implements AlertDialog.OnMultiChoiceCli
if (mPendingDevice.equals(mDevice)) { if (mPendingDevice.equals(mDevice)) {
if(DEBUG) Log.d(TAG, "applying settings"); if(DEBUG) Log.d(TAG, "applying settings");
applyBtSettings(mPendingDevice, mPendingStartId); applyBtSettings(mPendingDevice, mPendingStartId);
} if(DEBUG) { } else if(DEBUG) {
Log.d(TAG, "mPendingDevice != mDevice"); Log.d(TAG, "mPendingDevice (" + mPendingDevice + ") != mDevice ("
+ mDevice + ")");
} }
mPendingDevice = null; mPendingDevice = null;