| 
									
										
										
										
											2014-01-25 19:33:12 +01:00
										 |  |  | package de.gultsch.chat.ui;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import de.gultsch.chat.services.XmppConnectionService;
 | 
					
						
							|  |  |  | import de.gultsch.chat.services.XmppConnectionService.XmppConnectionBinder;
 | 
					
						
							|  |  |  | import android.app.Activity;
 | 
					
						
							|  |  |  | import android.content.ComponentName;
 | 
					
						
							|  |  |  | import android.content.Context;
 | 
					
						
							|  |  |  | import android.content.Intent;
 | 
					
						
							|  |  |  | import android.content.ServiceConnection;
 | 
					
						
							|  |  |  | import android.os.IBinder;
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | public abstract class XmppActivity extends Activity {
 | 
					
						
							| 
									
										
										
										
											2014-01-26 03:27:55 +01:00
										 |  |  | 	public XmppConnectionService xmppConnectionService;
 | 
					
						
							|  |  |  | 	public boolean xmppConnectionServiceBound = false;
 | 
					
						
							| 
									
										
										
										
											2014-01-25 19:33:12 +01:00
										 |  |  | 	protected boolean handledViewIntent = false;
 | 
					
						
							|  |  |  | 	protected ServiceConnection mConnection = new ServiceConnection() {
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		@Override
 | 
					
						
							|  |  |  | 		public void onServiceConnected(ComponentName className, IBinder service) {
 | 
					
						
							|  |  |  | 			XmppConnectionBinder binder = (XmppConnectionBinder) service;
 | 
					
						
							|  |  |  | 			xmppConnectionService = binder.getService();
 | 
					
						
							|  |  |  | 			xmppConnectionServiceBound = true;
 | 
					
						
							|  |  |  | 			servConnected();
 | 
					
						
							|  |  |  | 		}
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 		@Override
 | 
					
						
							|  |  |  | 		public void onServiceDisconnected(ComponentName arg0) {
 | 
					
						
							|  |  |  | 			xmppConnectionServiceBound = false;
 | 
					
						
							|  |  |  | 		}
 | 
					
						
							|  |  |  | 	};
 | 
					
						
							|  |  |  | 	
 | 
					
						
							|  |  |  | 	@Override
 | 
					
						
							|  |  |  | 	protected void onStart() {
 | 
					
						
							|  |  |  | 		super.onStart();
 | 
					
						
							|  |  |  | 		if (!xmppConnectionServiceBound) {
 | 
					
						
							|  |  |  | 			Intent intent = new Intent(this, XmppConnectionService.class);
 | 
					
						
							|  |  |  | 			bindService(intent, mConnection, Context.BIND_AUTO_CREATE);
 | 
					
						
							|  |  |  | 		}
 | 
					
						
							|  |  |  | 	}
 | 
					
						
							|  |  |  | 	
 | 
					
						
							|  |  |  | 	@Override
 | 
					
						
							|  |  |  | 	protected void onStop() {
 | 
					
						
							|  |  |  | 		super.onStop();
 | 
					
						
							|  |  |  | 		if (xmppConnectionServiceBound) {
 | 
					
						
							|  |  |  | 			unbindService(mConnection);
 | 
					
						
							|  |  |  | 			xmppConnectionServiceBound = false;
 | 
					
						
							|  |  |  | 		}
 | 
					
						
							|  |  |  | 	}
 | 
					
						
							|  |  |  | 	
 | 
					
						
							|  |  |  | 	abstract void servConnected();
 | 
					
						
							|  |  |  | }
 |