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

Commit 8ae95aef authored by Stevie Kideckel's avatar Stevie Kideckel
Browse files

Deprecate RemoteViews showNext/showPrevious

Only idempotent actions should be used as RemoteViews can be reapplied
frequently. Also, these actions don't work with
partiallyUpdateAppWidget, which causes developer confusion and pain.
Developers should use setDisplayedChild instead and maintain their own
record of the current index.

Test: annotation only, validated that things still built ok
Fix: 197745933
Change-Id: I67a2615567a38dae90d693c89001adcaafba2a8e
parent 532ff811
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -56102,8 +56102,8 @@ package android.widget {
    method public void setViewOutlinePreferredRadiusDimen(@IdRes int, @DimenRes int);
    method public void setViewPadding(@IdRes int, @Px int, @Px int, @Px int, @Px int);
    method public void setViewVisibility(@IdRes int, int);
    method public void showNext(@IdRes int);
    method public void showPrevious(@IdRes int);
    method @Deprecated public void showNext(@IdRes int);
    method @Deprecated public void showPrevious(@IdRes int);
    method public void writeToParcel(android.os.Parcel, int);
    field @NonNull public static final android.os.Parcelable.Creator<android.widget.RemoteViews> CREATOR;
    field public static final String EXTRA_CHECKED = "android.widget.extra.CHECKED";
+14 −0
Original line number Diff line number Diff line
@@ -1510,6 +1510,12 @@ public class RemoteViews implements Parcelable, Filter {
        }
    }

    /**
     * @deprecated As RemoteViews may be reapplied frequently, it is preferable to call
     * {@link #setDisplayedChild(int, int)} to ensure that the adapter index does not change
     * unexpectedly.
     */
    @Deprecated
    private final class ViewContentNavigation extends Action {
        final boolean mNext;

@@ -4100,7 +4106,11 @@ public class RemoteViews implements Parcelable, Filter {
     * Equivalent to calling {@link AdapterViewAnimator#showNext()}
     *
     * @param viewId The id of the view on which to call {@link AdapterViewAnimator#showNext()}
     * @deprecated As RemoteViews may be reapplied frequently, it is preferable to call
     * {@link #setDisplayedChild(int, int)} to ensure that the adapter index does not change
     * unexpectedly.
     */
    @Deprecated
    public void showNext(@IdRes int viewId) {
        addAction(new ViewContentNavigation(viewId, true /* next */));
    }
@@ -4109,7 +4119,11 @@ public class RemoteViews implements Parcelable, Filter {
     * Equivalent to calling {@link AdapterViewAnimator#showPrevious()}
     *
     * @param viewId The id of the view on which to call {@link AdapterViewAnimator#showPrevious()}
     * @deprecated As RemoteViews may be reapplied frequently, it is preferable to call
     * {@link #setDisplayedChild(int, int)} to ensure that the adapter index does not change
     * unexpectedly.
     */
    @Deprecated
    public void showPrevious(@IdRes int viewId) {
        addAction(new ViewContentNavigation(viewId, false /* next */));
    }