add MANAGE_CREDENTIALS appop
This is part of the work to support a credential management app on unmanaged devices. Bug: 165641221 Test: atest android.appsecurity.cts.AppOpsTest Change-Id: Ifd87b5e38f341db4b34bf9f61480e29e49148846
This commit is contained in:
@@ -1157,9 +1157,16 @@ public class AppOpsManager {
|
|||||||
// TODO: Add as AppProtoEnums
|
// TODO: Add as AppProtoEnums
|
||||||
public static final int OP_RECORD_AUDIO_HOTWORD = 102;
|
public static final int OP_RECORD_AUDIO_HOTWORD = 102;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Manage credentials in the system KeyChain.
|
||||||
|
*
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
public static final int OP_MANAGE_CREDENTIALS = AppProtoEnums.APP_OP_MANAGE_CREDENTIALS;
|
||||||
|
|
||||||
/** @hide */
|
/** @hide */
|
||||||
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
|
@UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
|
||||||
public static final int _NUM_OP = 104;
|
public static final int _NUM_OP = 105;
|
||||||
|
|
||||||
/** Access to coarse location information. */
|
/** Access to coarse location information. */
|
||||||
public static final String OPSTR_COARSE_LOCATION = "android:coarse_location";
|
public static final String OPSTR_COARSE_LOCATION = "android:coarse_location";
|
||||||
@@ -1510,6 +1517,13 @@ public class AppOpsManager {
|
|||||||
*/
|
*/
|
||||||
public static final String OPSTR_RECORD_AUDIO_HOTWORD = "android:record_audio_hotword";
|
public static final String OPSTR_RECORD_AUDIO_HOTWORD = "android:record_audio_hotword";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Manage credentials in the system KeyChain.
|
||||||
|
*
|
||||||
|
* @hide
|
||||||
|
*/
|
||||||
|
public static final String OPSTR_MANAGE_CREDENTIALS = "android:manage_credentials";
|
||||||
|
|
||||||
/** {@link #sAppOpsToNote} not initialized yet for this op */
|
/** {@link #sAppOpsToNote} not initialized yet for this op */
|
||||||
private static final byte SHOULD_COLLECT_NOTE_OP_NOT_INITIALIZED = 0;
|
private static final byte SHOULD_COLLECT_NOTE_OP_NOT_INITIALIZED = 0;
|
||||||
/** Should not collect noting of this app-op in {@link #sAppOpsToNote} */
|
/** Should not collect noting of this app-op in {@link #sAppOpsToNote} */
|
||||||
@@ -1704,6 +1718,7 @@ public class AppOpsManager {
|
|||||||
OP_PHONE_CALL_CAMERA, // OP_PHONE_CALL_CAMERA
|
OP_PHONE_CALL_CAMERA, // OP_PHONE_CALL_CAMERA
|
||||||
OP_RECORD_AUDIO_HOTWORD, // RECORD_AUDIO_HOTWORD
|
OP_RECORD_AUDIO_HOTWORD, // RECORD_AUDIO_HOTWORD
|
||||||
OP_MANAGE_ONGOING_CALLS, // MANAGE_ONGOING_CALLS
|
OP_MANAGE_ONGOING_CALLS, // MANAGE_ONGOING_CALLS
|
||||||
|
OP_MANAGE_CREDENTIALS, // MANAGE_CREDENTIALS
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1814,6 +1829,7 @@ public class AppOpsManager {
|
|||||||
OPSTR_PHONE_CALL_CAMERA,
|
OPSTR_PHONE_CALL_CAMERA,
|
||||||
OPSTR_RECORD_AUDIO_HOTWORD,
|
OPSTR_RECORD_AUDIO_HOTWORD,
|
||||||
OPSTR_MANAGE_ONGOING_CALLS,
|
OPSTR_MANAGE_ONGOING_CALLS,
|
||||||
|
OPSTR_MANAGE_CREDENTIALS,
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1925,6 +1941,7 @@ public class AppOpsManager {
|
|||||||
"PHONE_CALL_CAMERA",
|
"PHONE_CALL_CAMERA",
|
||||||
"RECORD_AUDIO_HOTWORD",
|
"RECORD_AUDIO_HOTWORD",
|
||||||
"MANAGE_ONGOING_CALLS",
|
"MANAGE_ONGOING_CALLS",
|
||||||
|
"MANAGE_CREDENTIALS",
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -2037,6 +2054,7 @@ public class AppOpsManager {
|
|||||||
null, // no permission for OP_PHONE_CALL_CAMERA
|
null, // no permission for OP_PHONE_CALL_CAMERA
|
||||||
null, // no permission for OP_RECORD_AUDIO_HOTWORD
|
null, // no permission for OP_RECORD_AUDIO_HOTWORD
|
||||||
Manifest.permission.MANAGE_ONGOING_CALLS,
|
Manifest.permission.MANAGE_ONGOING_CALLS,
|
||||||
|
null, // no permission for OP_MANAGE_CREDENTIALS
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -2149,6 +2167,7 @@ public class AppOpsManager {
|
|||||||
null, // PHONE_CALL_MICROPHONE
|
null, // PHONE_CALL_MICROPHONE
|
||||||
null, // RECORD_AUDIO_HOTWORD
|
null, // RECORD_AUDIO_HOTWORD
|
||||||
null, // MANAGE_ONGOING_CALLS
|
null, // MANAGE_ONGOING_CALLS
|
||||||
|
null, // MANAGE_CREDENTIALS
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -2260,6 +2279,7 @@ public class AppOpsManager {
|
|||||||
null, // PHONE_CALL_CAMERA
|
null, // PHONE_CALL_CAMERA
|
||||||
null, // RECORD_AUDIO_HOTWORD
|
null, // RECORD_AUDIO_HOTWORD
|
||||||
null, // MANAGE_ONGOING_CALLS
|
null, // MANAGE_ONGOING_CALLS
|
||||||
|
null, // MANAGE_CREDENTIALS
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -2370,6 +2390,7 @@ public class AppOpsManager {
|
|||||||
AppOpsManager.MODE_ALLOWED, // PHONE_CALL_CAMERA
|
AppOpsManager.MODE_ALLOWED, // PHONE_CALL_CAMERA
|
||||||
AppOpsManager.MODE_ALLOWED, // OP_RECORD_AUDIO_HOTWORD
|
AppOpsManager.MODE_ALLOWED, // OP_RECORD_AUDIO_HOTWORD
|
||||||
AppOpsManager.MODE_DEFAULT, // MANAGE_ONGOING_CALLS
|
AppOpsManager.MODE_DEFAULT, // MANAGE_ONGOING_CALLS
|
||||||
|
AppOpsManager.MODE_DEFAULT, // MANAGE_CREDENTIALS
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -2484,6 +2505,7 @@ public class AppOpsManager {
|
|||||||
false, // PHONE_CALL_CAMERA
|
false, // PHONE_CALL_CAMERA
|
||||||
false, // RECORD_AUDIO_HOTWORD
|
false, // RECORD_AUDIO_HOTWORD
|
||||||
true, // MANAGE_ONGOING_CALLS
|
true, // MANAGE_ONGOING_CALLS
|
||||||
|
false, // MANAGE_CREDENTIALS
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -211,4 +211,5 @@ enum AppOpEnum {
|
|||||||
APP_OP_PHONE_CALL_CAMERA = 101;
|
APP_OP_PHONE_CALL_CAMERA = 101;
|
||||||
APP_OP_RECORD_AUDIO_HOTWORD = 102;
|
APP_OP_RECORD_AUDIO_HOTWORD = 102;
|
||||||
APP_OP_MANAGE_ONGOING_CALLS = 103;
|
APP_OP_MANAGE_ONGOING_CALLS = 103;
|
||||||
|
APP_OP_MANAGE_CREDENTIALS = 104;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user