diff options
| author | 2019-02-12 21:19:31 +0000 | |
|---|---|---|
| committer | 2019-02-12 21:19:31 +0000 | |
| commit | b6f498a2c95f2df1c20e2d6b81b0522a431b49f1 (patch) | |
| tree | bf1f58af097a45ac5a1d8c87d73a40d05dc79d9b | |
| parent | af5c88b87ea9b7766b8a4591c134ca02d93edac7 (diff) | |
| parent | 794f03d4c0cb16024b8d5dd8a8e90cb855e21e9f (diff) | |
Merge "Make ENABLE_ROLLBACK_TIMEOUT configurable"
| -rw-r--r-- | api/system-current.txt | 5 | ||||
| -rw-r--r-- | core/java/android/provider/DeviceConfig.java | 15 | ||||
| -rw-r--r-- | services/core/java/com/android/server/pm/PackageManagerService.java | 16 |
3 files changed, 31 insertions, 5 deletions
diff --git a/api/system-current.txt b/api/system-current.txt index 093f9165f462..bca77b4ea397 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -5780,6 +5780,11 @@ package android.provider { field public static final String PROPERTY_PERMISSIONS_HUB_ENABLED = "permissions_hub_enabled"; } + public static interface DeviceConfig.Rollback { + field public static final String ENABLE_ROLLBACK_TIMEOUT = "enable_rollback_timeout"; + field public static final String NAMESPACE = "rollback"; + } + public static interface DeviceConfig.Runtime { field public static final String NAMESPACE = "runtime"; field public static final String USE_PRECOMPILED_LAYOUT = "view.precompiled_layout_enabled"; diff --git a/core/java/android/provider/DeviceConfig.java b/core/java/android/provider/DeviceConfig.java index 18e1f5902a31..104b61dc410d 100644 --- a/core/java/android/provider/DeviceConfig.java +++ b/core/java/android/provider/DeviceConfig.java @@ -308,6 +308,21 @@ public final class DeviceConfig { } /** + * Namespace for Rollback. + * + * @hide + */ + @SystemApi + public interface Rollback { + String NAMESPACE = "rollback"; + + /** + * Timeout in milliseconds for enabling package rollback. + */ + String ENABLE_ROLLBACK_TIMEOUT = "enable_rollback_timeout"; + } + + /** * Namespace for storage-related features. * * @hide diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 874d1a719ee6..310457664f4f 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -241,6 +241,7 @@ import android.os.storage.StorageManagerInternal; import android.os.storage.VolumeInfo; import android.os.storage.VolumeRecord; import android.permission.PermissionControllerManager; +import android.provider.DeviceConfig; import android.provider.MediaStore; import android.provider.Settings.Global; import android.provider.Settings.Secure; @@ -14604,14 +14605,19 @@ public class PackageManagerService extends IPackageManager.Stub new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) { - // TODO(ruhler) b/112431924 Have a configurable setting to - // allow changing the timeout and fall back to the default - // if no such specified. + // the duration to wait for rollback to be enabled, in millis + long rollbackTimeout = DEFAULT_ENABLE_ROLLBACK_TIMEOUT; + try { + rollbackTimeout = Long.valueOf( + DeviceConfig.getProperty( + DeviceConfig.Rollback.NAMESPACE, + DeviceConfig.Rollback.ENABLE_ROLLBACK_TIMEOUT)); + } catch (NumberFormatException ignore) { + } final Message msg = mHandler.obtainMessage( ENABLE_ROLLBACK_TIMEOUT); msg.arg1 = enableRollbackToken; - mHandler.sendMessageDelayed(msg, - DEFAULT_ENABLE_ROLLBACK_TIMEOUT); + mHandler.sendMessageDelayed(msg, rollbackTimeout); } }, null, 0, null, null); |