package at.tugraz.examreminder;
import android.app.Application;
import android.content.Context;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.preference.PreferenceManager;
import android.util.Log;
import android.view.Display;
import android.view.Surface;
import android.view.WindowManager;
import at.tugraz.examreminder.core.CourseContainer;
import at.tugraz.examreminder.service.CourseListSerializer;
import at.tugraz.examreminder.service.DailyListener;
public class ExamReminderApplication extends Application{
private static Context context;
public static boolean useTabletMode(Context context) {
int use_tablet_mode = Integer.parseInt(PreferenceManager.getDefaultSharedPreferences(context).getString("pref_use_tablet_layout", "0"));
switch (use_tablet_mode) {
case 0: return context.getResources().getBoolean(R.bool.isTablet);
case 1: return true;
case 2:
Display display = ((WindowManager) context.getSystemService(WINDOW_SERVICE)).getDefaultDisplay();
return display.getRotation() == Surface.ROTATION_90 || display.getRotation() == Surface.ROTATION_270;
default: return false;
}
}
@Override
public void onCreate(){
super.onCreate();
context=getApplicationContext();
CourseContainer.instance().deleteObservers();
if(CourseContainer.instance().size() == 0) {
CourseListSerializer courseListSerializer = new CourseListSerializer();
CourseContainer.instance().addAll(courseListSerializer.loadCourseListFromFile());
}
CourseContainer.instance().addObserver(new CourseListSerializer());
DailyListener.scheduleMe(context);
}
public static Context getAppContext(){
return context;
}
public static String getAppVersion() {
String version = "<<42>>";
try {
PackageManager manager = getAppContext().getPackageManager();
PackageInfo info = manager.getPackageInfo(getAppContext().getPackageName(), 0);
version = info.versionName;
} catch (Exception e) {
Log.v("EXAM_REMINDER_APPLICATION", "getAppVersion() call failed, maybe no package manager?");
}
return version;
}
}