Loading api/current.txt +74 −0 Original line number Diff line number Diff line Loading @@ -4661,6 +4661,80 @@ package android.app.backup { } 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 { core/java/android/app/wearable/WearableActionExtensions.java 0 → 100644 +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; } } } } Loading
api/current.txt +74 −0 Original line number Diff line number Diff line Loading @@ -4661,6 +4661,80 @@ package android.app.backup { } 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 {
core/java/android/app/wearable/WearableActionExtensions.java 0 → 100644 +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; } } } }