tryping to resolve the wake lock bug

Daniel Gultsch created

Change summary

src/eu/siacs/conversations/services/XmppConnectionService.java | 7 ++-
src/eu/siacs/conversations/utils/DNSHelper.java                | 6 +-
src/eu/siacs/conversations/xmpp/XmppConnection.java            | 5 +-
3 files changed, 9 insertions(+), 9 deletions(-)

Detailed changes

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

@@ -361,6 +361,7 @@ public class XmppConnectionService extends Service {
 	private Intent pingIntent;
 	private PendingIntent pendingPingIntent = null;
 	private WakeLock wakeLock;
+	private PowerManager pm;
 
 	public PgpEngine getPgpEngine() {
 		if (pgpServiceConnection.isBound()) {
@@ -528,9 +529,9 @@ public class XmppConnectionService extends Service {
 				getApplicationContext(), "org.sufficientlysecure.keychain");
 		this.pgpServiceConnection.bindToService();
 
-		PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
+		this.pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
 		this.wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
-				"XmppConnection");
+				"XmppConnectionService");
 	}
 
 	@Override
@@ -587,7 +588,7 @@ public class XmppConnectionService extends Service {
 		SharedPreferences sharedPref = PreferenceManager
 				.getDefaultSharedPreferences(getApplicationContext());
 		account.setResource(sharedPref.getString("resource", "mobile").toLowerCase(Locale.getDefault()));
-		XmppConnection connection = new XmppConnection(account, this.wakeLock);
+		XmppConnection connection = new XmppConnection(account, this.pm);
 		connection.setOnMessagePacketReceivedListener(this.messageListener);
 		connection.setOnStatusChangedListener(this.statusListener);
 		connection.setOnPresencePacketReceivedListener(this.presenceListener);

src/eu/siacs/conversations/utils/DNSHelper.java 🔗

@@ -128,9 +128,9 @@ public class DNSHelper {
 		} catch (SocketTimeoutException e) {
 			Log.d("xmppService", "timeout during dns");
 			namePort.putString("error", "timeout");
-		} catch (IOException e) {
-			Log.d("xmppService","io exception during dns");
-			namePort.putString("error", "timeout");
+		} catch (Exception e) {
+			Log.d("xmppService","unhandled exception in sub project");
+			namePort.putString("error", "unhandled");
 		}
 		return namePort;
 	}

src/eu/siacs/conversations/xmpp/XmppConnection.java 🔗

@@ -94,10 +94,9 @@ public class XmppConnection implements Runnable {
 	private OnTLSExceptionReceived tlsListener = null;
 	private OnBindListener bindListener = null;
 
-	public XmppConnection(Account account, WakeLock wakeLock) {
+	public XmppConnection(Account account, PowerManager pm) {
 		this.account = account;
-		this.wakeLock = wakeLock;
-		tagReader = new XmlReader(wakeLock);
+		this.wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,account.getJid());
 		tagWriter = new TagWriter();
 	}