summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Yuri Lin <yurilin@google.com> 2022-05-12 15:31:59 +0000
committer Android (Google) Code Review <android-gerrit@google.com> 2022-05-12 15:31:59 +0000
commitbcb47eb63672bffd6b36ae886affc6b8bea3365d (patch)
tree968c9d5685b17b821075c517a21dee78de838197
parentae05ae14791e8c968c106ed55df9e56ff3bb198e (diff)
parent65a0e59da477dcc67692e65c6e1dcf1e16189a63 (diff)
Merge "Remove "force user set on upgrade" setting" into tm-dev
-rw-r--r--core/res/res/values/config.xml6
-rw-r--r--core/res/res/values/symbols.xml1
-rwxr-xr-xservices/core/java/com/android/server/notification/NotificationManagerService.java8
-rw-r--r--services/core/java/com/android/server/notification/PermissionHelper.java7
-rw-r--r--services/tests/uiservicestests/src/com/android/server/notification/PermissionHelperTest.java65
5 files changed, 4 insertions, 83 deletions
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index 047cb204916a..df7f34a357c3 100644
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -2998,12 +2998,6 @@
</string-array>
- <!-- When migrating notification settings into the permission framework, whether all existing
- apps should be marked as 'user-set' (true) or whether only the apps that have explicitly
- modified notification settings should be marked as 'user-set' (false). Users will not see
- system generated permission prompts for 'user-set' apps. -->
- <bool name="config_notificationForceUserSetOnUpgrade">true</bool>
-
<!-- Default Gravity setting for the system Toast view. Equivalent to: Gravity.CENTER_HORIZONTAL | Gravity.BOTTOM -->
<integer name="config_toastDefaultGravity">0x00000051</integer>
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index bf4199100506..4e1839d6e338 100644
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -4776,7 +4776,6 @@
<java-symbol type="integer" name="config_bg_current_drain_exempted_types" />
<java-symbol type="bool" name="config_bg_current_drain_high_threshold_by_bg_location" />
<java-symbol type="drawable" name="ic_swap_horiz" />
- <java-symbol type="bool" name="config_notificationForceUserSetOnUpgrade" />
<java-symbol type="array" name="config_deviceStatesAvailableForAppRequests" />
<java-symbol type="array" name="config_serviceStateLocationAllowedPackages" />
diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java
index b6376a95f88e..0eda980a29b6 100755
--- a/services/core/java/com/android/server/notification/NotificationManagerService.java
+++ b/services/core/java/com/android/server/notification/NotificationManagerService.java
@@ -656,7 +656,6 @@ public class NotificationManagerService extends SystemService {
private int mWarnRemoteViewsSizeBytes;
private int mStripRemoteViewsSizeBytes;
- private boolean mForceUserSetOnUpgrade;
private MetricsLogger mMetricsLogger;
private NotificationChannelLogger mNotificationChannelLogger;
@@ -2472,9 +2471,6 @@ public class NotificationManagerService extends SystemService {
WorkerHandler handler = new WorkerHandler(Looper.myLooper());
- mForceUserSetOnUpgrade = getContext().getResources().getBoolean(
- R.bool.config_notificationForceUserSetOnUpgrade);
-
init(handler, new RankingHandlerWorker(mRankingThread.getLooper()),
AppGlobals.getPackageManager(), getContext().getPackageManager(),
getLocalService(LightsManager.class),
@@ -2503,8 +2499,7 @@ public class NotificationManagerService extends SystemService {
LocalServices.getService(ActivityManagerInternal.class),
createToastRateLimiter(), new PermissionHelper(LocalServices.getService(
PermissionManagerServiceInternal.class), AppGlobals.getPackageManager(),
- AppGlobals.getPermissionManager(),
- mForceUserSetOnUpgrade),
+ AppGlobals.getPermissionManager()),
LocalServices.getService(UsageStatsManagerInternal.class),
getContext().getSystemService(TelecomManager.class),
new NotificationChannelLoggerImpl());
@@ -6153,7 +6148,6 @@ public class NotificationManagerService extends SystemService {
pw.println(" mMaxPackageEnqueueRate=" + mMaxPackageEnqueueRate);
pw.println(" hideSilentStatusBar="
+ mPreferencesHelper.shouldHideSilentStatusIcons());
- pw.println(" mForceUserSetOnUpgrade=" + mForceUserSetOnUpgrade);
}
pw.println(" mArchive=" + mArchive.toString());
mArchive.dumpImpl(pw, filter);
diff --git a/services/core/java/com/android/server/notification/PermissionHelper.java b/services/core/java/com/android/server/notification/PermissionHelper.java
index b2fee1e8b545..a28547b1cda9 100644
--- a/services/core/java/com/android/server/notification/PermissionHelper.java
+++ b/services/core/java/com/android/server/notification/PermissionHelper.java
@@ -55,14 +55,12 @@ public final class PermissionHelper {
private final PermissionManagerServiceInternal mPmi;
private final IPackageManager mPackageManager;
private final IPermissionManager mPermManager;
- private final boolean mForceUserSetOnUpgrade;
public PermissionHelper(PermissionManagerServiceInternal pmi, IPackageManager packageManager,
- IPermissionManager permManager, boolean forceUserSetOnUpgrade) {
+ IPermissionManager permManager) {
mPmi = pmi;
mPackageManager = packageManager;
mPermManager = permManager;
- mForceUserSetOnUpgrade = forceUserSetOnUpgrade;
}
/**
@@ -212,9 +210,8 @@ public final class PermissionHelper {
return;
}
if (!isPermissionFixed(pkgPerm.packageName, pkgPerm.userId)) {
- boolean userSet = mForceUserSetOnUpgrade ? true : pkgPerm.userModifiedSettings;
setNotificationPermission(pkgPerm.packageName, pkgPerm.userId, pkgPerm.granted,
- userSet, !userSet);
+ true /* userSet always true on upgrade */);
}
}
diff --git a/services/tests/uiservicestests/src/com/android/server/notification/PermissionHelperTest.java b/services/tests/uiservicestests/src/com/android/server/notification/PermissionHelperTest.java
index 3a352cbe1900..9b1d9c4eed22 100644
--- a/services/tests/uiservicestests/src/com/android/server/notification/PermissionHelperTest.java
+++ b/services/tests/uiservicestests/src/com/android/server/notification/PermissionHelperTest.java
@@ -26,8 +26,6 @@ import static android.content.pm.PackageManager.PERMISSION_GRANTED;
import static com.google.common.truth.Truth.assertThat;
-import static junit.framework.Assert.fail;
-
import static org.mockito.ArgumentMatchers.anyBoolean;
import static org.mockito.ArgumentMatchers.anyInt;
import static org.mockito.ArgumentMatchers.anyLong;
@@ -54,7 +52,6 @@ import com.android.server.pm.permission.PermissionManagerServiceInternal;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Lists;
import org.junit.Before;
import org.junit.Test;
@@ -62,14 +59,7 @@ import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.MockitoAnnotations;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-import java.lang.reflect.Parameter;
-import java.lang.reflect.Type;
-import java.util.List;
import java.util.Map;
-import java.util.Objects;
import java.util.Set;
@SmallTest
@@ -88,7 +78,7 @@ public class PermissionHelperTest extends UiServiceTestCase {
@Before
public void setUp() throws Exception {
MockitoAnnotations.initMocks(this);
- mPermissionHelper = new PermissionHelper(mPmi, mPackageManager, mPermManager, false);
+ mPermissionHelper = new PermissionHelper(mPmi, mPackageManager, mPermManager);
PackageInfo testPkgInfo = new PackageInfo();
testPkgInfo.requestedPermissions = new String[]{ Manifest.permission.POST_NOTIFICATIONS };
when(mPackageManager.getPackageInfo(anyString(), anyLong(), anyInt()))
@@ -212,61 +202,8 @@ public class PermissionHelperTest extends UiServiceTestCase {
}
@Test
- public void testSetNotificationPermission_pkgPerm_grantReviewRequired() throws Exception {
- when(mPmi.checkPermission(anyString(), anyString(), anyInt()))
- .thenReturn(PERMISSION_DENIED);
-
- PermissionHelper.PackagePermission pkgPerm = new PermissionHelper.PackagePermission(
- "pkg", 10, true, false);
- mPermissionHelper.setNotificationPermission(pkgPerm);
-
- verify(mPermManager, never()).revokeRuntimePermission(
- "pkg", Manifest.permission.POST_NOTIFICATIONS, 10, "PermissionHelper");
- verify(mPermManager).updatePermissionFlags("pkg", Manifest.permission.POST_NOTIFICATIONS,
- FLAG_PERMISSION_REVIEW_REQUIRED, FLAG_PERMISSION_REVIEW_REQUIRED, true, 10);
- }
-
- @Test
- public void testSetNotificationPermission_pkgPerm_notUserSet_grantedByDefaultPermNotSet()
- throws Exception {
- when(mPmi.checkPermission(anyString(), anyString(), anyInt()))
- .thenReturn(PERMISSION_DENIED);
- when(mPermManager.getPermissionFlags(anyString(),
- eq(Manifest.permission.POST_NOTIFICATIONS),
- anyInt())).thenReturn(FLAG_PERMISSION_GRANTED_BY_DEFAULT);
- PermissionHelper.PackagePermission pkgPerm = new PermissionHelper.PackagePermission(
- "pkg", 10, true, false);
-
- mPermissionHelper.setNotificationPermission(pkgPerm);
- verify(mPermManager, never()).revokeRuntimePermission(
- anyString(), anyString(), anyInt(), anyString());
- verify(mPermManager, never()).updatePermissionFlags(
- anyString(), anyString(), anyInt(), anyInt(), anyBoolean(), anyInt());
- }
-
- @Test
- public void testSetNotificationPermission_pkgPerm_userSet_grantedByDefaultPermSet()
- throws Exception {
- when(mPmi.checkPermission(anyString(), anyString(), anyInt()))
- .thenReturn(PERMISSION_DENIED);
- when(mPermManager.getPermissionFlags(anyString(),
- eq(Manifest.permission.POST_NOTIFICATIONS),
- anyInt())).thenReturn(FLAG_PERMISSION_GRANTED_BY_DEFAULT);
- PermissionHelper.PackagePermission pkgPerm = new PermissionHelper.PackagePermission(
- "pkg", 10, true, true);
-
- mPermissionHelper.setNotificationPermission(pkgPerm);
- verify(mPermManager).grantRuntimePermission(
- "pkg", Manifest.permission.POST_NOTIFICATIONS, 10);
- verify(mPermManager).updatePermissionFlags("pkg", Manifest.permission.POST_NOTIFICATIONS,
- FLAG_PERMISSION_USER_SET | FLAG_PERMISSION_REVIEW_REQUIRED,
- FLAG_PERMISSION_USER_SET, true, 10);
- }
-
- @Test
public void testSetNotificationPermission_pkgPerm_grantedByDefaultPermSet_allUserSet()
throws Exception {
- mPermissionHelper = new PermissionHelper(mPmi, mPackageManager, mPermManager, true);
when(mPmi.checkPermission(anyString(), anyString(), anyInt()))
.thenReturn(PERMISSION_DENIED);
when(mPermManager.getPermissionFlags(anyString(),