Fix the visibility timeout change from never timeout to undiscoverable.

Open bluetooth setting UI, set timeout to 120s. Before achieving timeout,
change timeout to never-timeout, then 120s later, the visibility will
change to only visible to paired devices.
Root cause is if change the visibility timeout to never timeout, the
timeout = 0, so no setDiscoverableAlarm() is called, and the previous
alarm is not canceled(it cancels old alarm in setDiscoverableAlarm).
Solution is call cancelDiscoverableAlarm() when timeout == 0.

Change-Id: I32ad4c11db7a68ff39e88ce3bde6f9e454cb9d41
Signed-off-by: yuwan@marvell.com <yuwang19860130@gmail.com>
Merge "Fix the visibility timeout change from never timeout to undiscoverable." into du44