Update PiP AppOps flag to enforce all PiP functionality.

- Previously it only enforced whether an app could enter PiP as it was
  hiding.
- Also updating metrics constant name to reflect the change.
- Adding public OPSTR for apps to check if it the user has disabled PiP

Bug: 35957404
Test: android.server.cts.ActivityManagerPinnedStackTests
Change-Id: I979b5c6d4c85946623999ced1cfb197d830ccecb
This commit is contained in:
Winson Chung
2017-03-17 12:34:12 -07:00
parent d7bc388f30
commit f4ac063f3e
6 changed files with 31 additions and 22 deletions

View File

@@ -245,8 +245,8 @@ public class AppOpsManager {
public static final int OP_READ_PHONE_NUMBER = 65;
/** @hide Request package installs through package installer */
public static final int OP_REQUEST_INSTALL_PACKAGES = 66;
/** @hide Enter picture-in-picture when hidden. */
public static final int OP_ENTER_PICTURE_IN_PICTURE_ON_HIDE = 67;
/** @hide Enter picture-in-picture. */
public static final int OP_PICTURE_IN_PICTURE = 67;
/** @hide Instant app start foreground service. */
public static final int OP_INSTANT_APP_START_FOREGROUND = 68;
/** @hide Answer incoming phone calls */
@@ -355,6 +355,9 @@ public class AppOpsManager {
= "android:get_accounts";
public static final String OPSTR_READ_PHONE_NUMBER
= "android:read_phone_number";
/** Access to picture-in-picture. */
public static final String OPSTR_PICTURE_IN_PICTURE
= "android:picture_in_picture";
/** @hide */
public static final String OPSTR_INSTANT_APP_START_FOREGROUND
= "android:instant_app_start_foreground";
@@ -484,7 +487,7 @@ public class AppOpsManager {
OP_AUDIO_ACCESSIBILITY_VOLUME,
OP_READ_PHONE_NUMBER,
OP_REQUEST_INSTALL_PACKAGES,
OP_ENTER_PICTURE_IN_PICTURE_ON_HIDE,
OP_PICTURE_IN_PICTURE,
OP_INSTANT_APP_START_FOREGROUND,
OP_ANSWER_PHONE_CALLS
};
@@ -561,7 +564,7 @@ public class AppOpsManager {
null, // OP_AUDIO_ACCESSIBILITY_VOLUME
OPSTR_READ_PHONE_NUMBER,
null, // OP_REQUEST_INSTALL_PACKAGES
null,
OPSTR_PICTURE_IN_PICTURE,
OPSTR_INSTANT_APP_START_FOREGROUND,
OPSTR_ANSWER_PHONE_CALLS,
};
@@ -638,7 +641,7 @@ public class AppOpsManager {
"AUDIO_ACCESSIBILITY_VOLUME",
"READ_PHONE_NUMBER",
"REQUEST_INSTALL_PACKAGES",
"OP_ENTER_PICTURE_IN_PICTURE_ON_HIDE",
"PICTURE_IN_PICTURE",
"INSTANT_APP_START_FOREGROUND",
"ANSWER_PHONE_CALLS",
};
@@ -946,7 +949,7 @@ public class AppOpsManager {
AppOpsManager.MODE_ALLOWED, // OP_AUDIO_ACCESSIBILITY_VOLUME
AppOpsManager.MODE_ALLOWED,
AppOpsManager.MODE_DEFAULT, // OP_REQUEST_INSTALL_PACKAGES
AppOpsManager.MODE_ALLOWED, // OP_ENTER_PICTURE_IN_PICTURE_ON_HIDE
AppOpsManager.MODE_ALLOWED, // OP_PICTURE_IN_PICTURE
AppOpsManager.MODE_DEFAULT, // OP_INSTANT_APP_START_FOREGROUND
AppOpsManager.MODE_ALLOWED, // ANSWER_PHONE_CALLS
};
@@ -1026,7 +1029,7 @@ public class AppOpsManager {
false, // OP_AUDIO_ACCESSIBILITY_VOLUME
false,
false, // OP_REQUEST_INSTALL_PACKAGES
false, // OP_ENTER_PICTURE_IN_PICTURE_ON_HIDE
false, // OP_PICTURE_IN_PICTURE
false,
false, // ANSWER_PHONE_CALLS
};