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

Commit d445fe7e authored by Griff Hazen's avatar Griff Hazen
Browse files

resolved conflicts for merge of cbe69ec1 to master

Change-Id: I183f94c726c9acb3de7d9369e315cc4ae1ff92d6
parents 47a7d61e cbe69ec1
Loading
Loading
Loading
Loading
+74 −0
Original line number Diff line number Diff line
@@ -5278,6 +5278,80 @@ package android.app.task {
}
package android.app.wearable {
  public final class WearableActionExtensions implements android.app.Notification.Action.Builder.Extender android.os.Parcelable {
    method public android.app.Notification.Action.Builder applyTo(android.app.Notification.Action.Builder);
    method public int describeContents();
    method public static android.app.wearable.WearableActionExtensions from(android.app.Notification.Action);
    method public boolean isAvailableOffline();
    method public void writeToParcel(android.os.Parcel, int);
  }
  public static final class WearableActionExtensions.Builder {
    ctor public WearableActionExtensions.Builder();
    ctor public WearableActionExtensions.Builder(android.app.wearable.WearableActionExtensions);
    method public android.app.wearable.WearableActionExtensions build();
    method public android.app.wearable.WearableActionExtensions.Builder setAvailableOffline(boolean);
  }
  public final class WearableNotificationExtensions implements android.app.Notification.Builder.Extender android.os.Parcelable {
    method public android.app.Notification.Builder applyTo(android.app.Notification.Builder);
    method public int describeContents();
    method public static android.app.wearable.WearableNotificationExtensions from(android.app.Notification);
    method public android.app.Notification.Action getAction(int);
    method public int getActionCount();
    method public android.app.Notification.Action[] getActions();
    method public android.graphics.Bitmap getBackground();
    method public int getContentAction();
    method public int getContentIcon();
    method public int getContentIconGravity();
    method public boolean getContentIntentAvailableOffline();
    method public int getCustomContentHeight();
    method public int getCustomSizePreset();
    method public android.app.PendingIntent getDisplayIntent();
    method public int getGravity();
    method public boolean getHintHideIcon();
    method public boolean getHintShowBackgroundOnly();
    method public android.app.Notification[] getPages();
    method public boolean getStartScrollBottom();
    method public void writeToParcel(android.os.Parcel, int);
    field public static final android.os.Parcelable.Creator CREATOR;
    field public static final int SIZE_DEFAULT = 0; // 0x0
    field public static final int SIZE_FULLSCREEN = 16; // 0x10
    field public static final int SIZE_LARGE = 256; // 0x100
    field public static final int SIZE_MEDIUM = 128; // 0x80
    field public static final int SIZE_SMALL = 64; // 0x40
    field public static final int SIZE_XSMALL = 32; // 0x20
    field public static final int UNSET_ACTION_INDEX = -1; // 0xffffffff
  }
  public static final class WearableNotificationExtensions.Builder {
    ctor public WearableNotificationExtensions.Builder();
    ctor public WearableNotificationExtensions.Builder(android.app.wearable.WearableNotificationExtensions);
    method public android.app.wearable.WearableNotificationExtensions.Builder addAction(android.app.Notification.Action);
    method public android.app.wearable.WearableNotificationExtensions.Builder addActions(java.util.List<android.app.Notification.Action>);
    method public android.app.wearable.WearableNotificationExtensions.Builder addPage(android.app.Notification);
    method public android.app.wearable.WearableNotificationExtensions.Builder addPages(java.util.List<android.app.Notification>);
    method public android.app.wearable.WearableNotificationExtensions build();
    method public android.app.wearable.WearableNotificationExtensions.Builder clearActions();
    method public android.app.wearable.WearableNotificationExtensions.Builder clearPages();
    method public android.app.wearable.WearableNotificationExtensions.Builder setBackground(android.graphics.Bitmap);
    method public android.app.wearable.WearableNotificationExtensions.Builder setContentAction(int);
    method public android.app.wearable.WearableNotificationExtensions.Builder setContentIcon(int);
    method public android.app.wearable.WearableNotificationExtensions.Builder setContentIconGravity(int);
    method public android.app.wearable.WearableNotificationExtensions.Builder setContentIntentAvailableOffline(boolean);
    method public android.app.wearable.WearableNotificationExtensions.Builder setCustomContentHeight(int);
    method public android.app.wearable.WearableNotificationExtensions.Builder setCustomSizePreset(int);
    method public android.app.wearable.WearableNotificationExtensions.Builder setDisplayIntent(android.app.PendingIntent);
    method public android.app.wearable.WearableNotificationExtensions.Builder setGravity(int);
    method public android.app.wearable.WearableNotificationExtensions.Builder setHintHideIcon(boolean);
    method public android.app.wearable.WearableNotificationExtensions.Builder setHintShowBackgroundOnly(boolean);
    method public android.app.wearable.WearableNotificationExtensions.Builder setStartScrollBottom(boolean);
  }
}
package android.appwidget {
  public class AppWidgetHost {
+162 −0
Original line number Diff line number Diff line
/*
 * Copyright (C) 2014 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package android.app.wearable;

import android.app.Notification;
import android.os.Parcel;
import android.os.Parcelable;

/**
 * Wearable extensions to notification actions. To add extensions to an action,
 * create a new {@link WearableActionExtensions} object using
 * {@link WearableActionExtensions.Builder} and apply it to a
 * {@link android.app.Notification.Action.Builder}.
 *
 * <pre class="prettyprint">
 * Notification.Action action = new Notification.Action.Builder(
 *         R.drawable.archive_all, "Archive all", actionIntent)
 *         .apply(new WearableActionExtensions.Builder()
 *                 .setAvailableOffline(false)
 *                 .build())
 *         .build();
 * </pre>
 */
public final class WearableActionExtensions implements Notification.Action.Builder.Extender,
        Parcelable {
    /** Notification action extra which contains wearable extensions */
    static final String EXTRA_WEARABLE_EXTENSIONS = "android.wearable.EXTENSIONS";

    // Flags bitwise-ored to mFlags
    static final int FLAG_AVAILABLE_OFFLINE = 1 << 0;

    // Default value for flags integer
    static final int DEFAULT_FLAGS = FLAG_AVAILABLE_OFFLINE;

    private final int mFlags;

    private WearableActionExtensions(int flags) {
        mFlags = flags;
    }

    private WearableActionExtensions(Parcel in) {
        mFlags = in.readInt();
    }

    /**
     * Create a {@link WearableActionExtensions} by reading wearable extensions present on an
     * existing notification action.
     * @param action the notification action to inspect.
     * @return a new {@link WearableActionExtensions} object.
     */
    public static WearableActionExtensions from(Notification.Action action) {
        WearableActionExtensions extensions = action.getExtras().getParcelable(
                EXTRA_WEARABLE_EXTENSIONS);
        if (extensions != null) {
            return extensions;
        } else {
            // Return a WearableActionExtensions with default values.
            return new Builder().build();
        }
    }

    /**
     * Get whether this action is available when the wearable device is not connected to
     * a companion device. The user can still trigger this action when the wearable device is
     * offline, but a visual hint will indicate that the action may not be available.
     * Defaults to true.
     */
    public boolean isAvailableOffline() {
        return (mFlags & FLAG_AVAILABLE_OFFLINE) != 0;
    }

    @Override
    public Notification.Action.Builder applyTo(Notification.Action.Builder builder) {
        builder.getExtras().putParcelable(EXTRA_WEARABLE_EXTENSIONS, this);
        return builder;
    }

    @Override
    public int describeContents() {
        return 0;
    }

    @Override
    public void writeToParcel(Parcel out, int flags) {
        out.writeInt(mFlags);
    }

    /**
     * Builder for {@link WearableActionExtensions} objects, which adds wearable extensions to
     * notification actions. To extend an action, create an instance of this class, call the set
     * methods present, call {@link #build}, and finally apply the options to a
     * {@link Notification.Builder} using its {@link android.app.Notification.Builder#apply} method.
     */
    public static final class Builder {
        private int mFlags = DEFAULT_FLAGS;

        /**
         * Construct a builder to be used for adding wearable extensions to notification actions.
         *
         * <pre class="prettyprint">
         * Notification.Action action = new Notification.Action.Builder(
         *         R.drawable.archive_all, "Archive all", actionIntent)
         *         .apply(new WearableActionExtensions.Builder()
         *                 .setAvailableOffline(false)
         *                 .build())
         *         .build();</pre>
         */
        public Builder() {
        }

        /**
         * Create a {@link Builder} by reading wearable extensions present on an
         * existing {@code WearableActionExtensions} object.
         * @param other the existing extensions to inspect.
         */
        public Builder(WearableActionExtensions other) {
            mFlags = other.mFlags;
        }

        /**
         * Set whether this action is available when the wearable device is not connected to
         * a companion device. The user can still trigger this action when the wearable device is
         * offline, but a visual hint will indicate that the action may not be available.
         * Defaults to true.
         */
        public Builder setAvailableOffline(boolean availableOffline) {
            setFlag(FLAG_AVAILABLE_OFFLINE, availableOffline);
            return this;
        }

        /**
         * Build a new {@link WearableActionExtensions} object with the extensions
         * currently present on this builder.
         * @return the extensions object.
         */
        public WearableActionExtensions build() {
            return new WearableActionExtensions(mFlags);
        }

        private void setFlag(int mask, boolean value) {
            if (value) {
                mFlags |= mask;
            } else {
                mFlags &= ~mask;
            }
        }
    }
}
+712 −0

File added.

Preview size limit exceeded, changes collapsed.