package us.nineworlds.serenity.handlers;
import java.util.concurrent.ConcurrentHashMap;
import javax.inject.Inject;
import us.nineworlds.serenity.R;
import us.nineworlds.serenity.core.model.Server;
import us.nineworlds.serenity.injection.BaseInjector;
import us.nineworlds.serenity.injection.ForMediaServers;
import android.app.Activity;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.widget.Toast;
public class AutoConfigureHandlerRunnable extends BaseInjector implements
Runnable {
@Inject
SharedPreferences preferences;
@Inject
@ForMediaServers
ConcurrentHashMap<String, Server> mediaServers;
Context context;
public AutoConfigureHandlerRunnable(Context context) {
this.context = context;
}
@Override
public void run() {
if (mediaServers.isEmpty()) {
return;
}
Server server = mediaServers.values().iterator().next();
String ipAddress = preferences.getString("server", "");
if ("".equals(ipAddress)) {
Editor edit = preferences.edit();
edit.putString("server", server.getIPAddress());
edit.apply();
Toast.makeText(
context,
context.getResources().getText(
R.string.auto_configuring_server_using_)
+ server.getServerName(), Toast.LENGTH_LONG).show();
Activity activity = (Activity) context;
activity.recreate();
}
}
}