package com.fourtails.usuariolecturista; import android.app.Application; import android.util.Log; import com.activeandroid.ActiveAndroid; import com.orhanobut.logger.Logger; import com.parse.Parse; import com.parse.ParseException; import com.parse.ParseFacebookUtils; import com.parse.ParsePush; import com.parse.SaveCallback; import com.path.android.jobqueue.JobManager; import com.path.android.jobqueue.config.Configuration; import com.path.android.jobqueue.log.CustomLogger; /** * This class initializes all the goodies on the app */ public class FirstApplication extends Application { private static FirstApplication instance; private JobManager jobManager; public FirstApplication() { instance = this; } @Override public void onCreate() { super.onCreate(); // Initialize ORM ActiveAndroid.initialize(this); // Logger Logger.init("PL"); // Required - Initialize the Parse SDK Parse.enableLocalDatastore(this); Parse.initialize(this); ParseFacebookUtils.initialize(this); Parse.setLogLevel(Parse.LOG_LEVEL_DEBUG); ParsePush.subscribeInBackground("", new SaveCallback() { @Override public void done(ParseException e) { if (e == null) { Logger.d("com.parse.push, successfully subscribed to the broadcast channel."); } else { Logger.e(e, "com.parse.push, failed to subscribe for push"); } } }); configureJobManager(); } private void configureJobManager() { Configuration configuration = new Configuration.Builder(this) .customLogger(new CustomLogger() { private static final String TAG = "JOBS"; @Override public boolean isDebugEnabled() { return true; } @Override public void d(String text, Object... args) { Log.d(TAG, String.format(text, args)); } @Override public void e(Throwable t, String text, Object... args) { Log.e(TAG, String.format(text, args), t); } @Override public void e(String text, Object... args) { Log.e(TAG, String.format(text, args)); } }) .minConsumerCount(1)//always keep at least one consumer alive .maxConsumerCount(3)//up to 3 consumers at a time .loadFactor(3)//3 jobs per consumer .consumerKeepAlive(120)//wait 2 minute .build(); jobManager = new JobManager(this, configuration); } public JobManager getJobManager() { return jobManager; } public static FirstApplication getInstance() { return instance; } @Override public void onTerminate() { super.onTerminate(); ActiveAndroid.dispose(); } }