Merge "FocusRequester: fix NPE"

am: c7ed3e7e22

Change-Id: I3984a4d2e2aa6f08e063c1b3dcdff396cf695292
This commit is contained in:
Jean-Michel Trivi
2019-11-11 12:39:11 -08:00
committed by android-build-merger

View File

@@ -437,7 +437,8 @@ public class FocusRequester {
} }
int dispatchFocusChange(int focusChange) { int dispatchFocusChange(int focusChange) {
if (mFocusDispatcher == null) { final IAudioFocusDispatcher fd = mFocusDispatcher;
if (fd == null) {
if (MediaFocusControl.DEBUG) { Log.e(TAG, "dispatchFocusChange: no focus dispatcher"); } if (MediaFocusControl.DEBUG) { Log.e(TAG, "dispatchFocusChange: no focus dispatcher"); }
return AudioManager.AUDIOFOCUS_REQUEST_FAILED; return AudioManager.AUDIOFOCUS_REQUEST_FAILED;
} }
@@ -457,7 +458,7 @@ public class FocusRequester {
mFocusLossReceived = focusChange; mFocusLossReceived = focusChange;
} }
try { try {
mFocusDispatcher.dispatchAudioFocusChange(focusChange, mClientId); fd.dispatchAudioFocusChange(focusChange, mClientId);
} catch (android.os.RemoteException e) { } catch (android.os.RemoteException e) {
Log.e(TAG, "dispatchFocusChange: error talking to focus listener " + mClientId, e); Log.e(TAG, "dispatchFocusChange: error talking to focus listener " + mClientId, e);
return AudioManager.AUDIOFOCUS_REQUEST_FAILED; return AudioManager.AUDIOFOCUS_REQUEST_FAILED;
@@ -466,16 +467,18 @@ public class FocusRequester {
} }
void dispatchFocusResultFromExtPolicy(int requestResult) { void dispatchFocusResultFromExtPolicy(int requestResult) {
if (mFocusDispatcher == null) { final IAudioFocusDispatcher fd = mFocusDispatcher;
if (fd == null) {
if (MediaFocusControl.DEBUG) { if (MediaFocusControl.DEBUG) {
Log.e(TAG, "dispatchFocusResultFromExtPolicy: no focus dispatcher"); Log.e(TAG, "dispatchFocusResultFromExtPolicy: no focus dispatcher");
} }
return;
} }
if (DEBUG) { if (DEBUG) {
Log.v(TAG, "dispatching result" + requestResult + " to " + mClientId); Log.v(TAG, "dispatching result" + requestResult + " to " + mClientId);
} }
try { try {
mFocusDispatcher.dispatchFocusResultFromExtPolicy(requestResult, mClientId); fd.dispatchFocusResultFromExtPolicy(requestResult, mClientId);
} catch (android.os.RemoteException e) { } catch (android.os.RemoteException e) {
Log.e(TAG, "dispatchFocusResultFromExtPolicy: error talking to focus listener" Log.e(TAG, "dispatchFocusResultFromExtPolicy: error talking to focus listener"
+ mClientId, e); + mClientId, e);