xref: /aosp_15_r20/cts/tests/tests/app.usage/src/android/app/usage/cts/Activities.java (revision b7c941bb3fa97aba169d73cee0bed2de8ac964bf)
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 
17 package android.app.usage.cts;
18 
19 import android.annotation.Nullable;
20 import android.app.Activity;
21 import android.os.Bundle;
22 import android.util.ArraySet;
23 import android.view.WindowManager;
24 
25 public final class Activities {
26 
27     public static final ArraySet<Activity> sStartedActivities = 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 
36         @Override
onStart()37         protected void onStart() {
38             super.onStart();
39             synchronized (sStartedActivities) {
40                 sStartedActivities.add(this);
41             }
42         }
43 
44         @Override
onStop()45         protected void onStop() {
46             super.onStop();
47             synchronized (sStartedActivities) {
48                 sStartedActivities.remove(this);
49             }
50         }
51     }
52 
53     public static class ActivityOne extends KeepScreenOnActivity {}
54     public static class ActivityTwo extends KeepScreenOnActivity {}
55     public static class ActivityThree extends KeepScreenOnActivity {}
56     public static class ActivityFour extends KeepScreenOnActivity {}
57 
Activities()58     private Activities() {}
59 }
60