/*
* Copyright (C) 2010 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 static android.net.NetworkCapabilities.NET_ENTERPRISE_ID_1;
import static com.android.internal.util.function.pooled.PooledLambda.obtainMessage;
import android.Manifest.permission;
import android.accounts.Account;
import android.annotation.CallbackExecutor;
import android.annotation.ColorInt;
import android.annotation.IntDef;
import android.annotation.NonNull;
import android.annotation.Nullable;
import android.annotation.RequiresFeature;
import android.annotation.RequiresPermission;
import android.annotation.SdkConstant;
import android.annotation.SdkConstant.SdkConstantType;
import android.annotation.StringDef;
import android.annotation.SuppressLint;
import android.annotation.SystemApi;
import android.annotation.SystemService;
import android.annotation.TestApi;
import android.annotation.UserHandleAware;
import android.annotation.UserIdInt;
import android.annotation.WorkerThread;
import android.app.Activity;
import android.app.IServiceConnection;
import android.app.KeyguardManager;
import android.app.admin.SecurityLog.SecurityEvent;
import android.compat.annotation.UnsupportedAppUsage;
import android.content.ComponentName;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.ServiceConnection;
import android.content.pm.ApplicationInfo;
import android.content.pm.IPackageDataObserver;
import android.content.pm.PackageManager;
import android.content.pm.PackageManager.NameNotFoundException;
import android.content.pm.ParceledListSlice;
import android.content.pm.UserInfo;
import android.graphics.Bitmap;
import android.graphics.drawable.Drawable;
import android.net.PrivateDnsConnectivityChecker;
import android.net.ProxyInfo;
import android.net.Uri;
import android.nfc.NfcAdapter;
import android.os.Binder;
import android.os.Build;
import android.os.Bundle;
import android.os.IpcDataCache;
import android.os.ParcelFileDescriptor;
import android.os.Parcelable;
import android.os.PersistableBundle;
import android.os.Process;
import android.os.RemoteCallback;
import android.os.RemoteException;
import android.os.ServiceSpecificException;
import android.os.UserHandle;
import android.os.UserManager;
import android.os.UserManager.UserOperationException;
import android.os.UserManager.UserOperationResult;
import android.provider.CalendarContract;
import android.provider.ContactsContract.Directory;
import android.provider.Settings;
import android.security.AttestedKeyPair;
import android.security.Credentials;
import android.security.KeyChain;
import android.security.KeyChainException;
import android.security.keymaster.KeymasterCertificateChain;
import android.security.keystore.AttestationUtils;
import android.security.keystore.KeyAttestationException;
import android.security.keystore.KeyGenParameterSpec;
import android.security.keystore.ParcelableKeyGenParameterSpec;
import android.security.keystore.StrongBoxUnavailableException;
import android.service.restrictions.RestrictionsReceiver;
import android.telephony.TelephonyManager;
import android.telephony.data.ApnSetting;
import android.text.TextUtils;
import android.util.ArraySet;
import android.util.DebugUtils;
import android.util.Log;
import android.util.Pair;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.infra.AndroidFuture;
import com.android.internal.net.NetworkUtilsInternal;
import com.android.internal.os.BackgroundThread;
import com.android.internal.util.Preconditions;
import com.android.org.conscrypt.TrustedCertificateStore;
import java.io.ByteArrayInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.net.InetSocketAddress;
import java.net.Proxy;
import java.security.KeyFactory;
import java.security.KeyPair;
import java.security.NoSuchAlgorithmException;
import java.security.PrivateKey;
import java.security.cert.Certificate;
import java.security.cert.CertificateException;
import java.security.cert.CertificateFactory;
import java.security.cert.X509Certificate;
import java.security.spec.InvalidKeySpecException;
import java.security.spec.PKCS8EncodedKeySpec;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Executor;
import java.util.function.Consumer;
// TODO(b/172376923) - add CarDevicePolicyManager examples below (or remove reference to it).
/**
* Public interface for managing policies enforced on a device. Most clients of this class must be
* registered with the system as a <a href="{@docRoot}guide/topics/admin/device-admin.html">device
* administrator</a>. Additionally, a device administrator may be registered as either a profile or
* device owner. A given method is accessible to all device administrators unless the documentation
* for that method specifies that it is restricted to either device or profile owners. Any
* application calling an api may only pass as an argument a device administrator component it
* owns. Otherwise, a {@link SecurityException} will be thrown.
*
* <p><b>Note: </b>on
* {@link android.content.pm.PackageManager#FEATURE_AUTOMOTIVE automotive builds}, some methods can
* throw an {@link UnsafeStateException} exception (for example, if the vehicle is moving), so
* callers running on automotive builds should wrap every method call under the methods provided by
* {@code android.car.admin.CarDevicePolicyManager}.
*
* <div class="special reference">
* <h3>Developer Guides</h3>
* <p>
* For more information about managing policies for device administration, read the <a href=
* "{@docRoot}guide/topics/admin/device-admin.html">Device Administration</a> developer
* guide. </div>
*/
@SystemService(Context.DEVICE_POLICY_SERVICE)
@RequiresFeature(PackageManager.FEATURE_DEVICE_ADMIN)
@SuppressLint("UseIcu")
public class DevicePolicyManager {
private static String TAG = "DevicePolicyManager";
private final Context mContext;
private final IDevicePolicyManager mService;
private final boolean mParentInstance;
private final DevicePolicyResourcesManager mResourcesManager;
/** @hide */
public DevicePolicyManager(Context context, IDevicePolicyManager service) {
this(context, service, false);
}
/** @hide */
@VisibleForTesting
protected DevicePolicyManager(Context context, IDevicePolicyManager service,
boolean parentInstance) {
mContext = context;
mService = service;
mParentInstance = parentInstance;
mResourcesManager = new DevicePolicyResourcesManager(context, service);
}
/**
* Fetch the current value of mService. This is used in the binder cache lambda
* expressions.
*/
private final IDevicePolicyManager getService() {
return mService;
}
/**
* Fetch the current value of mParentInstance. This is used in the binder cache
* lambda expressions.
*/
private final boolean isParentInstance() {
return mParentInstance;
}
/**
* Fetch the current value of mContext. This is us
没有合适的资源?快使用搜索试试~ 我知道了~
Android 13 源码下载(33)
共2000个文件
java:2000个
需积分: 5 2 下载量 5 浏览量
2023-08-06
11:43:10
上传
评论
收藏 46.3MB ZIP 举报
温馨提示
Android 13 源码下载(33)
资源推荐
资源详情
资源评论
收起资源包目录
Android 13 源码下载(33) (2000个子文件)
DevicePolicyManager.java 697KB
Notification.java 515KB
BatteryStats.java 384KB
Activity.java 382KB
AudioManager.java 351KB
ActivityThread.java 347KB
CameraCharacteristics.java 307KB
CaptureResult.java 305KB
MediaPlayer.java 249KB
ExifInterface.java 239KB
CaptureRequest.java 227KB
UserManager.java 215KB
MediaCodec.java 211KB
AudioTrack.java 202KB
ActivityManager.java 199KB
MediaCodecInfo.java 194KB
Parcel.java 194KB
ScriptIntrinsicBLAS.java 192KB
CameraMetadata.java 191KB
Camera.java 183KB
LocationManager.java 147KB
FragmentManager.java 146KB
AccessibilityService.java 143KB
ContextImpl.java 135KB
ApplicationPackageManager.java 135KB
Allocation.java 130KB
TvInputManager.java 130KB
TCKLocalDateTime.java 128KB
StrictMode.java 126KB
TvContract.java 126KB
TCKDuration.java 124KB
MandatoryStreamCombination.java 122KB
MediaDrm.java 120KB
MediaRouter.java 119KB
CameraManager.java 119KB
PowerManager.java 118KB
StorageManager.java 112KB
CameraDevice.java 111KB
TCKZonedDateTime.java 111KB
TvInputService.java 109KB
FloatingDecimal.java 109KB
AudioRecord.java 107KB
CameraDeviceImpl.java 102KB
WallpaperManager.java 102KB
TCKLocalTime.java 102KB
HdmiControlManager.java 102KB
TCKLocalDate.java 101KB
AudioSystem.java 100KB
DynamicsProcessing.java 99KB
Debug.java 98KB
TCKInstant.java 97KB
AssistStructure.java 95KB
LoadedApk.java 95KB
NfcAdapter.java 95KB
CameraMetadataNative.java 94KB
MediaFormat.java 94KB
Tuner.java 93KB
StreamConfigurationMap.java 88KB
Cea708CaptionRenderer.java 88KB
JobInfo.java 86KB
SoundTrigger.java 85KB
CameraExtensionSessionImpl.java 84KB
MediaRecorder.java 84KB
KeyGenParameterSpec.java 83KB
CameraCaptureSession.java 81KB
MediaRouter2.java 81KB
DevicePolicyResources.java 79KB
SensorManager.java 77KB
TCKOffsetDateTime.java 76KB
AudioAttributes.java 75KB
TCKDateTimeFormatters.java 73KB
PermissionManager.java 73KB
SplitController.java 72KB
GnssMeasurement.java 72KB
RenderScript.java 70KB
ResourcesManager.java 69KB
RadioManager.java 69KB
Build.java 69KB
TvInteractiveAppManager.java 69KB
AudioFormat.java 68KB
UsageStatsManager.java 68KB
TCKDateTimeFormatterBuilder.java 67KB
AlarmManager.java 67KB
WindowContainerTransaction.java 66KB
PendingIntent.java 65KB
InputManager.java 64KB
WebVttRenderer.java 64KB
UiAutomation.java 64KB
FragmentTransition.java 63KB
OutputConfiguration.java 63KB
RecoverySystem.java 63KB
VolumeShaper.java 62KB
MediaSession.java 62KB
TCKDateTimeParseResolver.java 62KB
AccessibilityServiceInfo.java 62KB
TCKYearMonth.java 62KB
TCKOffsetTime.java 62KB
VibrationEffect.java 61KB
TvInteractiveAppService.java 61KB
BaseBundle.java 61KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
小哥在魔都
- 粉丝: 2
- 资源: 13
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功