Merge "Make android:cantSaveState an optional feature." into pi-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
330dd0b244
@@ -11274,6 +11274,7 @@ package android.content.pm {
|
|||||||
field public static final java.lang.String FEATURE_CAMERA_FLASH = "android.hardware.camera.flash";
|
field public static final java.lang.String FEATURE_CAMERA_FLASH = "android.hardware.camera.flash";
|
||||||
field public static final java.lang.String FEATURE_CAMERA_FRONT = "android.hardware.camera.front";
|
field public static final java.lang.String FEATURE_CAMERA_FRONT = "android.hardware.camera.front";
|
||||||
field public static final java.lang.String FEATURE_CAMERA_LEVEL_FULL = "android.hardware.camera.level.full";
|
field public static final java.lang.String FEATURE_CAMERA_LEVEL_FULL = "android.hardware.camera.level.full";
|
||||||
|
field public static final java.lang.String FEATURE_CANT_SAVE_STATE = "android.software.cant_save_state";
|
||||||
field public static final java.lang.String FEATURE_COMPANION_DEVICE_SETUP = "android.software.companion_device_setup";
|
field public static final java.lang.String FEATURE_COMPANION_DEVICE_SETUP = "android.software.companion_device_setup";
|
||||||
field public static final java.lang.String FEATURE_CONNECTION_SERVICE = "android.software.connectionservice";
|
field public static final java.lang.String FEATURE_CONNECTION_SERVICE = "android.software.connectionservice";
|
||||||
field public static final java.lang.String FEATURE_CONSUMER_IR = "android.hardware.consumerir";
|
field public static final java.lang.String FEATURE_CONSUMER_IR = "android.hardware.consumerir";
|
||||||
|
|||||||
@@ -2281,6 +2281,13 @@ public abstract class PackageManager {
|
|||||||
*/
|
*/
|
||||||
@SdkConstant(SdkConstantType.FEATURE)
|
@SdkConstant(SdkConstantType.FEATURE)
|
||||||
public static final String FEATURE_APP_WIDGETS = "android.software.app_widgets";
|
public static final String FEATURE_APP_WIDGETS = "android.software.app_widgets";
|
||||||
|
/**
|
||||||
|
* Feature for {@link #getSystemAvailableFeatures} and
|
||||||
|
* {@link #hasSystemFeature}: The device supports the
|
||||||
|
* {@link android.R.attr#cantSaveState} API.
|
||||||
|
*/
|
||||||
|
@SdkConstant(SdkConstantType.FEATURE)
|
||||||
|
public static final String FEATURE_CANT_SAVE_STATE = "android.software.cant_save_state";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @hide
|
* @hide
|
||||||
|
|||||||
@@ -1970,6 +1970,8 @@ public class ActivityManagerService extends IActivityManager.Stub
|
|||||||
|
|
||||||
final boolean mPermissionReviewRequired;
|
final boolean mPermissionReviewRequired;
|
||||||
|
|
||||||
|
boolean mHasHeavyWeightFeature;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Whether to force background check on all apps (for battery saver) or not.
|
* Whether to force background check on all apps (for battery saver) or not.
|
||||||
*/
|
*/
|
||||||
@@ -15081,6 +15083,8 @@ public class ActivityManagerService extends IActivityManager.Stub
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mHasHeavyWeightFeature = mContext.getPackageManager().hasSystemFeature(
|
||||||
|
PackageManager.FEATURE_CANT_SAVE_STATE);
|
||||||
mLocalDeviceIdleController
|
mLocalDeviceIdleController
|
||||||
= LocalServices.getService(DeviceIdleController.LocalService.class);
|
= LocalServices.getService(DeviceIdleController.LocalService.class);
|
||||||
mAssistUtils = new AssistUtils(mContext);
|
mAssistUtils = new AssistUtils(mContext);
|
||||||
|
|||||||
@@ -1526,7 +1526,8 @@ public class ActivityStackSupervisor extends ConfigurationContainer implements D
|
|||||||
mService.getLifecycleManager().scheduleTransaction(clientTransaction);
|
mService.getLifecycleManager().scheduleTransaction(clientTransaction);
|
||||||
|
|
||||||
|
|
||||||
if ((app.info.privateFlags & ApplicationInfo.PRIVATE_FLAG_CANT_SAVE_STATE) != 0) {
|
if ((app.info.privateFlags & ApplicationInfo.PRIVATE_FLAG_CANT_SAVE_STATE) != 0
|
||||||
|
&& mService.mHasHeavyWeightFeature) {
|
||||||
// This may be a heavy-weight process! Note that the package
|
// This may be a heavy-weight process! Note that the package
|
||||||
// manager will ensure that only activity can run in the main
|
// manager will ensure that only activity can run in the main
|
||||||
// process of the .apk, which is the only thing that will be
|
// process of the .apk, which is the only thing that will be
|
||||||
|
|||||||
@@ -1023,7 +1023,8 @@ class ActivityStarter {
|
|||||||
|
|
||||||
if (aInfo != null &&
|
if (aInfo != null &&
|
||||||
(aInfo.applicationInfo.privateFlags
|
(aInfo.applicationInfo.privateFlags
|
||||||
& ApplicationInfo.PRIVATE_FLAG_CANT_SAVE_STATE) != 0) {
|
& ApplicationInfo.PRIVATE_FLAG_CANT_SAVE_STATE) != 0 &&
|
||||||
|
mService.mHasHeavyWeightFeature) {
|
||||||
// This may be a heavy-weight process! Check to see if we already
|
// This may be a heavy-weight process! Check to see if we already
|
||||||
// have another, different heavy-weight process running.
|
// have another, different heavy-weight process running.
|
||||||
if (aInfo.processName.equals(aInfo.applicationInfo.packageName)) {
|
if (aInfo.processName.equals(aInfo.applicationInfo.packageName)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user