package com.rava.voting; import retrofit.RestAdapter; import com.facebook.SessionDefaultAudience; import com.rava.voting.api.ElectionService; import com.rava.voting.api.LoginService; import com.rava.voting.utils.SettingsManager; import com.sromku.simple.fb.Permission; import com.sromku.simple.fb.SimpleFacebook; import com.sromku.simple.fb.SimpleFacebookConfiguration; import com.sromku.simple.fb.utils.Logger; import android.app.Application; public class RavaApplication extends Application { private static final String APP_ID = "254740274727830"; private static final String APP_NAMESPACE = "ravavoting"; private ElectionService electionService; private LoginService loginService; @Override public void onCreate() { super.onCreate(); // set log to true Logger.DEBUG_WITH_STACKTRACE = true; // initialize facebook configuration Permission[] permissions = new Permission[] { Permission.BASIC_INFO, Permission.EMAIL, Permission.USER_GROUPS }; SimpleFacebookConfiguration configuration = new SimpleFacebookConfiguration.Builder() .setAppId(APP_ID).setNamespace(APP_NAMESPACE) .setPermissions(permissions) .setDefaultAudience(SessionDefaultAudience.FRIENDS) .setAskForAllPermissionsAtOnce(false).build(); SimpleFacebook.setConfiguration(configuration); SettingsManager.init(this); } public void initRestAdapter() { String webService = "http://" + SettingsManager.getServerName() + ":" + SettingsManager.getServerPort() + "/RavaWebService/api"; RestAdapter restAdapter = new RestAdapter.Builder().setEndpoint( webService).build(); electionService = restAdapter.create(ElectionService.class); loginService = restAdapter.create(LoginService.class); } public ElectionService getElectionService() { if (electionService == null) initRestAdapter(); return electionService; } public LoginService getLoginService() { if (loginService == null) initRestAdapter(); return loginService; } }