Loading config/hiddenapi-light-greylist.txt +7 −0 Original line number Diff line number Diff line Loading @@ -879,6 +879,7 @@ Landroid/app/ProgressDialog;->mMessageView:Landroid/widget/TextView; Landroid/app/ProgressDialog;->mProgress:Landroid/widget/ProgressBar; Landroid/app/ProgressDialog;->mProgressNumber:Landroid/widget/TextView; Landroid/app/QueuedWork;->addFinisher(Ljava/lang/Runnable;)V Landroid/app/QueuedWork;->getHandler()Landroid/os/Handler; Landroid/app/QueuedWork;->removeFinisher(Ljava/lang/Runnable;)V Landroid/app/QueuedWork;->sFinishers:Ljava/util/LinkedList; Landroid/app/ResourcesManager;-><init>()V Loading Loading @@ -1865,6 +1866,7 @@ Landroid/content/res/DrawableCache;->getInstance(JLandroid/content/res/Resources Landroid/content/res/ObbInfo;->salt:[B Landroid/content/res/Resources$Theme;->mThemeImpl:Landroid/content/res/ResourcesImpl$ThemeImpl; Landroid/content/res/Resources$Theme;->resolveAttributes([I[I)Landroid/content/res/TypedArray; Landroid/content/res/Resources;-><init>()V Landroid/content/res/Resources;-><init>(Ljava/lang/ClassLoader;)V Landroid/content/res/Resources;->getCompatibilityInfo()Landroid/content/res/CompatibilityInfo; Landroid/content/res/Resources;->getDisplayAdjustments()Landroid/view/DisplayAdjustments; Loading Loading @@ -1906,6 +1908,7 @@ Landroid/content/res/ResourcesKey;->mResDir:Ljava/lang/String; Landroid/content/res/ResourcesKey;->mSplitResDirs:[Ljava/lang/String; Landroid/content/res/StringBlock;-><init>(JZ)V Landroid/content/res/StringBlock;->get(I)Ljava/lang/CharSequence; Landroid/content/res/ThemedResourceCache;->mThemedEntries:Landroid/util/ArrayMap; Landroid/content/res/ThemedResourceCache;->onConfigurationChange(I)V Landroid/content/res/TypedArray;->extractThemeAttrs()[I Landroid/content/res/TypedArray;->extractThemeAttrs([I)[I Loading Loading @@ -5802,6 +5805,7 @@ Landroid/util/MathUtils;->constrain(FFF)F Landroid/util/MathUtils;->constrain(III)I Landroid/util/MathUtils;->lerp(FFF)F Landroid/util/MathUtils;->max(II)F Landroid/util/NtpTrustedTime;->currentTimeMillis()J Landroid/util/NtpTrustedTime;->forceRefresh()Z Landroid/util/NtpTrustedTime;->getCachedNtpTime()J Landroid/util/NtpTrustedTime;->getCachedNtpTimeReference()J Loading Loading @@ -6474,6 +6478,7 @@ Landroid/view/ViewGroup$LayoutParams;-><init>()V Landroid/view/ViewGroup$MarginLayoutParams;->endMargin:I Landroid/view/ViewGroup$MarginLayoutParams;->setMarginsRelative(IIII)V Landroid/view/ViewGroup$MarginLayoutParams;->startMargin:I Landroid/view/ViewGroup$TouchTarget;-><init>()V Landroid/view/ViewGroup$TouchTarget;->child:Landroid/view/View; Landroid/view/ViewGroup;->addTransientView(Landroid/view/View;I)V Landroid/view/ViewGroup;->cancelTouchTarget(Landroid/view/View;)V Loading Loading @@ -7133,6 +7138,7 @@ Landroid/widget/RemoteViewsAdapter;->mWorkerThread:Landroid/os/HandlerThread; Landroid/widget/RemoteViewsAdapter;->saveRemoteViewsCache()V Landroid/widget/RemoteViewsAdapter;->setRemoteViewsOnClickHandler(Landroid/widget/RemoteViews$OnClickHandler;)V Landroid/widget/RemoteViewsAdapter;->setVisibleRangeHint(II)V Landroid/widget/ScrollBarDrawable;-><init>()V Landroid/widget/ScrollBarDrawable;->mVerticalThumb:Landroid/graphics/drawable/Drawable; Landroid/widget/ScrollBarDrawable;->setHorizontalThumbDrawable(Landroid/graphics/drawable/Drawable;)V Landroid/widget/ScrollBarDrawable;->setVerticalThumbDrawable(Landroid/graphics/drawable/Drawable;)V Loading Loading @@ -7302,6 +7308,7 @@ Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;Landroid/widget/TextV Landroid/widget/TextView;->startMarquee()V Landroid/widget/TextView;->startStopMarquee(Z)V Landroid/widget/TextView;->stopTextActionMode()V Landroid/widget/TextView;->updateTextServicesLocaleLocked()V Landroid/widget/TextView;->viewportToContentVerticalOffset()I Landroid/widget/TimePicker;->mDelegate:Landroid/widget/TimePicker$TimePickerDelegate; Landroid/widget/Toast$TN;->handleHide()V core/java/android/app/ActivityManagerInternal.java +1 −1 Original line number Diff line number Diff line Loading @@ -207,7 +207,7 @@ public abstract class ActivityManagerInternal { /** * Allow DeviceIdleController to tell us about what apps are whitelisted. */ public abstract void setDeviceIdleWhitelist(int[] appids); public abstract void setDeviceIdleWhitelist(int[] allAppids, int[] exceptIdleAppids); /** * Update information about which app IDs are on the temp whitelist. Loading core/java/android/content/pm/RegisteredServicesCache.java +47 −9 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package android.content.pm; import android.Manifest; import android.content.BroadcastReceiver; import android.content.ComponentName; import android.content.Context; Loading @@ -40,9 +41,12 @@ import com.android.internal.annotations.GuardedBy; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.util.ArrayUtils; import com.android.internal.util.FastXmlSerializer; import com.google.android.collect.Lists; import com.google.android.collect.Maps; import libcore.io.IoUtils; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; import org.xmlpull.v1.XmlSerializer; Loading @@ -61,8 +65,6 @@ import java.util.Collections; import java.util.List; import java.util.Map; import libcore.io.IoUtils; /** * Cache of registered services. This cache is lazily built by interrogating * {@link PackageManager} on a per-user basis. It's updated as packages are Loading Loading @@ -98,6 +100,8 @@ public abstract class RegisteredServicesCache<V> { Map<V, ServiceInfo<V>> services = null; @GuardedBy("mServicesLock") boolean mPersistentServicesFileDidNotExist = true; @GuardedBy("mServicesLock") boolean mBindInstantServiceAllowed = false; } @GuardedBy("mServicesLock") Loading Loading @@ -387,6 +391,34 @@ public abstract class RegisteredServicesCache<V> { } } /** * @return whether the binding to service is allowed for instant apps. */ public boolean getBindInstantServiceAllowed(int userId) { mContext.enforceCallingOrSelfPermission( Manifest.permission.MANAGE_BIND_INSTANT_SERVICE, "getBindInstantServiceAllowed"); synchronized (mServicesLock) { final UserServices<V> user = findOrCreateUserLocked(userId); return user.mBindInstantServiceAllowed; } } /** * Set whether the binding to service is allowed or not for instant apps. */ public void setBindInstantServiceAllowed(int userId, boolean allowed) { mContext.enforceCallingOrSelfPermission( Manifest.permission.MANAGE_BIND_INSTANT_SERVICE, "setBindInstantServiceAllowed"); synchronized (mServicesLock) { final UserServices<V> user = findOrCreateUserLocked(userId); user.mBindInstantServiceAllowed = allowed; } } @VisibleForTesting protected boolean inSystemImage(int callerUid) { String[] packages = mContext.getPackageManager().getPackagesForUid(callerUid); Loading @@ -409,10 +441,16 @@ public abstract class RegisteredServicesCache<V> { @VisibleForTesting protected List<ResolveInfo> queryIntentServices(int userId) { final PackageManager pm = mContext.getPackageManager(); return pm.queryIntentServicesAsUser(new Intent(mInterfaceName), PackageManager.GET_META_DATA | PackageManager.MATCH_DIRECT_BOOT_AWARE | PackageManager.MATCH_DIRECT_BOOT_UNAWARE, userId); int flags = PackageManager.GET_META_DATA | PackageManager.MATCH_DIRECT_BOOT_AWARE | PackageManager.MATCH_DIRECT_BOOT_UNAWARE; synchronized (mServicesLock) { final UserServices<V> user = findOrCreateUserLocked(userId); if (user.mBindInstantServiceAllowed) { flags |= PackageManager.MATCH_INSTANT; } } return pm.queryIntentServicesAsUser(new Intent(mInterfaceName), flags, userId); } /** Loading core/java/android/database/sqlite/SQLiteConnection.java +3 −1 Original line number Diff line number Diff line Loading @@ -296,7 +296,9 @@ public final class SQLiteConnection implements CancellationSignal.OnCancelListen final boolean useCompatibilityWal = mConfiguration.useCompatibilityWal(); if (walEnabled || useCompatibilityWal) { setJournalMode("WAL"); if (useCompatibilityWal && SQLiteCompatibilityWalFlags.areFlagsSet()) { if (mConfiguration.syncMode != null) { setSyncMode(mConfiguration.syncMode); } else if (useCompatibilityWal && SQLiteCompatibilityWalFlags.areFlagsSet()) { setSyncMode(SQLiteCompatibilityWalFlags.getWALSyncMode()); } else { setSyncMode(SQLiteGlobal.getWALSyncMode()); Loading core/java/android/database/sqlite/SQLiteDatabase.java +2 −3 Original line number Diff line number Diff line Loading @@ -2413,8 +2413,7 @@ public final class SQLiteDatabase extends SQLiteClosable { /** * Returns <a href="https://sqlite.org/pragma.html#pragma_synchronous">synchronous mode</a>. * This value will only be used when {@link SQLiteDatabase#ENABLE_WRITE_AHEAD_LOGGING} flag * is not set, otherwise a system wide default will be used. * If not set, a system wide default will be used. * @see Builder#setSynchronousMode(String) */ @Nullable Loading Loading @@ -2601,7 +2600,7 @@ public final class SQLiteDatabase extends SQLiteClosable { /** * Sets <a href="https://sqlite.org/pragma.html#pragma_synchronous">synchronous mode</a> * to use when {@link SQLiteDatabase#ENABLE_WRITE_AHEAD_LOGGING} flag is not set. * . * @return */ @NonNull Loading Loading
config/hiddenapi-light-greylist.txt +7 −0 Original line number Diff line number Diff line Loading @@ -879,6 +879,7 @@ Landroid/app/ProgressDialog;->mMessageView:Landroid/widget/TextView; Landroid/app/ProgressDialog;->mProgress:Landroid/widget/ProgressBar; Landroid/app/ProgressDialog;->mProgressNumber:Landroid/widget/TextView; Landroid/app/QueuedWork;->addFinisher(Ljava/lang/Runnable;)V Landroid/app/QueuedWork;->getHandler()Landroid/os/Handler; Landroid/app/QueuedWork;->removeFinisher(Ljava/lang/Runnable;)V Landroid/app/QueuedWork;->sFinishers:Ljava/util/LinkedList; Landroid/app/ResourcesManager;-><init>()V Loading Loading @@ -1865,6 +1866,7 @@ Landroid/content/res/DrawableCache;->getInstance(JLandroid/content/res/Resources Landroid/content/res/ObbInfo;->salt:[B Landroid/content/res/Resources$Theme;->mThemeImpl:Landroid/content/res/ResourcesImpl$ThemeImpl; Landroid/content/res/Resources$Theme;->resolveAttributes([I[I)Landroid/content/res/TypedArray; Landroid/content/res/Resources;-><init>()V Landroid/content/res/Resources;-><init>(Ljava/lang/ClassLoader;)V Landroid/content/res/Resources;->getCompatibilityInfo()Landroid/content/res/CompatibilityInfo; Landroid/content/res/Resources;->getDisplayAdjustments()Landroid/view/DisplayAdjustments; Loading Loading @@ -1906,6 +1908,7 @@ Landroid/content/res/ResourcesKey;->mResDir:Ljava/lang/String; Landroid/content/res/ResourcesKey;->mSplitResDirs:[Ljava/lang/String; Landroid/content/res/StringBlock;-><init>(JZ)V Landroid/content/res/StringBlock;->get(I)Ljava/lang/CharSequence; Landroid/content/res/ThemedResourceCache;->mThemedEntries:Landroid/util/ArrayMap; Landroid/content/res/ThemedResourceCache;->onConfigurationChange(I)V Landroid/content/res/TypedArray;->extractThemeAttrs()[I Landroid/content/res/TypedArray;->extractThemeAttrs([I)[I Loading Loading @@ -5802,6 +5805,7 @@ Landroid/util/MathUtils;->constrain(FFF)F Landroid/util/MathUtils;->constrain(III)I Landroid/util/MathUtils;->lerp(FFF)F Landroid/util/MathUtils;->max(II)F Landroid/util/NtpTrustedTime;->currentTimeMillis()J Landroid/util/NtpTrustedTime;->forceRefresh()Z Landroid/util/NtpTrustedTime;->getCachedNtpTime()J Landroid/util/NtpTrustedTime;->getCachedNtpTimeReference()J Loading Loading @@ -6474,6 +6478,7 @@ Landroid/view/ViewGroup$LayoutParams;-><init>()V Landroid/view/ViewGroup$MarginLayoutParams;->endMargin:I Landroid/view/ViewGroup$MarginLayoutParams;->setMarginsRelative(IIII)V Landroid/view/ViewGroup$MarginLayoutParams;->startMargin:I Landroid/view/ViewGroup$TouchTarget;-><init>()V Landroid/view/ViewGroup$TouchTarget;->child:Landroid/view/View; Landroid/view/ViewGroup;->addTransientView(Landroid/view/View;I)V Landroid/view/ViewGroup;->cancelTouchTarget(Landroid/view/View;)V Loading Loading @@ -7133,6 +7138,7 @@ Landroid/widget/RemoteViewsAdapter;->mWorkerThread:Landroid/os/HandlerThread; Landroid/widget/RemoteViewsAdapter;->saveRemoteViewsCache()V Landroid/widget/RemoteViewsAdapter;->setRemoteViewsOnClickHandler(Landroid/widget/RemoteViews$OnClickHandler;)V Landroid/widget/RemoteViewsAdapter;->setVisibleRangeHint(II)V Landroid/widget/ScrollBarDrawable;-><init>()V Landroid/widget/ScrollBarDrawable;->mVerticalThumb:Landroid/graphics/drawable/Drawable; Landroid/widget/ScrollBarDrawable;->setHorizontalThumbDrawable(Landroid/graphics/drawable/Drawable;)V Landroid/widget/ScrollBarDrawable;->setVerticalThumbDrawable(Landroid/graphics/drawable/Drawable;)V Loading Loading @@ -7302,6 +7308,7 @@ Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;Landroid/widget/TextV Landroid/widget/TextView;->startMarquee()V Landroid/widget/TextView;->startStopMarquee(Z)V Landroid/widget/TextView;->stopTextActionMode()V Landroid/widget/TextView;->updateTextServicesLocaleLocked()V Landroid/widget/TextView;->viewportToContentVerticalOffset()I Landroid/widget/TimePicker;->mDelegate:Landroid/widget/TimePicker$TimePickerDelegate; Landroid/widget/Toast$TN;->handleHide()V
core/java/android/app/ActivityManagerInternal.java +1 −1 Original line number Diff line number Diff line Loading @@ -207,7 +207,7 @@ public abstract class ActivityManagerInternal { /** * Allow DeviceIdleController to tell us about what apps are whitelisted. */ public abstract void setDeviceIdleWhitelist(int[] appids); public abstract void setDeviceIdleWhitelist(int[] allAppids, int[] exceptIdleAppids); /** * Update information about which app IDs are on the temp whitelist. Loading
core/java/android/content/pm/RegisteredServicesCache.java +47 −9 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package android.content.pm; import android.Manifest; import android.content.BroadcastReceiver; import android.content.ComponentName; import android.content.Context; Loading @@ -40,9 +41,12 @@ import com.android.internal.annotations.GuardedBy; import com.android.internal.annotations.VisibleForTesting; import com.android.internal.util.ArrayUtils; import com.android.internal.util.FastXmlSerializer; import com.google.android.collect.Lists; import com.google.android.collect.Maps; import libcore.io.IoUtils; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; import org.xmlpull.v1.XmlSerializer; Loading @@ -61,8 +65,6 @@ import java.util.Collections; import java.util.List; import java.util.Map; import libcore.io.IoUtils; /** * Cache of registered services. This cache is lazily built by interrogating * {@link PackageManager} on a per-user basis. It's updated as packages are Loading Loading @@ -98,6 +100,8 @@ public abstract class RegisteredServicesCache<V> { Map<V, ServiceInfo<V>> services = null; @GuardedBy("mServicesLock") boolean mPersistentServicesFileDidNotExist = true; @GuardedBy("mServicesLock") boolean mBindInstantServiceAllowed = false; } @GuardedBy("mServicesLock") Loading Loading @@ -387,6 +391,34 @@ public abstract class RegisteredServicesCache<V> { } } /** * @return whether the binding to service is allowed for instant apps. */ public boolean getBindInstantServiceAllowed(int userId) { mContext.enforceCallingOrSelfPermission( Manifest.permission.MANAGE_BIND_INSTANT_SERVICE, "getBindInstantServiceAllowed"); synchronized (mServicesLock) { final UserServices<V> user = findOrCreateUserLocked(userId); return user.mBindInstantServiceAllowed; } } /** * Set whether the binding to service is allowed or not for instant apps. */ public void setBindInstantServiceAllowed(int userId, boolean allowed) { mContext.enforceCallingOrSelfPermission( Manifest.permission.MANAGE_BIND_INSTANT_SERVICE, "setBindInstantServiceAllowed"); synchronized (mServicesLock) { final UserServices<V> user = findOrCreateUserLocked(userId); user.mBindInstantServiceAllowed = allowed; } } @VisibleForTesting protected boolean inSystemImage(int callerUid) { String[] packages = mContext.getPackageManager().getPackagesForUid(callerUid); Loading @@ -409,10 +441,16 @@ public abstract class RegisteredServicesCache<V> { @VisibleForTesting protected List<ResolveInfo> queryIntentServices(int userId) { final PackageManager pm = mContext.getPackageManager(); return pm.queryIntentServicesAsUser(new Intent(mInterfaceName), PackageManager.GET_META_DATA | PackageManager.MATCH_DIRECT_BOOT_AWARE | PackageManager.MATCH_DIRECT_BOOT_UNAWARE, userId); int flags = PackageManager.GET_META_DATA | PackageManager.MATCH_DIRECT_BOOT_AWARE | PackageManager.MATCH_DIRECT_BOOT_UNAWARE; synchronized (mServicesLock) { final UserServices<V> user = findOrCreateUserLocked(userId); if (user.mBindInstantServiceAllowed) { flags |= PackageManager.MATCH_INSTANT; } } return pm.queryIntentServicesAsUser(new Intent(mInterfaceName), flags, userId); } /** Loading
core/java/android/database/sqlite/SQLiteConnection.java +3 −1 Original line number Diff line number Diff line Loading @@ -296,7 +296,9 @@ public final class SQLiteConnection implements CancellationSignal.OnCancelListen final boolean useCompatibilityWal = mConfiguration.useCompatibilityWal(); if (walEnabled || useCompatibilityWal) { setJournalMode("WAL"); if (useCompatibilityWal && SQLiteCompatibilityWalFlags.areFlagsSet()) { if (mConfiguration.syncMode != null) { setSyncMode(mConfiguration.syncMode); } else if (useCompatibilityWal && SQLiteCompatibilityWalFlags.areFlagsSet()) { setSyncMode(SQLiteCompatibilityWalFlags.getWALSyncMode()); } else { setSyncMode(SQLiteGlobal.getWALSyncMode()); Loading
core/java/android/database/sqlite/SQLiteDatabase.java +2 −3 Original line number Diff line number Diff line Loading @@ -2413,8 +2413,7 @@ public final class SQLiteDatabase extends SQLiteClosable { /** * Returns <a href="https://sqlite.org/pragma.html#pragma_synchronous">synchronous mode</a>. * This value will only be used when {@link SQLiteDatabase#ENABLE_WRITE_AHEAD_LOGGING} flag * is not set, otherwise a system wide default will be used. * If not set, a system wide default will be used. * @see Builder#setSynchronousMode(String) */ @Nullable Loading Loading @@ -2601,7 +2600,7 @@ public final class SQLiteDatabase extends SQLiteClosable { /** * Sets <a href="https://sqlite.org/pragma.html#pragma_synchronous">synchronous mode</a> * to use when {@link SQLiteDatabase#ENABLE_WRITE_AHEAD_LOGGING} flag is not set. * . * @return */ @NonNull Loading