113 lines
3.7 KiB
Java
113 lines
3.7 KiB
Java
![]() |
/*
|
||
|
* Copyright (C) 2022 The Android Open Source Project
|
||
|
*
|
||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||
|
* you may not use this file except in compliance with the License.
|
||
|
* You may obtain a copy of the License at
|
||
|
*
|
||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||
|
*
|
||
|
* Unless required by applicable law or agreed to in writing, software
|
||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
|
* See the License for the specific language governing permissions and
|
||
|
* limitations under the License.
|
||
|
*/
|
||
|
|
||
|
package android.app.admin;
|
||
|
|
||
|
import android.annotation.IntDef;
|
||
|
|
||
|
import java.lang.annotation.Retention;
|
||
|
import java.lang.annotation.RetentionPolicy;
|
||
|
|
||
|
/**
|
||
|
* Class containing the reason for the policy (set from {@link DevicePolicyManager}) update (e.g.
|
||
|
* success, failure reasons, etc.). This is passed in to
|
||
|
* {@link PolicyUpdateReceiver#onPolicySetResult}) and
|
||
|
* {@link PolicyUpdateReceiver#onPolicyChanged}).
|
||
|
*/
|
||
|
public final class PolicyUpdateResult {
|
||
|
|
||
|
/**
|
||
|
* Result code to indicate that the policy has not been enforced or has changed for an unknown
|
||
|
* reason.
|
||
|
*/
|
||
|
public static final int RESULT_FAILURE_UNKNOWN = -1;
|
||
|
|
||
|
/**
|
||
|
* Result code to indicate that the policy has been changed to the desired value set by
|
||
|
* the admin.
|
||
|
*/
|
||
|
public static final int RESULT_POLICY_SET = 0;
|
||
|
|
||
|
/**
|
||
|
* Result code to indicate that the policy has not been enforced or has changed because another
|
||
|
* admin has set a conflicting policy on the device.
|
||
|
*
|
||
|
* <p>The system will automatically try to enforce the policy when it can without additional
|
||
|
* calls from the admin.
|
||
|
*/
|
||
|
public static final int RESULT_FAILURE_CONFLICTING_ADMIN_POLICY = 1;
|
||
|
|
||
|
/**
|
||
|
* Result code to indicate that the policy set by the admin has been successfully cleared,
|
||
|
* admins will no longer receive policy updates for this policy after this point.
|
||
|
*
|
||
|
* <p>Note that the policy can still be enforced by some other admin.
|
||
|
*/
|
||
|
public static final int RESULT_POLICY_CLEARED = 2;
|
||
|
|
||
|
/**
|
||
|
* Result code to indicate that the policy set by the admin has not been enforced because the
|
||
|
* local storage has reached its max limit.
|
||
|
*
|
||
|
* <p>The system will NOT try to automatically store and enforce this policy again.
|
||
|
*/
|
||
|
public static final int RESULT_FAILURE_STORAGE_LIMIT_REACHED = 3;
|
||
|
|
||
|
/**
|
||
|
* Result code to indicate that the policy set by the admin has not been enforced because of a
|
||
|
* permanent hardware limitation/issue.
|
||
|
*
|
||
|
* <p>The system will NOT try to automatically store and enforce this policy again.
|
||
|
*/
|
||
|
public static final int RESULT_FAILURE_HARDWARE_LIMITATION = 4;
|
||
|
|
||
|
/**
|
||
|
* Reason codes for {@link #getResultCode()}.
|
||
|
*
|
||
|
* @hide
|
||
|
*/
|
||
|
@Retention(RetentionPolicy.SOURCE)
|
||
|
@IntDef(prefix = { "RESULT_" }, value = {
|
||
|
RESULT_FAILURE_UNKNOWN,
|
||
|
RESULT_POLICY_SET,
|
||
|
RESULT_FAILURE_CONFLICTING_ADMIN_POLICY,
|
||
|
RESULT_POLICY_CLEARED,
|
||
|
RESULT_FAILURE_STORAGE_LIMIT_REACHED,
|
||
|
RESULT_FAILURE_HARDWARE_LIMITATION
|
||
|
})
|
||
|
public @interface ResultCode {}
|
||
|
|
||
|
private final int mResultCode;
|
||
|
|
||
|
/**
|
||
|
* Constructor for {@code PolicyUpdateResult} that takes in a result code describing why the
|
||
|
* policy has changed.
|
||
|
*
|
||
|
* @param resultCode Describes why the policy has changed.
|
||
|
*/
|
||
|
public PolicyUpdateResult(@ResultCode int resultCode) {
|
||
|
this.mResultCode = resultCode;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Returns result code describing why the policy has changed.
|
||
|
*/
|
||
|
@ResultCode
|
||
|
public int getResultCode() {
|
||
|
return mResultCode;
|
||
|
}
|
||
|
}
|