Not fully working mode
This commit is contained in:
parent
c45a0d2e7f
commit
4f3b85d06b
17 changed files with 358 additions and 3 deletions
|
@ -37,7 +37,7 @@
|
||||||
<ConfirmationsSetting value="0" id="Add" />
|
<ConfirmationsSetting value="0" id="Add" />
|
||||||
<ConfirmationsSetting value="0" id="Remove" />
|
<ConfirmationsSetting value="0" id="Remove" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
<component name="ProjectRootManager" version="2" languageLevel="JDK_1_7" default="true" assert-keyword="true" jdk-15="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
|
||||||
<output url="file://$PROJECT_DIR$/build/classes" />
|
<output url="file://$PROJECT_DIR$/build/classes" />
|
||||||
</component>
|
</component>
|
||||||
<component name="ProjectType">
|
<component name="ProjectType">
|
||||||
|
|
|
@ -6,7 +6,7 @@ android {
|
||||||
compileSdkVersion 24
|
compileSdkVersion 24
|
||||||
buildToolsVersion '23.0.3'
|
buildToolsVersion '23.0.3'
|
||||||
defaultConfig {
|
defaultConfig {
|
||||||
applicationId 'com.rubenvandeven.emotion_hero'
|
applicationId 'com.rubenvandeven.emotion_hero.kiosk'
|
||||||
minSdkVersion 16
|
minSdkVersion 16
|
||||||
targetSdkVersion 24
|
targetSdkVersion 24
|
||||||
versionCode 7
|
versionCode 7
|
||||||
|
|
|
@ -6,13 +6,22 @@
|
||||||
<uses-permission android:name="android.permission.CAMERA" />
|
<uses-permission android:name="android.permission.CAMERA" />
|
||||||
<uses-permission android:name="android.permission.INTERNET" />
|
<uses-permission android:name="android.permission.INTERNET" />
|
||||||
|
|
||||||
|
<!--Kiosk Mode-->
|
||||||
|
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
||||||
|
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||||
|
<uses-permission android:name="android.permission.GET_TASKS"/>
|
||||||
|
|
||||||
|
<service android:name=".KioskService" android:exported="false"/>
|
||||||
|
|
||||||
<application
|
<application
|
||||||
|
android:name=".AppContext"
|
||||||
android:allowBackup="true"
|
android:allowBackup="true"
|
||||||
android:hardwareAccelerated="true"
|
android:hardwareAccelerated="true"
|
||||||
android:icon="@mipmap/ic_launcher"
|
android:icon="@mipmap/ic_launcher"
|
||||||
android:label="@string/app_name"
|
android:label="@string/app_name"
|
||||||
android:supportsRtl="true"
|
android:supportsRtl="true"
|
||||||
android:theme="@style/AppTheme"
|
android:theme="@style/AppTheme"
|
||||||
|
android:keepScreenOn="true"
|
||||||
tools:replace="android:allowBackup,android:label">
|
tools:replace="android:allowBackup,android:label">
|
||||||
<activity
|
<activity
|
||||||
android:name=".GamingActivity"
|
android:name=".GamingActivity"
|
||||||
|
@ -69,6 +78,11 @@
|
||||||
<meta-data
|
<meta-data
|
||||||
android:name="android.support.PARENT_ACTIVITY"
|
android:name="android.support.PARENT_ACTIVITY"
|
||||||
android:value="com.rubenvandeven.emotionhero.ProgressActivity" /></activity>
|
android:value="com.rubenvandeven.emotionhero.ProgressActivity" /></activity>
|
||||||
|
<receiver android:name=".BootReceiver">
|
||||||
|
<intent-filter >
|
||||||
|
<action android:name="android.intent.action.BOOT_COMPLETED"/>
|
||||||
|
</intent-filter>
|
||||||
|
</receiver>
|
||||||
</application>
|
</application>
|
||||||
|
|
||||||
</manifest>
|
</manifest>
|
|
@ -0,0 +1,46 @@
|
||||||
|
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/
|
||||||
|
*/
|
||||||
|
public class AppContext extends Application {
|
||||||
|
private AppContext instance;
|
||||||
|
private PowerManager.WakeLock wakeLock;
|
||||||
|
private OnScreenOffReceiver onScreenOffReceiver;
|
||||||
|
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onCreate() {
|
||||||
|
super.onCreate();
|
||||||
|
instance = this;
|
||||||
|
registerKioskModeScreenOffReceiver();
|
||||||
|
startKioskService();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void registerKioskModeScreenOffReceiver() {
|
||||||
|
// register screen off receiver
|
||||||
|
final IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_OFF);
|
||||||
|
onScreenOffReceiver = new OnScreenOffReceiver();
|
||||||
|
registerReceiver(onScreenOffReceiver, filter);
|
||||||
|
}
|
||||||
|
|
||||||
|
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));
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,18 @@
|
||||||
|
package com.rubenvandeven.emotionhero;
|
||||||
|
|
||||||
|
import android.content.BroadcastReceiver;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.Intent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* For kioskmode only!
|
||||||
|
* See http://www.andreas-schrade.de/2015/02/16/android-tutorial-how-to-create-a-kiosk-mode-in-android/
|
||||||
|
*/
|
||||||
|
public class BootReceiver extends BroadcastReceiver {
|
||||||
|
@Override
|
||||||
|
public void onReceive(Context context, Intent intent) {
|
||||||
|
Intent myIntent = new Intent(context, IntroActivity.class);
|
||||||
|
myIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||||
|
context.startActivity(myIntent);
|
||||||
|
}
|
||||||
|
}
|
|
@ -80,4 +80,18 @@ public class CreditsActivity extends AppCompatActivity {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* For kioskmode
|
||||||
|
* @param hasFocus
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void onWindowFocusChanged(boolean hasFocus) {
|
||||||
|
super.onWindowFocusChanged(hasFocus);
|
||||||
|
if(!hasFocus) {
|
||||||
|
// Close every kind of system dialog
|
||||||
|
Intent closeDialog = new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
|
||||||
|
sendBroadcast(closeDialog);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.rubenvandeven.emotionhero;
|
package com.rubenvandeven.emotionhero;
|
||||||
|
|
||||||
|
import android.content.Intent;
|
||||||
import android.support.v7.app.AppCompatActivity;
|
import android.support.v7.app.AppCompatActivity;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.v7.widget.Toolbar;
|
import android.support.v7.widget.Toolbar;
|
||||||
|
@ -88,4 +89,18 @@ public class EndingActivity extends AppCompatActivity {
|
||||||
this.rank.setVisibility(View.VISIBLE);
|
this.rank.setVisibility(View.VISIBLE);
|
||||||
this.textRank.setVisibility(View.VISIBLE);
|
this.textRank.setVisibility(View.VISIBLE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* For kioskmode
|
||||||
|
* @param hasFocus
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void onWindowFocusChanged(boolean hasFocus) {
|
||||||
|
super.onWindowFocusChanged(hasFocus);
|
||||||
|
if(!hasFocus) {
|
||||||
|
// Close every kind of system dialog
|
||||||
|
Intent closeDialog = new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
|
||||||
|
sendBroadcast(closeDialog);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -75,6 +75,7 @@ public class GamingActivity extends AppCompatActivity implements Detector.ImageL
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
||||||
|
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD); // kiosk mode
|
||||||
if(getSupportActionBar() != null) {
|
if(getSupportActionBar() != null) {
|
||||||
getSupportActionBar().hide();
|
getSupportActionBar().hide();
|
||||||
}
|
}
|
||||||
|
@ -408,4 +409,18 @@ public class GamingActivity extends AppCompatActivity implements Detector.ImageL
|
||||||
intent.putExtra(ReviewActivity.INTENT_EXTRA_FROM_GAME, true);
|
intent.putExtra(ReviewActivity.INTENT_EXTRA_FROM_GAME, true);
|
||||||
startActivity(intent);
|
startActivity(intent);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* For kioskmode
|
||||||
|
* @param hasFocus
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void onWindowFocusChanged(boolean hasFocus) {
|
||||||
|
super.onWindowFocusChanged(hasFocus);
|
||||||
|
if(!hasFocus) {
|
||||||
|
// Close every kind of system dialog
|
||||||
|
Intent closeDialog = new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
|
||||||
|
sendBroadcast(closeDialog);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -424,4 +424,17 @@ public class HighscoreActivity extends AppCompatActivity {
|
||||||
return mViewPager;
|
return mViewPager;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* For kioskmode
|
||||||
|
* @param hasFocus
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void onWindowFocusChanged(boolean hasFocus) {
|
||||||
|
super.onWindowFocusChanged(hasFocus);
|
||||||
|
if(!hasFocus) {
|
||||||
|
// Close every kind of system dialog
|
||||||
|
Intent closeDialog = new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
|
||||||
|
sendBroadcast(closeDialog);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,6 +28,7 @@ public class IntroActivity extends AppCompatActivity {
|
||||||
protected void onCreate(Bundle savedInstanceState) {
|
protected void onCreate(Bundle savedInstanceState) {
|
||||||
super.onCreate(savedInstanceState);
|
super.onCreate(savedInstanceState);
|
||||||
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
|
||||||
|
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DISMISS_KEYGUARD); // kiosk mode
|
||||||
if(getSupportActionBar() != null) {
|
if(getSupportActionBar() != null) {
|
||||||
getSupportActionBar().hide();
|
getSupportActionBar().hide();
|
||||||
}
|
}
|
||||||
|
@ -95,4 +96,18 @@ public class IntroActivity extends AppCompatActivity {
|
||||||
//disable distracting transition when going to menu
|
//disable distracting transition when going to menu
|
||||||
IntroActivity.this.overridePendingTransition(0, 0);
|
IntroActivity.this.overridePendingTransition(0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* For kioskmode
|
||||||
|
* @param hasFocus
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void onWindowFocusChanged(boolean hasFocus) {
|
||||||
|
super.onWindowFocusChanged(hasFocus);
|
||||||
|
if(!hasFocus) {
|
||||||
|
// Close every kind of system dialog
|
||||||
|
Intent closeDialog = new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
|
||||||
|
sendBroadcast(closeDialog);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,95 @@
|
||||||
|
package com.rubenvandeven.emotionhero;
|
||||||
|
|
||||||
|
import android.app.ActivityManager;
|
||||||
|
import android.app.Service;
|
||||||
|
import android.content.ComponentName;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.os.IBinder;
|
||||||
|
import android.util.Log;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.concurrent.TimeUnit;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Created by ruben on 05/10/16.
|
||||||
|
*/
|
||||||
|
|
||||||
|
public class KioskService extends Service {
|
||||||
|
private static final long INTERVAL = TimeUnit.SECONDS.toMillis(2); // periodic interval to check in seconds -> 2 seconds
|
||||||
|
private static final String TAG = KioskService.class.getSimpleName();
|
||||||
|
private static final String PREF_KIOSK_MODE = "pref_kiosk_mode";
|
||||||
|
|
||||||
|
private Thread t = null;
|
||||||
|
private Context ctx = null;
|
||||||
|
private boolean running = false;
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onDestroy() {
|
||||||
|
Log.i(TAG, "Stopping service 'KioskService'");
|
||||||
|
running =false;
|
||||||
|
super.onDestroy();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int onStartCommand(Intent intent, int flags, int startId) {
|
||||||
|
Log.i(TAG, "Starting service 'KioskService'");
|
||||||
|
running = true;
|
||||||
|
ctx = this;
|
||||||
|
|
||||||
|
// start a thread that periodically checks if your app is in the foreground
|
||||||
|
t = new Thread(new Runnable() {
|
||||||
|
@Override
|
||||||
|
public void run() {
|
||||||
|
do {
|
||||||
|
handleKioskMode();
|
||||||
|
try {
|
||||||
|
Thread.sleep(INTERVAL);
|
||||||
|
} catch (InterruptedException e) {
|
||||||
|
Log.i(TAG, "Thread interrupted: 'KioskService'");
|
||||||
|
}
|
||||||
|
}while(running);
|
||||||
|
stopSelf();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
t.start();
|
||||||
|
return Service.START_NOT_STICKY;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void handleKioskMode() {
|
||||||
|
// is Kiosk Mode active?
|
||||||
|
if(true) {
|
||||||
|
// is App in background?
|
||||||
|
if(isInBackground()) {
|
||||||
|
restoreApp(); // restore!
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean isInBackground() {
|
||||||
|
ActivityManager am = (ActivityManager) ctx.getSystemService(Context.ACTIVITY_SERVICE);
|
||||||
|
|
||||||
|
List<ActivityManager.RunningTaskInfo> taskInfo = am.getRunningTasks(1);
|
||||||
|
ComponentName componentInfo = taskInfo.get(0).topActivity;
|
||||||
|
return (!ctx.getApplicationContext().getPackageName().equals(componentInfo.getPackageName()));
|
||||||
|
}
|
||||||
|
|
||||||
|
private void restoreApp() {
|
||||||
|
// Restart activity
|
||||||
|
Intent i = new Intent(ctx, IntroActivity.class);
|
||||||
|
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
|
||||||
|
ctx.startActivity(i);
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isKioskModeActive(final Context context) {
|
||||||
|
return true;
|
||||||
|
// SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
|
||||||
|
// return sp.getBoolean(PREF_KIOSK_MODE, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IBinder onBind(Intent intent) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
|
@ -415,4 +415,26 @@ public class MirrorMenuActivity extends AppCompatActivity implements Detector.Im
|
||||||
messageText.setVisibility(View.GONE);
|
messageText.setVisibility(View.GONE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* For kiosk mode only
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void onBackPressed() {
|
||||||
|
// nothing to do here
|
||||||
|
// … really
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* For kioskmode
|
||||||
|
* @param hasFocus
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void onWindowFocusChanged(boolean hasFocus) {
|
||||||
|
super.onWindowFocusChanged(hasFocus);
|
||||||
|
if(!hasFocus) {
|
||||||
|
// Close every kind of system dialog
|
||||||
|
Intent closeDialog = new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
|
||||||
|
sendBroadcast(closeDialog);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,46 @@
|
||||||
|
package com.rubenvandeven.emotionhero;
|
||||||
|
|
||||||
|
import android.content.BroadcastReceiver;
|
||||||
|
import android.content.Context;
|
||||||
|
import android.content.Intent;
|
||||||
|
import android.content.SharedPreferences;
|
||||||
|
import android.os.PowerManager;
|
||||||
|
import android.preference.PreferenceManager;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* For kioskmode only!
|
||||||
|
* See http://www.andreas-schrade.de/2015/02/16/android-tutorial-how-to-create-a-kiosk-mode-in-android/
|
||||||
|
*/
|
||||||
|
public class OnScreenOffReceiver extends BroadcastReceiver {
|
||||||
|
private static final String PREF_KIOSK_MODE = "pref_kiosk_mode";
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onReceive(Context context, Intent intent) {
|
||||||
|
if(Intent.ACTION_SCREEN_OFF.equals(intent.getAction())){
|
||||||
|
AppContext ctx = (AppContext) context.getApplicationContext();
|
||||||
|
// is Kiosk Mode active?
|
||||||
|
if(isKioskModeActive(ctx)) {
|
||||||
|
wakeUpDevice(ctx);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void wakeUpDevice(AppContext context) {
|
||||||
|
PowerManager.WakeLock wakeLock = context.getWakeLock(); // get WakeLock reference via AppContext
|
||||||
|
if (wakeLock.isHeld()) {
|
||||||
|
wakeLock.release(); // release old wake lock
|
||||||
|
}
|
||||||
|
|
||||||
|
// create a new wake lock...
|
||||||
|
wakeLock.acquire();
|
||||||
|
|
||||||
|
// ... and release again
|
||||||
|
wakeLock.release();
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean isKioskModeActive(final Context context) {
|
||||||
|
return true;
|
||||||
|
// SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(context);
|
||||||
|
// return sp.getBoolean(PREF_KIOSK_MODE, false);
|
||||||
|
}
|
||||||
|
}
|
|
@ -188,4 +188,18 @@ public class ProgressActivity extends AppCompatActivity {
|
||||||
|
|
||||||
levelsLayout.addView(outroText);
|
levelsLayout.addView(outroText);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* For kioskmode
|
||||||
|
* @param hasFocus
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void onWindowFocusChanged(boolean hasFocus) {
|
||||||
|
super.onWindowFocusChanged(hasFocus);
|
||||||
|
if(!hasFocus) {
|
||||||
|
// Close every kind of system dialog
|
||||||
|
Intent closeDialog = new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
|
||||||
|
sendBroadcast(closeDialog);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.rubenvandeven.emotionhero;
|
package com.rubenvandeven.emotionhero;
|
||||||
|
|
||||||
|
import android.content.Intent;
|
||||||
import android.support.v7.app.AppCompatActivity;
|
import android.support.v7.app.AppCompatActivity;
|
||||||
import android.os.Bundle;
|
import android.os.Bundle;
|
||||||
import android.support.v7.widget.AppCompatTextView;
|
import android.support.v7.widget.AppCompatTextView;
|
||||||
|
@ -94,4 +95,17 @@ public class ReviewAchievementsActivity extends AppCompatActivity {
|
||||||
achievementsLayout.addView(titleText);
|
achievementsLayout.addView(titleText);
|
||||||
achievementsLayout.addView(descriptionLayout);
|
achievementsLayout.addView(descriptionLayout);
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* For kioskmode
|
||||||
|
* @param hasFocus
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void onWindowFocusChanged(boolean hasFocus) {
|
||||||
|
super.onWindowFocusChanged(hasFocus);
|
||||||
|
if(!hasFocus) {
|
||||||
|
// Close every kind of system dialog
|
||||||
|
Intent closeDialog = new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
|
||||||
|
sendBroadcast(closeDialog);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -353,4 +353,18 @@ public class ReviewActivity extends AppCompatActivity {
|
||||||
return super.onOptionsItemSelected(menuItem);
|
return super.onOptionsItemSelected(menuItem);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* For kioskmode
|
||||||
|
* @param hasFocus
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public void onWindowFocusChanged(boolean hasFocus) {
|
||||||
|
super.onWindowFocusChanged(hasFocus);
|
||||||
|
if(!hasFocus) {
|
||||||
|
// Close every kind of system dialog
|
||||||
|
Intent closeDialog = new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
|
||||||
|
sendBroadcast(closeDialog);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
<resources>
|
<resources>
|
||||||
<string name="app_name">Emotion Hero</string>
|
<string name="app_name">Emotion Hero - Exhibition Edition</string>
|
||||||
|
|
||||||
<string name="dummy_button">Dummy Button</string>
|
<string name="dummy_button">Dummy Button</string>
|
||||||
<string name="dummy_content">initialising…</string>
|
<string name="dummy_content">initialising…</string>
|
||||||
|
|
Loading…
Reference in a new issue