• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2023 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy 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,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package com.android.devicelockcontroller.storage;
18 
19 import android.app.Service;
20 import android.content.Context;
21 import android.content.Intent;
22 import android.os.IBinder;
23 
24 import com.android.devicelockcontroller.common.DeviceLockConstants.DeviceProvisionState;
25 import com.android.devicelockcontroller.util.LogUtil;
26 
27 import java.util.ArrayList;
28 import java.util.List;
29 
30 /**
31  * A class exposing Global Parameters as a service.
32  */
33 public final class GlobalParametersService extends Service {
34     private static final String TAG = "GlobalParametersService";
35 
36     private Context mContext;
37 
38     private final IGlobalParametersService.Stub mBinder =
39             new IGlobalParametersService.Stub() {
40                 @Override
41                 public void clear() {
42                     GlobalParameters.clear(mContext);
43                 }
44 
45                 @Override
46                 public List<String> getLockTaskAllowlist() {
47                     return GlobalParameters.getLockTaskAllowlist(mContext);
48                 }
49 
50                 @Override
51                 public void setLockTaskAllowlist(List<String> allowlist) {
52                     GlobalParameters.setLockTaskAllowlist(mContext, new ArrayList<>(allowlist));
53                 }
54 
55                 @Override
56                 public boolean needCheckIn() {
57                     return GlobalParameters.needCheckIn(mContext);
58                 }
59 
60                 @Override
61                 public void setNeedCheckIn(boolean needCheckIn) {
62                     GlobalParameters.setNeedCheckIn(mContext, needCheckIn);
63                 }
64 
65                 @Override
66                 public String getRegisteredDeviceId() {
67                     return GlobalParameters.getRegisteredDeviceId(mContext);
68                 }
69 
70                 @Override
71                 public void setRegisteredDeviceId(String registeredDeviceId) {
72                     GlobalParameters.setRegisteredDeviceId(mContext, registeredDeviceId);
73                 }
74 
75                 @Override
76                 public boolean isProvisionForced() {
77                     return GlobalParameters.isProvisionForced(mContext);
78                 }
79 
80                 @Override
81                 public void setProvisionForced(boolean isForced) {
82                     GlobalParameters.setProvisionForced(mContext, isForced);
83                 }
84 
85                 @Override
86                 public String getEnrollmentToken() {
87                     return GlobalParameters.getEnrollmentToken(mContext);
88                 }
89 
90                 @Override
91                 public void setEnrollmentToken(String token) {
92                     GlobalParameters.setEnrollmentToken(mContext, token);
93                 }
94 
95                 @Override
96                 public String getKioskSignature() {
97                     return GlobalParameters.getKioskSignature(mContext);
98                 }
99 
100                 @Override
101                 public void setKioskSignature(String kioskSignature) {
102                     GlobalParameters.setKioskSignature(mContext, kioskSignature);
103                 }
104 
105                 @Override
106                 @DeviceProvisionState
107                 public int getLastReceivedProvisionState() {
108                     return GlobalParameters.getLastReceivedProvisionState(mContext);
109                 }
110 
111                 @Override
112                 public void setLastReceivedProvisionState(
113                         @DeviceProvisionState int provisionState) {
114                     GlobalParameters.setLastReceivedProvisionState(mContext, provisionState);
115                 }
116 
117 
118             };
119 
120     @Override
onCreate()121     public void onCreate() {
122         LogUtil.d(TAG, "onCreate");
123         mContext = this;
124     }
125 
126     @Override
onBind(Intent intent)127     public IBinder onBind(Intent intent) {
128         return mBinder;
129     }
130 }
131