Automation/app/src/main/java/com/jens/automation2/ActivityGeneric.java
2021-02-16 13:42:49 +01:00

68 lines
2.0 KiB
Java

package com.jens.automation2;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.ServiceConnection;
import android.os.IBinder;
import android.util.Log;
import com.jens.automation2.AutomationService.LocalBinder;
public class ActivityGeneric extends Activity
{
public static Intent myServiceIntent = null;
AutomationService myAutomationService = null;
boolean boundToService = false;
public void storeServiceReferenceInVariable()
{
if(AutomationService.isMyServiceRunning(getApplicationContext()) && myAutomationService == null)
{
bindToService();
}
}
public void bindToService()
{
Log.i("service", "binding to service");
if(!boundToService)
{
// if(myServiceIntent == null)
myServiceIntent = new Intent(this, AutomationService.class);
Miscellaneous.logEvent("i", "Service", getResources().getString(R.string.logAttemptingToBindToService) + String.valueOf(bindService(myServiceIntent, myServiceConnection, Context.BIND_AUTO_CREATE)), 5);
}
}
public void unBindFromService()
{
Miscellaneous.logEvent("i", "Service", getResources().getString(R.string.logAttemptingToUnbindFromService), 5);
if(boundToService)
{
unbindService(myServiceConnection);
boundToService = false;
Miscellaneous.logEvent("i", "Service", getResources().getString(R.string.logUnboundFromService), 5);
}
}
private ServiceConnection myServiceConnection = new ServiceConnection()
{
@Override
public void onServiceConnected(ComponentName name, IBinder service)
{
Miscellaneous.logEvent("i", "Service", getResources().getString(R.string.logBoundToService), 5);
LocalBinder binder = (LocalBinder)service;
myAutomationService = binder.getService();
boundToService = true;
}
@Override
public void onServiceDisconnected(ComponentName name)
{
Miscellaneous.logEvent("i", "Service", getResources().getString(R.string.logUnboundFromService), 5);
boundToService = false;
}
};
}