package mil.nga.dice;
import android.app.Application;
import android.content.pm.ApplicationInfo;
import android.os.Build;
import android.os.Environment;
import android.support.multidex.MultiDexApplication;
import android.util.Log;
import android.webkit.WebView;
import com.google.android.gms.maps.MapsInitializer;
import java.io.File;
import mil.nga.dice.map.BackgroundTileProvider;
import mil.nga.dice.map.OfflineMap;
import mil.nga.dice.report.ReportManager;
public class DICE extends MultiDexApplication {
@Override
public void onCreate() {
super.onCreate();
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
if (0 != (getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE)) {
WebView.setWebContentsDebuggingEnabled(true);
}
}
File appRoot = getExternalFilesDir(null);
if (appRoot == null) {
throw new Error("failed to obtain app directory on external storage; " +
"external storage state is " + Environment.getExternalStorageState());
}
File reportsDir = new File(appRoot, "reports");
if (!reportsDir.isDirectory() && !reportsDir.mkdirs()) {
throw new Error("failed to create reports directory " + reportsDir);
}
Log.i("DICE", "initializing DICE with reports dir " + reportsDir.getAbsolutePath());
MapsInitializer.initialize(this);
BackgroundTileProvider.initialize(this);
OfflineMap.initialize(this);
ReportManager.initialize(this);
}
}