1fc018e467279f8d54aee7eba837ef2d604d795c1Bartosz Fabianowski/*
2fc018e467279f8d54aee7eba837ef2d604d795c1Bartosz Fabianowski * Copyright (C) 2017 The Android Open Source Project
3fc018e467279f8d54aee7eba837ef2d604d795c1Bartosz Fabianowski *
4fc018e467279f8d54aee7eba837ef2d604d795c1Bartosz Fabianowski * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
5fc018e467279f8d54aee7eba837ef2d604d795c1Bartosz Fabianowski * except in compliance with the License. You may obtain a copy of the License at
6fc018e467279f8d54aee7eba837ef2d604d795c1Bartosz Fabianowski *
7fc018e467279f8d54aee7eba837ef2d604d795c1Bartosz Fabianowski *      http://www.apache.org/licenses/LICENSE-2.0
8fc018e467279f8d54aee7eba837ef2d604d795c1Bartosz Fabianowski *
9fc018e467279f8d54aee7eba837ef2d604d795c1Bartosz Fabianowski * Unless required by applicable law or agreed to in writing, software distributed under the
10fc018e467279f8d54aee7eba837ef2d604d795c1Bartosz Fabianowski * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
11fc018e467279f8d54aee7eba837ef2d604d795c1Bartosz Fabianowski * KIND, either express or implied. See the License for the specific language governing
12fc018e467279f8d54aee7eba837ef2d604d795c1Bartosz Fabianowski * permissions and limitations under the License.
13fc018e467279f8d54aee7eba837ef2d604d795c1Bartosz Fabianowski */
14fc018e467279f8d54aee7eba837ef2d604d795c1Bartosz Fabianowskipackage com.android.settings.enterprise;
15fc018e467279f8d54aee7eba837ef2d604d795c1Bartosz Fabianowski
16fc018e467279f8d54aee7eba837ef2d604d795c1Bartosz Fabianowskiimport android.content.Context;
17fc018e467279f8d54aee7eba837ef2d604d795c1Bartosz Fabianowski
18b5f5ffbece14b4f2882144f465ee67b35d5aa567Fan Zhangimport com.android.settings.core.PreferenceControllerMixin;
19fc018e467279f8d54aee7eba837ef2d604d795c1Bartosz Fabianowskiimport com.android.settings.overlay.FeatureFactory;
20b5f5ffbece14b4f2882144f465ee67b35d5aa567Fan Zhangimport com.android.settingslib.core.AbstractPreferenceController;
21fc018e467279f8d54aee7eba837ef2d604d795c1Bartosz Fabianowski
22b076e00c5eed6720c5347a2d15890aa9d11157b0Bartosz Fabianowskipublic class AlwaysOnVpnManagedProfilePreferenceController
23b5f5ffbece14b4f2882144f465ee67b35d5aa567Fan Zhang        extends AbstractPreferenceController implements PreferenceControllerMixin {
24fc018e467279f8d54aee7eba837ef2d604d795c1Bartosz Fabianowski
25fc018e467279f8d54aee7eba837ef2d604d795c1Bartosz Fabianowski    private static final String KEY_ALWAYS_ON_VPN_MANAGED_PROFILE = "always_on_vpn_managed_profile";
26fc018e467279f8d54aee7eba837ef2d604d795c1Bartosz Fabianowski    private final EnterprisePrivacyFeatureProvider mFeatureProvider;
27fc018e467279f8d54aee7eba837ef2d604d795c1Bartosz Fabianowski
28b5f5ffbece14b4f2882144f465ee67b35d5aa567Fan Zhang    public AlwaysOnVpnManagedProfilePreferenceController(Context context) {
29b5f5ffbece14b4f2882144f465ee67b35d5aa567Fan Zhang        super(context);
30fc018e467279f8d54aee7eba837ef2d604d795c1Bartosz Fabianowski        mFeatureProvider = FeatureFactory.getFactory(context)
31fc018e467279f8d54aee7eba837ef2d604d795c1Bartosz Fabianowski                .getEnterprisePrivacyFeatureProvider(context);
32fc018e467279f8d54aee7eba837ef2d604d795c1Bartosz Fabianowski    }
33fc018e467279f8d54aee7eba837ef2d604d795c1Bartosz Fabianowski
34fc018e467279f8d54aee7eba837ef2d604d795c1Bartosz Fabianowski    @Override
35fc018e467279f8d54aee7eba837ef2d604d795c1Bartosz Fabianowski    public boolean isAvailable() {
36b5f5ffbece14b4f2882144f465ee67b35d5aa567Fan Zhang        return mFeatureProvider.isAlwaysOnVpnSetInManagedProfile();
37fc018e467279f8d54aee7eba837ef2d604d795c1Bartosz Fabianowski    }
38fc018e467279f8d54aee7eba837ef2d604d795c1Bartosz Fabianowski
39fc018e467279f8d54aee7eba837ef2d604d795c1Bartosz Fabianowski    @Override
40fc018e467279f8d54aee7eba837ef2d604d795c1Bartosz Fabianowski    public String getPreferenceKey() {
41fc018e467279f8d54aee7eba837ef2d604d795c1Bartosz Fabianowski        return KEY_ALWAYS_ON_VPN_MANAGED_PROFILE;
42fc018e467279f8d54aee7eba837ef2d604d795c1Bartosz Fabianowski    }
43fc018e467279f8d54aee7eba837ef2d604d795c1Bartosz Fabianowski}
44