diff options
Diffstat (limited to 'java')
-rw-r--r-- | java/com/android/dialer/voicemail/listui/NewVoicemailMediaPlayer.java | 20 | ||||
-rw-r--r-- | java/com/android/voicemail/impl/sync/VvmNetworkRequestCallback.java | 16 |
2 files changed, 29 insertions, 7 deletions
diff --git a/java/com/android/dialer/voicemail/listui/NewVoicemailMediaPlayer.java b/java/com/android/dialer/voicemail/listui/NewVoicemailMediaPlayer.java index 48062a87d..519a0dfbd 100644 --- a/java/com/android/dialer/voicemail/listui/NewVoicemailMediaPlayer.java +++ b/java/com/android/dialer/voicemail/listui/NewVoicemailMediaPlayer.java @@ -26,6 +26,7 @@ import android.support.annotation.NonNull; import android.support.annotation.Nullable; import com.android.dialer.common.Assert; import com.android.dialer.common.LogUtil; +import com.android.dialer.strictmode.StrictModeUtils; import java.io.IOException; /** A wrapper around {@link MediaPlayer} */ @@ -45,6 +46,7 @@ public class NewVoicemailMediaPlayer { mediaPlayer = Assert.isNotNull(player); } + // TODO(uabdullah): Consider removing the StrictModeUtils.bypass (a bug) public void prepareMediaPlayerAndPlayVoicemailWhenReady(Context context, Uri uri) throws IOException { Assert.checkArgument(uri != null, "Media player cannot play a null uri"); @@ -57,9 +59,23 @@ public class NewVoicemailMediaPlayer { voicemailUriLastPreparedOrPreparingToPlay = uri; verifyListenersNotNull(); LogUtil.i("NewVoicemailMediaPlayer", "setData source"); - mediaPlayer.setDataSource(context, uri); + StrictModeUtils.bypass( + () -> { + try { + mediaPlayer.setDataSource(context, uri); + } catch (IOException e) { + LogUtil.i( + "NewVoicemailMediaPlayer", + "threw an Exception when setting datasource " + + e + + " for uri: " + + uri + + "for context : " + + context); + } + }); LogUtil.i("NewVoicemailMediaPlayer", "prepare async"); - mediaPlayer.prepareAsync(); + StrictModeUtils.bypass(() -> mediaPlayer.prepareAsync()); } catch (IllegalStateException e) { LogUtil.i( "NewVoicemailMediaPlayer", "caught an IllegalStateException state exception : \n" + e); diff --git a/java/com/android/voicemail/impl/sync/VvmNetworkRequestCallback.java b/java/com/android/voicemail/impl/sync/VvmNetworkRequestCallback.java index 60ba166ba..c0ab6788e 100644 --- a/java/com/android/voicemail/impl/sync/VvmNetworkRequestCallback.java +++ b/java/com/android/voicemail/impl/sync/VvmNetworkRequestCallback.java @@ -56,6 +56,7 @@ public abstract class VvmNetworkRequestCallback extends ConnectivityManager.Netw private final VoicemailStatus.Editor status; private boolean requestSent = false; private boolean resultReceived = false; + private boolean released = false; public VvmNetworkRequestCallback( Context context, PhoneAccountHandle phoneAccount, VoicemailStatus.Editor status) { @@ -112,7 +113,7 @@ public abstract class VvmNetworkRequestCallback extends ConnectivityManager.Netw @Override @CallSuper public void onLost(Network network) { - VvmLog.d(TAG, "onLost"); + VvmLog.i(TAG, "onLost"); resultReceived = true; onFailed(NETWORK_REQUEST_FAILED_LOST); } @@ -126,7 +127,7 @@ public abstract class VvmNetworkRequestCallback extends ConnectivityManager.Netw @CallSuper public void onUnavailable() { - // TODO(twyen): a bug this is hidden, do we really need this? + VvmLog.i(TAG, "onUnavailable"); resultReceived = true; onFailed(NETWORK_REQUEST_FAILED_TIMEOUT); } @@ -156,8 +157,13 @@ public abstract class VvmNetworkRequestCallback extends ConnectivityManager.Netw } public void releaseNetwork() { - VvmLog.d(TAG, "releaseNetwork"); - getConnectivityManager().unregisterNetworkCallback(this); + VvmLog.i(TAG, "releaseNetwork"); + if (!released) { + getConnectivityManager().unregisterNetworkCallback(this); + released = true; + } else { + VvmLog.w(TAG, "already released"); + } } public ConnectivityManager getConnectivityManager() { @@ -170,7 +176,7 @@ public abstract class VvmNetworkRequestCallback extends ConnectivityManager.Netw @CallSuper public void onFailed(String reason) { - VvmLog.d(TAG, "onFailed: " + reason); + VvmLog.i(TAG, "onFailed: " + reason); if (carrierConfigHelper.isCellularDataRequired()) { carrierConfigHelper.handleEvent(status, OmtpEvents.DATA_NO_CONNECTION_CELLULAR_REQUIRED); } else { |