2
0
mirror of https://github.com/KDE/kdeconnect-android synced 2025-08-22 18:07:55 +00:00

76 lines
1.9 KiB
Java
Raw Normal View History

2013-06-06 05:57:06 +02:00
package org.kde.connect;
import android.app.Service;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.IBinder;
import android.util.Log;
2013-06-17 12:23:08 +02:00
import org.kde.connect.PackageEmitters.BaseReceiver;
import org.kde.connect.PackageEmitters.PhoneCallReceiver;
2013-06-06 05:57:06 +02:00
import org.kde.connect.Types.NetworkPackage;
import java.util.ArrayList;
public class BackgroundService extends Service {
2013-06-17 12:23:08 +02:00
SharedPreferences settings;
ArrayList<Announcer> announcers = new ArrayList<Announcer>();
ArrayList<ComputerLink> computerLinks = new ArrayList<ComputerLink>();
2013-06-06 05:57:06 +02:00
ArrayList<BaseReceiver> receivers = new ArrayList<BaseReceiver>();
2013-06-17 12:23:08 +02:00
private void addComputerLink(ComputerLink cl) {
2013-06-06 05:57:06 +02:00
2013-06-17 12:23:08 +02:00
computerLinks.add(cl);
2013-06-06 05:57:06 +02:00
if (settings.getBoolean("listenCalls", true)) {
2013-06-17 12:23:08 +02:00
receivers.add(new PhoneCallReceiver(getApplicationContext(), cl));
2013-06-06 05:57:06 +02:00
}
NetworkPackage p = new NetworkPackage(System.currentTimeMillis());
p.setType(NetworkPackage.Type.PING);
2013-06-17 12:23:08 +02:00
cl.sendPackage(p);
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.e("BackgroundService","Starting");
for (Announcer a : announcers) {
a.startAnnouncing(new Announcer.ConnexionReceiver() {
@Override
public void onPair(ComputerLink cl) {
addComputerLink(cl);
}
});
}
2013-06-06 05:57:06 +02:00
return Service.START_STICKY;
}
@Override
public void onCreate() {
Log.e("BackgroundService","Creating");
2013-06-17 12:23:08 +02:00
settings = getSharedPreferences("KdeConnect", 0);
announcers.add(new AvahiAnnouncer(this));
2013-06-06 05:57:06 +02:00
super.onCreate();
}
@Override
public void onDestroy() {
Log.e("BackgroundService","Destroying");
super.onDestroy();
}
@Override
public IBinder onBind(Intent intent) {
Log.e("BackgroundService", "Binding");
return null;
}
}