61 lines
2.1 KiB
Java
61 lines
2.1 KiB
Java
package com.rubenvandeven.emotionhero;
|
|
|
|
import android.app.Application;
|
|
import android.content.Context;
|
|
import android.content.Intent;
|
|
import android.content.IntentFilter;
|
|
import android.os.PowerManager;
|
|
|
|
/**
|
|
* For kioskmode only!
|
|
* See http://www.andreas-schrade.de/2015/02/16/android-tutorial-how-to-create-a-kiosk-mode-in-android/
|
|
*/
|
|
@ReportsCrashes(
|
|
buildConfigClass=BuildConfig.class,
|
|
formUri="http://crashes.rubenvandeven.com/api",
|
|
formUriBasicAuthLogin="com.rubenvandeven.emotion_hero.kiosk",
|
|
formUriBasicAuthPassword="4fkpp89Q+VKdbVj3VIbBFKTT",
|
|
mode=ReportingInteractionMode.TOAST,
|
|
resToastText=R.string.crash_toast_text)
|
|
public class AppContext extends Application {
|
|
private AppContext instance;
|
|
private PowerManager.WakeLock wakeLock;
|
|
private OnScreenOffReceiver onScreenOffReceiver;
|
|
|
|
|
|
@Override
|
|
public void onCreate() {
|
|
super.onCreate();
|
|
instance = this;
|
|
if (!ACRA.isACRASenderServiceProcess()) {
|
|
registerKioskModeScreenOffReceiver();
|
|
startKioskService();
|
|
}
|
|
}
|
|
|
|
private void registerKioskModeScreenOffReceiver() {
|
|
// register screen off receiver
|
|
final IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_OFF);
|
|
onScreenOffReceiver = new OnScreenOffReceiver();
|
|
registerReceiver(onScreenOffReceiver, filter);
|
|
}
|
|
|
|
protected void attachBaseContext(Context paramContext)
|
|
{
|
|
super.attachBaseContext(paramContext);
|
|
ACRA.init(this, new ConfigurationBuilder(this).setReportField(ReportField.USER_COMMENT, false), true);
|
|
}
|
|
|
|
public PowerManager.WakeLock getWakeLock() {
|
|
if(wakeLock == null) {
|
|
// lazy loading: first call, create wakeLock via PowerManager.
|
|
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
|
|
wakeLock = pm.newWakeLock(PowerManager.FULL_WAKE_LOCK | PowerManager.ACQUIRE_CAUSES_WAKEUP, "wakeup");
|
|
}
|
|
return wakeLock;
|
|
}
|
|
|
|
private void startKioskService() {
|
|
startService(new Intent(this, KioskService.class));
|
|
}
|
|
} |