在之前的文章中,介绍 RadioTuner 时看到了静音功能的接口,当时感觉跟其他接口差不多,就没有做详细分析,但是在后来看代码时发现并没有那么简单。这里我们就再来分析以下 Radio 的静音操作流程。
一、源码解析
1、通用流程
RadioTuner
源码位置:/frameworks/base/core/java/android/hardware/radio/RadioTuner.java
/**
* 设置静音状态
*/
public abstract int setMute(boolean mute);
/**
* 获取静音状态
*/
public abstract boolean getMute();
这里只是一个接口,不做详细介绍了。
TunerAdapter
源码位置:/frameworks/base/core/java/android/hardware/radio/TunerAdapter.java
@NonNull private final ITuner mTuner;
class TunerAdapter extends RadioTuner {
......
@Override
public int setMute(boolean mute) {