Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d23189b9 authored by Aurimas Liutikas's avatar Aurimas Liutikas
Browse files

Suppress all hidden abstract methods in constructable classes.

Having a hidden abstract method for a class that can be extended
means that public implementors cannot implement these hidden methods
posing a risk that custom implementations will not have required
abstract methods resulting in an exception.

Bug: 151134792
Test: make update-api
Change-Id: I758d12465fabc671be19bedeeceb16885de23c87
Merged-In: I758d12465fabc671be19bedeeceb16885de23c87
Exempt-From-Owner-Approval: large scale suppression of existing issues,
    no-op in terms of behavior
parent ef2c66e7
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -154,6 +154,7 @@ public abstract class JobScheduler {
     * @param tag Debugging tag for dumps associated with this job (instead of the service class)
     * @hide
     */
    @SuppressWarnings("HiddenAbstractMethod")
    @SystemApi
    @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS)
    public abstract @Result int scheduleAsPackage(@NonNull JobInfo job, @NonNull String packageName,
@@ -196,6 +197,7 @@ public abstract class JobScheduler {
     * Returns a list of all currently-executing jobs.
     * @hide
     */
    @SuppressWarnings("HiddenAbstractMethod")
    public abstract List<JobInfo> getStartedJobs();

    /**
@@ -205,5 +207,6 @@ public abstract class JobScheduler {
     * <p class="note">This is a slow operation, so it should be called sparingly.
     * @hide
     */
    @SuppressWarnings("HiddenAbstractMethod")
    public abstract List<JobSnapshot> getAllJobSnapshots();
}
 No newline at end of file
+5 −0
Original line number Diff line number Diff line
@@ -835,6 +835,7 @@ public abstract class ContentResolver implements ContentInterface {
    }

    /** @hide */
    @SuppressWarnings("HiddenAbstractMethod")
    @UnsupportedAppUsage
    protected abstract IContentProvider acquireProvider(Context c, String name);

@@ -851,15 +852,19 @@ public abstract class ContentResolver implements ContentInterface {
    }

    /** @hide */
    @SuppressWarnings("HiddenAbstractMethod")
    @UnsupportedAppUsage
    public abstract boolean releaseProvider(IContentProvider icp);
    /** @hide */
    @SuppressWarnings("HiddenAbstractMethod")
    @UnsupportedAppUsage
    protected abstract IContentProvider acquireUnstableProvider(Context c, String name);
    /** @hide */
    @SuppressWarnings("HiddenAbstractMethod")
    @UnsupportedAppUsage
    public abstract boolean releaseUnstableProvider(IContentProvider icp);
    /** @hide */
    @SuppressWarnings("HiddenAbstractMethod")
    @UnsupportedAppUsage
    public abstract void unstableProviderDied(IContentProvider icp);

+28 −0
Original line number Diff line number Diff line
@@ -800,6 +800,7 @@ public abstract class Context {
     * case {@link #getOpPackageName()} will be the name of the primary package in
     * that process (so that app ops uid verification will work with the name).
     */
    @SuppressWarnings("HiddenAbstractMethod")
    @UnsupportedAppUsage
    public abstract String getBasePackageName();

@@ -916,6 +917,7 @@ public abstract class Context {
     * @see #MODE_PRIVATE
     * @removed
     */
    @SuppressWarnings("HiddenAbstractMethod")
    public abstract SharedPreferences getSharedPreferences(File file, @PreferencesMode int mode);

    /**
@@ -946,6 +948,7 @@ public abstract class Context {
    public abstract boolean deleteSharedPreferences(String name);

    /** @hide */
    @SuppressWarnings("HiddenAbstractMethod")
    public abstract void reloadSharedPreferences();

    /**
@@ -1034,6 +1037,7 @@ public abstract class Context {
     * @see #getSharedPreferences(String, int)
     * @removed
     */
    @SuppressWarnings("HiddenAbstractMethod")
    public abstract File getSharedPreferencesPath(String name);

    /**
@@ -1505,6 +1509,7 @@ public abstract class Context {
     * There is no guarantee when these files will be deleted.
     * @hide
     */
    @SuppressWarnings("HiddenAbstractMethod")
    @Nullable
    @SystemApi
    public abstract File getPreloadsFileCache();
@@ -2173,6 +2178,7 @@ public abstract class Context {
     * @see #sendOrderedBroadcast(Intent, String, BroadcastReceiver, Handler, int, String, Bundle)
     * @hide
     */
    @SuppressWarnings("HiddenAbstractMethod")
    public abstract void sendBroadcastAsUserMultiplePermissions(Intent intent, UserHandle user,
            String[] receiverPermissions);

@@ -2203,6 +2209,7 @@ public abstract class Context {
     * @see #sendOrderedBroadcast(Intent, String, BroadcastReceiver, Handler, int, String, Bundle)
     * @hide
     */
    @SuppressWarnings("HiddenAbstractMethod")
    @SystemApi
    public abstract void sendBroadcast(Intent intent,
            @Nullable String receiverPermission,
@@ -2213,6 +2220,7 @@ public abstract class Context {
     * of an associated app op as per {@link android.app.AppOpsManager}.
     * @hide
     */
    @SuppressWarnings("HiddenAbstractMethod")
    @UnsupportedAppUsage
    public abstract void sendBroadcast(Intent intent,
            String receiverPermission, int appOp);
@@ -2328,6 +2336,7 @@ public abstract class Context {
     * @see android.app.Activity#RESULT_OK
     * @hide
     */
    @SuppressWarnings("HiddenAbstractMethod")
    @SystemApi
    public abstract void sendOrderedBroadcast(@NonNull Intent intent,
            @Nullable String receiverPermission, @Nullable Bundle options,
@@ -2340,6 +2349,7 @@ public abstract class Context {
     * of an associated app op as per {@link android.app.AppOpsManager}.
     * @hide
     */
    @SuppressWarnings("HiddenAbstractMethod")
    @UnsupportedAppUsage
    public abstract void sendOrderedBroadcast(Intent intent,
            String receiverPermission, int appOp, BroadcastReceiver resultReceiver,
@@ -2393,6 +2403,7 @@ public abstract class Context {
     * @see #sendBroadcast(Intent, String, Bundle)
     * @hide
     */
    @SuppressWarnings("HiddenAbstractMethod")
    @SystemApi
    @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS)
    public abstract void sendBroadcastAsUser(@RequiresPermission Intent intent,
@@ -2415,6 +2426,7 @@ public abstract class Context {
     *
     * @hide
     */
    @SuppressWarnings("HiddenAbstractMethod")
    @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS)
    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
    public abstract void sendBroadcastAsUser(@RequiresPermission Intent intent,
@@ -2461,6 +2473,7 @@ public abstract class Context {
     *       BroadcastReceiver, Handler, int, String, Bundle)
     * @hide
     */
    @SuppressWarnings("HiddenAbstractMethod")
    @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS)
    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
    public abstract void sendOrderedBroadcastAsUser(Intent intent, UserHandle user,
@@ -2474,6 +2487,7 @@ public abstract class Context {
     *       BroadcastReceiver, Handler, int, String, Bundle)
     * @hide
     */
    @SuppressWarnings("HiddenAbstractMethod")
    @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS)
    @UnsupportedAppUsage
    public abstract void sendOrderedBroadcastAsUser(Intent intent, UserHandle user,
@@ -2688,6 +2702,7 @@ public abstract class Context {
     * @hide
     * This is just here for sending CONNECTIVITY_ACTION.
     */
    @SuppressWarnings("HiddenAbstractMethod")
    @Deprecated
    @RequiresPermission(allOf = {
            android.Manifest.permission.INTERACT_ACROSS_USERS,
@@ -2978,6 +2993,7 @@ public abstract class Context {
     * @see #sendBroadcast
     * @see #unregisterReceiver
     */
    @SuppressWarnings("HiddenAbstractMethod")
    @Nullable
    @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL)
    @UnsupportedAppUsage
@@ -3088,6 +3104,7 @@ public abstract class Context {
    /**
     * @hide like {@link #startForegroundService(Intent)} but for a specific user.
     */
    @SuppressWarnings("HiddenAbstractMethod")
    @Nullable
    @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS)
    public abstract ComponentName startForegroundServiceAsUser(Intent service, UserHandle user);
@@ -3126,6 +3143,7 @@ public abstract class Context {
    /**
     * @hide like {@link #startService(Intent)} but for a specific user.
     */
    @SuppressWarnings("HiddenAbstractMethod")
    @Nullable
    @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS)
    @UnsupportedAppUsage
@@ -3134,6 +3152,7 @@ public abstract class Context {
    /**
     * @hide like {@link #stopService(Intent)} but for a specific user.
     */
    @SuppressWarnings("HiddenAbstractMethod")
    @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS)
    public abstract boolean stopServiceAsUser(Intent service, UserHandle user);

@@ -5190,6 +5209,7 @@ public abstract class Context {
    public abstract int checkPermission(@NonNull String permission, int pid, int uid);

    /** @hide */
    @SuppressWarnings("HiddenAbstractMethod")
    @PackageManager.PermissionResult
    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.R, trackingBug = 170729553)
    public abstract int checkPermission(@NonNull String permission, int pid, int uid,
@@ -5417,6 +5437,7 @@ public abstract class Context {
            @Intent.AccessUriMode int modeFlags);

    /** @hide */
    @SuppressWarnings("HiddenAbstractMethod")
    @PackageManager.PermissionResult
    public abstract int checkUriPermission(Uri uri, int pid, int uid,
            @Intent.AccessUriMode int modeFlags, IBinder callerToken);
@@ -5701,6 +5722,7 @@ public abstract class Context {
     *
     * @hide
     */
    @SuppressWarnings("HiddenAbstractMethod")
    @UnsupportedAppUsage
    public abstract Context createApplicationContext(ApplicationInfo application,
            @CreatePackageOptions int flags) throws PackageManager.NameNotFoundException;
@@ -5920,6 +5942,7 @@ public abstract class Context {
     * @see #isCredentialProtectedStorage()
     * @hide
     */
    @SuppressWarnings("HiddenAbstractMethod")
    @SystemApi
    public abstract Context createCredentialProtectedStorageContext();

@@ -5932,6 +5955,7 @@ public abstract class Context {
     * @return The compatibility info holder, or null if not required by the application.
     * @hide
     */
    @SuppressWarnings("HiddenAbstractMethod")
    public abstract DisplayAdjustments getDisplayAdjustments(int displayId);

    /**
@@ -5966,12 +5990,14 @@ public abstract class Context {
     * @see #getDisplay()
     * @hide
     */
    @SuppressWarnings("HiddenAbstractMethod")
    @TestApi
    public abstract int getDisplayId();

    /**
     * @hide
     */
    @SuppressWarnings("HiddenAbstractMethod")
    public abstract void updateDisplay(int displayId);

    /**
@@ -6000,6 +6026,7 @@ public abstract class Context {
     * @see #createCredentialProtectedStorageContext()
     * @hide
     */
    @SuppressWarnings("HiddenAbstractMethod")
    @SystemApi
    public abstract boolean isCredentialProtectedStorage();

@@ -6007,6 +6034,7 @@ public abstract class Context {
     * Returns true if the context can load unsafe resources, e.g. fonts.
     * @hide
     */
    @SuppressWarnings("HiddenAbstractMethod")
    public abstract boolean canLoadUnsafeResources();

    /**
+91 −0

File changed.

Preview size limit exceeded, changes collapsed.

+2 −0
Original line number Diff line number Diff line
@@ -188,6 +188,7 @@ public abstract class CameraCaptureSession implements AutoCloseable {
     *
     * @hide
     */
    @SuppressWarnings("HiddenAbstractMethod")
    public abstract void prepare(int maxCount, @NonNull Surface surface)
            throws CameraAccessException;

@@ -227,6 +228,7 @@ public abstract class CameraCaptureSession implements AutoCloseable {
     *
     * @hide
     */
    @SuppressWarnings("HiddenAbstractMethod")
    public abstract void tearDown(@NonNull Surface surface) throws CameraAccessException;

    /**
Loading