b/2296110 Car Dock - Stop service when done processing each command. Clean up logs.
Change-Id: I92124d2856e6c825a2b4148473431789a1f5b156
This commit is contained in:
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -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;
|
||||||
|
Reference in New Issue
Block a user