diff --git a/app/src/androidTest/java/org/isoron/uhabits/ui/MainTest.java b/app/src/androidTest/java/org/isoron/uhabits/ui/MainTest.java index 05877fcb0..bcd6b6530 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/ui/MainTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/ui/MainTest.java @@ -10,6 +10,7 @@ import android.test.suitebuilder.annotation.LargeTest; import org.isoron.uhabits.MainActivity; import org.isoron.uhabits.R; import org.isoron.uhabits.models.Habit; +import org.junit.After; import org.junit.Before; import org.junit.Rule; import org.junit.Test; @@ -58,6 +59,8 @@ import static org.isoron.uhabits.ui.ShowHabitActivityActions.openHistoryEditor; @LargeTest public class MainTest { + private SystemHelper sys; + @Rule public IntentsTestRule activityRule = new IntentsTestRule<>( MainActivity.class); @@ -66,13 +69,20 @@ public class MainTest public void setup() { Context context = InstrumentationRegistry.getInstrumentation().getContext(); - SystemHelper sys = new SystemHelper(context); + sys = new SystemHelper(context); sys.disableAllAnimations(); + sys.acquireWakeLock(); sys.unlockScreen(); skipTutorial(); } + @After + public void tearDown() + { + sys.releaseWakeLock(); + } + public void skipTutorial() { try diff --git a/app/src/androidTest/java/org/isoron/uhabits/ui/SystemHelper.java b/app/src/androidTest/java/org/isoron/uhabits/ui/SystemHelper.java index 718ac4ba3..807e3b36c 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/ui/SystemHelper.java +++ b/app/src/androidTest/java/org/isoron/uhabits/ui/SystemHelper.java @@ -4,6 +4,7 @@ import android.app.KeyguardManager; import android.content.Context; import android.content.pm.PackageManager; import android.os.IBinder; +import android.os.PowerManager; import android.support.test.runner.AndroidJUnitRunner; import android.util.Log; @@ -16,24 +17,39 @@ public final class SystemHelper extends AndroidJUnitRunner private static final float DEFAULT = 1.0f; private final Context context; + private PowerManager.WakeLock wakeLock; SystemHelper(Context context) { this.context = context; } + void acquireWakeLock() + { + PowerManager power = (PowerManager) context.getSystemService(Context.POWER_SERVICE); + wakeLock = power.newWakeLock(PowerManager.FULL_WAKE_LOCK | + PowerManager.ACQUIRE_CAUSES_WAKEUP | + PowerManager.ON_AFTER_RELEASE, getClass().getSimpleName()); + wakeLock.acquire(); + } + + void releaseWakeLock() + { + if(wakeLock != null) + wakeLock.release(); + } + void unlockScreen() { Log.i("SystemHelper", "Trying to unlock screen"); try { - KeyguardManager mKeyGuardManager = (KeyguardManager) context - .getSystemService(Context.KEYGUARD_SERVICE); + KeyguardManager mKeyGuardManager = + (KeyguardManager) context.getSystemService(Context.KEYGUARD_SERVICE); KeyguardManager.KeyguardLock mLock = mKeyGuardManager.newKeyguardLock("lock"); mLock.disableKeyguard(); Log.e("SystemHelper", "Successfully unlocked screen"); - } - catch (Exception e) + } catch (Exception e) { Log.e("SystemHelper", "Could not unlock screen"); e.printStackTrace(); @@ -44,10 +60,8 @@ public final class SystemHelper extends AndroidJUnitRunner { Log.i("SystemHelper", "Trying to disable animations"); int permStatus = context.checkCallingOrSelfPermission(ANIMATION_PERMISSION); - if (permStatus == PackageManager.PERMISSION_GRANTED) - setSystemAnimationsScale(DISABLED); - else - Log.e("SystemHelper", "Permission denied"); + if (permStatus == PackageManager.PERMISSION_GRANTED) setSystemAnimationsScale(DISABLED); + else Log.e("SystemHelper", "Permission denied"); } @@ -85,8 +99,7 @@ public final class SystemHelper extends AndroidJUnitRunner } catch (Exception e) { - Log.e("SystemHelper", - "Could not change animation scale to " + animationScale + " :'("); + Log.e("SystemHelper", "Could not change animation scale to " + animationScale + " :'("); } } } \ No newline at end of file diff --git a/app/src/debug/AndroidManifest.xml b/app/src/debug/AndroidManifest.xml index 10d453a48..7ba402e56 100644 --- a/app/src/debug/AndroidManifest.xml +++ b/app/src/debug/AndroidManifest.xml @@ -23,5 +23,6 @@ +