1 /** 2 * Copyright (C) 2014 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 * use this file except in compliance with the License. You may obtain a copy 6 * of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 * License for the specific language governing permissions and limitations 14 * under the License. 15 */ 16 package android.app.usage.cts; 17 18 import android.annotation.Nullable; 19 import android.app.Activity; 20 import android.os.Bundle; 21 import android.util.ArraySet; 22 import android.util.Log; 23 import android.view.WindowManager; 24 25 public final class Activities { 26 27 public static final ArraySet<Activity> startedActivities = new ArraySet(); 28 29 private static class KeepScreenOnActivity extends Activity { 30 @Override onCreate(@ullable Bundle savedInstanceState)31 protected void onCreate(@Nullable Bundle savedInstanceState) { 32 super.onCreate(savedInstanceState); 33 getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); 34 } 35 @Override onStart()36 protected void onStart() { 37 super.onStart(); 38 synchronized (startedActivities) { 39 startedActivities.add(this); 40 } 41 } 42 @Override onStop()43 protected void onStop() { 44 super.onStop(); 45 synchronized (startedActivities) { 46 startedActivities.remove(this); 47 } 48 } 49 } 50 51 public static class ActivityOne extends KeepScreenOnActivity {} 52 public static class ActivityTwo extends KeepScreenOnActivity {} 53 public static class ActivityThree extends KeepScreenOnActivity {} 54 public static class ActivityFour extends KeepScreenOnActivity {} 55 Activities()56 private Activities() {} 57 } 58