Shelter/app/src/main/java/net/typeblog/shelter/ShelterApplication.java

65 lines
2.1 KiB
Java

package net.typeblog.shelter;
import android.app.Application;
import android.content.Context;
import android.content.Intent;
import android.content.ServiceConnection;
import net.typeblog.shelter.services.FileShuttleService;
import net.typeblog.shelter.services.ShelterService;
import net.typeblog.shelter.util.LocalStorageManager;
import net.typeblog.shelter.util.SettingsManager;
public class ShelterApplication extends Application {
private ServiceConnection mShelterServiceConnection = null;
private ServiceConnection mFileShuttleServiceConnection = null;
@Override
public void onCreate() {
super.onCreate();
LocalStorageManager.initialize(this);
SettingsManager.initialize(this);
}
public void bindShelterService(ServiceConnection conn, boolean foreground) {
unbindShelterService();
Intent intent = new Intent(getApplicationContext(), ShelterService.class);
intent.putExtra("foreground", foreground);
bindService(intent, conn, Context.BIND_AUTO_CREATE);
mShelterServiceConnection = conn;
}
public void bindFileShuttleService(ServiceConnection conn) {
unbindFileShuttleService();;
Intent intent = new Intent(getApplicationContext(), FileShuttleService.class);
bindService(intent, conn, Context.BIND_AUTO_CREATE);
mFileShuttleServiceConnection = conn;
}
public void unbindShelterService() {
if (mShelterServiceConnection != null) {
try {
unbindService(mShelterServiceConnection);
} catch (Exception e) {
// This method call might fail if the service is already unbound
// just ignore anything that might happen.
// We will be stopping already if this would ever happen.
}
}
mShelterServiceConnection = null;
}
public void unbindFileShuttleService() {
if (mFileShuttleServiceConnection != null) {
try {
unbindService(mFileShuttleServiceConnection);
} catch (Exception e) {
// ...
}
}
mFileShuttleServiceConnection = null;
}
}