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