summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/res/res/values/config.xml4
-rw-r--r--core/res/res/values/symbols.xml2
-rw-r--r--services/core/java/com/android/server/PinnerService.java13
-rw-r--r--services/tests/servicestests/src/com/android/server/PinnerServiceTest.java6
4 files changed, 12 insertions, 13 deletions
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index a622d36edc6a..9528f30ef396 100644
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -4429,8 +4429,8 @@
<!-- True if camera app should be pinned via Pinner Service -->
<bool name="config_pinnerCameraApp">false</bool>
- <!-- True if home app should be pinned via Pinner Service -->
- <bool name="config_pinnerHomeApp">false</bool>
+ <!-- Bytes that the PinnerService will pin for Home app -->
+ <integer name="config_pinnerHomePinBytes">0</integer>
<!-- True if assistant app should be pinned via Pinner Service -->
<bool name="config_pinnerAssistantApp">false</bool>
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index c4033f2d680a..7ad976b82e28 100644
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -3423,7 +3423,7 @@
<!-- Pinner Service -->
<java-symbol type="array" name="config_defaultPinnerServiceFiles" />
<java-symbol type="bool" name="config_pinnerCameraApp" />
- <java-symbol type="bool" name="config_pinnerHomeApp" />
+ <java-symbol type="integer" name="config_pinnerHomePinBytes" />
<java-symbol type="bool" name="config_pinnerAssistantApp" />
<java-symbol type="integer" name="config_pinnerWebviewPinBytes" />
diff --git a/services/core/java/com/android/server/PinnerService.java b/services/core/java/com/android/server/PinnerService.java
index c7a83693e063..d04dbc2f417e 100644
--- a/services/core/java/com/android/server/PinnerService.java
+++ b/services/core/java/com/android/server/PinnerService.java
@@ -121,7 +121,6 @@ public final class PinnerService extends SystemService {
SystemProperties.getBoolean("pinner.use_pinlist", true);
private static final int MAX_CAMERA_PIN_SIZE = 80 * (1 << 20); // 80MB max for camera app.
- private static final int MAX_HOME_PIN_SIZE = 6 * (1 << 20); // 6MB max for home app.
private static final int MAX_ASSISTANT_PIN_SIZE = 60 * (1 << 20); // 60MB max for assistant app.
public static final String ANON_REGION_STAT_NAME = "[anon]";
@@ -176,7 +175,7 @@ public final class PinnerService extends SystemService {
// Resource-configured pinner flags;
private final boolean mConfiguredToPinCamera;
- private final boolean mConfiguredToPinHome;
+ private final int mConfiguredHomePinBytes;
private final boolean mConfiguredToPinAssistant;
private final int mConfiguredWebviewPinBytes;
@@ -238,8 +237,8 @@ public final class PinnerService extends SystemService {
mDeviceConfigInterface = mInjector.getDeviceConfigInterface();
mConfiguredToPinCamera = context.getResources().getBoolean(
com.android.internal.R.bool.config_pinnerCameraApp);
- mConfiguredToPinHome = context.getResources().getBoolean(
- com.android.internal.R.bool.config_pinnerHomeApp);
+ mConfiguredHomePinBytes = context.getResources().getInteger(
+ com.android.internal.R.integer.config_pinnerHomePinBytes);
mConfiguredToPinAssistant = context.getResources().getBoolean(
com.android.internal.R.bool.config_pinnerAssistantApp);
mConfiguredWebviewPinBytes = context.getResources().getInteger(
@@ -390,7 +389,7 @@ public final class PinnerService extends SystemService {
@Override
public void onChange(boolean selfChange, Uri uri) {
if (userSetupCompleteUri.equals(uri)) {
- if (mConfiguredToPinHome) {
+ if (mConfiguredHomePinBytes > 0) {
sendPinAppMessage(KEY_HOME, ActivityManager.getCurrentUser(),
true /* force */);
}
@@ -594,7 +593,7 @@ public final class PinnerService extends SystemService {
Slog.i(TAG, "Pinner - skip pinning camera app");
}
- if (mConfiguredToPinHome) {
+ if (mConfiguredHomePinBytes > 0) {
pinKeys.add(KEY_HOME);
}
if (mConfiguredToPinAssistant) {
@@ -815,7 +814,7 @@ public final class PinnerService extends SystemService {
case KEY_CAMERA:
return MAX_CAMERA_PIN_SIZE;
case KEY_HOME:
- return MAX_HOME_PIN_SIZE;
+ return mConfiguredHomePinBytes;
case KEY_ASSISTANT:
return MAX_ASSISTANT_PIN_SIZE;
default:
diff --git a/services/tests/servicestests/src/com/android/server/PinnerServiceTest.java b/services/tests/servicestests/src/com/android/server/PinnerServiceTest.java
index 88ca02933450..ec78bcea7539 100644
--- a/services/tests/servicestests/src/com/android/server/PinnerServiceTest.java
+++ b/services/tests/servicestests/src/com/android/server/PinnerServiceTest.java
@@ -112,7 +112,7 @@ public class PinnerServiceTest {
resources.addOverride(
com.android.internal.R.array.config_defaultPinnerServiceFiles, new String[0]);
resources.addOverride(com.android.internal.R.bool.config_pinnerCameraApp, false);
- resources.addOverride(com.android.internal.R.bool.config_pinnerHomeApp, false);
+ resources.addOverride(com.android.internal.R.integer.config_pinnerHomePinBytes, 0);
resources.addOverride(com.android.internal.R.bool.config_pinnerAssistantApp, false);
mFakeDeviceConfigInterface = new FakeDeviceConfigInterface();
@@ -242,7 +242,7 @@ public class PinnerServiceTest {
public void testPinHomeApp() throws Exception {
// Enable HOME app pinning
mContext.getOrCreateTestableResources()
- .addOverride(com.android.internal.R.bool.config_pinnerHomeApp, true);
+ .addOverride(com.android.internal.R.integer.config_pinnerHomePinBytes, 1024);
PinnerService pinnerService = new PinnerService(mContext, mInjector);
pinnerService.onStart();
@@ -266,7 +266,7 @@ public class PinnerServiceTest {
public void testPinHomeAppOnBootCompleted() throws Exception {
// Enable HOME app pinning
mContext.getOrCreateTestableResources()
- .addOverride(com.android.internal.R.bool.config_pinnerHomeApp, true);
+ .addOverride(com.android.internal.R.integer.config_pinnerHomePinBytes, 1024);
PinnerService pinnerService = new PinnerService(mContext, mInjector);
pinnerService.onStart();