catch platform bug when getting ringer mode

Daniel Gultsch created

Change summary

src/main/java/eu/siacs/conversations/services/XmppConnectionService.java | 13 
1 file changed, 9 insertions(+), 4 deletions(-)

Detailed changes

src/main/java/eu/siacs/conversations/services/XmppConnectionService.java 🔗

@@ -721,10 +721,15 @@ public class XmppConnectionService extends Service {
 
 	private boolean isPhoneSilenced() {
 		AudioManager audioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
-		if (treatVibrateAsSilent()) {
-			return audioManager.getRingerMode() != AudioManager.RINGER_MODE_NORMAL;
-		} else {
-			return audioManager.getRingerMode() == AudioManager.RINGER_MODE_SILENT;
+		try {
+			if (treatVibrateAsSilent()) {
+				return audioManager.getRingerMode() != AudioManager.RINGER_MODE_NORMAL;
+			} else {
+				return audioManager.getRingerMode() == AudioManager.RINGER_MODE_SILENT;
+			}
+		} catch (Throwable throwable) {
+			Log.d(Config.LOGTAG,"platform bug in isPhoneSilenced ("+ throwable.getMessage()+")");
+			return false;
 		}
 	}