Merge "Implement missing mute call." into oc-mr1-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
4f0dd2e689
@@ -77,6 +77,8 @@ class Tuner extends ITuner.Stub {
|
|||||||
@NonNull RadioManager.BandConfig config);
|
@NonNull RadioManager.BandConfig config);
|
||||||
private native RadioManager.BandConfig nativeGetConfiguration(long nativeContext, int region);
|
private native RadioManager.BandConfig nativeGetConfiguration(long nativeContext, int region);
|
||||||
|
|
||||||
|
private native void nativeSetMuted(long nativeContext, boolean mute);
|
||||||
|
|
||||||
private native void nativeStep(long nativeContext, boolean directionDown, boolean skipSubChannel);
|
private native void nativeStep(long nativeContext, boolean directionDown, boolean skipSubChannel);
|
||||||
private native void nativeScan(long nativeContext, boolean directionDown, boolean skipSubChannel);
|
private native void nativeScan(long nativeContext, boolean directionDown, boolean skipSubChannel);
|
||||||
private native void nativeTune(long nativeContext, @NonNull ProgramSelector selector);
|
private native void nativeTune(long nativeContext, @NonNull ProgramSelector selector);
|
||||||
@@ -148,8 +150,7 @@ class Tuner extends ITuner.Stub {
|
|||||||
if (mIsMuted == mute) return;
|
if (mIsMuted == mute) return;
|
||||||
mIsMuted = mute;
|
mIsMuted = mute;
|
||||||
|
|
||||||
// TODO(b/62713378): notifify audio policy manager of media activity on radio audio
|
nativeSetMuted(mNativeContext, mute);
|
||||||
// device. This task is pulled directly from previous implementation of native service.
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -84,6 +84,7 @@ struct TunerContext {
|
|||||||
bool mIsClosed = false;
|
bool mIsClosed = false;
|
||||||
HalRevision mHalRev;
|
HalRevision mHalRev;
|
||||||
bool mWithAudio;
|
bool mWithAudio;
|
||||||
|
bool mIsAudioConnected = false;
|
||||||
Band mBand;
|
Band mBand;
|
||||||
wp<V1_0::IBroadcastRadio> mHalModule;
|
wp<V1_0::IBroadcastRadio> mHalModule;
|
||||||
wp<V1_1::IBroadcastRadio> mHalModule11;
|
wp<V1_1::IBroadcastRadio> mHalModule11;
|
||||||
@@ -142,6 +143,8 @@ void HalDeathRecipient::serviceDied(uint64_t cookie __unused,
|
|||||||
// TODO(b/62713378): implement support for multiple tuners open at the same time
|
// TODO(b/62713378): implement support for multiple tuners open at the same time
|
||||||
static void notifyAudioService(TunerContext& ctx, bool connected) {
|
static void notifyAudioService(TunerContext& ctx, bool connected) {
|
||||||
if (!ctx.mWithAudio) return;
|
if (!ctx.mWithAudio) return;
|
||||||
|
if (ctx.mIsAudioConnected == connected) return;
|
||||||
|
ctx.mIsAudioConnected = connected;
|
||||||
|
|
||||||
ALOGD("Notifying AudioService about new state: %d", connected);
|
ALOGD("Notifying AudioService about new state: %d", connected);
|
||||||
auto token = IPCThreadState::self()->clearCallingIdentity();
|
auto token = IPCThreadState::self()->clearCallingIdentity();
|
||||||
@@ -265,6 +268,14 @@ static jobject nativeGetConfiguration(JNIEnv *env, jobject obj, jlong nativeCont
|
|||||||
return convert::BandConfigFromHal(env, halConfig, region).release();
|
return convert::BandConfigFromHal(env, halConfig, region).release();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void nativeSetMuted(JNIEnv *env, jobject obj, jlong nativeContext, bool mute) {
|
||||||
|
ALOGV("%s(%d)", __func__, mute);
|
||||||
|
lock_guard<mutex> lk(gContextMutex);
|
||||||
|
auto& ctx = getNativeContext(nativeContext);
|
||||||
|
|
||||||
|
notifyAudioService(ctx, !mute);
|
||||||
|
}
|
||||||
|
|
||||||
static void nativeStep(JNIEnv *env, jobject obj, jlong nativeContext,
|
static void nativeStep(JNIEnv *env, jobject obj, jlong nativeContext,
|
||||||
bool directionDown, bool skipSubChannel) {
|
bool directionDown, bool skipSubChannel) {
|
||||||
ALOGV("%s", __func__);
|
ALOGV("%s", __func__);
|
||||||
@@ -497,6 +508,7 @@ static const JNINativeMethod gTunerMethods[] = {
|
|||||||
(void*)nativeSetConfiguration },
|
(void*)nativeSetConfiguration },
|
||||||
{ "nativeGetConfiguration", "(JI)Landroid/hardware/radio/RadioManager$BandConfig;",
|
{ "nativeGetConfiguration", "(JI)Landroid/hardware/radio/RadioManager$BandConfig;",
|
||||||
(void*)nativeGetConfiguration },
|
(void*)nativeGetConfiguration },
|
||||||
|
{ "nativeSetMuted", "(JZ)V", (void*)nativeSetMuted },
|
||||||
{ "nativeStep", "(JZZ)V", (void*)nativeStep },
|
{ "nativeStep", "(JZZ)V", (void*)nativeStep },
|
||||||
{ "nativeScan", "(JZZ)V", (void*)nativeScan },
|
{ "nativeScan", "(JZZ)V", (void*)nativeScan },
|
||||||
{ "nativeTune", "(JLandroid/hardware/radio/ProgramSelector;)V", (void*)nativeTune },
|
{ "nativeTune", "(JLandroid/hardware/radio/ProgramSelector;)V", (void*)nativeTune },
|
||||||
|
|||||||
Reference in New Issue
Block a user