package com.fatima.life2;
import java.util.Set;
import com.limegroup.gnutella.ActivityCallback;
import com.limegroup.gnutella.Connection;
import com.limegroup.gnutella.Downloader;
import com.limegroup.gnutella.Endpoint;
import com.limegroup.gnutella.ErrorCallback;
import com.limegroup.gnutella.ErrorService;
import com.limegroup.gnutella.GUID;
import com.limegroup.gnutella.RemoteFileDesc;
import com.limegroup.gnutella.RouterService;
import com.limegroup.gnutella.chat.Chatter;
import com.limegroup.gnutella.search.HostData;
import com.limegroup.gnutella.security.User;
import com.limegroup.gnutella.settings.SharingSettings;
import android.app.Application;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
public class App extends Application {
private static RouterService sRouterService;
private static boolean sInitialized = false;
public static RouterService getRouterService(ActivityCallback callback) {
sRouterService.setCallback(callback);
return sRouterService;
}
static ErrorCallback sErrorCallback = new ErrorCallback() {
@Override
public void error(Throwable t) {
// TODO Auto-generated method stub
t.printStackTrace();
}
@Override
public void error(Throwable t, String msg) {
// TODO Auto-generated method stub
t.printStackTrace();
Log.e(Utils.TAG, msg);
}
};
public static void init(Context context) {
if (sInitialized)
return;
// TODO: Check if sdcard is available and if space is full.
SharingSettings.setSaveDirectory();
Utils.copyConfigFile(context);
ErrorService.setErrorCallback(sErrorCallback);
// Start service
Intent intent = new Intent(context, DownloadService.class);
context.startService(intent);
intent = new Intent(context, MiniServer.class);
context.startService(intent);
sInitialized = true;
}
private static class DummyCallback implements ActivityCallback {
@Override
public void acceptChat(Chatter ctr) {
// TODO Auto-generated method stub
}
@Override
public void addDownload(Downloader d) {
// TODO Auto-generated method stub
}
@Override
public void addressStateChanged() {
// TODO Auto-generated method stub
}
@Override
public void browseHostFailed(GUID guid) {
// TODO Auto-generated method stub
}
@Override
public void chatErrorMessage(Chatter chatter, String str) {
// TODO Auto-generated method stub
}
@Override
public void chatUnavailable(Chatter chatter) {
// TODO Auto-generated method stub
}
@Override
public void componentLoading(String component) {
// TODO Auto-generated method stub
}
@Override
public void connectionClosed(Connection c) {
// TODO Auto-generated method stub
}
@Override
public void connectionInitialized(Connection c) {
// TODO Auto-generated method stub
}
@Override
public void connectionInitializing(Connection c) {
// TODO Auto-generated method stub
}
@Override
public void downloadsComplete() {
// TODO Auto-generated method stub
}
@Override
public String getHostValue(String key) {
// TODO Auto-generated method stub
return null;
}
@Override
public User getUserAuthenticationInfo(String host) {
// TODO Auto-generated method stub
return null;
}
@Override
public void handleQueryString(String query) {
// TODO Auto-generated method stub
}
@Override
public boolean isQueryAlive(GUID guid) {
// TODO Auto-generated method stub
return false;
}
@Override
public void promptAboutCorruptDownload(Downloader dloader) {
// TODO Auto-generated method stub
}
@Override
public void receiveMessage(Chatter chr) {
// TODO Auto-generated method stub
}
@Override
public void removeDownload(Downloader d) {
// TODO Auto-generated method stub
}
@Override
public void restoreApplication() {
// TODO Auto-generated method stub
}
@Override
public void setAnnotateEnabled(boolean enabled) {
// TODO Auto-generated method stub
}
@Override
public void showDownloads() {
// TODO Auto-generated method stub
}
@Override
public void handleQueryResult(RemoteFileDesc rfd, HostData data, Set<Endpoint> locs) {
// TODO Auto-generated method stub
}
@Override
public void retryQueryAfterConnect() {
// TODO Auto-generated method stub
}
};
@Override
public void onCreate() {
super.onCreate();
Constants.init(this);
init(this);
new Thread(new Runnable() {
@Override
public void run() {
sRouterService = new RouterService(new DummyCallback());
Utils.D("Starting router service.");
sRouterService.start();
}
}).start();
}
}