package au.com.newint.newinternationalist;
import android.app.Application;
import android.content.SharedPreferences;
import android.content.pm.ApplicationInfo;
import android.content.res.AssetManager;
import android.content.res.Resources;
import android.preference.PreferenceManager;
import android.util.Log;
import com.google.android.gms.analytics.GoogleAnalytics;
import com.google.android.gms.analytics.HitBuilders;
import com.google.android.gms.analytics.Tracker;
import com.google.firebase.analytics.FirebaseAnalytics;
import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;
/**
* Created by New Internationalist on 4/06/15.
*/
public class App extends Application {
// Avoid a crash when you receive a push notification while the app is shut
// Google Analytics
// public static GoogleAnalytics analytics;
// public static Tracker tracker;
@Override
public void onCreate() {
super.onCreate();
MainActivity.applicationContext = getApplicationContext();
MainActivity.applicationResources = getResources();
// Setup push notifications
// Parse.enableLocalDatastore(this);
// Parse.initialize(this, getVariableFromConfig("PARSE_APP_ID"), getVariableFromConfig("PARSE_CLIENT_KEY"));
// Setup google analytics if the user has allowed it
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
boolean allowAnonymousStatistics = sharedPreferences.getBoolean(getResources().getString(R.string.allow_anonymous_statistics_key), true);
FirebaseAnalytics firebaseAnalytics = FirebaseAnalytics.getInstance(MainActivity.applicationContext);
if (allowAnonymousStatistics) {
// Now using Firebase.
firebaseAnalytics.setAnalyticsCollectionEnabled(true);
} else {
firebaseAnalytics.setAnalyticsCollectionEnabled(false);
}
}
private String getVariableFromConfig(String string) {
Resources resources = getResources();
AssetManager assetManager = resources.getAssets();
try {
InputStream inputStream = assetManager.open("config.properties");
Properties properties = new Properties();
properties.load(inputStream);
return properties.getProperty(string);
} catch (IOException e) {
Log.e("Properties", "Failed to open config property file");
return null;
}
}
}