Merge "Remove isAppStartModeDisabled binder entry point" into sc-dev

This commit is contained in:
TreeHugger Robot
2021-07-12 22:14:30 +00:00
committed by Android (Google) Code Review
2 changed files with 9 additions and 11 deletions

View File

@@ -508,7 +508,6 @@ interface IActivityManager {
boolean stopBinderTrackingAndDump(in ParcelFileDescriptor fd); boolean stopBinderTrackingAndDump(in ParcelFileDescriptor fd);
@UnsupportedAppUsage(maxTargetSdk = 30, trackingBug = 170729553) @UnsupportedAppUsage(maxTargetSdk = 30, trackingBug = 170729553)
void suppressResizeConfigChanges(boolean suppress); void suppressResizeConfigChanges(boolean suppress);
boolean isAppStartModeDisabled(int uid, in String packageName);
@UnsupportedAppUsage(maxTargetSdk = 30, trackingBug = 170729553) @UnsupportedAppUsage(maxTargetSdk = 30, trackingBug = 170729553)
boolean unlockUser(int userid, in byte[] token, in byte[] secret, boolean unlockUser(int userid, in byte[] token, in byte[] secret,
in IProgressListener listener); in IProgressListener listener);

View File

@@ -28,7 +28,7 @@ import android.accounts.AccountManagerInternal;
import android.annotation.NonNull; import android.annotation.NonNull;
import android.annotation.Nullable; import android.annotation.Nullable;
import android.annotation.UserIdInt; import android.annotation.UserIdInt;
import android.app.ActivityManager; import android.app.ActivityManagerInternal;
import android.app.AppGlobals; import android.app.AppGlobals;
import android.app.Notification; import android.app.Notification;
import android.app.NotificationManager; import android.app.NotificationManager;
@@ -323,6 +323,8 @@ public class SyncManager {
private final PackageManagerInternal mPackageManagerInternal; private final PackageManagerInternal mPackageManagerInternal;
private final ActivityManagerInternal mAmi;
private List<UserInfo> getAllUsers() { private List<UserInfo> getAllUsers() {
return mUserManager.getUsers(); return mUserManager.getUsers();
} }
@@ -643,6 +645,7 @@ public class SyncManager {
mAccountManager = (AccountManager) mContext.getSystemService(Context.ACCOUNT_SERVICE); mAccountManager = (AccountManager) mContext.getSystemService(Context.ACCOUNT_SERVICE);
mAccountManagerInternal = LocalServices.getService(AccountManagerInternal.class); mAccountManagerInternal = LocalServices.getService(AccountManagerInternal.class);
mPackageManagerInternal = LocalServices.getService(PackageManagerInternal.class); mPackageManagerInternal = LocalServices.getService(PackageManagerInternal.class);
mAmi = LocalServices.getService(ActivityManagerInternal.class);
mAccountManagerInternal.addOnAppPermissionChangeListener((Account account, int uid) -> { mAccountManagerInternal.addOnAppPermissionChangeListener((Account account, int uid) -> {
// If the UID gained access to the account kick-off syncs lacking account access // If the UID gained access to the account kick-off syncs lacking account access
@@ -1115,15 +1118,11 @@ public class SyncManager {
} }
final int owningUid = syncAdapterInfo.uid; final int owningUid = syncAdapterInfo.uid;
final String owningPackage = syncAdapterInfo.componentName.getPackageName(); final String owningPackage = syncAdapterInfo.componentName.getPackageName();
try { if (mAmi.isAppStartModeDisabled(owningUid, owningPackage)) {
if (ActivityManager.getService().isAppStartModeDisabled(owningUid, owningPackage)) { Slog.w(TAG, "Not scheduling job " + syncAdapterInfo.uid + ":"
Slog.w(TAG, "Not scheduling job " + syncAdapterInfo.uid + ":" + syncAdapterInfo.componentName
+ syncAdapterInfo.componentName + " -- package not allowed to start");
+ " -- package not allowed to start"); return AuthorityInfo.NOT_SYNCABLE;
return AuthorityInfo.NOT_SYNCABLE;
}
} catch (RemoteException e) {
/* ignore - local call */
} }
if (checkAccountAccess && !canAccessAccount(account, owningPackage, owningUid)) { if (checkAccountAccess && !canAccessAccount(account, owningPackage, owningUid)) {
Log.w(TAG, "Access to " + logSafe(account) + " denied for package " Log.w(TAG, "Access to " + logSafe(account) + " denied for package "