diff options
570 files changed, 33545 insertions, 25422 deletions
diff --git a/api/current.txt b/api/current.txt index 348ebf9..5a9be90 100644 --- a/api/current.txt +++ b/api/current.txt @@ -106,7 +106,7 @@ package android { field public static final deprecated java.lang.String READ_INPUT_STATE = "android.permission.READ_INPUT_STATE"; field public static final java.lang.String READ_LOGS = "android.permission.READ_LOGS"; field public static final java.lang.String READ_PHONE_STATE = "android.permission.READ_PHONE_STATE"; - field public static final java.lang.String READ_PROFILE = "android.permission.READ_PROFILE"; + field public static final deprecated java.lang.String READ_PROFILE = "android.permission.READ_PROFILE"; field public static final java.lang.String READ_SMS = "android.permission.READ_SMS"; field public static final deprecated java.lang.String READ_SOCIAL_STREAM = "android.permission.READ_SOCIAL_STREAM"; field public static final java.lang.String READ_SYNC_SETTINGS = "android.permission.READ_SYNC_SETTINGS"; @@ -120,6 +120,7 @@ package android { field public static final java.lang.String RECEIVE_WAP_PUSH = "android.permission.RECEIVE_WAP_PUSH"; field public static final java.lang.String RECORD_AUDIO = "android.permission.RECORD_AUDIO"; field public static final java.lang.String REORDER_TASKS = "android.permission.REORDER_TASKS"; + field public static final java.lang.String REQUEST_INSTALL_PACKAGES = "android.permission.REQUEST_INSTALL_PACKAGES"; field public static final deprecated java.lang.String RESTART_PACKAGES = "android.permission.RESTART_PACKAGES"; field public static final java.lang.String SEND_RESPOND_VIA_MESSAGE = "android.permission.SEND_RESPOND_VIA_MESSAGE"; field public static final java.lang.String SEND_SMS = "android.permission.SEND_SMS"; @@ -154,7 +155,7 @@ package android { field public static final java.lang.String WRITE_EXTERNAL_STORAGE = "android.permission.WRITE_EXTERNAL_STORAGE"; field public static final java.lang.String WRITE_GSERVICES = "android.permission.WRITE_GSERVICES"; field public static final java.lang.String WRITE_HISTORY_BOOKMARKS = "com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"; - field public static final java.lang.String WRITE_PROFILE = "android.permission.WRITE_PROFILE"; + field public static final deprecated java.lang.String WRITE_PROFILE = "android.permission.WRITE_PROFILE"; field public static final java.lang.String WRITE_SECURE_SETTINGS = "android.permission.WRITE_SECURE_SETTINGS"; field public static final java.lang.String WRITE_SETTINGS = "android.permission.WRITE_SETTINGS"; field public static final deprecated java.lang.String WRITE_SOCIAL_STREAM = "android.permission.WRITE_SOCIAL_STREAM"; @@ -3996,24 +3997,22 @@ package android.app { public class AssistContent implements android.os.Parcelable { ctor public AssistContent(); method public int describeContents(); - method public static android.app.AssistContent getAssistContent(android.os.Bundle); method public android.content.ClipData getClipData(); method public android.content.Intent getIntent(); + method public android.net.Uri getWebUri(); method public void setClipData(android.content.ClipData); method public void setIntent(android.content.Intent); + method public void setWebUri(android.net.Uri); method public void writeToParcel(android.os.Parcel, int); - field public static final java.lang.String ASSIST_KEY = "android:assist_content"; field public static final android.os.Parcelable.Creator<android.app.AssistContent> CREATOR; } public final class AssistStructure implements android.os.Parcelable { method public int describeContents(); method public android.content.ComponentName getActivityComponent(); - method public static android.app.AssistStructure getAssistStructure(android.os.Bundle); method public android.app.AssistStructure.WindowNode getWindowNodeAt(int); method public int getWindowNodeCount(); method public void writeToParcel(android.os.Parcel, int); - field public static final java.lang.String ASSIST_KEY = "android:assist_structure"; field public static final android.os.Parcelable.Creator<android.app.AssistStructure> CREATOR; } @@ -23630,6 +23629,7 @@ package android.os { field public static final java.lang.String DISALLOW_INSTALL_UNKNOWN_SOURCES = "no_install_unknown_sources"; field public static final java.lang.String DISALLOW_MODIFY_ACCOUNTS = "no_modify_accounts"; field public static final java.lang.String DISALLOW_MOUNT_PHYSICAL_MEDIA = "no_physical_media"; + field public static final java.lang.String DISALLOW_NETWORK_RESET = "no_network_reset"; field public static final java.lang.String DISALLOW_OUTGOING_BEAM = "no_outgoing_beam"; field public static final java.lang.String DISALLOW_OUTGOING_CALLS = "no_outgoing_calls"; field public static final java.lang.String DISALLOW_REMOVE_USER = "no_remove_user"; @@ -28915,7 +28915,7 @@ package android.service.voice { method public android.view.View onCreateContentView(); method public void onDestroy(); method public boolean[] onGetSupportedCommands(android.service.voice.VoiceInteractionSession.Caller, java.lang.String[]); - method public void onHandleAssist(android.os.Bundle); + method public void onHandleAssist(android.os.Bundle, android.app.AssistStructure, android.app.AssistContent); method public void onHide(); method public boolean onKeyDown(int, android.view.KeyEvent); method public boolean onKeyLongPress(int, android.view.KeyEvent); @@ -30003,6 +30003,7 @@ package android.telecom { method public android.telecom.GatewayInfo getGatewayInfo(); method public android.net.Uri getHandle(); method public int getHandlePresentation(); + method public android.os.Bundle getIntentExtras(); method public android.telecom.StatusHints getStatusHints(); method public int getVideoState(); method public static boolean hasProperty(int, int); @@ -30057,6 +30058,7 @@ package android.telecom { method public final long getConnectionTime(); method public final java.util.List<android.telecom.Connection> getConnections(); method public final android.telecom.DisconnectCause getDisconnectCause(); + method public final android.os.Bundle getExtras(); method public final android.telecom.PhoneAccountHandle getPhoneAccountHandle(); method public final int getState(); method public final android.telecom.StatusHints getStatusHints(); @@ -30079,6 +30081,7 @@ package android.telecom { method public final void setConnectionCapabilities(int); method public final void setConnectionTime(long); method public final void setDisconnected(android.telecom.DisconnectCause); + method public final void setExtras(android.os.Bundle); method public final void setOnHold(); method public final void setStatusHints(android.telecom.StatusHints); method public final void setVideoProvider(android.telecom.Connection, android.telecom.Connection.VideoProvider); @@ -30105,6 +30108,7 @@ package android.telecom { method public final java.util.List<android.telecom.Conferenceable> getConferenceables(); method public final int getConnectionCapabilities(); method public final android.telecom.DisconnectCause getDisconnectCause(); + method public final android.os.Bundle getExtras(); method public final int getState(); method public final android.telecom.StatusHints getStatusHints(); method public final android.telecom.Connection.VideoProvider getVideoProvider(); @@ -30132,6 +30136,7 @@ package android.telecom { method public final void setConnectionService(android.telecom.ConnectionService); method public final void setDialing(); method public final void setDisconnected(android.telecom.DisconnectCause); + method public final void setExtras(android.os.Bundle); method public final void setInitialized(); method public final void setInitializing(); method public final void setNextPostDialChar(char); @@ -30372,6 +30377,7 @@ package android.telecom { method public final int getConnectionCapabilities(); method public final java.util.List<android.telecom.RemoteConnection> getConnections(); method public android.telecom.DisconnectCause getDisconnectCause(); + method public final android.os.Bundle getExtras(); method public final int getState(); method public void hold(); method public void merge(); @@ -30394,6 +30400,7 @@ package android.telecom { method public void onConnectionRemoved(android.telecom.RemoteConference, android.telecom.RemoteConnection); method public void onDestroyed(android.telecom.RemoteConference); method public void onDisconnected(android.telecom.RemoteConference, android.telecom.DisconnectCause); + method public void onExtrasChanged(android.telecom.RemoteConference, android.os.Bundle); method public void onStateChanged(android.telecom.RemoteConference, int, int); } @@ -30409,8 +30416,11 @@ package android.telecom { method public java.util.List<android.telecom.RemoteConnection> getConferenceableConnections(); method public int getConnectionCapabilities(); method public android.telecom.DisconnectCause getDisconnectCause(); + method public final android.os.Bundle getExtras(); method public int getState(); method public android.telecom.StatusHints getStatusHints(); + method public final android.telecom.RemoteConnection.VideoProvider getVideoProvider(); + method public int getVideoState(); method public void hold(); method public boolean isRingbackRequested(); method public boolean isVoipAudioMode(); @@ -30434,14 +30444,43 @@ package android.telecom { method public void onConnectionCapabilitiesChanged(android.telecom.RemoteConnection, int); method public void onDestroyed(android.telecom.RemoteConnection); method public void onDisconnected(android.telecom.RemoteConnection, android.telecom.DisconnectCause); + method public void onExtrasChanged(android.telecom.RemoteConnection, android.os.Bundle); method public void onPostDialChar(android.telecom.RemoteConnection, char); method public void onPostDialWait(android.telecom.RemoteConnection, java.lang.String); method public void onRingbackRequested(android.telecom.RemoteConnection, boolean); method public void onStateChanged(android.telecom.RemoteConnection, int); method public void onStatusHintsChanged(android.telecom.RemoteConnection, android.telecom.StatusHints); + method public void onVideoProviderChanged(android.telecom.RemoteConnection, android.telecom.RemoteConnection.VideoProvider); + method public void onVideoStateChanged(android.telecom.RemoteConnection, int); method public void onVoipAudioChanged(android.telecom.RemoteConnection, boolean); } + public static class RemoteConnection.VideoProvider { + method public void registerCallback(android.telecom.RemoteConnection.VideoProvider.Callback); + method public void requestCallDataUsage(); + method public void requestCameraCapabilities(); + method public void sendSessionModifyRequest(android.telecom.VideoProfile, android.telecom.VideoProfile); + method public void sendSessionModifyResponse(android.telecom.VideoProfile); + method public void setCamera(java.lang.String); + method public void setDeviceOrientation(int); + method public void setDisplaySurface(android.view.Surface); + method public void setPauseImage(android.net.Uri); + method public void setPreviewSurface(android.view.Surface); + method public void setZoom(float); + method public void unregisterCallback(android.telecom.RemoteConnection.VideoProvider.Callback); + } + + public static abstract class RemoteConnection.VideoProvider.Callback { + ctor public RemoteConnection.VideoProvider.Callback(); + method public void onCallDataUsageChanged(android.telecom.RemoteConnection.VideoProvider, long); + method public void onCallSessionEvent(android.telecom.RemoteConnection.VideoProvider, int); + method public void onCameraCapabilitiesChanged(android.telecom.RemoteConnection.VideoProvider, android.telecom.VideoProfile.CameraCapabilities); + method public void onPeerDimensionsChanged(android.telecom.RemoteConnection.VideoProvider, int, int); + method public void onSessionModifyRequestReceived(android.telecom.RemoteConnection.VideoProvider, android.telecom.VideoProfile); + method public void onSessionModifyResponseReceived(android.telecom.RemoteConnection.VideoProvider, int, android.telecom.VideoProfile, android.telecom.VideoProfile); + method public void onVideoQualityChanged(android.telecom.RemoteConnection.VideoProvider, int); + } + public final class StatusHints implements android.os.Parcelable { ctor public StatusHints(java.lang.CharSequence, android.graphics.drawable.Icon, android.os.Bundle); method public int describeContents(); @@ -30474,6 +30513,7 @@ package android.telecom { method public void unregisterPhoneAccount(android.telecom.PhoneAccountHandle); field public static final java.lang.String ACTION_CHANGE_DEFAULT_DIALER = "android.telecom.action.CHANGE_DEFAULT_DIALER"; field public static final java.lang.String ACTION_CHANGE_PHONE_ACCOUNTS = "android.telecom.action.CHANGE_PHONE_ACCOUNTS"; + field public static final java.lang.String ACTION_CONNECTION_SERVICE_CONFIGURE = "android.telecom.action.CONNECTION_SERVICE_CONFIGURE"; field public static final java.lang.String ACTION_INCOMING_CALL = "android.telecom.action.INCOMING_CALL"; field public static final java.lang.String ACTION_SHOW_CALL_ACCESSIBILITY_SETTINGS = "android.telecom.action.SHOW_CALL_ACCESSIBILITY_SETTINGS"; field public static final java.lang.String ACTION_SHOW_CALL_SETTINGS = "android.telecom.action.SHOW_CALL_SETTINGS"; @@ -34605,6 +34645,7 @@ package android.view { ctor public GestureDetector(android.content.Context, android.view.GestureDetector.OnGestureListener, android.os.Handler); ctor public GestureDetector(android.content.Context, android.view.GestureDetector.OnGestureListener, android.os.Handler, boolean); method public boolean isLongpressEnabled(); + method public boolean onGenericMotionEvent(android.view.MotionEvent); method public boolean onTouchEvent(android.view.MotionEvent); method public void setIsLongpressEnabled(boolean); method public void setOnDoubleTapListener(android.view.GestureDetector.OnDoubleTapListener); @@ -36914,8 +36955,7 @@ package android.view { method public abstract void setStylusButtonPressable(boolean); method public abstract void setText(java.lang.CharSequence); method public abstract void setText(java.lang.CharSequence, int, int); - method public abstract void setTextPaint(android.text.TextPaint); - method public abstract void setTextStyle(int, int, int, int); + method public abstract void setTextStyle(float, int, int, int); method public abstract void setVisibility(int); } diff --git a/api/system-current.txt b/api/system-current.txt index 4c44ce0..b4315fe 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -155,7 +155,7 @@ package android { field public static final java.lang.String READ_NETWORK_USAGE_HISTORY = "android.permission.READ_NETWORK_USAGE_HISTORY"; field public static final java.lang.String READ_PHONE_STATE = "android.permission.READ_PHONE_STATE"; field public static final java.lang.String READ_PRIVILEGED_PHONE_STATE = "android.permission.READ_PRIVILEGED_PHONE_STATE"; - field public static final java.lang.String READ_PROFILE = "android.permission.READ_PROFILE"; + field public static final deprecated java.lang.String READ_PROFILE = "android.permission.READ_PROFILE"; field public static final java.lang.String READ_SEARCH_INDEXABLES = "android.permission.READ_SEARCH_INDEXABLES"; field public static final java.lang.String READ_SMS = "android.permission.READ_SMS"; field public static final deprecated java.lang.String READ_SOCIAL_STREAM = "android.permission.READ_SOCIAL_STREAM"; @@ -180,6 +180,7 @@ package android { field public static final java.lang.String REGISTER_SIM_SUBSCRIPTION = "android.permission.REGISTER_SIM_SUBSCRIPTION"; field public static final java.lang.String REMOVE_DRM_CERTIFICATES = "android.permission.REMOVE_DRM_CERTIFICATES"; field public static final java.lang.String REORDER_TASKS = "android.permission.REORDER_TASKS"; + field public static final java.lang.String REQUEST_INSTALL_PACKAGES = "android.permission.REQUEST_INSTALL_PACKAGES"; field public static final deprecated java.lang.String RESTART_PACKAGES = "android.permission.RESTART_PACKAGES"; field public static final java.lang.String RETRIEVE_WINDOW_CONTENT = "android.permission.RETRIEVE_WINDOW_CONTENT"; field public static final java.lang.String SCORE_NETWORKS = "android.permission.SCORE_NETWORKS"; @@ -227,7 +228,7 @@ package android { field public static final java.lang.String WRITE_GSERVICES = "android.permission.WRITE_GSERVICES"; field public static final java.lang.String WRITE_HISTORY_BOOKMARKS = "com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"; field public static final java.lang.String WRITE_MEDIA_STORAGE = "android.permission.WRITE_MEDIA_STORAGE"; - field public static final java.lang.String WRITE_PROFILE = "android.permission.WRITE_PROFILE"; + field public static final deprecated java.lang.String WRITE_PROFILE = "android.permission.WRITE_PROFILE"; field public static final java.lang.String WRITE_SECURE_SETTINGS = "android.permission.WRITE_SECURE_SETTINGS"; field public static final java.lang.String WRITE_SETTINGS = "android.permission.WRITE_SETTINGS"; field public static final deprecated java.lang.String WRITE_SOCIAL_STREAM = "android.permission.WRITE_SOCIAL_STREAM"; @@ -4091,24 +4092,22 @@ package android.app { public class AssistContent implements android.os.Parcelable { ctor public AssistContent(); method public int describeContents(); - method public static android.app.AssistContent getAssistContent(android.os.Bundle); method public android.content.ClipData getClipData(); method public android.content.Intent getIntent(); + method public android.net.Uri getWebUri(); method public void setClipData(android.content.ClipData); method public void setIntent(android.content.Intent); + method public void setWebUri(android.net.Uri); method public void writeToParcel(android.os.Parcel, int); - field public static final java.lang.String ASSIST_KEY = "android:assist_content"; field public static final android.os.Parcelable.Creator<android.app.AssistContent> CREATOR; } public final class AssistStructure implements android.os.Parcelable { method public int describeContents(); method public android.content.ComponentName getActivityComponent(); - method public static android.app.AssistStructure getAssistStructure(android.os.Bundle); method public android.app.AssistStructure.WindowNode getWindowNodeAt(int); method public int getWindowNodeCount(); method public void writeToParcel(android.os.Parcel, int); - field public static final java.lang.String ASSIST_KEY = "android:assist_structure"; field public static final android.os.Parcelable.Creator<android.app.AssistStructure> CREATOR; } @@ -25553,6 +25552,7 @@ package android.os { field public static final java.lang.String DISALLOW_INSTALL_UNKNOWN_SOURCES = "no_install_unknown_sources"; field public static final java.lang.String DISALLOW_MODIFY_ACCOUNTS = "no_modify_accounts"; field public static final java.lang.String DISALLOW_MOUNT_PHYSICAL_MEDIA = "no_physical_media"; + field public static final java.lang.String DISALLOW_NETWORK_RESET = "no_network_reset"; field public static final java.lang.String DISALLOW_OUTGOING_BEAM = "no_outgoing_beam"; field public static final java.lang.String DISALLOW_OUTGOING_CALLS = "no_outgoing_calls"; field public static final java.lang.String DISALLOW_REMOVE_USER = "no_remove_user"; @@ -31041,7 +31041,7 @@ package android.service.voice { method public android.view.View onCreateContentView(); method public void onDestroy(); method public boolean[] onGetSupportedCommands(android.service.voice.VoiceInteractionSession.Caller, java.lang.String[]); - method public void onHandleAssist(android.os.Bundle); + method public void onHandleAssist(android.os.Bundle, android.app.AssistStructure, android.app.AssistContent); method public void onHide(); method public boolean onKeyDown(int, android.view.KeyEvent); method public boolean onKeyLongPress(int, android.view.KeyEvent); @@ -32150,6 +32150,7 @@ package android.telecom { method public android.telecom.GatewayInfo getGatewayInfo(); method public android.net.Uri getHandle(); method public int getHandlePresentation(); + method public android.os.Bundle getIntentExtras(); method public android.telecom.StatusHints getStatusHints(); method public int getVideoState(); method public static boolean hasProperty(int, int); @@ -32210,6 +32211,7 @@ package android.telecom { method public final long getConnectionTime(); method public final java.util.List<android.telecom.Connection> getConnections(); method public final android.telecom.DisconnectCause getDisconnectCause(); + method public final android.os.Bundle getExtras(); method public final android.telecom.PhoneAccountHandle getPhoneAccountHandle(); method public android.telecom.Connection getPrimaryConnection(); method public final int getState(); @@ -32235,6 +32237,7 @@ package android.telecom { method public final void setConnectionCapabilities(int); method public final void setConnectionTime(long); method public final void setDisconnected(android.telecom.DisconnectCause); + method public final void setExtras(android.os.Bundle); method public final void setOnHold(); method public final void setStatusHints(android.telecom.StatusHints); method public final void setVideoProvider(android.telecom.Connection, android.telecom.Connection.VideoProvider); @@ -32262,6 +32265,7 @@ package android.telecom { method public final java.util.List<android.telecom.Conferenceable> getConferenceables(); method public final int getConnectionCapabilities(); method public final android.telecom.DisconnectCause getDisconnectCause(); + method public final android.os.Bundle getExtras(); method public final int getState(); method public final android.telecom.StatusHints getStatusHints(); method public final android.telecom.Connection.VideoProvider getVideoProvider(); @@ -32290,6 +32294,7 @@ package android.telecom { method public final void setConnectionService(android.telecom.ConnectionService); method public final void setDialing(); method public final void setDisconnected(android.telecom.DisconnectCause); + method public final void setExtras(android.os.Bundle); method public final void setInitialized(); method public final void setInitializing(); method public final void setNextPostDialChar(char); @@ -32555,6 +32560,7 @@ package android.telecom { method public final int getConnectionCapabilities(); method public final java.util.List<android.telecom.RemoteConnection> getConnections(); method public android.telecom.DisconnectCause getDisconnectCause(); + method public final android.os.Bundle getExtras(); method public final int getState(); method public void hold(); method public void merge(); @@ -32578,6 +32584,7 @@ package android.telecom { method public void onConnectionRemoved(android.telecom.RemoteConference, android.telecom.RemoteConnection); method public void onDestroyed(android.telecom.RemoteConference); method public void onDisconnected(android.telecom.RemoteConference, android.telecom.DisconnectCause); + method public void onExtrasChanged(android.telecom.RemoteConference, android.os.Bundle); method public void onStateChanged(android.telecom.RemoteConference, int, int); } @@ -32593,8 +32600,11 @@ package android.telecom { method public java.util.List<android.telecom.RemoteConnection> getConferenceableConnections(); method public int getConnectionCapabilities(); method public android.telecom.DisconnectCause getDisconnectCause(); + method public final android.os.Bundle getExtras(); method public int getState(); method public android.telecom.StatusHints getStatusHints(); + method public final android.telecom.RemoteConnection.VideoProvider getVideoProvider(); + method public int getVideoState(); method public void hold(); method public boolean isRingbackRequested(); method public boolean isVoipAudioMode(); @@ -32619,14 +32629,43 @@ package android.telecom { method public void onConnectionCapabilitiesChanged(android.telecom.RemoteConnection, int); method public void onDestroyed(android.telecom.RemoteConnection); method public void onDisconnected(android.telecom.RemoteConnection, android.telecom.DisconnectCause); + method public void onExtrasChanged(android.telecom.RemoteConnection, android.os.Bundle); method public void onPostDialChar(android.telecom.RemoteConnection, char); method public void onPostDialWait(android.telecom.RemoteConnection, java.lang.String); method public void onRingbackRequested(android.telecom.RemoteConnection, boolean); method public void onStateChanged(android.telecom.RemoteConnection, int); method public void onStatusHintsChanged(android.telecom.RemoteConnection, android.telecom.StatusHints); + method public void onVideoProviderChanged(android.telecom.RemoteConnection, android.telecom.RemoteConnection.VideoProvider); + method public void onVideoStateChanged(android.telecom.RemoteConnection, int); method public void onVoipAudioChanged(android.telecom.RemoteConnection, boolean); } + public static class RemoteConnection.VideoProvider { + method public void registerCallback(android.telecom.RemoteConnection.VideoProvider.Callback); + method public void requestCallDataUsage(); + method public void requestCameraCapabilities(); + method public void sendSessionModifyRequest(android.telecom.VideoProfile, android.telecom.VideoProfile); + method public void sendSessionModifyResponse(android.telecom.VideoProfile); + method public void setCamera(java.lang.String); + method public void setDeviceOrientation(int); + method public void setDisplaySurface(android.view.Surface); + method public void setPauseImage(android.net.Uri); + method public void setPreviewSurface(android.view.Surface); + method public void setZoom(float); + method public void unregisterCallback(android.telecom.RemoteConnection.VideoProvider.Callback); + } + + public static abstract class RemoteConnection.VideoProvider.Callback { + ctor public RemoteConnection.VideoProvider.Callback(); + method public void onCallDataUsageChanged(android.telecom.RemoteConnection.VideoProvider, long); + method public void onCallSessionEvent(android.telecom.RemoteConnection.VideoProvider, int); + method public void onCameraCapabilitiesChanged(android.telecom.RemoteConnection.VideoProvider, android.telecom.VideoProfile.CameraCapabilities); + method public void onPeerDimensionsChanged(android.telecom.RemoteConnection.VideoProvider, int, int); + method public void onSessionModifyRequestReceived(android.telecom.RemoteConnection.VideoProvider, android.telecom.VideoProfile); + method public void onSessionModifyResponseReceived(android.telecom.RemoteConnection.VideoProvider, int, android.telecom.VideoProfile, android.telecom.VideoProfile); + method public void onVideoQualityChanged(android.telecom.RemoteConnection.VideoProvider, int); + } + public final class StatusHints implements android.os.Parcelable { ctor public deprecated StatusHints(android.content.ComponentName, java.lang.CharSequence, int, android.os.Bundle); ctor public StatusHints(java.lang.CharSequence, android.graphics.drawable.Icon, android.os.Bundle); @@ -36864,6 +36903,7 @@ package android.view { ctor public GestureDetector(android.content.Context, android.view.GestureDetector.OnGestureListener, android.os.Handler); ctor public GestureDetector(android.content.Context, android.view.GestureDetector.OnGestureListener, android.os.Handler, boolean); method public boolean isLongpressEnabled(); + method public boolean onGenericMotionEvent(android.view.MotionEvent); method public boolean onTouchEvent(android.view.MotionEvent); method public void setIsLongpressEnabled(boolean); method public void setOnDoubleTapListener(android.view.GestureDetector.OnDoubleTapListener); @@ -39173,8 +39213,7 @@ package android.view { method public abstract void setStylusButtonPressable(boolean); method public abstract void setText(java.lang.CharSequence); method public abstract void setText(java.lang.CharSequence, int, int); - method public abstract void setTextPaint(android.text.TextPaint); - method public abstract void setTextStyle(int, int, int, int); + method public abstract void setTextStyle(float, int, int, int); method public abstract void setVisibility(int); } diff --git a/cmds/app_process/Android.mk b/cmds/app_process/Android.mk index ce6d7b5..3599695 100644 --- a/cmds/app_process/Android.mk +++ b/cmds/app_process/Android.mk @@ -52,11 +52,13 @@ LOCAL_LDFLAGS := -ldl -Wl,--version-script,art/sigchainlib/version-script.txt -W LOCAL_CPPFLAGS := -std=c++11 LOCAL_MODULE := app_process__asan -LOCAL_MODULE_TAGS := eng -LOCAL_MODULE_PATH := $(TARGET_OUT_EXECUTABLES)/asan -LOCAL_MODULE_STEM := app_process +LOCAL_MULTILIB := both +LOCAL_MODULE_STEM_32 := app_process32 +LOCAL_MODULE_STEM_64 := app_process64 + LOCAL_ADDRESS_SANITIZER := true LOCAL_CLANG := true +LOCAL_MODULE_PATH := $(TARGET_OUT_EXECUTABLES)/asan LOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code diff --git a/cmds/uiautomator/library/core-src/com/android/uiautomator/core/AccessibilityNodeInfoHelper.java b/cmds/uiautomator/library/core-src/com/android/uiautomator/core/AccessibilityNodeInfoHelper.java index 54835e3..de2fec0 100644 --- a/cmds/uiautomator/library/core-src/com/android/uiautomator/core/AccessibilityNodeInfoHelper.java +++ b/cmds/uiautomator/library/core-src/com/android/uiautomator/core/AccessibilityNodeInfoHelper.java @@ -46,7 +46,10 @@ class AccessibilityNodeInfoHelper { displayRect.right = width; displayRect.bottom = height; - nodeRect.intersect(displayRect); - return nodeRect; + if (nodeRect.intersect(displayRect)) { + return nodeRect; + } else { + return new Rect(); + } } } diff --git a/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiObject.java b/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiObject.java index 4bb99cd..2118da8 100644 --- a/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiObject.java +++ b/cmds/uiautomator/library/core-src/com/android/uiautomator/core/UiObject.java @@ -353,8 +353,12 @@ public class UiObject { Rect parentRect = AccessibilityNodeInfoHelper .getVisibleBoundsInScreen(scrollableParentNode, w, h); // adjust for partial clipping of targeted by parent node if required - nodeRect.intersect(parentRect); - return nodeRect; + if (nodeRect.intersect(parentRect)) { + return nodeRect; + } else { + // Node rect has no intersection with parent Rect + return new Rect(); + } } /** diff --git a/core/java/android/app/ActivityManagerNative.java b/core/java/android/app/ActivityManagerNative.java index 02e0d5b..e4def1e 100644 --- a/core/java/android/app/ActivityManagerNative.java +++ b/core/java/android/app/ActivityManagerNative.java @@ -2193,7 +2193,9 @@ public abstract class ActivityManagerNative extends Binder implements IActivityM data.enforceInterface(IActivityManager.descriptor); IBinder token = data.readStrongBinder(); Bundle extras = data.readBundle(); - reportAssistContextExtras(token, extras); + AssistStructure structure = AssistStructure.CREATOR.createFromParcel(data); + AssistContent content = AssistContent.CREATOR.createFromParcel(data); + reportAssistContextExtras(token, extras, structure, content); reply.writeNoException(); return true; } @@ -5359,13 +5361,15 @@ class ActivityManagerProxy implements IActivityManager reply.recycle(); } - public void reportAssistContextExtras(IBinder token, Bundle extras) - throws RemoteException { + public void reportAssistContextExtras(IBinder token, Bundle extras, AssistStructure structure, + AssistContent content) throws RemoteException { Parcel data = Parcel.obtain(); Parcel reply = Parcel.obtain(); data.writeInterfaceToken(IActivityManager.descriptor); data.writeStrongBinder(token); data.writeBundle(extras); + structure.writeToParcel(data, 0); + content.writeToParcel(data, 0); mRemote.transact(REPORT_ASSIST_CONTEXT_EXTRAS_TRANSACTION, data, reply, 0); reply.readException(); data.recycle(); diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java index cb436b5..2a98b6c 100644 --- a/core/java/android/app/ActivityThread.java +++ b/core/java/android/app/ActivityThread.java @@ -2562,15 +2562,18 @@ public final class ActivityThread { public void handleRequestAssistContextExtras(RequestAssistContextExtras cmd) { Bundle data = new Bundle(); + AssistStructure structure = null; + AssistContent content = new AssistContent(); ActivityClientRecord r = mActivities.get(cmd.activityToken); if (r != null) { r.activity.getApplication().dispatchOnProvideAssistData(r.activity, data); r.activity.onProvideAssistData(data); if (cmd.requestType == ActivityManager.ASSIST_CONTEXT_FULL) { - data.putParcelable(AssistStructure.ASSIST_KEY, new AssistStructure(r.activity)); - AssistContent content = new AssistContent(); + structure = new AssistStructure(r.activity); Intent activityIntent = r.activity.getIntent(); - if (activityIntent != null) { + if (activityIntent != null && (r.window == null || + (r.window.getAttributes().flags + & WindowManager.LayoutParams.FLAG_SECURE) == 0)) { Intent intent = new Intent(activityIntent); intent.setFlags(intent.getFlags() & ~(Intent.FLAG_GRANT_WRITE_URI_PERMISSION | Intent.FLAG_GRANT_PERSISTABLE_URI_PERMISSION)); @@ -2580,15 +2583,14 @@ public final class ActivityThread { content.setIntent(new Intent()); } r.activity.onProvideAssistContent(content); - data.putParcelable(AssistContent.ASSIST_KEY, content); } } - if (data.isEmpty()) { - data = null; + if (structure == null) { + structure = new AssistStructure(); } IActivityManager mgr = ActivityManagerNative.getDefault(); try { - mgr.reportAssistContextExtras(cmd.requestToken, data); + mgr.reportAssistContextExtras(cmd.requestToken, data, structure, content); } catch (RemoteException e) { } } diff --git a/core/java/android/app/AssistContent.java b/core/java/android/app/AssistContent.java index cb1a3f5..f271af1 100644 --- a/core/java/android/app/AssistContent.java +++ b/core/java/android/app/AssistContent.java @@ -18,6 +18,7 @@ package android.app; import android.content.ClipData; import android.content.Intent; +import android.net.Uri; import android.os.Bundle; import android.os.Parcel; import android.os.Parcelable; @@ -30,14 +31,17 @@ import android.os.Parcelable; public class AssistContent implements Parcelable { private Intent mIntent; private ClipData mClipData; + private Uri mUri; /** + * @hide * Key name this data structure is stored in the Bundle generated by * {@link Activity#onProvideAssistData}. */ public static final String ASSIST_KEY = "android:assist_content"; /** + * @hide * Retrieve the framework-generated AssistContent that is stored within * the Bundle filled in by {@link Activity#onProvideAssistContent}. */ @@ -56,6 +60,13 @@ public class AssistContent implements Parcelable { */ public void setIntent(Intent intent) { mIntent = intent; + setWebUri(null); + if (intent != null && Intent.ACTION_VIEW.equals(intent.getAction())) { + Uri uri = intent.getData(); + if ("http".equals(uri.getScheme()) || "https".equals(uri.getScheme())) { + setWebUri(uri); + } + } } /** @@ -81,6 +92,30 @@ public class AssistContent implements Parcelable { return mClipData; } + /** + * Set a web URI associated with the current data being shown to the user. + * This URI could be opened in a web browser, or in the app as an + * {@link Intent#ACTION_VIEW} Intent, to show the same data that is currently + * being displayed by it. The URI here should be something that is transportable + * off the device into other environments to acesss the same data as is currently + * being shown in the app; if the app does not have such a representation, it should + * leave the null and only report the local intent and clip data. + * + * <p>This will be automatically populated for you from {@link #setIntent} if that Intent + * is an {@link Intent#ACTION_VIEW} of a web (http or https scheme) URI.</p> + */ + public void setWebUri(Uri uri) { + mUri = uri; + } + + /** + * Return the content's web URI as per {@link #setWebUri(android.net.Uri)}, or null if + * there is none. + */ + public Uri getWebUri() { + return mUri; + } + AssistContent(Parcel in) { if (in.readInt() != 0) { mIntent = Intent.CREATOR.createFromParcel(in); @@ -88,6 +123,9 @@ public class AssistContent implements Parcelable { if (in.readInt() != 0) { mClipData = ClipData.CREATOR.createFromParcel(in); } + if (in.readInt() != 0) { + mUri = Uri.CREATOR.createFromParcel(in); + } } @Override @@ -109,6 +147,12 @@ public class AssistContent implements Parcelable { } else { dest.writeInt(0); } + if (mUri != null) { + dest.writeInt(1); + mUri.writeToParcel(dest, flags); + } else { + dest.writeInt(0); + } } public static final Parcelable.Creator<AssistContent> CREATOR diff --git a/core/java/android/app/AssistStructure.java b/core/java/android/app/AssistStructure.java index b703b0e..ca47a5e 100644 --- a/core/java/android/app/AssistStructure.java +++ b/core/java/android/app/AssistStructure.java @@ -42,13 +42,13 @@ import java.util.ArrayList; /** * Assist data automatically created by the platform's implementation - * of {@link Activity#onProvideAssistData}. Retrieve it from the assist - * data with {@link #getAssistStructure(android.os.Bundle)}. + * of {@link Activity#onProvideAssistData}. */ final public class AssistStructure implements Parcelable { static final String TAG = "AssistStructure"; /** + * @hide * Key name this data structure is stored in the Bundle generated by * {@link Activity#onProvideAssistData}. */ @@ -607,35 +607,7 @@ final public class AssistStructure implements Parcelable { } @Override - public void setTextPaint(TextPaint paint) { - ViewNodeText t = getNodeText(); - t.mTextColor = paint.getColor(); - t.mTextBackgroundColor = paint.bgColor; - t.mTextSize = paint.getTextSize(); - t.mTextStyle = 0; - Typeface tf = paint.getTypeface(); - if (tf != null) { - if (tf.isBold()) { - t.mTextStyle |= ViewNode.TEXT_STYLE_BOLD; - } - if (tf.isItalic()) { - t.mTextStyle |= ViewNode.TEXT_STYLE_ITALIC; - } - } - int pflags = paint.getFlags(); - if ((pflags& Paint.FAKE_BOLD_TEXT_FLAG) != 0) { - t.mTextStyle |= ViewNode.TEXT_STYLE_BOLD; - } - if ((pflags& Paint.UNDERLINE_TEXT_FLAG) != 0) { - t.mTextStyle |= ViewNode.TEXT_STYLE_UNDERLINE; - } - if ((pflags& Paint.STRIKE_THRU_TEXT_FLAG) != 0) { - t.mTextStyle |= ViewNode.TEXT_STYLE_STRIKE_THRU; - } - } - - @Override - public void setTextStyle(int size, int fgColor, int bgColor, int style) { + public void setTextStyle(float size, int fgColor, int bgColor, int style) { ViewNodeText t = getNodeText(); t.mTextColor = fgColor; t.mTextBackgroundColor = bgColor; @@ -741,6 +713,11 @@ final public class AssistStructure implements Parcelable { } } + AssistStructure() { + mHaveData = true; + mActivityComponent = null; + } + AssistStructure(Parcel in) { mReceiveChannel = in.readStrongBinder(); } @@ -811,6 +788,7 @@ final public class AssistStructure implements Parcelable { } /** + * @hide * Retrieve the framework-generated AssistStructure that is stored within * the Bundle filled in by {@link Activity#onProvideAssistData}. */ diff --git a/core/java/android/app/IActivityManager.java b/core/java/android/app/IActivityManager.java index c42719b..0a425ae 100644 --- a/core/java/android/app/IActivityManager.java +++ b/core/java/android/app/IActivityManager.java @@ -433,7 +433,8 @@ public interface IActivityManager extends IInterface { public void requestAssistContextExtras(int requestType, IResultReceiver receiver) throws RemoteException; - public void reportAssistContextExtras(IBinder token, Bundle extras) throws RemoteException; + public void reportAssistContextExtras(IBinder token, Bundle extras, + AssistStructure structure, AssistContent content) throws RemoteException; public boolean launchAssistIntent(Intent intent, int requestType, String hint, int userHandle) throws RemoteException; diff --git a/core/java/android/app/VoiceInteractor.java b/core/java/android/app/VoiceInteractor.java index 022a62c..a412952 100644 --- a/core/java/android/app/VoiceInteractor.java +++ b/core/java/android/app/VoiceInteractor.java @@ -262,9 +262,9 @@ public class VoiceInteractor { /** * Create a new confirmation request. - * @param prompt Optional confirmation text to read to the user as the action being - * confirmed. - * @param extras Additional optional information. + * @param prompt Optional confirmation to speak to the user or null if nothing + * should be spoken. + * @param extras Additional optional information or null. */ public ConfirmationRequest(CharSequence prompt, Bundle extras) { mPrompt = prompt; @@ -305,7 +305,7 @@ public class VoiceInteractor { * Creates an option that a user can select with their voice by matching the label * or one of several synonyms. * @param label The label that will both be matched against what the user speaks - * and displayed visually. + * and displayed visually. */ public Option(CharSequence label) { mLabel = label; @@ -316,10 +316,10 @@ public class VoiceInteractor { * Creates an option that a user can select with their voice by matching the label * or one of several synonyms. * @param label The label that will both be matched against what the user speaks - * and displayed visually. + * and displayed visually. * @param index The location of this option within the overall set of options. - * Can be used to help identify the option when it is returned from the - * voice interactor. + * Can be used to help identify the option when it is returned from the + * voice interactor. */ public Option(CharSequence label, int index) { mLabel = label; @@ -330,7 +330,7 @@ public class VoiceInteractor { * Add a synonym term to the option to indicate an alternative way the content * may be matched. * @param synonym The synonym that will be matched against what the user speaks, - * but not displayed. + * but not displayed. */ public Option addSynonym(CharSequence synonym) { if (mSynonyms == null) { @@ -412,9 +412,10 @@ public class VoiceInteractor { /** * Create a new pick option request. - * @param prompt Optional question to be spoken to the user via text to speech. + * @param prompt Optional question to be asked of the user when the options are + * presented or null if nothing should be asked. * @param options The set of {@link Option}s the user is selecting from. - * @param extras Additional optional information. + * @param extras Additional optional information or null. */ public PickOptionRequest(CharSequence prompt, Option[] options, Bundle extras) { mPrompt = prompt; @@ -425,10 +426,10 @@ public class VoiceInteractor { /** * Called when a single option is confirmed or narrowed to one of several options. * @param finished True if the voice interaction has finished making a selection, in - * which case {@code selections} contains the final result. If false, this request is - * still active and you will continue to get calls on it. + * which case {@code selections} contains the final result. If false, this request is + * still active and you will continue to get calls on it. * @param selections Either a single {@link Option} or one of several {@link Option}s the - * user has narrowed the choices down to. + * user has narrowed the choices down to. * @param result Additional optional information. */ public void onPickOptionResult(boolean finished, Option[] selections, Bundle result) { @@ -455,8 +456,9 @@ public class VoiceInteractor { /** * Create a new completed voice interaction request. - * @param message Optional message to tell user about the completion status of the task. - * @param extras Additional optional information. + * @param message Optional message to speak to the user about the completion status of + * the task or null if nothing should be spoken. + * @param extras Additional optional information or null. */ public CompleteVoiceRequest(CharSequence message, Bundle extras) { mMessage = message; @@ -489,9 +491,9 @@ public class VoiceInteractor { /** * Create a new voice abort request. - * @param message Optional message to tell user about not being able to complete - * the interaction with voice. - * @param extras Additional optional information. + * @param message Optional message to speak to the user indicating why the task could + * not be completed by voice or null if nothing should be spoken. + * @param extras Additional optional information or null. */ public AbortVoiceRequest(CharSequence message, Bundle extras) { mMessage = message; @@ -631,10 +633,11 @@ public class VoiceInteractor { /** * Queries the supported commands available from the VoiceinteractionService. * The command is a string that describes the generic operation to be performed. - * An example might be "com.google.voice.commands.REQUEST_NUMBER_BAGS" to request the number - * of bags as part of airline check-in. (This is not an actual working example.) + * An example might be "org.example.commands.PICK_DATE" to ask the user to pick + * a date. (Note: This is not an actual working example.) * - * @param commands + * @param commands The array of commands to query for support. + * @return Array of booleans indicating whether each command is supported or not. */ public boolean[] supportsCommands(String[] commands) { try { diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java index 62a1617..c01ce4f 100644 --- a/core/java/android/content/Intent.java +++ b/core/java/android/content/Intent.java @@ -1387,6 +1387,11 @@ public class Intent implements Parcelable, Cloneable { * <p> * Output: If {@link #EXTRA_RETURN_RESULT}, returns whether the install * succeeded. + * <p> + * <strong>Note:</strong>If your app is targeting API level higher than 22 you + * need to hold {@link android.Manifest.permission#REQUEST_INSTALL_PACKAGES} + * in order to launch the application installer. + * </p> * * @see #EXTRA_INSTALLER_PACKAGE_NAME * @see #EXTRA_NOT_UNKNOWN_SOURCE diff --git a/core/java/android/content/res/ColorStateList.java b/core/java/android/content/res/ColorStateList.java index 14bfac5..579634f 100644 --- a/core/java/android/content/res/ColorStateList.java +++ b/core/java/android/content/res/ColorStateList.java @@ -382,6 +382,14 @@ public class ColorStateList implements Parcelable { defaultAlphaMod = 1.0f; } + // Extract the theme attributes, if any, before attempting to + // read from the typed array. This prevents a crash if we have + // unresolved attrs. + themeAttrsList[i] = a.extractThemeAttrs(themeAttrsList[i]); + if (themeAttrsList[i] != null) { + hasUnresolvedAttrs = true; + } + final int baseColor = a.getColor( R.styleable.ColorStateListItem_color, mColors[i]); final float alphaMod = a.getFloat( @@ -391,12 +399,6 @@ public class ColorStateList implements Parcelable { // Account for any configuration changes. mChangingConfigurations |= a.getChangingConfigurations(); - // Extract the theme attributes, if any. - themeAttrsList[i] = a.extractThemeAttrs(themeAttrsList[i]); - if (themeAttrsList[i] != null) { - hasUnresolvedAttrs = true; - } - a.recycle(); } } diff --git a/core/java/android/hardware/SensorEvent.java b/core/java/android/hardware/SensorEvent.java index 2bc0f9b..906c2a1 100644 --- a/core/java/android/hardware/SensorEvent.java +++ b/core/java/android/hardware/SensorEvent.java @@ -312,7 +312,7 @@ public class SensorEvent { * </p> * * <p> - * values[2]: Roll, rotation around the x-axis (-90 to 90) + * values[2]: Roll, rotation around the y-axis (-90 to 90) * increasing as the device moves clockwise. * </p> * </ul> @@ -325,6 +325,8 @@ public class SensorEvent { * * <p> * <b>Note:</b> This sensor type exists for legacy reasons, please use + * {@link android.hardware.Sensor#TYPE_ROTATION_VECTOR + * rotation vector sensor type} and * {@link android.hardware.SensorManager#getRotationMatrix * getRotationMatrix()} in conjunction with * {@link android.hardware.SensorManager#remapCoordinateSystem diff --git a/core/java/android/hardware/SensorManager.java b/core/java/android/hardware/SensorManager.java index 861969e..fda889f 100644 --- a/core/java/android/hardware/SensorManager.java +++ b/core/java/android/hardware/SensorManager.java @@ -967,8 +967,9 @@ public abstract class SensorManager { * TYPE_MAGNETIC_FIELD}. * * @return <code>true</code> on success, <code>false</code> on failure (for - * instance, if the device is in free fall). On failure the output - * matrices are not modified. + * instance, if the device is in free fall). Free fall is defined as + * condition when the magnitude of the gravity is less than 1/10 of + * the nominal value. On failure the output matrices are not modified. * * @see #getInclination(float[]) * @see #getOrientation(float[], float[]) @@ -981,6 +982,15 @@ public abstract class SensorManager { float Ax = gravity[0]; float Ay = gravity[1]; float Az = gravity[2]; + + final float normsqA = (Ax*Ax + Ay*Ay + Az*Az); + final float g = 9.81f; + final float freeFallGravitySquared = 0.01f * g * g; + if (normsqA < freeFallGravitySquared) { + // gravity less than 10% of normal value + return false; + } + final float Ex = geomagnetic[0]; final float Ey = geomagnetic[1]; final float Ez = geomagnetic[2]; @@ -988,6 +998,7 @@ public abstract class SensorManager { float Hy = Ez*Ax - Ex*Az; float Hz = Ex*Ay - Ey*Ax; final float normH = (float)Math.sqrt(Hx*Hx + Hy*Hy + Hz*Hz); + if (normH < 0.1f) { // device is close to free fall (or in space?), or close to // magnetic north pole. Typical values are > 100. @@ -1117,12 +1128,12 @@ public abstract class SensorManager { * returned by {@link #getRotationMatrix}. * * @param X - * defines on which world axis and direction the X axis of the device - * is mapped. + * defines the axis of the new cooridinate system that coincide with the X axis of the + * original coordinate system. * * @param Y - * defines on which world axis and direction the Y axis of the device - * is mapped. + * defines the axis of the new cooridinate system that coincide with the Y axis of the + * original coordinate system. * * @param outR * the transformed rotation matrix. inR and outR should not be the same @@ -1219,27 +1230,18 @@ public abstract class SensorManager { * <p> * When it returns, the array values is filled with the result: * <ul> - * <li>values[0]: <i>azimuth</i>, rotation around the Z axis.</li> - * <li>values[1]: <i>pitch</i>, rotation around the X axis.</li> + * <li>values[0]: <i>azimuth</i>, rotation around the -Z axis, + * i.e. the opposite direction of Z axis.</li> + * <li>values[1]: <i>pitch</i>, rotation around the -X axis, + * i.e the opposite direction of X axis.</li> * <li>values[2]: <i>roll</i>, rotation around the Y axis.</li> * </ul> - * <p>The reference coordinate-system used is different from the world - * coordinate-system defined for the rotation matrix:</p> - * <ul> - * <li>X is defined as the vector product <b>Y.Z</b> (It is tangential to - * the ground at the device's current location and roughly points West).</li> - * <li>Y is tangential to the ground at the device's current location and - * points towards the magnetic North Pole.</li> - * <li>Z points towards the center of the Earth and is perpendicular to the ground.</li> - * </ul> - * - * <p> - * <center><img src="../../../images/axis_globe_inverted.png" - * alt="Inverted world coordinate-system diagram." border="0" /></center> - * </p> * <p> + * Applying these three intrinsic rotations in azimuth, pitch and roll order transforms + * identity matrix to the rotation matrix given in input R. * All three angles above are in <b>radians</b> and <b>positive</b> in the - * <b>counter-clockwise</b> direction. + * <b>counter-clockwise</b> direction. Range of output is: azimuth from -π to π, + * pitch from -π/2 to π/2 and roll from -π to π. * * @param R * rotation matrix see {@link #getRotationMatrix}. @@ -1275,6 +1277,7 @@ public abstract class SensorManager { values[1] = (float)Math.asin(-R[9]); values[2] = (float)Math.atan2(-R[8], R[10]); } + return values; } @@ -1314,9 +1317,9 @@ public abstract class SensorManager { /** Helper function to compute the angle change between two rotation matrices. * Given a current rotation matrix (R) and a previous rotation matrix - * (prevR) computes the rotation around the z,x, and y axes which + * (prevR) computes the intrinsic rotation around the z, x, and y axes which * transforms prevR to R. - * outputs a 3 element vector containing the z,x, and y angle + * outputs a 3 element vector containing the z, x, and y angle * change at indexes 0, 1, and 2 respectively. * <p> Each input matrix is either as a 3x3 or 4x4 row-major matrix * depending on the length of the passed array: @@ -1333,9 +1336,13 @@ public abstract class SensorManager { * | R[ 8] R[ 9] R[10] R[11] | * \ R[12] R[13] R[14] R[15] / *</pre> + * + * See {@link #getOrientation} for more detailed definition of the output. + * * @param R current rotation matrix * @param prevR previous rotation matrix - * @param angleChange an an array of floats (z, x, and y) in which the angle change is stored + * @param angleChange an an array of floats (z, x, and y) in which the angle change + * (in radians) is stored */ public static void getAngleChange( float[] angleChange, float[] R, float[] prevR) { diff --git a/core/java/android/hardware/camera2/CameraCaptureSession.java b/core/java/android/hardware/camera2/CameraCaptureSession.java index b3e7cfc..c22ee5f 100644 --- a/core/java/android/hardware/camera2/CameraCaptureSession.java +++ b/core/java/android/hardware/camera2/CameraCaptureSession.java @@ -654,16 +654,22 @@ public abstract class CameraCaptureSession implements AutoCloseable { /** * This method is called when the camera device has started capturing - * the output image for the request, at the beginning of image exposure. + * the output image for the request, at the beginning of image exposure, or + * when the camera device has started processing an input image for a reprocess + * request. * - * <p>This callback is invoked right as the capture of a frame begins, - * so it is the most appropriate time for playing a shutter sound, - * or triggering UI indicators of capture.</p> + * <p>For a regular capture request, this callback is invoked right as + * the capture of a frame begins, so it is the most appropriate time + * for playing a shutter sound, or triggering UI indicators of capture.</p> * * <p>The request that is being used for this capture is provided, along - * with the actual timestamp for the start of exposure. This timestamp - * matches the timestamp that will be included in - * {@link CaptureResult#SENSOR_TIMESTAMP the result timestamp field}, + * with the actual timestamp for the start of exposure. For a reprocess + * request, this timestamp will be the input image's start of exposure + * which matches {@link CaptureResult#SENSOR_TIMESTAMP the result timestamp field} + * of the {@link TotalCaptureResult} that was used to + * {@link CameraDevice#createReprocessCaptureRequest create the reprocess request}. + * This timestamp matches the timestamps that will be + * included in {@link CaptureResult#SENSOR_TIMESTAMP the result timestamp field}, * and in the buffers sent to each output Surface. These buffer * timestamps are accessible through, for example, * {@link android.media.Image#getTimestamp() Image.getTimestamp()} or @@ -679,7 +685,9 @@ public abstract class CameraCaptureSession implements AutoCloseable { * * @param session the session returned by {@link CameraDevice#createCaptureSession} * @param request the request for the capture that just begun - * @param timestamp the timestamp at start of capture, in nanoseconds. + * @param timestamp the timestamp at start of capture for a regular request, or + * the timestamp at the input image's start of capture for a + * reprocess request, in nanoseconds. * @param frameNumber the frame number for this capture * * @see android.media.MediaActionSound diff --git a/core/java/android/hardware/camera2/CameraCharacteristics.java b/core/java/android/hardware/camera2/CameraCharacteristics.java index 4fe257c..d5867a9 100644 --- a/core/java/android/hardware/camera2/CameraCharacteristics.java +++ b/core/java/android/hardware/camera2/CameraCharacteristics.java @@ -1068,20 +1068,35 @@ public final class CameraCharacteristics extends CameraMetadata<CameraCharacteri /** * <p>The correction coefficients to correct for this camera device's - * radial lens distortion.</p> - * <p>Three cofficients <code>[kappa_1, kappa_2, kappa_3]</code> that - * can be used to correct the lens's radial geometric - * distortion with the mapping equations:</p> - * <pre><code> x_c = x_i * ( 1 + kappa_1 * r^2 + kappa_2 * r^4 + kappa_3 * r^6 ) - * y_c = y_i * ( 1 + kappa_1 * r^2 + kappa_2 * r^4 + kappa_3 * r^6 ) + * radial and tangential lens distortion.</p> + * <p>Three radial distortion coefficients <code>[kappa_1, kappa_2, + * kappa_3]</code> and two tangential distortion coefficients + * <code>[kappa_4, kappa_5]</code> that can be used to correct the + * lens's geometric distortion with the mapping equations:</p> + * <pre><code> x_c = x_i * ( 1 + kappa_1 * r^2 + kappa_2 * r^4 + kappa_3 * r^6 ) + + * kappa_4 * (2 * x_i * y_i) + kappa_5 * ( r^2 + 2 * x_i^2 ) + * y_c = y_i * ( 1 + kappa_1 * r^2 + kappa_2 * r^4 + kappa_3 * r^6 ) + + * kappa_5 * (2 * x_i * y_i) + kappa_4 * ( r^2 + 2 * y_i^2 ) * </code></pre> - * <p>where <code>[x_i, y_i]</code> are normalized coordinates with <code>(0,0)</code> - * at the lens optical center, and <code>[-1, 1]</code> are the edges of - * the active pixel array; and where <code>[x_c, y_c]</code> are the - * corrected normalized coordinates with radial distortion - * removed; and <code>r^2 = x_i^2 + y_i^2</code>.</p> + * <p>Here, <code>[x_c, y_c]</code> are the coordinates to sample in the + * input image that correspond to the pixel values in the + * corrected image at the coordinate <code>[x_i, y_i]</code>:</p> + * <pre><code> correctedImage(x_i, y_i) = sample_at(x_c, y_c, inputImage) + * </code></pre> + * <p>The pixel coordinates are defined in a normalized + * coordinate system related to the + * android.lens.intrinsicCalibration calibration fields. + * Both <code>[x_i, y_i]</code> and <code>[x_c, y_c]</code> have <code>(0,0)</code> at the + * lens optical center <code>[c_x, c_y]</code>. The maximum magnitudes + * of both x and y coordinates are normalized to be 1 at the + * edge further from the optical center, so the range + * for both dimensions is <code>-1 <= x <= 1</code>.</p> + * <p>Finally, <code>r</code> represents the radial distance from the + * optical center, <code>r^2 = x_i^2 + y_i^2</code>, and its magnitude + * is therefore no larger than <code>|r| <= sqrt(2)</code>.</p> + * <p>The distortion model used is the Brown-Conrady model.</p> * <p><b>Units</b>: - * Coefficients for a 6th-degree even radial polynomial.</p> + * Unitless coefficients.</p> * <p><b>Optional</b> - This value may be {@code null} on some devices.</p> */ @PublicKey diff --git a/core/java/android/hardware/camera2/CaptureResult.java b/core/java/android/hardware/camera2/CaptureResult.java index f4017d0..df6c986 100644 --- a/core/java/android/hardware/camera2/CaptureResult.java +++ b/core/java/android/hardware/camera2/CaptureResult.java @@ -2649,20 +2649,35 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> { /** * <p>The correction coefficients to correct for this camera device's - * radial lens distortion.</p> - * <p>Three cofficients <code>[kappa_1, kappa_2, kappa_3]</code> that - * can be used to correct the lens's radial geometric - * distortion with the mapping equations:</p> - * <pre><code> x_c = x_i * ( 1 + kappa_1 * r^2 + kappa_2 * r^4 + kappa_3 * r^6 ) - * y_c = y_i * ( 1 + kappa_1 * r^2 + kappa_2 * r^4 + kappa_3 * r^6 ) + * radial and tangential lens distortion.</p> + * <p>Three radial distortion coefficients <code>[kappa_1, kappa_2, + * kappa_3]</code> and two tangential distortion coefficients + * <code>[kappa_4, kappa_5]</code> that can be used to correct the + * lens's geometric distortion with the mapping equations:</p> + * <pre><code> x_c = x_i * ( 1 + kappa_1 * r^2 + kappa_2 * r^4 + kappa_3 * r^6 ) + + * kappa_4 * (2 * x_i * y_i) + kappa_5 * ( r^2 + 2 * x_i^2 ) + * y_c = y_i * ( 1 + kappa_1 * r^2 + kappa_2 * r^4 + kappa_3 * r^6 ) + + * kappa_5 * (2 * x_i * y_i) + kappa_4 * ( r^2 + 2 * y_i^2 ) * </code></pre> - * <p>where <code>[x_i, y_i]</code> are normalized coordinates with <code>(0,0)</code> - * at the lens optical center, and <code>[-1, 1]</code> are the edges of - * the active pixel array; and where <code>[x_c, y_c]</code> are the - * corrected normalized coordinates with radial distortion - * removed; and <code>r^2 = x_i^2 + y_i^2</code>.</p> + * <p>Here, <code>[x_c, y_c]</code> are the coordinates to sample in the + * input image that correspond to the pixel values in the + * corrected image at the coordinate <code>[x_i, y_i]</code>:</p> + * <pre><code> correctedImage(x_i, y_i) = sample_at(x_c, y_c, inputImage) + * </code></pre> + * <p>The pixel coordinates are defined in a normalized + * coordinate system related to the + * android.lens.intrinsicCalibration calibration fields. + * Both <code>[x_i, y_i]</code> and <code>[x_c, y_c]</code> have <code>(0,0)</code> at the + * lens optical center <code>[c_x, c_y]</code>. The maximum magnitudes + * of both x and y coordinates are normalized to be 1 at the + * edge further from the optical center, so the range + * for both dimensions is <code>-1 <= x <= 1</code>.</p> + * <p>Finally, <code>r</code> represents the radial distance from the + * optical center, <code>r^2 = x_i^2 + y_i^2</code>, and its magnitude + * is therefore no larger than <code>|r| <= sqrt(2)</code>.</p> + * <p>The distortion model used is the Brown-Conrady model.</p> * <p><b>Units</b>: - * Coefficients for a 6th-degree even radial polynomial.</p> + * Unitless coefficients.</p> * <p><b>Optional</b> - This value may be {@code null} on some devices.</p> */ @PublicKey @@ -2988,6 +3003,10 @@ public class CaptureResult extends CameraMetadata<CaptureResult.Key<?>> { * timestamps measure time in the same timebase as {@link android.os.SystemClock#elapsedRealtimeNanos }, and they can * be compared to other timestamps from other subsystems that * are using that base.</p> + * <p>For reprocessing, the timestamp will match the start of exposure of + * the input image, i.e. {@link CaptureResult#SENSOR_TIMESTAMP the + * timestamp} in the TotalCaptureResult that was used to create the + * reprocess capture request.</p> * <p><b>Units</b>: Nanoseconds</p> * <p><b>Range of valid values:</b><br> * > 0</p> diff --git a/core/java/android/hardware/camera2/legacy/LegacyMetadataMapper.java b/core/java/android/hardware/camera2/legacy/LegacyMetadataMapper.java index 8776418..943e421 100644 --- a/core/java/android/hardware/camera2/legacy/LegacyMetadataMapper.java +++ b/core/java/android/hardware/camera2/legacy/LegacyMetadataMapper.java @@ -752,11 +752,14 @@ public class LegacyMetadataMapper { CameraCharacteristics.CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES , CameraCharacteristics.CONTROL_AE_COMPENSATION_RANGE , CameraCharacteristics.CONTROL_AE_COMPENSATION_STEP , + CameraCharacteristics.CONTROL_AE_LOCK_AVAILABLE , CameraCharacteristics.CONTROL_AF_AVAILABLE_MODES , CameraCharacteristics.CONTROL_AVAILABLE_EFFECTS , + CameraCharacteristics.CONTROL_AVAILABLE_MODES , CameraCharacteristics.CONTROL_AVAILABLE_SCENE_MODES , CameraCharacteristics.CONTROL_AVAILABLE_VIDEO_STABILIZATION_MODES , CameraCharacteristics.CONTROL_AWB_AVAILABLE_MODES , + CameraCharacteristics.CONTROL_AWB_LOCK_AVAILABLE , CameraCharacteristics.CONTROL_MAX_REGIONS , CameraCharacteristics.FLASH_INFO_AVAILABLE , CameraCharacteristics.INFO_SUPPORTED_HARDWARE_LEVEL , diff --git a/core/java/android/inputmethodservice/InputMethodService.java b/core/java/android/inputmethodservice/InputMethodService.java index 1b57055..81a65f8 100644 --- a/core/java/android/inputmethodservice/InputMethodService.java +++ b/core/java/android/inputmethodservice/InputMethodService.java @@ -306,6 +306,14 @@ public class InputMethodService extends AbstractInputMethodService { int mStatusIcon; int mBackDisposition; + /** + * {@code true} when the previous IME had non-empty inset at the bottom of the screen and we + * have not shown our own window yet. In this situation, the previous inset continues to be + * shown as an empty region until it is explicitly updated. Basically we can trigger the update + * by calling 1) {@code mWindow.show()} or 2) {@link #clearInsetOfPreviousIme()}. + */ + boolean mShouldClearInsetOfPreviousIme; + final Insets mTmpInsets = new Insets(); final int[] mTmpLocation = new int[2]; @@ -408,6 +416,7 @@ public class InputMethodService extends AbstractInputMethodService { mShowInputRequested = false; mShowInputForced = false; doHideWindow(); + clearInsetOfPreviousIme(); if (resultReceiver != null) { resultReceiver.send(wasVis != isInputViewShown() ? InputMethodManager.RESULT_HIDDEN @@ -432,6 +441,7 @@ public class InputMethodService extends AbstractInputMethodService { mWindowAdded = false; } } + clearInsetOfPreviousIme(); // If user uses hard keyboard, IME button should always be shown. boolean showing = isInputViewShown(); mImm.setImeWindowStatus(mToken, IME_ACTIVE | (showing ? IME_VISIBLE : 0), @@ -669,6 +679,9 @@ public class InputMethodService extends AbstractInputMethodService { super.setTheme(mTheme); super.onCreate(); mImm = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE); + // If the previous IME has occupied non-empty inset in the screen, we need to decide whether + // we continue to use the same size of the inset or update it + mShouldClearInsetOfPreviousIme = (mImm.getInputMethodWindowVisibleHeight() > 0); mInflater = (LayoutInflater)getSystemService( Context.LAYOUT_INFLATER_SERVICE); mWindow = new SoftInputWindow(this, "InputMethod", mTheme, null, null, mDispatcherState, @@ -1494,6 +1507,9 @@ public class InputMethodService extends AbstractInputMethodService { if (DEBUG) Log.v(TAG, "showWindow: showing!"); onWindowShown(); mWindow.show(); + // Put here rather than in onWindowShown() in case people forget to call + // super.onWindowShown(). + mShouldClearInsetOfPreviousIme = false; } } @@ -1540,7 +1556,23 @@ public class InputMethodService extends AbstractInputMethodService { public void onWindowHidden() { // Intentionally empty } - + + /** + * Reset the inset occupied the previous IME when and only when + * {@link #mShouldClearInsetOfPreviousIme} is {@code true}. + */ + private void clearInsetOfPreviousIme() { + if (DEBUG) Log.v(TAG, "clearInsetOfPreviousIme() " + + " mShouldClearInsetOfPreviousIme=" + mShouldClearInsetOfPreviousIme); + if (!mShouldClearInsetOfPreviousIme || mWindow == null) return; + // We do not call onWindowShown() and onWindowHidden() so as not to make the IME author + // confused. + // TODO: Find out a better way which has less side-effect. + mWindow.show(); + mWindow.hide(); + mShouldClearInsetOfPreviousIme = false; + } + /** * Called when a new client has bound to the input method. This * may be followed by a series of {@link #onStartInput(EditorInfo, boolean)} @@ -2428,5 +2460,6 @@ public class InputMethodService extends AbstractInputMethodService { + " visibleTopInsets=" + mTmpInsets.visibleTopInsets + " touchableInsets=" + mTmpInsets.touchableInsets + " touchableRegion=" + mTmpInsets.touchableRegion); + p.println(" mShouldClearInsetOfPreviousIme=" + mShouldClearInsetOfPreviousIme); } } diff --git a/core/java/android/net/IpReachabilityMonitor.java b/core/java/android/net/IpReachabilityMonitor.java index 78d147d..3cfd8b2 100644 --- a/core/java/android/net/IpReachabilityMonitor.java +++ b/core/java/android/net/IpReachabilityMonitor.java @@ -443,14 +443,13 @@ public class IpReachabilityMonitor { if (mIpWatchList.containsKey(destination)) { final short value = (msgType == NetlinkConstants.RTM_DELNEIGH) - ? StructNdMsg.NUD_FAILED + ? StructNdMsg.NUD_NONE : nudState; mIpWatchList.put(destination, value); } } - if ((msgType == NetlinkConstants.RTM_DELNEIGH) || - (nudState == StructNdMsg.NUD_FAILED)) { + if (nudState == StructNdMsg.NUD_FAILED) { Log.w(TAG, "ALERT: " + eventMsg); handleNeighborLost(eventMsg); } diff --git a/core/java/android/os/BatteryStats.java b/core/java/android/os/BatteryStats.java index 5f515eb..56e919a 100644 --- a/core/java/android/os/BatteryStats.java +++ b/core/java/android/os/BatteryStats.java @@ -3282,12 +3282,13 @@ public abstract class BatteryStats implements Parcelable { final long wifiIdleTimeMs = getWifiControllerActivity(CONTROLLER_IDLE_TIME, which); final long wifiRxTimeMs = getWifiControllerActivity(CONTROLLER_RX_TIME, which); final long wifiTxTimeMs = getWifiControllerActivity(CONTROLLER_TX_TIME, which); + final long wifiPowerDrainMaMs = getWifiControllerActivity(CONTROLLER_POWER_DRAIN, which); final long wifiTotalTimeMs = wifiIdleTimeMs + wifiRxTimeMs + wifiTxTimeMs; sb.setLength(0); sb.append(prefix); sb.append(" WiFi Idle time: "); formatTimeMs(sb, wifiIdleTimeMs); - sb.append(" ("); + sb.append("("); sb.append(formatRatioLocked(wifiIdleTimeMs, wifiTotalTimeMs)); sb.append(")"); pw.println(sb.toString()); @@ -3295,7 +3296,7 @@ public abstract class BatteryStats implements Parcelable { sb.setLength(0); sb.append(prefix); sb.append(" WiFi Rx time: "); formatTimeMs(sb, wifiRxTimeMs); - sb.append(" ("); + sb.append("("); sb.append(formatRatioLocked(wifiRxTimeMs, wifiTotalTimeMs)); sb.append(")"); pw.println(sb.toString()); @@ -3303,16 +3304,16 @@ public abstract class BatteryStats implements Parcelable { sb.setLength(0); sb.append(prefix); sb.append(" WiFi Tx time: "); formatTimeMs(sb, wifiTxTimeMs); - sb.append(" ("); + sb.append("("); sb.append(formatRatioLocked(wifiTxTimeMs, wifiTotalTimeMs)); sb.append(")"); pw.println(sb.toString()); sb.setLength(0); sb.append(prefix); - sb.append(" WiFi Power drain: ").append(BatteryStatsHelper.makemAh( - getWifiControllerActivity(CONTROLLER_POWER_DRAIN, which) / (double)(1000*60*60))); - sb.append(" mAh"); + sb.append(" WiFi Power drain: ").append( + BatteryStatsHelper.makemAh(wifiPowerDrainMaMs / (double) (1000*60*60))); + sb.append("mAh"); pw.println(sb.toString()); final long bluetoothIdleTimeMs = @@ -3325,7 +3326,7 @@ public abstract class BatteryStats implements Parcelable { sb.setLength(0); sb.append(prefix); sb.append(" Bluetooth Idle time: "); formatTimeMs(sb, bluetoothIdleTimeMs); - sb.append(" ("); + sb.append("("); sb.append(formatRatioLocked(bluetoothIdleTimeMs, bluetoothTotalTimeMs)); sb.append(")"); pw.println(sb.toString()); @@ -3333,7 +3334,7 @@ public abstract class BatteryStats implements Parcelable { sb.setLength(0); sb.append(prefix); sb.append(" Bluetooth Rx time: "); formatTimeMs(sb, bluetoothRxTimeMs); - sb.append(" ("); + sb.append("("); sb.append(formatRatioLocked(bluetoothRxTimeMs, bluetoothTotalTimeMs)); sb.append(")"); pw.println(sb.toString()); @@ -3341,7 +3342,7 @@ public abstract class BatteryStats implements Parcelable { sb.setLength(0); sb.append(prefix); sb.append(" Bluetooth Tx time: "); formatTimeMs(sb, bluetoothTxTimeMs); - sb.append(" ("); + sb.append("("); sb.append(formatRatioLocked(bluetoothTxTimeMs, bluetoothTotalTimeMs)); sb.append(")"); pw.println(sb.toString()); @@ -3351,7 +3352,7 @@ public abstract class BatteryStats implements Parcelable { sb.append(" Bluetooth Power drain: ").append(BatteryStatsHelper.makemAh( getBluetoothControllerActivity(CONTROLLER_POWER_DRAIN, which) / (double)(1000*60*60))); - sb.append(" mAh"); + sb.append("mAh"); pw.println(sb.toString()); pw.println(); @@ -3656,6 +3657,27 @@ public abstract class BatteryStats implements Parcelable { pw.println(sb.toString()); } + final long uidWifiIdleTimeMs = u.getWifiControllerActivity(CONTROLLER_IDLE_TIME, which); + final long uidWifiRxTimeMs = u.getWifiControllerActivity(CONTROLLER_RX_TIME, which); + final long uidWifiTxTimeMs = u.getWifiControllerActivity(CONTROLLER_TX_TIME, which); + final long uidWifiTotalTimeMs = uidWifiIdleTimeMs + uidWifiRxTimeMs + uidWifiTxTimeMs; + if (uidWifiTotalTimeMs > 0) { + sb.setLength(0); + sb.append(prefix).append(" WiFi Idle time: "); + formatTimeMs(sb, uidWifiIdleTimeMs); + sb.append("(").append(formatRatioLocked(uidWifiIdleTimeMs, uidWifiTotalTimeMs)) + .append(")\n"); + + sb.append(prefix).append(" WiFi Rx time: "); formatTimeMs(sb, uidWifiRxTimeMs); + sb.append("(").append(formatRatioLocked(uidWifiRxTimeMs, uidWifiTotalTimeMs)) + .append(")\n"); + + sb.append(prefix).append(" WiFi Tx time: "); formatTimeMs(sb, uidWifiTxTimeMs); + sb.append("(").append(formatRatioLocked(uidWifiTxTimeMs, uidWifiTotalTimeMs)) + .append(")"); + pw.println(sb.toString()); + } + if (u.hasUserActivity()) { boolean hasData = false; for (int i=0; i<Uid.NUM_USER_ACTIVITY_TYPES; i++) { diff --git a/core/java/android/os/RecoverySystem.java b/core/java/android/os/RecoverySystem.java index 4aeab49..0c79094 100644 --- a/core/java/android/os/RecoverySystem.java +++ b/core/java/android/os/RecoverySystem.java @@ -71,6 +71,7 @@ public class RecoverySystem { /** Used to communicate with recovery. See bootable/recovery/recovery.c. */ private static File RECOVERY_DIR = new File("/cache/recovery"); private static File COMMAND_FILE = new File(RECOVERY_DIR, "command"); + private static File UNCRYPT_FILE = new File(RECOVERY_DIR, "uncrypt_file"); private static File LOG_FILE = new File(RECOVERY_DIR, "log"); private static String LAST_PREFIX = "last_"; @@ -333,8 +334,21 @@ public class RecoverySystem { public static void installPackage(Context context, File packageFile) throws IOException { String filename = packageFile.getCanonicalPath(); + + FileWriter uncryptFile = new FileWriter(UNCRYPT_FILE); + try { + uncryptFile.write(filename + "\n"); + } finally { + uncryptFile.close(); + } Log.w(TAG, "!!! REBOOTING TO INSTALL " + filename + " !!!"); + // If the package is on the /data partition, write the block map file + // into COMMAND_FILE instead. + if (filename.startsWith("/data/")) { + filename = "@/cache/recovery/block.map"; + } + final String filenameArg = "--update_package=" + filename; final String localeArg = "--locale=" + Locale.getDefault().toString(); bootCommand(context, filenameArg, localeArg); diff --git a/core/java/android/os/UserManager.java b/core/java/android/os/UserManager.java index a81b83f..ef7e747 100644 --- a/core/java/android/os/UserManager.java +++ b/core/java/android/os/UserManager.java @@ -200,6 +200,20 @@ public class UserManager { public static final String DISALLOW_CONFIG_TETHERING = "no_config_tethering"; /** + * Specifies if a user is disallowed from resetting network settings + * from Settings. This can only be set by device owners and profile owners on the primary user. + * The default value is <code>false</code>. + * <p/>This restriction has no effect on secondary users and managed profiles since only the + * primary user can reset the network settings of the device. + * + * <p/>Key for user restrictions. + * <p/>Type: Boolean + * @see #setUserRestrictions(Bundle) + * @see #getUserRestrictions() + */ + public static final String DISALLOW_NETWORK_RESET = "no_network_reset"; + + /** * Specifies if a user is disallowed from factory resetting * from Settings. This can only be set by device owners and profile owners on the primary user. * The default value is <code>false</code>. diff --git a/core/java/android/service/notification/ZenModeConfig.java b/core/java/android/service/notification/ZenModeConfig.java index dd3cedc..db19f7a 100644 --- a/core/java/android/service/notification/ZenModeConfig.java +++ b/core/java/android/service/notification/ZenModeConfig.java @@ -79,6 +79,7 @@ public class ZenModeConfig implements Parcelable { private static final int XML_VERSION = 2; private static final String ZEN_TAG = "zen"; private static final String ZEN_ATT_VERSION = "version"; + private static final String ZEN_ATT_USER = "user"; private static final String ALLOW_TAG = "allow"; private static final String ALLOW_ATT_CALLS = "calls"; private static final String ALLOW_ATT_REPEAT_CALLERS = "repeatCallers"; @@ -117,6 +118,7 @@ public class ZenModeConfig implements Parcelable { public boolean allowEvents = DEFAULT_ALLOW_EVENTS; public int allowCallsFrom = DEFAULT_SOURCE; public int allowMessagesFrom = DEFAULT_SOURCE; + public int user = UserHandle.USER_OWNER; public ZenRule manualRule; public ArrayMap<String, ZenRule> automaticRules = new ArrayMap<>(); @@ -131,6 +133,7 @@ public class ZenModeConfig implements Parcelable { allowEvents = source.readInt() == 1; allowCallsFrom = source.readInt(); allowMessagesFrom = source.readInt(); + user = source.readInt(); manualRule = source.readParcelable(null); final int len = source.readInt(); if (len > 0) { @@ -153,6 +156,7 @@ public class ZenModeConfig implements Parcelable { dest.writeInt(allowEvents ? 1 : 0); dest.writeInt(allowCallsFrom); dest.writeInt(allowMessagesFrom); + dest.writeInt(user); dest.writeParcelable(manualRule, 0); if (!automaticRules.isEmpty()) { final int len = automaticRules.size(); @@ -173,7 +177,8 @@ public class ZenModeConfig implements Parcelable { @Override public String toString() { return new StringBuilder(ZenModeConfig.class.getSimpleName()).append('[') - .append("allowCalls=").append(allowCalls) + .append("user=").append(user) + .append(",allowCalls=").append(allowCalls) .append(",allowRepeatCallers=").append(allowRepeatCallers) .append(",allowMessages=").append(allowMessages) .append(",allowCallsFrom=").append(sourceToString(allowCallsFrom)) @@ -185,6 +190,68 @@ public class ZenModeConfig implements Parcelable { .append(']').toString(); } + private Diff diff(ZenModeConfig to) { + final Diff d = new Diff(); + if (to == null) { + return d.addLine("config", "delete"); + } + if (user != to.user) { + d.addLine("user", user, to.user); + } + if (allowCalls != to.allowCalls) { + d.addLine("allowCalls", allowCalls, to.allowCalls); + } + if (allowRepeatCallers != to.allowRepeatCallers) { + d.addLine("allowRepeatCallers", allowRepeatCallers, to.allowRepeatCallers); + } + if (allowMessages != to.allowMessages) { + d.addLine("allowMessages", allowMessages, to.allowMessages); + } + if (allowCallsFrom != to.allowCallsFrom) { + d.addLine("allowCallsFrom", allowCallsFrom, to.allowCallsFrom); + } + if (allowMessagesFrom != to.allowMessagesFrom) { + d.addLine("allowMessagesFrom", allowMessagesFrom, to.allowMessagesFrom); + } + if (allowReminders != to.allowReminders) { + d.addLine("allowReminders", allowReminders, to.allowReminders); + } + if (allowEvents != to.allowEvents) { + d.addLine("allowEvents", allowEvents, to.allowEvents); + } + final ArraySet<String> allRules = new ArraySet<>(); + addKeys(allRules, automaticRules); + addKeys(allRules, to.automaticRules); + final int N = allRules.size(); + for (int i = 0; i < N; i++) { + final String rule = allRules.valueAt(i); + final ZenRule fromRule = automaticRules != null ? automaticRules.get(rule) : null; + final ZenRule toRule = to.automaticRules != null ? to.automaticRules.get(rule) : null; + ZenRule.appendDiff(d, "automaticRule[" + rule + "]", fromRule, toRule); + } + ZenRule.appendDiff(d, "manualRule", manualRule, to.manualRule); + return d; + } + + public static Diff diff(ZenModeConfig from, ZenModeConfig to) { + if (from == null) { + final Diff d = new Diff(); + if (to != null) { + d.addLine("config", "insert"); + } + return d; + } + return from.diff(to); + } + + private static <T> void addKeys(ArraySet<T> set, ArrayMap<T, ?> map) { + if (map != null) { + for (int i = 0; i < map.size(); i++) { + set.add(map.keyAt(i)); + } + } + } + public boolean isValid() { if (!isValidManualRule(manualRule)) return false; final int N = automaticRules.size(); @@ -249,6 +316,7 @@ public class ZenModeConfig implements Parcelable { && other.allowMessagesFrom == allowMessagesFrom && other.allowReminders == allowReminders && other.allowEvents == allowEvents + && other.user == user && Objects.equals(other.automaticRules, automaticRules) && Objects.equals(other.manualRule, manualRule); } @@ -256,7 +324,7 @@ public class ZenModeConfig implements Parcelable { @Override public int hashCode() { return Objects.hash(allowCalls, allowRepeatCallers, allowMessages, allowCallsFrom, - allowMessagesFrom, allowReminders, allowEvents, automaticRules, manualRule); + allowMessagesFrom, allowReminders, allowEvents, user, automaticRules, manualRule); } private static String toDayList(int[] days) { @@ -312,6 +380,7 @@ public class ZenModeConfig implements Parcelable { final XmlV1 v1 = XmlV1.readXml(parser); return migration.migrate(v1); } + rt.user = safeInt(parser, ZEN_ATT_USER, rt.user); while ((type = parser.next()) != XmlPullParser.END_DOCUMENT) { tag = parser.getName(); if (type == XmlPullParser.END_TAG && ZEN_TAG.equals(tag)) { @@ -341,10 +410,10 @@ public class ZenModeConfig implements Parcelable { rt.allowMessagesFrom = DEFAULT_SOURCE; } } else if (MANUAL_TAG.equals(tag)) { - rt.manualRule = readRuleXml(parser, false /*conditionRequired*/); + rt.manualRule = readRuleXml(parser); } else if (AUTOMATIC_TAG.equals(tag)) { final String id = parser.getAttributeValue(null, RULE_ATT_ID); - final ZenRule automaticRule = readRuleXml(parser, true /*conditionRequired*/); + final ZenRule automaticRule = readRuleXml(parser); if (id != null && automaticRule != null) { rt.automaticRules.put(id, automaticRule); } @@ -357,6 +426,7 @@ public class ZenModeConfig implements Parcelable { public void writeXml(XmlSerializer out) throws IOException { out.startTag(null, ZEN_TAG); out.attribute(null, ZEN_ATT_VERSION, Integer.toString(XML_VERSION)); + out.attribute(null, ZEN_ATT_USER, Integer.toString(user)); out.startTag(null, ALLOW_TAG); out.attribute(null, ALLOW_ATT_CALLS, Boolean.toString(allowCalls)); @@ -385,7 +455,7 @@ public class ZenModeConfig implements Parcelable { out.endTag(null, ZEN_TAG); } - public static ZenRule readRuleXml(XmlPullParser parser, boolean conditionRequired) { + public static ZenRule readRuleXml(XmlPullParser parser) { final ZenRule rt = new ZenRule(); rt.enabled = safeBoolean(parser, RULE_ATT_ENABLED, true); rt.snoozing = safeBoolean(parser, RULE_ATT_SNOOZING, false); @@ -731,7 +801,7 @@ public class ZenModeConfig implements Parcelable { .authority(SYSTEM_AUTHORITY) .appendPath(EVENT_PATH) .appendQueryParameter("userId", Long.toString(event.userId)) - .appendQueryParameter("calendar", Long.toString(event.calendar)) + .appendQueryParameter("calendar", event.calendar != null ? event.calendar : "") .appendQueryParameter("reply", Integer.toString(event.reply)) .build(); } @@ -749,21 +819,21 @@ public class ZenModeConfig implements Parcelable { if (!isEvent) return null; final EventInfo rt = new EventInfo(); rt.userId = tryParseInt(conditionId.getQueryParameter("userId"), UserHandle.USER_NULL); - rt.calendar = tryParseLong(conditionId.getQueryParameter("calendar"), - EventInfo.ANY_CALENDAR); + rt.calendar = conditionId.getQueryParameter("calendar"); + if (TextUtils.isEmpty(rt.calendar) || tryParseLong(rt.calendar, -1L) != -1L) { + rt.calendar = null; + } rt.reply = tryParseInt(conditionId.getQueryParameter("reply"), 0); return rt; } public static class EventInfo { - public static final long ANY_CALENDAR = 0; - public static final int REPLY_ANY_EXCEPT_NO = 0; public static final int REPLY_YES_OR_MAYBE = 1; public static final int REPLY_YES = 2; public int userId = UserHandle.USER_NULL; // USER_NULL = unspecified - use current user - public long calendar = ANY_CALENDAR; // CalendarContract.Calendars._ID, or ANY_CALENDAR + public String calendar; // CalendarContract.Calendars.OWNER_ACCOUNT, or null for any public int reply; @Override @@ -776,7 +846,7 @@ public class ZenModeConfig implements Parcelable { if (!(o instanceof EventInfo)) return false; final EventInfo other = (EventInfo) o; return userId == other.userId - && calendar == other.calendar + && Objects.equals(calendar, other.calendar) && reply == other.reply; } @@ -790,7 +860,6 @@ public class ZenModeConfig implements Parcelable { public static int resolveUserId(int userId) { return userId == UserHandle.USER_NULL ? ActivityManager.getCurrentUser() : userId; - } } @@ -915,6 +984,45 @@ public class ZenModeConfig implements Parcelable { .append(']').toString(); } + private static void appendDiff(Diff d, String item, ZenRule from, ZenRule to) { + if (d == null) return; + if (from == null) { + if (to != null) { + d.addLine(item, "insert"); + } + return; + } + from.appendDiff(d, item, to); + } + + private void appendDiff(Diff d, String item, ZenRule to) { + if (to == null) { + d.addLine(item, "delete"); + return; + } + if (enabled != to.enabled) { + d.addLine(item, "enabled", enabled, to.enabled); + } + if (snoozing != to.snoozing) { + d.addLine(item, "snoozing", snoozing, to.snoozing); + } + if (!Objects.equals(name, to.name)) { + d.addLine(item, "name", name, to.name); + } + if (zenMode != to.zenMode) { + d.addLine(item, "zenMode", zenMode, to.zenMode); + } + if (!Objects.equals(conditionId, to.conditionId)) { + d.addLine(item, "conditionId", conditionId, to.conditionId); + } + if (!Objects.equals(condition, to.condition)) { + d.addLine(item, "condition", condition, to.condition); + } + if (!Objects.equals(component, to.component)) { + d.addLine(item, "component", component, to.component); + } + } + @Override public boolean equals(Object o) { if (!(o instanceof ZenRule)) return false; @@ -1073,4 +1181,34 @@ public class ZenModeConfig implements Parcelable { ZenModeConfig migrate(XmlV1 v1); } + public static class Diff { + private final ArrayList<String> lines = new ArrayList<>(); + + @Override + public String toString() { + final StringBuilder sb = new StringBuilder("Diff["); + final int N = lines.size(); + for (int i = 0; i < N; i++) { + if (i > 0) { + sb.append(','); + } + sb.append(lines.get(i)); + } + return sb.append(']').toString(); + } + + private Diff addLine(String item, String action) { + lines.add(item + ":" + action); + return this; + } + + public Diff addLine(String item, String subitem, Object from, Object to) { + return addLine(item + "." + subitem, from, to); + } + + public Diff addLine(String item, Object from, Object to) { + return addLine(item, from + "->" + to); + } + } + } diff --git a/core/java/android/service/voice/IVoiceInteractionSession.aidl b/core/java/android/service/voice/IVoiceInteractionSession.aidl index 7c90261..894edac 100644 --- a/core/java/android/service/voice/IVoiceInteractionSession.aidl +++ b/core/java/android/service/voice/IVoiceInteractionSession.aidl @@ -16,6 +16,8 @@ package android.service.voice; +import android.app.AssistContent; +import android.app.AssistStructure; import android.content.Intent; import android.graphics.Bitmap; import android.os.Bundle; @@ -28,7 +30,7 @@ import com.android.internal.app.IVoiceInteractionSessionShowCallback; oneway interface IVoiceInteractionSession { void show(in Bundle sessionArgs, int flags, IVoiceInteractionSessionShowCallback showCallback); void hide(); - void handleAssist(in Bundle assistData); + void handleAssist(in Bundle assistData, in AssistStructure structure, in AssistContent content); void handleScreenshot(in Bitmap screenshot); void taskStarted(in Intent intent, int taskId); void taskFinished(in Intent intent, int taskId); diff --git a/core/java/android/service/voice/VoiceInteractionSession.java b/core/java/android/service/voice/VoiceInteractionSession.java index f122d10..f09b6a2 100644 --- a/core/java/android/service/voice/VoiceInteractionSession.java +++ b/core/java/android/service/voice/VoiceInteractionSession.java @@ -16,6 +16,7 @@ package android.service.voice; +import android.app.AssistContent; import android.app.AssistStructure; import android.app.Dialog; import android.app.Instrumentation; @@ -180,21 +181,16 @@ public abstract class VoiceInteractionSession implements KeyEvent.Callback, } @Override - public void handleAssist(Bundle assistBundle) { + public void handleAssist(Bundle data, AssistStructure structure, + AssistContent content) { // We want to pre-warm the AssistStructure before handing it off to the main // thread. There is a strong argument to be made that it should be handed // through as a separate param rather than part of the assistBundle. - if (assistBundle != null) { - Bundle assistContext = assistBundle.getBundle(Intent.EXTRA_ASSIST_CONTEXT); - if (assistContext != null) { - AssistStructure as = AssistStructure.getAssistStructure(assistContext); - if (as != null) { - as.ensureData(); - } - } + if (structure != null) { + structure.ensureData(); } - mHandlerCaller.sendMessage(mHandlerCaller.obtainMessageO(MSG_HANDLE_ASSIST, - assistBundle)); + mHandlerCaller.sendMessage(mHandlerCaller.obtainMessageOOO(MSG_HANDLE_ASSIST, + data, structure, content)); } @Override @@ -422,8 +418,11 @@ public abstract class VoiceInteractionSession implements KeyEvent.Callback, doDestroy(); break; case MSG_HANDLE_ASSIST: - if (DEBUG) Log.d(TAG, "onHandleAssist: " + msg.obj); - onHandleAssist((Bundle) msg.obj); + args = (SomeArgs)msg.obj; + if (DEBUG) Log.d(TAG, "onHandleAssist: data=" + args.arg1 + + " structure=" + args.arg2 + " content=" + args.arg3); + onHandleAssist((Bundle) args.arg1, (AssistStructure) args.arg2, + (AssistContent) args.arg3); break; case MSG_HANDLE_SCREENSHOT: if (DEBUG) Log.d(TAG, "onHandleScreenshot: " + msg.obj); @@ -817,9 +816,22 @@ public abstract class VoiceInteractionSession implements KeyEvent.Callback, } + /** @hide */ public void onHandleAssist(Bundle assistBundle) { } + public void onHandleAssist(Bundle data, AssistStructure structure, AssistContent content) { + if (data != null) { + Bundle assistContext = data.getBundle(Intent.EXTRA_ASSIST_CONTEXT); + if (assistContext != null) { + assistContext.putParcelable(AssistStructure.ASSIST_KEY, structure); + assistContext.putParcelable(AssistContent.ASSIST_KEY, content); + data.putBundle(Intent.EXTRA_ASSIST_CONTEXT, assistContext); + } + } + onHandleAssist(data); + } + /** @hide */ public void onHandleScreenshot(Bitmap screenshot) { } diff --git a/core/java/android/service/wallpaper/WallpaperService.java b/core/java/android/service/wallpaper/WallpaperService.java index b93a4a5..8952807 100644 --- a/core/java/android/service/wallpaper/WallpaperService.java +++ b/core/java/android/service/wallpaper/WallpaperService.java @@ -18,7 +18,6 @@ package android.service.wallpaper; import android.content.res.TypedArray; import android.graphics.Canvas; -import android.os.SystemProperties; import android.view.WindowInsets; import com.android.internal.R; @@ -161,9 +160,11 @@ public abstract class WallpaperService extends Service { final Rect mOverscanInsets = new Rect(); final Rect mContentInsets = new Rect(); final Rect mStableInsets = new Rect(); + final Rect mOutsets = new Rect(); final Rect mDispatchedOverscanInsets = new Rect(); final Rect mDispatchedContentInsets = new Rect(); final Rect mDispatchedStableInsets = new Rect(); + final Rect mDispatchedOutsets = new Rect(); final Rect mFinalSystemInsets = new Rect(); final Rect mFinalStableInsets = new Rect(); final Configuration mConfiguration = new Configuration(); @@ -268,7 +269,7 @@ public abstract class WallpaperService extends Service { final BaseIWindow mWindow = new BaseIWindow() { @Override public void resized(Rect frame, Rect overscanInsets, Rect contentInsets, - Rect visibleInsets, Rect stableInsets, boolean reportDraw, + Rect visibleInsets, Rect stableInsets, Rect outsets, boolean reportDraw, Configuration newConfig) { Message msg = mCaller.obtainMessageI(MSG_WINDOW_RESIZED, reportDraw ? 1 : 0); @@ -658,30 +659,35 @@ public abstract class WallpaperService extends Service { mInputEventReceiver = new WallpaperInputEventReceiver( mInputChannel, Looper.myLooper()); } - + mSurfaceHolder.mSurfaceLock.lock(); mDrawingAllowed = true; if (!fixedSize) { mLayout.surfaceInsets.set(mIWallpaperEngine.mDisplayPadding); + mLayout.surfaceInsets.left += mOutsets.left; + mLayout.surfaceInsets.top += mOutsets.top; + mLayout.surfaceInsets.right += mOutsets.right; + mLayout.surfaceInsets.bottom += mOutsets.bottom; } else { mLayout.surfaceInsets.set(0, 0, 0, 0); } final int relayoutResult = mSession.relayout( mWindow, mWindow.mSeq, mLayout, mWidth, mHeight, View.VISIBLE, 0, mWinFrame, mOverscanInsets, mContentInsets, - mVisibleInsets, mStableInsets, mConfiguration, mSurfaceHolder.mSurface); + mVisibleInsets, mStableInsets, mOutsets, mConfiguration, + mSurfaceHolder.mSurface); if (DEBUG) Log.v(TAG, "New surface: " + mSurfaceHolder.mSurface + ", frame=" + mWinFrame); - + int w = mWinFrame.width(); int h = mWinFrame.height(); if (!fixedSize) { final Rect padding = mIWallpaperEngine.mDisplayPadding; - w += padding.left + padding.right; - h += padding.top + padding.bottom; + w += padding.left + padding.right + mOutsets.left + mOutsets.right; + h += padding.top + padding.bottom + mOutsets.top + mOutsets.bottom; mOverscanInsets.left += padding.left; mOverscanInsets.top += padding.top; mOverscanInsets.right += padding.right; @@ -705,9 +711,14 @@ public abstract class WallpaperService extends Service { mCurHeight = h; } + if (DEBUG) { + Log.v(TAG, "Wallpaper size has changed: (" + mCurWidth + ", " + mCurHeight); + } + insetsChanged |= !mDispatchedOverscanInsets.equals(mOverscanInsets); insetsChanged |= !mDispatchedContentInsets.equals(mContentInsets); insetsChanged |= !mDispatchedStableInsets.equals(mStableInsets); + insetsChanged |= !mDispatchedOutsets.equals(mOutsets); mSurfaceHolder.setSurfaceFrameSize(w, h); mSurfaceHolder.mSurfaceLock.unlock(); @@ -767,14 +778,21 @@ public abstract class WallpaperService extends Service { if (insetsChanged) { mDispatchedOverscanInsets.set(mOverscanInsets); + mDispatchedOverscanInsets.left += mOutsets.left; + mDispatchedOverscanInsets.top += mOutsets.top; + mDispatchedOverscanInsets.right += mOutsets.right; + mDispatchedOverscanInsets.bottom += mOutsets.bottom; mDispatchedContentInsets.set(mContentInsets); mDispatchedStableInsets.set(mStableInsets); + mDispatchedOutsets.set(mOutsets); mFinalSystemInsets.set(mDispatchedOverscanInsets); mFinalStableInsets.set(mDispatchedStableInsets); - mFinalSystemInsets.bottom = mIWallpaperEngine.mDisplayPadding.bottom; WindowInsets insets = new WindowInsets(mFinalSystemInsets, null, mFinalStableInsets, getResources().getConfiguration().isScreenRound()); + if (DEBUG) { + Log.v(TAG, "dispatching insets=" + insets); + } onApplyWindowInsets(insets); } diff --git a/core/java/android/text/format/DateUtils.java b/core/java/android/text/format/DateUtils.java index ac98e8a..14ebec7 100644 --- a/core/java/android/text/format/DateUtils.java +++ b/core/java/android/text/format/DateUtils.java @@ -258,7 +258,7 @@ public class DateUtils * Returns a string describing 'time' as a time relative to 'now'. * <p> * Time spans in the past are formatted like "42 minutes ago". - * Time spans in the future are formatted like "in 42 minutes". + * Time spans in the future are formatted like "In 42 minutes". * * @param time the time to describe, in milliseconds * @param now the current time in milliseconds @@ -275,7 +275,7 @@ public class DateUtils * Returns a string describing 'time' as a time relative to 'now'. * <p> * Time spans in the past are formatted like "42 minutes ago". Time spans in - * the future are formatted like "in 42 minutes". + * the future are formatted like "In 42 minutes". * <p> * Can use {@link #FORMAT_ABBREV_RELATIVE} flag to use abbreviated relative * times, like "42 mins ago". diff --git a/core/java/android/view/AccessibilityInteractionController.java b/core/java/android/view/AccessibilityInteractionController.java index 3781d40..6e2d110 100644 --- a/core/java/android/view/AccessibilityInteractionController.java +++ b/core/java/android/view/AccessibilityInteractionController.java @@ -758,7 +758,10 @@ final class AccessibilityInteractionController { Rect visibleDisplayFrame = mTempRect2; visibleDisplayFrame.set(0, 0, displayWidth, displayHeight); - visibleWinFrame.intersect(visibleDisplayFrame); + if (!visibleWinFrame.intersect(visibleDisplayFrame)) { + // If there's no intersection with display, set visibleWinFrame empty. + visibleDisplayFrame.setEmpty(); + } if (!visibleWinFrame.intersects(boundsInScreen.left, boundsInScreen.top, boundsInScreen.right, boundsInScreen.bottom)) { diff --git a/core/java/android/view/GestureDetector.java b/core/java/android/view/GestureDetector.java index b8544c6..ff0af6b 100644 --- a/core/java/android/view/GestureDetector.java +++ b/core/java/android/view/GestureDetector.java @@ -32,6 +32,9 @@ import android.os.Message; * <li>In the {@link View#onTouchEvent(MotionEvent)} method ensure you call * {@link #onTouchEvent(MotionEvent)}. The methods defined in your callback * will be executed when the events occur. + * <li>If listening for {@link OnStylusButtonPressListener#onStylusButtonPress(MotionEvent)} + * you must call {@link #onGenericMotionEvent(MotionEvent)} + * in {@link View#onGenericMotionEvent(MotionEvent)}. * </ul> */ public class GestureDetector { @@ -149,12 +152,14 @@ public class GestureDetector { } /** - * The listener that is used to notify when a stylus button press occurs. + * The listener that is used to notify when a stylus button press occurs. When listening for a + * stylus button press ensure that you call {@link #onGenericMotionEvent(MotionEvent)} in + * {@link View#onGenericMotionEvent(MotionEvent)}. */ public interface OnStylusButtonPressListener { /** * Notified when a stylus button press occurs. This is when the stylus - * is touching the screen and the {@value MotionEvent#BUTTON_SECONDARY} + * is touching the screen and the {@value MotionEvent#BUTTON_STYLUS_PRIMARY} * is pressed. * * @param e The motion event that occurred during the stylus button @@ -241,6 +246,7 @@ public class GestureDetector { private boolean mInStylusButtonPress; private boolean mAlwaysInTapRegion; private boolean mAlwaysInBiggerTapRegion; + private boolean mIgnoreNextUpEvent; private MotionEvent mCurrentDownEvent; private MotionEvent mPreviousUpEvent; @@ -552,18 +558,7 @@ public class GestureDetector { break; case MotionEvent.ACTION_DOWN: - if (mStylusButtonListener != null - && ev.getToolType(0) == MotionEvent.TOOL_TYPE_STYLUS - && (ev.getButtonState() & MotionEvent.BUTTON_SECONDARY) != 0) { - if (mStylusButtonListener.onStylusButtonPress(ev)) { - mInStylusButtonPress = true; - handled = true; - mHandler.removeMessages(LONG_PRESS); - mHandler.removeMessages(TAP); - } - } - - if (mDoubleTapListener != null && !mInStylusButtonPress) { + if (mDoubleTapListener != null) { boolean hadTapMessage = mHandler.hasMessages(TAP); if (hadTapMessage) mHandler.removeMessages(TAP); if ((mCurrentDownEvent != null) && (mPreviousUpEvent != null) && hadTapMessage && @@ -592,7 +587,7 @@ public class GestureDetector { mInLongPress = false; mDeferConfirmSingleTap = false; - if (mIsLongpressEnabled && !mInStylusButtonPress) { + if (mIsLongpressEnabled) { mHandler.removeMessages(LONG_PRESS); mHandler.sendEmptyMessageAtTime(LONG_PRESS, mCurrentDownEvent.getDownTime() + TAP_TIMEOUT + LONGPRESS_TIMEOUT); @@ -602,16 +597,6 @@ public class GestureDetector { break; case MotionEvent.ACTION_MOVE: - if (mStylusButtonListener != null && !mInStylusButtonPress && !mInLongPress - && ev.getToolType(0) == MotionEvent.TOOL_TYPE_STYLUS - && (ev.getButtonState() & MotionEvent.BUTTON_SECONDARY) != 0) { - if (mStylusButtonListener.onStylusButtonPress(ev)) { - mInStylusButtonPress = true; - handled = true; - mHandler.removeMessages(LONG_PRESS); - mHandler.removeMessages(TAP); - } - } if (mInLongPress || mInStylusButtonPress) { break; } @@ -652,15 +637,12 @@ public class GestureDetector { } else if (mInLongPress) { mHandler.removeMessages(TAP); mInLongPress = false; - } else if (mInStylusButtonPress) { - mHandler.removeMessages(TAP); - mInStylusButtonPress = false; - } else if (mAlwaysInTapRegion) { + } else if (mAlwaysInTapRegion && !mIgnoreNextUpEvent) { handled = mListener.onSingleTapUp(ev); if (mDeferConfirmSingleTap && mDoubleTapListener != null) { mDoubleTapListener.onSingleTapConfirmed(ev); } - } else { + } else if (!mIgnoreNextUpEvent) { // A fling must travel the minimum tap distance final VelocityTracker velocityTracker = mVelocityTracker; @@ -687,6 +669,7 @@ public class GestureDetector { } mIsDoubleTapping = false; mDeferConfirmSingleTap = false; + mIgnoreNextUpEvent = false; mHandler.removeMessages(SHOW_PRESS); mHandler.removeMessages(LONG_PRESS); break; @@ -702,6 +685,43 @@ public class GestureDetector { return handled; } + /** + * Analyzes the given generic motion event and if applicable triggers the + * appropriate callbacks on the {@link OnGestureListener} supplied. + * + * @param ev The current motion event. + * @return true if the {@link OnGestureListener} consumed the event, + * else false. + */ + public boolean onGenericMotionEvent(MotionEvent ev) { + if (mInputEventConsistencyVerifier != null) { + mInputEventConsistencyVerifier.onGenericMotionEvent(ev, 0); + } + + switch (ev.getActionMasked()) { + case MotionEvent.ACTION_BUTTON_PRESS: + if (mStylusButtonListener != null && !mInStylusButtonPress && !mInLongPress + && ev.getActionButton() == MotionEvent.BUTTON_STYLUS_PRIMARY) { + if (mStylusButtonListener.onStylusButtonPress(ev)) { + mInStylusButtonPress = true; + mHandler.removeMessages(LONG_PRESS); + mHandler.removeMessages(TAP); + return true; + } + } + break; + + case MotionEvent.ACTION_BUTTON_RELEASE: + if (mInStylusButtonPress + && ev.getActionButton() == MotionEvent.BUTTON_STYLUS_PRIMARY) { + mInStylusButtonPress = false; + mIgnoreNextUpEvent = true; + } + break; + } + return false; + } + private void cancel() { mHandler.removeMessages(SHOW_PRESS); mHandler.removeMessages(LONG_PRESS); @@ -715,6 +735,7 @@ public class GestureDetector { mDeferConfirmSingleTap = false; mInLongPress = false; mInStylusButtonPress = false; + mIgnoreNextUpEvent = false; } private void cancelTaps() { @@ -727,6 +748,7 @@ public class GestureDetector { mDeferConfirmSingleTap = false; mInLongPress = false; mInStylusButtonPress = false; + mIgnoreNextUpEvent = false; } private boolean isConsideredDoubleTap(MotionEvent firstDown, MotionEvent firstUp, diff --git a/core/java/android/view/IWindow.aidl b/core/java/android/view/IWindow.aidl index 0fefdc7..9cf3759 100644 --- a/core/java/android/view/IWindow.aidl +++ b/core/java/android/view/IWindow.aidl @@ -46,7 +46,7 @@ oneway interface IWindow { void executeCommand(String command, String parameters, in ParcelFileDescriptor descriptor); void resized(in Rect frame, in Rect overscanInsets, in Rect contentInsets, - in Rect visibleInsets, in Rect stableInsets, boolean reportDraw, + in Rect visibleInsets, in Rect stableInsets, in Rect outsets, boolean reportDraw, in Configuration newConfig); void moved(int newX, int newY); void dispatchAppVisibility(boolean visible); diff --git a/core/java/android/view/IWindowSession.aidl b/core/java/android/view/IWindowSession.aidl index fc0148f..19253dd 100644 --- a/core/java/android/view/IWindowSession.aidl +++ b/core/java/android/view/IWindowSession.aidl @@ -79,11 +79,13 @@ interface IWindowSession { * contents to make sure the user can see it. This is different than * <var>outContentInsets</var> in that these insets change transiently, * so complex relayout of the window should not happen based on them. + * @param outOutsets Rect in which is placed the dead area of the screen that we would like to + * treat as real display. Example of such area is a chin in some models of wearable devices. * @param outConfiguration New configuration of window, if it is now * becoming visible and the global configuration has changed since it * was last displayed. * @param outSurface Object in which is placed the new display surface. - * + * * @return int Result flags: {@link WindowManagerGlobal#RELAYOUT_SHOW_FOCUS}, * {@link WindowManagerGlobal#RELAYOUT_FIRST_TIME}. */ @@ -91,7 +93,7 @@ interface IWindowSession { int requestedWidth, int requestedHeight, int viewVisibility, int flags, out Rect outFrame, out Rect outOverscanInsets, out Rect outContentInsets, out Rect outVisibleInsets, out Rect outStableInsets, - out Configuration outConfig, out Surface outSurface); + out Rect outOutsets, out Configuration outConfig, out Surface outSurface); /** * If a call to relayout() asked to have the surface destroy deferred, diff --git a/core/java/android/view/ScaleGestureDetector.java b/core/java/android/view/ScaleGestureDetector.java index b055efe..7b0f1fb 100644 --- a/core/java/android/view/ScaleGestureDetector.java +++ b/core/java/android/view/ScaleGestureDetector.java @@ -320,8 +320,8 @@ public class ScaleGestureDetector { } final int count = event.getPointerCount(); - final boolean isStylusButtonDown = (event.getToolType(0) == MotionEvent.TOOL_TYPE_STYLUS) - && (event.getButtonState() & MotionEvent.BUTTON_SECONDARY) != 0; + final boolean isStylusButtonDown = + (event.getButtonState() & MotionEvent.BUTTON_STYLUS_PRIMARY) != 0; final boolean anchoredScaleCancelled = mAnchoredScaleMode == ANCHORED_SCALE_MODE_STYLUS && !isStylusButtonDown; diff --git a/core/java/android/view/SurfaceView.java b/core/java/android/view/SurfaceView.java index 49be57d..160c662 100644 --- a/core/java/android/view/SurfaceView.java +++ b/core/java/android/view/SurfaceView.java @@ -106,6 +106,7 @@ public class SurfaceView extends View { final Rect mOverscanInsets = new Rect(); final Rect mContentInsets = new Rect(); final Rect mStableInsets = new Rect(); + final Rect mOutsets = new Rect(); final Configuration mConfiguration = new Configuration(); static final int KEEP_SCREEN_ON_MSG = 1; @@ -519,7 +520,8 @@ public class SurfaceView extends View { visible ? VISIBLE : GONE, WindowManagerGlobal.RELAYOUT_DEFER_SURFACE_DESTROY, mWinFrame, mOverscanInsets, mContentInsets, - mVisibleInsets, mStableInsets, mConfiguration, mNewSurface); + mVisibleInsets, mStableInsets, mOutsets, mConfiguration, + mNewSurface); if ((relayoutResult & WindowManagerGlobal.RELAYOUT_RES_FIRST_TIME) != 0) { mReportDrawNeeded = true; } @@ -654,7 +656,7 @@ public class SurfaceView extends View { @Override public void resized(Rect frame, Rect overscanInsets, Rect contentInsets, - Rect visibleInsets, Rect stableInsets, boolean reportDraw, + Rect visibleInsets, Rect stableInsets, Rect outsets, boolean reportDraw, Configuration newConfig) { SurfaceView surfaceView = mSurfaceView.get(); if (surfaceView != null) { diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java index 81f9f99..3e621b1 100644 --- a/core/java/android/view/View.java +++ b/core/java/android/view/View.java @@ -3521,7 +3521,14 @@ public class View implements Drawable.Callback, KeyEvent.Callback, * the stylus is touching the screen and the button has been pressed, this * is false once the stylus has been lifted. */ - private boolean mInStylusButtonPress = false; + private boolean mInStylusButtonPress; + + /** + * Whether the next up event should be ignored for the purposes of gesture recognition. This is + * true after a stylus button press has occured, when the next up event should not be recognized + * as a tap. + */ + private boolean mIgnoreNextUpEvent; /** * The minimum height of the view. We'll try our best to have the height @@ -5231,26 +5238,6 @@ public class View implements Drawable.Callback, KeyEvent.Callback, } /** - * Checks for a stylus button press and calls the listener. - * - * @param event The event. - * @return True if the event was consumed. - */ - private boolean performStylusActionOnButtonPress(MotionEvent event) { - if (isStylusButtonPressable() && !mInStylusButtonPress && !mHasPerformedLongPress - && event.isButtonPressed(MotionEvent.BUTTON_STYLUS_SECONDARY)) { - if (performStylusButtonPress()) { - mInStylusButtonPress = true; - setPressed(true, event.getX(), event.getY()); - removeTapCallback(); - removeLongPressCallback(); - return true; - } - } - return false; - } - - /** * Performs button-related actions during a touch down event. * * @param event The event. @@ -7376,6 +7363,15 @@ public class View implements Drawable.Callback, KeyEvent.Callback, } /** + * Returns the outsets, which areas of the device that aren't a surface, but we would like to + * treat them as such. + * @hide + */ + public void getOutsets(Rect outOutsetRect) { + outOutsetRect.set(mAttachInfo.mOutsets); + } + + /** * Returns the visibility status for this view. * * @return One of {@link #VISIBLE}, {@link #INVISIBLE}, or {@link #GONE}. @@ -9371,6 +9367,29 @@ public class View implements Drawable.Callback, KeyEvent.Callback, return true; } + switch (event.getActionMasked()) { + case MotionEvent.ACTION_BUTTON_PRESS: + if (isStylusButtonPressable() && !mInStylusButtonPress && !mHasPerformedLongPress + && event.getActionButton() == MotionEvent.BUTTON_STYLUS_PRIMARY) { + if (performStylusButtonPress()) { + mInStylusButtonPress = true; + setPressed(true, event.getX(), event.getY()); + removeTapCallback(); + removeLongPressCallback(); + return true; + } + } + break; + + case MotionEvent.ACTION_BUTTON_RELEASE: + if (mInStylusButtonPress + && event.getActionButton() == MotionEvent.BUTTON_STYLUS_PRIMARY) { + mInStylusButtonPress = false; + mIgnoreNextUpEvent = true; + } + break; + } + if (mInputEventConsistencyVerifier != null) { mInputEventConsistencyVerifier.onUnhandledEvent(event, 0); } @@ -10231,10 +10250,6 @@ public class View implements Drawable.Callback, KeyEvent.Callback, (viewFlags & STYLUS_BUTTON_PRESSABLE) == STYLUS_BUTTON_PRESSABLE) { switch (action) { case MotionEvent.ACTION_UP: - if (mInStylusButtonPress) { - mInStylusButtonPress = false; - mHasPerformedLongPress = false; - } boolean prepressed = (mPrivateFlags & PFLAG_PREPRESSED) != 0; if ((mPrivateFlags & PFLAG_PRESSED) != 0 || prepressed) { // take focus if we don't have it already and we should in @@ -10252,7 +10267,7 @@ public class View implements Drawable.Callback, KeyEvent.Callback, setPressed(true, x, y); } - if (!mHasPerformedLongPress) { + if (!mHasPerformedLongPress && !mIgnoreNextUpEvent) { // This is a tap, so remove the longpress check removeLongPressCallback(); @@ -10284,15 +10299,11 @@ public class View implements Drawable.Callback, KeyEvent.Callback, removeTapCallback(); } + mIgnoreNextUpEvent = false; break; case MotionEvent.ACTION_DOWN: mHasPerformedLongPress = false; - mInStylusButtonPress = false; - - if (performStylusActionOnButtonPress(event)) { - break; - } if (performButtonActionOnTouchDown(event)) { break; @@ -10322,10 +10333,9 @@ public class View implements Drawable.Callback, KeyEvent.Callback, setPressed(false); removeTapCallback(); removeLongPressCallback(); - if (mInStylusButtonPress) { - mInStylusButtonPress = false; - mHasPerformedLongPress = false; - } + mInStylusButtonPress = false; + mHasPerformedLongPress = false; + mIgnoreNextUpEvent = false; break; case MotionEvent.ACTION_MOVE: @@ -10341,9 +10351,6 @@ public class View implements Drawable.Callback, KeyEvent.Callback, setPressed(false); } - } else if (performStylusActionOnButtonPress(event)) { - // Check for stylus button press if we're within the view. - break; } break; } @@ -14506,6 +14513,11 @@ public class View implements Drawable.Callback, KeyEvent.Callback, onDetachedFromWindow(); onDetachedFromWindowInternal(); + InputMethodManager imm = InputMethodManager.peekInstance(); + if (imm != null) { + imm.onViewDetachedFromWindow(this); + } + ListenerInfo li = mListenerInfo; final CopyOnWriteArrayList<OnAttachStateChangeListener> listeners = li != null ? li.mOnAttachStateChangeListeners : null; @@ -21561,6 +21573,12 @@ public class View implements Drawable.Callback, KeyEvent.Callback, final Rect mStableInsets = new Rect(); /** + * For windows that include areas that are not covered by real surface these are the outsets + * for real surface. + */ + final Rect mOutsets = new Rect(); + + /** * The internal insets given by this window. This value is * supplied by the client (through * {@link ViewTreeObserver.OnComputeInternalInsetsListener}) and will diff --git a/core/java/android/view/ViewGroup.java b/core/java/android/view/ViewGroup.java index a7e739d..aa9fd9b 100644 --- a/core/java/android/view/ViewGroup.java +++ b/core/java/android/view/ViewGroup.java @@ -3602,14 +3602,14 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager } /** - * Sets whether this ViewGroup will clip its children to its padding, if - * padding is present. + * Sets whether this ViewGroup will clip its children to its padding and resize (but not + * clip) any EdgeEffect to the padded region, if padding is present. * <p> * By default, children are clipped to the padding of their parent - * Viewgroup. This clipping behavior is only enabled if padding is non-zero. + * ViewGroup. This clipping behavior is only enabled if padding is non-zero. * - * @param clipToPadding true to clip children to the padding of the - * group, false otherwise + * @param clipToPadding true to clip children to the padding of the group, and resize (but + * not clip) any EdgeEffect to the padded region. False otherwise. * @attr ref android.R.styleable#ViewGroup_clipToPadding */ public void setClipToPadding(boolean clipToPadding) { @@ -3620,13 +3620,14 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager } /** - * Returns whether this ViewGroup will clip its children to its padding, if - * padding is present. + * Returns whether this ViewGroup will clip its children to its padding, and resize (but + * not clip) any EdgeEffect to the padded region, if padding is present. * <p> * By default, children are clipped to the padding of their parent * Viewgroup. This clipping behavior is only enabled if padding is non-zero. * - * @return true if this ViewGroup clips children to its padding, false otherwise + * @return true if this ViewGroup clips children to its padding and resizes (but doesn't + * clip) any EdgeEffect to the padded region, false otherwise. * * @attr ref android.R.styleable#ViewGroup_clipToPadding */ @@ -5224,12 +5225,20 @@ public abstract class ViewGroup extends View implements ViewParent, ViewManager descendant.mTop - descendant.mScrollY); if (clipToBounds) { View p = (View) theParent; - rect.intersect(0, 0, p.mRight - p.mLeft, p.mBottom - p.mTop); + boolean intersected = rect.intersect(0, 0, p.mRight - p.mLeft, + p.mBottom - p.mTop); + if (!intersected) { + rect.setEmpty(); + } } } else { if (clipToBounds) { View p = (View) theParent; - rect.intersect(0, 0, p.mRight - p.mLeft, p.mBottom - p.mTop); + boolean intersected = rect.intersect(0, 0, p.mRight - p.mLeft, + p.mBottom - p.mTop); + if (!intersected) { + rect.setEmpty(); + } } rect.offset(descendant.mScrollX - descendant.mLeft, descendant.mScrollY - descendant.mTop); diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java index 89b91f1..e1e0154 100644 --- a/core/java/android/view/ViewRootImpl.java +++ b/core/java/android/view/ViewRootImpl.java @@ -268,6 +268,7 @@ public final class ViewRootImpl implements ViewParent, final Rect mPendingVisibleInsets = new Rect(); final Rect mPendingStableInsets = new Rect(); final Rect mPendingContentInsets = new Rect(); + final Rect mPendingOutsets = new Rect(); final ViewTreeObserver.InternalInsetsInfo mLastGivenInsets = new ViewTreeObserver.InternalInsetsInfo(); @@ -1267,6 +1268,12 @@ public final class ViewRootImpl implements ViewParent, contentInsets = mPendingContentInsets; stableInsets = mPendingStableInsets; } + Rect outsets = mAttachInfo.mOutsets; + if (outsets.left > 0 || outsets.top > 0 || outsets.right > 0 || outsets.bottom > 0) { + contentInsets = new Rect(contentInsets.left + outsets.left, + contentInsets.top + outsets.top, contentInsets.right + outsets.right, + contentInsets.bottom + outsets.bottom); + } mLastWindowInsets = new WindowInsets(contentInsets, null /* windowDecorInsets */, stableInsets, mContext.getResources().getConfiguration().isScreenRound()); @@ -1425,6 +1432,9 @@ public final class ViewRootImpl implements ViewParent, if (DEBUG_LAYOUT) Log.v(TAG, "Visible insets changing to: " + mAttachInfo.mVisibleInsets); } + if (!mPendingOutsets.equals(mAttachInfo.mOutsets)) { + insetsChanged = true; + } if (lp.width == ViewGroup.LayoutParams.WRAP_CONTENT || lp.height == ViewGroup.LayoutParams.WRAP_CONTENT) { windowSizeMayChange = true; @@ -1598,6 +1608,7 @@ public final class ViewRootImpl implements ViewParent, mAttachInfo.mVisibleInsets); final boolean stableInsetsChanged = !mPendingStableInsets.equals( mAttachInfo.mStableInsets); + final boolean outsetsChanged = !mPendingOutsets.equals(mAttachInfo.mOutsets); if (contentInsetsChanged) { if (mWidth > 0 && mHeight > 0 && lp != null && ((lp.systemUiVisibility|lp.subtreeSystemUiVisibility) @@ -1681,9 +1692,11 @@ public final class ViewRootImpl implements ViewParent, } if (contentInsetsChanged || mLastSystemUiVisibility != mAttachInfo.mSystemUiVisibility || mApplyInsetsRequested - || mLastOverscanRequested != mAttachInfo.mOverscanRequested) { + || mLastOverscanRequested != mAttachInfo.mOverscanRequested + || outsetsChanged) { mLastSystemUiVisibility = mAttachInfo.mSystemUiVisibility; mLastOverscanRequested = mAttachInfo.mOverscanRequested; + mAttachInfo.mOutsets.set(mPendingOutsets); mApplyInsetsRequested = false; dispatchApplyInsets(host); } @@ -2791,7 +2804,11 @@ public final class ViewRootImpl implements ViewParent, final AttachInfo attachInfo = mAttachInfo; bounds.offset(0, attachInfo.mViewRootImpl.mScrollY); bounds.offset(-attachInfo.mWindowLeft, -attachInfo.mWindowTop); - bounds.intersect(0, 0, attachInfo.mViewRootImpl.mWidth, attachInfo.mViewRootImpl.mHeight); + if (!bounds.intersect(0, 0, attachInfo.mViewRootImpl.mWidth, + attachInfo.mViewRootImpl.mHeight)) { + // If no intersection, set bounds to empty. + bounds.setEmpty(); + } return !bounds.isEmpty(); } @@ -3259,6 +3276,7 @@ public final class ViewRootImpl implements ViewParent, && mPendingContentInsets.equals(args.arg2) && mPendingStableInsets.equals(args.arg6) && mPendingVisibleInsets.equals(args.arg3) + && mPendingOutsets.equals(args.arg7) && args.arg4 == null) { break; } @@ -3277,6 +3295,7 @@ public final class ViewRootImpl implements ViewParent, mPendingContentInsets.set((Rect) args.arg2); mPendingStableInsets.set((Rect) args.arg6); mPendingVisibleInsets.set((Rect) args.arg3); + mPendingOutsets.set((Rect) args.arg7); args.recycle(); @@ -5387,7 +5406,7 @@ public final class ViewRootImpl implements ViewParent, (int) (mView.getMeasuredHeight() * appScale + 0.5f), viewVisibility, insetsPending ? WindowManagerGlobal.RELAYOUT_INSETS_PENDING : 0, mWinFrame, mPendingOverscanInsets, mPendingContentInsets, mPendingVisibleInsets, - mPendingStableInsets, mPendingConfiguration, mSurface); + mPendingStableInsets, mPendingOutsets, mPendingConfiguration, mSurface); //Log.d(TAG, "<<<<<< BACK FROM relayout"); if (restore) { params.restore(); @@ -5656,7 +5675,8 @@ public final class ViewRootImpl implements ViewParent, } public void dispatchResized(Rect frame, Rect overscanInsets, Rect contentInsets, - Rect visibleInsets, Rect stableInsets, boolean reportDraw, Configuration newConfig) { + Rect visibleInsets, Rect stableInsets, Rect outsets, boolean reportDraw, + Configuration newConfig) { if (DEBUG_LAYOUT) Log.v(TAG, "Resizing " + this + ": frame=" + frame.toShortString() + " contentInsets=" + contentInsets.toShortString() + " visibleInsets=" + visibleInsets.toShortString() @@ -5676,6 +5696,7 @@ public final class ViewRootImpl implements ViewParent, args.arg4 = sameProcessCall && newConfig != null ? new Configuration(newConfig) : newConfig; args.arg5 = sameProcessCall ? new Rect(overscanInsets) : overscanInsets; args.arg6 = sameProcessCall ? new Rect(stableInsets) : stableInsets; + args.arg7 = sameProcessCall ? new Rect(outsets) : outsets; msg.obj = args; mHandler.sendMessage(msg); } @@ -6650,12 +6671,12 @@ public final class ViewRootImpl implements ViewParent, @Override public void resized(Rect frame, Rect overscanInsets, Rect contentInsets, - Rect visibleInsets, Rect stableInsets, boolean reportDraw, + Rect visibleInsets, Rect stableInsets, Rect outsets, boolean reportDraw, Configuration newConfig) { final ViewRootImpl viewAncestor = mViewAncestor.get(); if (viewAncestor != null) { viewAncestor.dispatchResized(frame, overscanInsets, contentInsets, - visibleInsets, stableInsets, reportDraw, newConfig); + visibleInsets, stableInsets, outsets, reportDraw, newConfig); } } diff --git a/core/java/android/view/ViewStructure.java b/core/java/android/view/ViewStructure.java index 5c8b023..886547a 100644 --- a/core/java/android/view/ViewStructure.java +++ b/core/java/android/view/ViewStructure.java @@ -145,13 +145,6 @@ public abstract class ViewStructure { public abstract void setText(CharSequence text, int selectionStart, int selectionEnd); /** - * Set default global style of the text previously set with - * {@link #setText}, derived from the given TextPaint object. Size, foreground color, - * background color, and style information will be extracted from the paint. - */ - public abstract void setTextPaint(TextPaint paint); - - /** * Explicitly set default global style information for text that was previously set with * {@link #setText}. * @@ -160,7 +153,7 @@ public abstract class ViewStructure { * @param bgColor The background color, packed as 0xAARRGGBB. * @param style Style flags, as defined by {@link android.app.AssistStructure.ViewNode}. */ - public abstract void setTextStyle(int size, int fgColor, int bgColor, int style); + public abstract void setTextStyle(float size, int fgColor, int bgColor, int style); /** * Set optional hint text associated with this view; this is for example the text that is diff --git a/core/java/android/view/WindowManagerPolicy.java b/core/java/android/view/WindowManagerPolicy.java index eebcd84..f7b6405 100644 --- a/core/java/android/view/WindowManagerPolicy.java +++ b/core/java/android/view/WindowManagerPolicy.java @@ -158,10 +158,12 @@ public interface WindowManagerPolicy { * @param decorFrame The decor frame specified by policy specific to this window, * to use for proper cropping during animation. * @param stableFrame The frame around which stable system decoration is positioned. + * @param outsetFrame The frame that includes areas that aren't part of the surface but we + * want to treat them as such. */ public void computeFrameLw(Rect parentFrame, Rect displayFrame, Rect overlayFrame, Rect contentFrame, Rect visibleFrame, Rect decorFrame, - Rect stableFrame); + Rect stableFrame, Rect outsetFrame); /** * Retrieve the current frame of the window that has been assigned by @@ -945,17 +947,30 @@ public interface WindowManagerPolicy { public int focusChangedLw(WindowState lastFocus, WindowState newFocus); /** - * Called when the device is waking up. + * Called when the device has started waking up. */ - public void wakingUp(); + public void startedWakingUp(); /** - * Called when the device is going to sleep. + * Called when the device has finished waking up. + */ + public void finishedWakingUp(); + + /** + * Called when the device has started going to sleep. + * + * @param why {@link #OFF_BECAUSE_OF_USER}, {@link #OFF_BECAUSE_OF_ADMIN}, + * or {@link #OFF_BECAUSE_OF_TIMEOUT}. + */ + public void startedGoingToSleep(int why); + + /** + * Called when the device has finished going to sleep. * - * @param why {@link #OFF_BECAUSE_OF_USER} or - * {@link #OFF_BECAUSE_OF_TIMEOUT}. + * @param why {@link #OFF_BECAUSE_OF_USER}, {@link #OFF_BECAUSE_OF_ADMIN}, + * or {@link #OFF_BECAUSE_OF_TIMEOUT}. */ - public void goingToSleep(int why); + public void finishedGoingToSleep(int why); /** * Called when the device is about to turn on the screen to show content. diff --git a/core/java/android/view/accessibility/AccessibilityNodeInfo.java b/core/java/android/view/accessibility/AccessibilityNodeInfo.java index 901a32d..b454d1c 100644 --- a/core/java/android/view/accessibility/AccessibilityNodeInfo.java +++ b/core/java/android/view/accessibility/AccessibilityNodeInfo.java @@ -2737,10 +2737,10 @@ public class AccessibilityNodeInfo implements Parcelable { if (mCollectionItemInfo != null) { parcel.writeInt(1); - parcel.writeInt(mCollectionItemInfo.getColumnIndex()); - parcel.writeInt(mCollectionItemInfo.getColumnSpan()); parcel.writeInt(mCollectionItemInfo.getRowIndex()); parcel.writeInt(mCollectionItemInfo.getRowSpan()); + parcel.writeInt(mCollectionItemInfo.getColumnIndex()); + parcel.writeInt(mCollectionItemInfo.getColumnSpan()); parcel.writeInt(mCollectionItemInfo.isHeading() ? 1 : 0); parcel.writeInt(mCollectionItemInfo.isSelected() ? 1 : 0); } else { diff --git a/core/java/android/view/inputmethod/InputMethodManager.java b/core/java/android/view/inputmethod/InputMethodManager.java index f61e372..5537b3e 100644 --- a/core/java/android/view/inputmethod/InputMethodManager.java +++ b/core/java/android/view/inputmethod/InputMethodManager.java @@ -1320,6 +1320,22 @@ public final class InputMethodManager { } } + /** + * Call this when a view is being detached from a {@link android.view.Window}. + * @hide + */ + public void onViewDetachedFromWindow(View view) { + synchronized (mH) { + if (DEBUG) Log.v(TAG, "onViewDetachedFromWindow: " + view + + " mServedView=" + mServedView + + " hasWindowFocus=" + view.hasWindowFocus()); + if (mServedView == view && view.hasWindowFocus()) { + mNextServedView = null; + scheduleCheckFocusLocked(view); + } + } + } + static void scheduleCheckFocusLocked(View view) { ViewRootImpl viewRootImpl = view.getViewRootImpl(); if (viewRootImpl != null) { diff --git a/core/java/android/webkit/ViewAssistStructure.java b/core/java/android/webkit/ViewAssistStructure.java index bbaceee..afa5ab8 100644 --- a/core/java/android/webkit/ViewAssistStructure.java +++ b/core/java/android/webkit/ViewAssistStructure.java @@ -132,12 +132,7 @@ public class ViewAssistStructure extends android.view.ViewAssistStructure { } @Override - public void setTextPaint(TextPaint paint) { - mV.setTextPaint(paint); - } - - @Override - public void setTextStyle(int size, int fgColor, int bgColor, int style) { + public void setTextStyle(float size, int fgColor, int bgColor, int style) { mV.setTextStyle(size, fgColor, bgColor, style); } diff --git a/core/java/android/widget/AbsSeekBar.java b/core/java/android/widget/AbsSeekBar.java index ff74c60..a4c8d1c 100644 --- a/core/java/android/widget/AbsSeekBar.java +++ b/core/java/android/widget/AbsSeekBar.java @@ -86,10 +86,10 @@ public abstract class AbsSeekBar extends ProgressBar { public AbsSeekBar(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); - TypedArray a = context.obtainStyledAttributes( - attrs, com.android.internal.R.styleable.SeekBar, defStyleAttr, defStyleRes); + final TypedArray a = context.obtainStyledAttributes( + attrs, R.styleable.SeekBar, defStyleAttr, defStyleRes); - final Drawable thumb = a.getDrawable(com.android.internal.R.styleable.SeekBar_thumb); + final Drawable thumb = a.getDrawable(R.styleable.SeekBar_thumb); setThumb(thumb); if (a.hasValue(R.styleable.SeekBar_thumbTintMode)) { @@ -103,18 +103,22 @@ public abstract class AbsSeekBar extends ProgressBar { mHasThumbTint = true; } + mSplitTrack = a.getBoolean(R.styleable.SeekBar_splitTrack, false); + // Guess thumb offset if thumb != null, but allow layout to override. - final int thumbOffset = a.getDimensionPixelOffset( - com.android.internal.R.styleable.SeekBar_thumbOffset, getThumbOffset()); + final int thumbOffset = a.getDimensionPixelOffset(R.styleable.SeekBar_thumbOffset, getThumbOffset()); setThumbOffset(thumbOffset); - mSplitTrack = a.getBoolean(com.android.internal.R.styleable.SeekBar_splitTrack, false); + final boolean useDisabledAlpha = a.getBoolean(R.styleable.SeekBar_useDisabledAlpha, true); a.recycle(); - a = context.obtainStyledAttributes(attrs, - com.android.internal.R.styleable.Theme, 0, 0); - mDisabledAlpha = a.getFloat(com.android.internal.R.styleable.Theme_disabledAlpha, 0.5f); - a.recycle(); + if (useDisabledAlpha) { + final TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.Theme, 0, 0); + mDisabledAlpha = ta.getFloat(R.styleable.Theme_disabledAlpha, 0.5f); + ta.recycle(); + } else { + mDisabledAlpha = 1.0f; + } applyThumbTint(); @@ -360,7 +364,7 @@ public abstract class AbsSeekBar extends ProgressBar { super.drawableStateChanged(); final Drawable progressDrawable = getProgressDrawable(); - if (progressDrawable != null) { + if (progressDrawable != null && mDisabledAlpha < 1.0f) { progressDrawable.setAlpha(isEnabled() ? NO_ALPHA : (int) (NO_ALPHA * mDisabledAlpha)); } diff --git a/core/java/android/widget/Editor.java b/core/java/android/widget/Editor.java index fc84cf9..6cd35f9 100644 --- a/core/java/android/widget/Editor.java +++ b/core/java/android/widget/Editor.java @@ -1890,6 +1890,11 @@ public class Editor { if (!extractedTextModeWillBeStarted()) { if (isCursorInsideEasyCorrectionSpan()) { + // Cancel the single tap delayed runnable. + if (mSelectionModeWithoutSelectionRunnable != null) { + mTextView.removeCallbacks(mSelectionModeWithoutSelectionRunnable); + } + mShowSuggestionRunnable = new Runnable() { public void run() { showSuggestions(); @@ -3819,13 +3824,15 @@ public class Editor { SystemClock.uptimeMillis() - TextView.sLastCutCopyOrTextChangedTime; // Cancel the single tap delayed runnable. - if (mDoubleTap && mSelectionModeWithoutSelectionRunnable != null) { + if (mSelectionModeWithoutSelectionRunnable != null + && (mDoubleTap || isCursorInsideEasyCorrectionSpan())) { mTextView.removeCallbacks(mSelectionModeWithoutSelectionRunnable); } // Prepare and schedule the single tap runnable to run exactly after the double tap // timeout has passed. - if (!mDoubleTap && (durationSinceCutOrCopy < RECENT_CUT_COPY_DURATION)) { + if (!mDoubleTap && !isCursorInsideEasyCorrectionSpan() + && (durationSinceCutOrCopy < RECENT_CUT_COPY_DURATION)) { if (mSelectionModeWithoutSelectionRunnable == null) { mSelectionModeWithoutSelectionRunnable = new Runnable() { public void run() { diff --git a/core/java/android/widget/ListView.java b/core/java/android/widget/ListView.java index 7dcaa1f..f8b965f 100644 --- a/core/java/android/widget/ListView.java +++ b/core/java/android/widget/ListView.java @@ -16,6 +16,7 @@ package android.widget; +import android.annotation.Nullable; import android.os.Bundle; import android.os.Trace; import com.android.internal.R; @@ -144,7 +145,7 @@ public class ListView extends AbsListView { } public ListView(Context context, AttributeSet attrs) { - this(context, attrs, com.android.internal.R.attr.listViewStyle); + this(context, attrs, R.attr.listViewStyle); } public ListView(Context context, AttributeSet attrs, int defStyleAttr) { @@ -155,38 +156,37 @@ public class ListView extends AbsListView { super(context, attrs, defStyleAttr, defStyleRes); final TypedArray a = context.obtainStyledAttributes( - attrs, com.android.internal.R.styleable.ListView, defStyleAttr, defStyleRes); + attrs, R.styleable.ListView, defStyleAttr, defStyleRes); - CharSequence[] entries = a.getTextArray( - com.android.internal.R.styleable.ListView_entries); + final CharSequence[] entries = a.getTextArray(R.styleable.ListView_entries); if (entries != null) { - setAdapter(new ArrayAdapter<CharSequence>(context, - com.android.internal.R.layout.simple_list_item_1, entries)); + setAdapter(new ArrayAdapter<>(context, R.layout.simple_list_item_1, entries)); } - final Drawable d = a.getDrawable(com.android.internal.R.styleable.ListView_divider); + final Drawable d = a.getDrawable(R.styleable.ListView_divider); if (d != null) { - // If a divider is specified use its intrinsic height for divider height + // Use an implicit divider height which may be explicitly + // overridden by android:dividerHeight further down. setDivider(d); } - - final Drawable osHeader = a.getDrawable( - com.android.internal.R.styleable.ListView_overScrollHeader); + + final Drawable osHeader = a.getDrawable(R.styleable.ListView_overScrollHeader); if (osHeader != null) { setOverscrollHeader(osHeader); } - final Drawable osFooter = a.getDrawable( - com.android.internal.R.styleable.ListView_overScrollFooter); + final Drawable osFooter = a.getDrawable(R.styleable.ListView_overScrollFooter); if (osFooter != null) { setOverscrollFooter(osFooter); } - // Use the height specified, zero being the default - final int dividerHeight = a.getDimensionPixelSize( - com.android.internal.R.styleable.ListView_dividerHeight, 0); - if (dividerHeight != 0) { - setDividerHeight(dividerHeight); + // Use an explicit divider height, if specified. + if (a.hasValueOrEmpty(R.styleable.ListView_dividerHeight)) { + final int dividerHeight = a.getDimensionPixelSize( + R.styleable.ListView_dividerHeight, 0); + if (dividerHeight != 0) { + setDividerHeight(dividerHeight); + } } mHeaderDividersEnabled = a.getBoolean(R.styleable.ListView_headerDividersEnabled, true); @@ -3434,18 +3434,23 @@ public class ListView extends AbsListView { * Returns the drawable that will be drawn between each item in the list. * * @return the current drawable drawn between list elements + * @attr ref R.styleable#ListView_divider */ + @Nullable public Drawable getDivider() { return mDivider; } /** - * Sets the drawable that will be drawn between each item in the list. If the drawable does - * not have an intrinsic height, you should also call {@link #setDividerHeight(int)} + * Sets the drawable that will be drawn between each item in the list. + * <p> + * <strong>Note:</strong> If the drawable does not have an intrinsic + * height, you should also call {@link #setDividerHeight(int)}. * - * @param divider The drawable to use. + * @param divider the drawable to use + * @attr ref R.styleable#ListView_divider */ - public void setDivider(Drawable divider) { + public void setDivider(@Nullable Drawable divider) { if (divider != null) { mDividerHeight = divider.getIntrinsicHeight(); } else { diff --git a/core/java/android/widget/ScrollView.java b/core/java/android/widget/ScrollView.java index 2709f25..ca57d1a 100644 --- a/core/java/android/widget/ScrollView.java +++ b/core/java/android/widget/ScrollView.java @@ -1704,12 +1704,26 @@ public class ScrollView extends FrameLayout { super.draw(canvas); if (mEdgeGlowTop != null) { final int scrollY = mScrollY; + final boolean clipToPadding = getClipToPadding(); if (!mEdgeGlowTop.isFinished()) { final int restoreCount = canvas.save(); - final int width = getWidth() - mPaddingLeft - mPaddingRight; - - canvas.translate(mPaddingLeft, Math.min(0, scrollY)); - mEdgeGlowTop.setSize(width, getHeight()); + final int width; + final int height; + final float translateX; + final float translateY; + if (clipToPadding) { + width = getWidth() - mPaddingLeft - mPaddingRight; + height = getHeight() - mPaddingTop - mPaddingBottom; + translateX = mPaddingLeft; + translateY = mPaddingTop; + } else { + width = getWidth(); + height = getHeight(); + translateX = 0; + translateY = 0; + } + canvas.translate(translateX, Math.min(0, scrollY) + translateY); + mEdgeGlowTop.setSize(width, height); if (mEdgeGlowTop.draw(canvas)) { postInvalidateOnAnimation(); } @@ -1717,11 +1731,23 @@ public class ScrollView extends FrameLayout { } if (!mEdgeGlowBottom.isFinished()) { final int restoreCount = canvas.save(); - final int width = getWidth() - mPaddingLeft - mPaddingRight; - final int height = getHeight(); - - canvas.translate(-width + mPaddingLeft, - Math.max(getScrollRange(), scrollY) + height); + final int width; + final int height; + final float translateX; + final float translateY; + if (clipToPadding) { + width = getWidth() - mPaddingLeft - mPaddingRight; + height = getHeight() - mPaddingTop - mPaddingBottom; + translateX = mPaddingLeft; + translateY = mPaddingTop; + } else { + width = getWidth(); + height = getHeight(); + translateX = 0; + translateY = 0; + } + canvas.translate(-width + translateX, + Math.max(getScrollRange(), scrollY) + height + translateY); canvas.rotate(180, width, 0); mEdgeGlowBottom.setSize(width, height); if (mEdgeGlowBottom.draw(canvas)) { diff --git a/core/java/android/widget/Switch.java b/core/java/android/widget/Switch.java index f42959f..49226cd 100644 --- a/core/java/android/widget/Switch.java +++ b/core/java/android/widget/Switch.java @@ -1374,7 +1374,9 @@ public class Switch extends CompoundButton { newText.append(oldText).append(' ').append(switchText); structure.setText(newText); } - structure.setTextPaint(mTextPaint); + // The style of the label text is provided via the base TextView class. This is more + // relevant than the style of the (optional) on/off text on the switch button itself, + // so ignore the size/color/style stored this.mTextPaint. } } diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java index a93e7ef..15d796c 100644 --- a/core/java/android/widget/TextView.java +++ b/core/java/android/widget/TextView.java @@ -25,6 +25,7 @@ import android.annotation.StringRes; import android.annotation.StyleRes; import android.annotation.XmlRes; import android.app.Activity; +import android.app.AssistStructure; import android.content.ClipData; import android.content.ClipboardManager; import android.content.Context; @@ -8015,8 +8016,6 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener * through a thunk. */ void sendAfterTextChanged(Editable text) { - sLastCutCopyOrTextChangedTime = 0; - if (mListeners != null) { final ArrayList<TextWatcher> list = mListeners; final int count = list.size(); @@ -8049,6 +8048,8 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener * through a thunk. */ void handleTextChanged(CharSequence buffer, int start, int before, int after) { + sLastCutCopyOrTextChangedTime = 0; + final Editor.InputMethodState ims = mEditor == null ? null : mEditor.mInputMethodState; if (ims == null || ims.mBatchEditNesting == 0) { updateAfterEdit(); @@ -8785,7 +8786,33 @@ public class TextView extends View implements ViewTreeObserver.OnPreDrawListener final boolean isPassword = hasPasswordTransformationMethod(); if (!isPassword) { structure.setText(getText(), getSelectionStart(), getSelectionEnd()); - structure.setTextPaint(mTextPaint); + + // Extract style information that applies to the TextView as a whole. + int style = 0; + int typefaceStyle = getTypefaceStyle(); + if ((typefaceStyle & Typeface.BOLD) != 0) { + style |= AssistStructure.ViewNode.TEXT_STYLE_BOLD; + } + if ((typefaceStyle & Typeface.ITALIC) != 0) { + style |= AssistStructure.ViewNode.TEXT_STYLE_ITALIC; + } + + // Global styles can also be set via TextView.setPaintFlags(). + int paintFlags = mTextPaint.getFlags(); + if ((paintFlags & Paint.FAKE_BOLD_TEXT_FLAG) != 0) { + style |= AssistStructure.ViewNode.TEXT_STYLE_BOLD; + } + if ((paintFlags & Paint.UNDERLINE_TEXT_FLAG) != 0) { + style |= AssistStructure.ViewNode.TEXT_STYLE_UNDERLINE; + } + if ((paintFlags & Paint.STRIKE_THRU_TEXT_FLAG) != 0) { + style |= AssistStructure.ViewNode.TEXT_STYLE_STRIKE_THRU; + } + + // TextView does not have its own text background color. A background is either part + // of the View (and can be any drawable) or a BackgroundColorSpan inside the text. + structure.setTextStyle(getTextSize(), getCurrentTextColor(), + AssistStructure.ViewNode.TEXT_COLOR_UNDEFINED /* bgColor */, style); } structure.setHint(getHint()); } diff --git a/core/java/com/android/internal/os/SomeArgs.java b/core/java/com/android/internal/os/SomeArgs.java index c977997..b0d24fd 100644 --- a/core/java/com/android/internal/os/SomeArgs.java +++ b/core/java/com/android/internal/os/SomeArgs.java @@ -46,6 +46,7 @@ public final class SomeArgs { public Object arg4; public Object arg5; public Object arg6; + public Object arg7; public int argi1; public int argi2; public int argi3; @@ -97,6 +98,7 @@ public final class SomeArgs { arg4 = null; arg5 = null; arg6 = null; + arg7 = null; argi1 = 0; argi2 = 0; argi3 = 0; diff --git a/core/java/com/android/internal/policy/IKeyguardService.aidl b/core/java/com/android/internal/policy/IKeyguardService.aidl index f93b1a1..7ab4651 100644 --- a/core/java/com/android/internal/policy/IKeyguardService.aidl +++ b/core/java/com/android/internal/policy/IKeyguardService.aidl @@ -22,6 +22,7 @@ import com.android.internal.policy.IKeyguardExitCallback; import android.os.Bundle; oneway interface IKeyguardService { + /** * Sets the Keyguard as occluded when a window dismisses the Keyguard with flag * FLAG_SHOW_ON_LOCK_SCREEN. @@ -36,8 +37,27 @@ oneway interface IKeyguardService { void dismiss(); void onDreamingStarted(); void onDreamingStopped(); - void onScreenTurnedOff(int reason); - void onScreenTurnedOn(IKeyguardShowCallback callback); + + /** + * Called when the device has started going to sleep. + * + * @param why {@link #OFF_BECAUSE_OF_USER}, {@link #OFF_BECAUSE_OF_ADMIN}, + * or {@link #OFF_BECAUSE_OF_TIMEOUT}. + */ + void onStartedGoingToSleep(int reason); + + /** + * Called when the device has finished going to sleep. + * + * @param why {@link #OFF_BECAUSE_OF_USER}, {@link #OFF_BECAUSE_OF_ADMIN}, + * or {@link #OFF_BECAUSE_OF_TIMEOUT}. + */ + void onFinishedGoingToSleep(int reason); + + /** + * Called when the device has started waking up. + */ + void onStartedWakingUp(IKeyguardShowCallback callback); void setKeyguardEnabled(boolean enabled); void onSystemReady(); void doKeyguardTimeout(in Bundle options); diff --git a/core/java/com/android/internal/policy/PhoneWindow.java b/core/java/com/android/internal/policy/PhoneWindow.java index bc64373..a04218a 100644 --- a/core/java/com/android/internal/policy/PhoneWindow.java +++ b/core/java/com/android/internal/policy/PhoneWindow.java @@ -56,7 +56,6 @@ import android.view.Window; import android.view.WindowInsets; import android.view.WindowManager; import com.android.internal.R; -import com.android.internal.util.ScreenShapeHelper; import com.android.internal.view.FloatingActionMode; import com.android.internal.view.RootViewSurfaceTaker; import com.android.internal.view.StandaloneActionMode; @@ -156,7 +155,6 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback { TypedValue mFixedWidthMinor; TypedValue mFixedHeightMajor; TypedValue mFixedHeightMinor; - int mOutsetBottomPx; // This is the top-level view of the window, containing the window decor. private DecorView mDecor; @@ -289,6 +287,7 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback { private Boolean mSharedElementsUseOverlay; private Rect mTempRect; + private Rect mOutsets = new Rect(); static class WindowManagerHolder { static final IWindowManager sWindowManager = IWindowManager.Stub.asInterface( @@ -2401,19 +2400,6 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback { } @Override - public WindowInsets dispatchApplyWindowInsets(WindowInsets insets) { - if (mOutsetBottomPx != 0) { - WindowInsets newInsets = insets.replaceSystemWindowInsets( - insets.getSystemWindowInsetLeft(), insets.getSystemWindowInsetTop(), - insets.getSystemWindowInsetRight(), mOutsetBottomPx); - return super.dispatchApplyWindowInsets(newInsets); - } else { - return super.dispatchApplyWindowInsets(insets); - } - } - - - @Override public boolean onTouchEvent(MotionEvent event) { return onInterceptTouchEvent(event); } @@ -2624,11 +2610,21 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback { } } - if (mOutsetBottomPx != 0) { + getOutsets(mOutsets); + if (mOutsets.top > 0 || mOutsets.bottom > 0) { int mode = MeasureSpec.getMode(heightMeasureSpec); if (mode != MeasureSpec.UNSPECIFIED) { int height = MeasureSpec.getSize(heightMeasureSpec); - heightMeasureSpec = MeasureSpec.makeMeasureSpec(height + mOutsetBottomPx, mode); + heightMeasureSpec = MeasureSpec.makeMeasureSpec( + height + mOutsets.top + mOutsets.bottom, mode); + } + } + if (mOutsets.left > 0 || mOutsets.right > 0) { + int mode = MeasureSpec.getMode(widthMeasureSpec); + if (mode != MeasureSpec.UNSPECIFIED) { + int width = MeasureSpec.getSize(widthMeasureSpec); + widthMeasureSpec = MeasureSpec.makeMeasureSpec( + width + mOutsets.left + mOutsets.right, mode); } } @@ -2666,6 +2662,18 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback { } @Override + protected void onLayout(boolean changed, int left, int top, int right, int bottom) { + super.onLayout(changed, left, top, right, bottom); + getOutsets(mOutsets); + if (mOutsets.left > 0) { + offsetLeftAndRight(-mOutsets.left); + } + if (mOutsets.top > 0) { + offsetTopAndBottom(-mOutsets.top); + } + } + + @Override public void draw(Canvas canvas) { super.draw(canvas); @@ -2674,7 +2682,6 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback { } } - @Override public boolean showContextMenuForChild(View originalView) { // Reuse the context menu builder @@ -3583,19 +3590,6 @@ public class PhoneWindow extends Window implements MenuBuilder.Callback { requestFeature(FEATURE_ACTIVITY_TRANSITIONS); } - final WindowManager windowService = (WindowManager) getContext().getSystemService( - Context.WINDOW_SERVICE); - if (windowService != null) { - final Display display = windowService.getDefaultDisplay(); - final boolean shouldUseBottomOutset = - display.getDisplayId() == Display.DEFAULT_DISPLAY - || (getForcedWindowFlags() & FLAG_FULLSCREEN) != 0; - if (shouldUseBottomOutset) { - mOutsetBottomPx = ScreenShapeHelper.getWindowOutsetBottomPx( - getContext().getResources().getDisplayMetrics(), a); - } - } - final Context context = getContext(); final int targetSdk = context.getApplicationInfo().targetSdkVersion; final boolean targetPreHoneycomb = targetSdk < android.os.Build.VERSION_CODES.HONEYCOMB; diff --git a/core/java/com/android/internal/util/ScreenShapeHelper.java b/core/java/com/android/internal/util/ScreenShapeHelper.java index 58ae853..4a196f8 100644 --- a/core/java/com/android/internal/util/ScreenShapeHelper.java +++ b/core/java/com/android/internal/util/ScreenShapeHelper.java @@ -18,19 +18,13 @@ public class ScreenShapeHelper { /** * Return the bottom pixel window outset of a window given its style attributes. - * @param displayMetrics Display metrics of the current device - * @param windowStyle Window style attributes for the window. * @return An outset dimension in pixels or 0 if no outset should be applied. */ - public static int getWindowOutsetBottomPx(DisplayMetrics displayMetrics, - TypedArray windowStyle) { + public static int getWindowOutsetBottomPx(Resources resources) { if (IS_EMULATOR) { return SystemProperties.getInt(ViewRootImpl.PROPERTY_EMULATOR_WIN_OUTSET_BOTTOM_PX, 0); - } else if (windowStyle.hasValue(R.styleable.Window_windowOutsetBottom)) { - TypedValue outsetBottom = new TypedValue(); - windowStyle.getValue(R.styleable.Window_windowOutsetBottom, outsetBottom); - return (int) outsetBottom.getDimension(displayMetrics); + } else { + return resources.getInteger(com.android.internal.R.integer.config_windowOutsetBottom); } - return 0; } } diff --git a/core/java/com/android/internal/view/BaseIWindow.java b/core/java/com/android/internal/view/BaseIWindow.java index e27ba13..3eeabcd 100644 --- a/core/java/com/android/internal/view/BaseIWindow.java +++ b/core/java/com/android/internal/view/BaseIWindow.java @@ -34,8 +34,8 @@ public class BaseIWindow extends IWindow.Stub { } @Override - public void resized(Rect frame, Rect overscanInsets, Rect contentInsets, - Rect visibleInsets, Rect stableInsets, boolean reportDraw, Configuration newConfig) { + public void resized(Rect frame, Rect overscanInsets, Rect contentInsets, Rect visibleInsets, + Rect stableInsets, Rect outsets, boolean reportDraw, Configuration newConfig) { if (reportDraw) { try { mSession.finishDrawing(this); diff --git a/core/java/com/android/internal/widget/FloatingToolbar.java b/core/java/com/android/internal/widget/FloatingToolbar.java index 3cff59a..1fc0ac3 100644 --- a/core/java/com/android/internal/widget/FloatingToolbar.java +++ b/core/java/com/android/internal/widget/FloatingToolbar.java @@ -353,10 +353,14 @@ public final class FloatingToolbar { * from. */ public FloatingToolbarPopup(View parent) { + mMarginHorizontal = parent.getResources() + .getDimensionPixelSize(R.dimen.floating_toolbar_horizontal_margin); + mMarginVertical = parent.getResources() + .getDimensionPixelSize(R.dimen.floating_toolbar_vertical_margin); mParent = Preconditions.checkNotNull(parent); mContentContainer = createContentContainer(parent.getContext()); mPopupWindow = createPopupWindow(mContentContainer); - mShowAnimation = createGrowFadeInFromBottom(mContentContainer); + mShowAnimation = createGrowFadeInFromBottom(mContentContainer, mMarginHorizontal); mDismissAnimation = createShrinkFadeOutFromBottomAnimation( mContentContainer, 150, // startDelay @@ -376,17 +380,15 @@ public final class FloatingToolbar { mPopupWindow.dismiss(); } }); - mMarginHorizontal = parent.getResources() - .getDimensionPixelSize(R.dimen.floating_toolbar_horizontal_margin); - mMarginVertical = parent.getResources() - .getDimensionPixelSize(R.dimen.floating_toolbar_vertical_margin); } /** * Lays out buttons for the specified menu items. */ - public void layoutMenuItems(List<MenuItem> menuItems, - MenuItem.OnMenuItemClickListener menuItemClickListener, int suggestedWidth) { + public void layoutMenuItems( + List<MenuItem> menuItems, + MenuItem.OnMenuItemClickListener menuItemClickListener, + int suggestedWidth) { Preconditions.checkNotNull(menuItems); mContentContainer.removeAllViews(); @@ -593,7 +595,9 @@ public final class FloatingToolbar { final int startWidth = mContentContainer.getWidth(); final int startHeight = mContentContainer.getHeight(); final float startY = mContentContainer.getY(); - final float right = mContentContainer.getX() + mContentContainer.getWidth(); + final float left = mContentContainer.getX(); + final float right = left + mContentContainer.getWidth(); + final boolean rtl = mContentContainer.getLayoutDirection() == View.LAYOUT_DIRECTION_RTL; Animation widthAnimation = new Animation() { @Override protected void applyTransformation(float interpolatedTime, Transformation t) { @@ -601,7 +605,11 @@ public final class FloatingToolbar { int deltaWidth = (int) (interpolatedTime * (targetWidth - startWidth)); params.width = startWidth + deltaWidth; mContentContainer.setLayoutParams(params); - mContentContainer.setX(right - mContentContainer.getWidth()); + if (rtl) { + mContentContainer.setX(left); + } else { + mContentContainer.setX(right - mContentContainer.getWidth()); + } } }; Animation heightAnimation = new Animation() { @@ -644,9 +652,11 @@ public final class FloatingToolbar { final int targetHeight = mainPanelSize.getHeight(); final int startWidth = mContentContainer.getWidth(); final int startHeight = mContentContainer.getHeight(); - final float right = mContentContainer.getX() + mContentContainer.getWidth(); final float bottom = mContentContainer.getY() + mContentContainer.getHeight(); final boolean morphedUpwards = (mOverflowDirection == OVERFLOW_DIRECTION_UP); + final float left = mContentContainer.getX(); + final float right = left + mContentContainer.getWidth(); + final boolean rtl = mContentContainer.getLayoutDirection() == View.LAYOUT_DIRECTION_RTL; Animation widthAnimation = new Animation() { @Override protected void applyTransformation(float interpolatedTime, Transformation t) { @@ -654,7 +664,11 @@ public final class FloatingToolbar { int deltaWidth = (int) (interpolatedTime * (targetWidth - startWidth)); params.width = startWidth + deltaWidth; mContentContainer.setLayoutParams(params); - mContentContainer.setX(right - mContentContainer.getWidth()); + if (rtl) { + mContentContainer.setX(left); + } else { + mContentContainer.setX(right - mContentContainer.getWidth()); + } } }; Animation heightAnimation = new Animation() { @@ -747,9 +761,7 @@ public final class FloatingToolbar { */ private void positionMainPanel() { Preconditions.checkNotNull(mMainPanel); - float x = mPopupWindow.getWidth() - - (mMainPanel.getView().getMeasuredWidth() + mMarginHorizontal); - mContentContainer.setX(x); + mContentContainer.setX(mMarginHorizontal); float y = mMarginVertical; if (mOverflowDirection == OVERFLOW_DIRECTION_UP) { @@ -1320,12 +1332,14 @@ public final class FloatingToolbar { * * @param view The view to animate */ - private static AnimatorSet createGrowFadeInFromBottom(View view) { + private static AnimatorSet createGrowFadeInFromBottom(View view, int x) { AnimatorSet growFadeInFromBottomAnimation = new AnimatorSet(); growFadeInFromBottomAnimation.playTogether( ObjectAnimator.ofFloat(view, View.SCALE_X, 0.5f, 1).setDuration(125), ObjectAnimator.ofFloat(view, View.SCALE_Y, 0.5f, 1).setDuration(125), - ObjectAnimator.ofFloat(view, View.ALPHA, 0, 1).setDuration(75)); + ObjectAnimator.ofFloat(view, View.ALPHA, 0, 1).setDuration(75), + // Make sure that view.x is always fixed throughout the duration of this animation. + ObjectAnimator.ofFloat(view, View.X, x, x)); growFadeInFromBottomAnimation.setStartDelay(50); return growFadeInFromBottomAnimation; } diff --git a/core/java/com/android/internal/widget/SwipeDismissLayout.java b/core/java/com/android/internal/widget/SwipeDismissLayout.java index 6d4e058..35ed63b 100644 --- a/core/java/com/android/internal/widget/SwipeDismissLayout.java +++ b/core/java/com/android/internal/widget/SwipeDismissLayout.java @@ -16,9 +16,11 @@ package com.android.internal.widget; -import android.animation.TimeInterpolator; import android.app.Activity; +import android.content.BroadcastReceiver; import android.content.Context; +import android.content.Intent; +import android.content.IntentFilter; import android.content.res.TypedArray; import android.util.AttributeSet; import android.util.Log; @@ -28,8 +30,6 @@ import android.view.View; import android.view.ViewConfiguration; import android.view.ViewGroup; import android.view.ViewTreeObserver; -import android.view.animation.AccelerateInterpolator; -import android.view.animation.DecelerateInterpolator; import android.widget.FrameLayout; /** @@ -62,10 +62,6 @@ public class SwipeDismissLayout extends FrameLayout { // Cached ViewConfiguration and system-wide constant values private int mSlop; private int mMinFlingVelocity; - private int mMaxFlingVelocity; - private long mAnimationTime; - private TimeInterpolator mCancelInterpolator; - private TimeInterpolator mDismissInterpolator; // Transient properties private int mActiveTouchId; @@ -92,6 +88,18 @@ public class SwipeDismissLayout extends FrameLayout { } } }; + private BroadcastReceiver mScreenOffReceiver = new BroadcastReceiver() { + @Override + public void onReceive(Context context, Intent intent) { + if (mDismissed) { + dismiss(); + } else { + cancel(); + } + resetMembers(); + } + }; + private IntentFilter mScreenOffFilter = new IntentFilter(Intent.ACTION_SCREEN_OFF); private float mLastX; @@ -114,11 +122,6 @@ public class SwipeDismissLayout extends FrameLayout { ViewConfiguration vc = ViewConfiguration.get(context); mSlop = vc.getScaledTouchSlop(); mMinFlingVelocity = vc.getScaledMinimumFlingVelocity(); - mMaxFlingVelocity = vc.getScaledMaximumFlingVelocity(); - mAnimationTime = getContext().getResources().getInteger( - android.R.integer.config_shortAnimTime); - mCancelInterpolator = new DecelerateInterpolator(1.5f); - mDismissInterpolator = new AccelerateInterpolator(1.5f); TypedArray a = context.getTheme().obtainStyledAttributes( com.android.internal.R.styleable.Theme); mUseDynamicTranslucency = !a.hasValue( @@ -141,15 +144,17 @@ public class SwipeDismissLayout extends FrameLayout { getViewTreeObserver().addOnEnterAnimationCompleteListener( mOnEnterAnimationCompleteListener); } + getContext().registerReceiver(mScreenOffReceiver, mScreenOffFilter); } @Override protected void onDetachedFromWindow() { - super.onDetachedFromWindow(); + getContext().unregisterReceiver(mScreenOffReceiver); if (getContext() instanceof Activity) { getViewTreeObserver().removeOnEnterAnimationCompleteListener( mOnEnterAnimationCompleteListener); } + super.onDetachedFromWindow(); } @Override diff --git a/core/jni/Android.mk b/core/jni/Android.mk index 5448214..40fee2c 100644 --- a/core/jni/Android.mk +++ b/core/jni/Android.mk @@ -257,7 +257,8 @@ LOCAL_MODULE:= libandroid_runtime # -Wno-unknown-pragmas: necessary for Clang as the GL bindings need to turn # off a GCC warning that Clang doesn't know. -LOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code -Wno-unknown-pragmas +LOCAL_CFLAGS += -Wall -Werror -Wno-error=deprecated-declarations -Wunused -Wunreachable-code \ + -Wno-unknown-pragmas # -Wno-c++11-extensions: Clang warns about Skia using the C++11 override keyword, but this project # is not being compiled with that level. Remove once this has changed. diff --git a/core/jni/android/graphics/Bitmap.cpp b/core/jni/android/graphics/Bitmap.cpp index 04b9a95..832f92f 100755 --- a/core/jni/android/graphics/Bitmap.cpp +++ b/core/jni/android/graphics/Bitmap.cpp @@ -46,8 +46,8 @@ public: SkSafeUnref(mColorTable); } - void reconfigure(const SkImageInfo& info, size_t rowBytes, SkColorTable* ctable) { - if (kIndex_8_SkColorType != info.colorType()) { + void reconfigure(const SkImageInfo& newInfo, size_t rowBytes, SkColorTable* ctable) { + if (kIndex_8_SkColorType != newInfo.colorType()) { ctable = nullptr; } mRowBytes = rowBytes; @@ -56,13 +56,22 @@ public: mColorTable = ctable; SkSafeRef(mColorTable); } + + // Need to validate the alpha type to filter against the color type + // to prevent things like a non-opaque RGB565 bitmap + SkAlphaType alphaType; + LOG_ALWAYS_FATAL_IF(!SkColorTypeValidateAlphaType( + newInfo.colorType(), newInfo.alphaType(), &alphaType), + "Failed to validate alpha type!"); + // Dirty hack is dirty // TODO: Figure something out here, Skia's current design makes this // really hard to work with. Skia really, really wants immutable objects, // but with the nested-ref-count hackery going on that's just not // feasible without going insane trying to figure it out SkImageInfo* myInfo = const_cast<SkImageInfo*>(&this->info()); - *myInfo = info; + *myInfo = newInfo; + changeAlphaType(alphaType); // Docs say to only call this in the ctor, but we're going to call // it anyway even if this isn't always the ctor. @@ -254,6 +263,14 @@ void Bitmap::reconfigure(const SkImageInfo& info) { reconfigure(info, info.minRowBytes(), nullptr); } +void Bitmap::setAlphaType(SkAlphaType alphaType) { + if (!SkColorTypeValidateAlphaType(info().colorType(), alphaType, &alphaType)) { + return; + } + + mPixelRef->changeAlphaType(alphaType); +} + void Bitmap::detachFromJava() { bool disposeSelf; { @@ -861,10 +878,10 @@ static void Bitmap_setHasAlpha(JNIEnv* env, jobject, jlong bitmapHandle, jboolean hasAlpha, jboolean requestPremul) { LocalScopedBitmap bitmap(bitmapHandle); if (hasAlpha) { - bitmap->peekAtPixelRef()->changeAlphaType( + bitmap->setAlphaType( requestPremul ? kPremul_SkAlphaType : kUnpremul_SkAlphaType); } else { - bitmap->peekAtPixelRef()->changeAlphaType(kOpaque_SkAlphaType); + bitmap->setAlphaType(kOpaque_SkAlphaType); } } @@ -873,9 +890,9 @@ static void Bitmap_setPremultiplied(JNIEnv* env, jobject, jlong bitmapHandle, LocalScopedBitmap bitmap(bitmapHandle); if (!bitmap->info().isOpaque()) { if (isPremul) { - bitmap->peekAtPixelRef()->changeAlphaType(kPremul_SkAlphaType); + bitmap->setAlphaType(kPremul_SkAlphaType); } else { - bitmap->peekAtPixelRef()->changeAlphaType(kUnpremul_SkAlphaType); + bitmap->setAlphaType(kUnpremul_SkAlphaType); } } } diff --git a/core/jni/android/graphics/Bitmap.h b/core/jni/android/graphics/Bitmap.h index 95b5fae..eadba5c 100644 --- a/core/jni/android/graphics/Bitmap.h +++ b/core/jni/android/graphics/Bitmap.h @@ -71,6 +71,7 @@ public: void reconfigure(const SkImageInfo& info, size_t rowBytes, SkColorTable* ctable); void reconfigure(const SkImageInfo& info); + void setAlphaType(SkAlphaType alphaType); void getSkBitmap(SkBitmap* outBitmap); void detachFromJava(); diff --git a/core/jni/android_media_AudioRecord.cpp b/core/jni/android_media_AudioRecord.cpp index 5928c69..6c2bbd4 100644 --- a/core/jni/android_media_AudioRecord.cpp +++ b/core/jni/android_media_AudioRecord.cpp @@ -321,6 +321,7 @@ native_init_failure: delete lpCallbackData; env->SetLongField(thiz, javaAudioRecordFields.nativeCallbackCookie, 0); + // lpRecorder goes out of scope, so reference count drops to zero return (jint) AUDIORECORD_ERROR_SETUP_NATIVEINITFAILED; } diff --git a/core/jni/android_media_AudioTrack.cpp b/core/jni/android_media_AudioTrack.cpp index 5b52a49..5faa150 100644 --- a/core/jni/android_media_AudioTrack.cpp +++ b/core/jni/android_media_AudioTrack.cpp @@ -405,6 +405,7 @@ native_init_failure: delete lpJniStorage; env->SetLongField(thiz, javaAudioTrackFields.jniData, 0); + // lpTrack goes out of scope, so reference count drops to zero return (jint) AUDIOTRACK_ERROR_SETUP_NATIVEINITFAILED; } diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml index 57a2ede..1b77bfb 100644 --- a/core/res/AndroidManifest.xml +++ b/core/res/AndroidManifest.xml @@ -349,14 +349,14 @@ android:description="@string/permdesc_writeContacts" android:protectionLevel="dangerous" /> - <!-- Allows an application to read the user's personal profile data. --> + <!-- @deprecated No longer enforced. This was last enforced in API version 22. --> <permission android:name="android.permission.READ_PROFILE" android:permissionGroup="android.permission-group.CONTACTS" android:label="@string/permlab_readProfile" android:description="@string/permdesc_readProfile" android:protectionLevel="dangerous" /> - <!-- Allows an application to write the user's personal profile data. --> + <!-- @deprecated No longer enforced. This was last enforced in API version 22. --> <permission android:name="android.permission.WRITE_PROFILE" android:permissionGroup="android.permission-group.CONTACTS" android:label="@string/permlab_writeProfile" @@ -1475,7 +1475,6 @@ android:label="@string/permlab_readSyncStats" android:protectionLevel="normal" /> - <!-- ============================================ --> <!-- Permissions for low-level system interaction --> <!-- ============================================ --> @@ -1933,6 +1932,14 @@ <permission android:name="android.permission.SET_KEYBOARD_LAYOUT" android:protectionLevel="signature" /> + <!-- Allows an application to request installing packages. Apps + targeting APIs greater than 22 must hold this permission in + order to use {@link android.content.Intent#ACTION_INSTALL_PACKAGE}.--> + <permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" + android:label="@string/permlab_requestInstallPackages" + android:description="@string/permdesc_requestInstallPackages" + android:protectionLevel="normal" /> + <!-- @SystemApi Allows an application to install packages. <p>Not for use by third-party applications. --> <permission android:name="android.permission.INSTALL_PACKAGES" diff --git a/core/res/res/anim/seekbar_thumb_pressed_to_unpressed_thumb_animation.xml b/core/res/res/anim/seekbar_thumb_pressed_to_unpressed_thumb_animation.xml new file mode 100644 index 0000000..081b552 --- /dev/null +++ b/core/res/res/anim/seekbar_thumb_pressed_to_unpressed_thumb_animation.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<set + xmlns:android="http://schemas.android.com/apk/res/android" > + <objectAnimator + android:duration="133" + android:propertyName="scaleX" + android:valueFrom="1.5" + android:valueTo="1.0" + android:valueType="floatType" + android:interpolator="@android:interpolator/fast_out_slow_in" /> + <objectAnimator + android:duration="133" + android:propertyName="scaleY" + android:valueFrom="1.5" + android:valueTo="1.0" + android:valueType="floatType" + android:interpolator="@android:interpolator/fast_out_slow_in" /> +</set> diff --git a/core/res/res/anim/seekbar_thumb_unpressed_to_pressed_thumb_0_animation.xml b/core/res/res/anim/seekbar_thumb_unpressed_to_pressed_thumb_0_animation.xml new file mode 100644 index 0000000..41e5a44 --- /dev/null +++ b/core/res/res/anim/seekbar_thumb_unpressed_to_pressed_thumb_0_animation.xml @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<set + xmlns:android="http://schemas.android.com/apk/res/android" > + <objectAnimator + android:duration="533" + android:propertyName="scaleX" + android:valueFrom="1.0" + android:valueTo="1.5" + android:valueType="floatType" + android:interpolator="@android:interpolator/fast_out_slow_in" /> + <objectAnimator + android:duration="533" + android:propertyName="scaleY" + android:valueFrom="1.0" + android:valueTo="1.5" + android:valueType="floatType" + android:interpolator="@android:interpolator/fast_out_slow_in" /> +</set> diff --git a/core/res/res/drawable-hdpi/scrubber_control_from_pressed_mtrl_000.png b/core/res/res/drawable-hdpi/scrubber_control_from_pressed_mtrl_000.png Binary files differdeleted file mode 100644 index 281923e..0000000 --- a/core/res/res/drawable-hdpi/scrubber_control_from_pressed_mtrl_000.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/scrubber_control_from_pressed_mtrl_001.png b/core/res/res/drawable-hdpi/scrubber_control_from_pressed_mtrl_001.png Binary files differdeleted file mode 100644 index e91d4fb..0000000 --- a/core/res/res/drawable-hdpi/scrubber_control_from_pressed_mtrl_001.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/scrubber_control_from_pressed_mtrl_002.png b/core/res/res/drawable-hdpi/scrubber_control_from_pressed_mtrl_002.png Binary files differdeleted file mode 100644 index 15baded..0000000 --- a/core/res/res/drawable-hdpi/scrubber_control_from_pressed_mtrl_002.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/scrubber_control_from_pressed_mtrl_003.png b/core/res/res/drawable-hdpi/scrubber_control_from_pressed_mtrl_003.png Binary files differdeleted file mode 100644 index 3d5899f..0000000 --- a/core/res/res/drawable-hdpi/scrubber_control_from_pressed_mtrl_003.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/scrubber_control_from_pressed_mtrl_004.png b/core/res/res/drawable-hdpi/scrubber_control_from_pressed_mtrl_004.png Binary files differdeleted file mode 100644 index e2277bd..0000000 --- a/core/res/res/drawable-hdpi/scrubber_control_from_pressed_mtrl_004.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/scrubber_control_from_pressed_mtrl_005.png b/core/res/res/drawable-hdpi/scrubber_control_from_pressed_mtrl_005.png Binary files differdeleted file mode 100644 index b502e22..0000000 --- a/core/res/res/drawable-hdpi/scrubber_control_from_pressed_mtrl_005.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/scrubber_control_off_mtrl_alpha.png b/core/res/res/drawable-hdpi/scrubber_control_off_mtrl_alpha.png Binary files differdeleted file mode 100644 index 5a99528..0000000 --- a/core/res/res/drawable-hdpi/scrubber_control_off_mtrl_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/scrubber_control_off_pressed_mtrl_alpha.png b/core/res/res/drawable-hdpi/scrubber_control_off_pressed_mtrl_alpha.png Binary files differdeleted file mode 100644 index 10ce2bc..0000000 --- a/core/res/res/drawable-hdpi/scrubber_control_off_pressed_mtrl_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/scrubber_control_to_pressed_mtrl_000.png b/core/res/res/drawable-hdpi/scrubber_control_to_pressed_mtrl_000.png Binary files differdeleted file mode 100644 index a70be2c..0000000 --- a/core/res/res/drawable-hdpi/scrubber_control_to_pressed_mtrl_000.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/scrubber_control_to_pressed_mtrl_001.png b/core/res/res/drawable-hdpi/scrubber_control_to_pressed_mtrl_001.png Binary files differdeleted file mode 100644 index 9442316..0000000 --- a/core/res/res/drawable-hdpi/scrubber_control_to_pressed_mtrl_001.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/scrubber_control_to_pressed_mtrl_002.png b/core/res/res/drawable-hdpi/scrubber_control_to_pressed_mtrl_002.png Binary files differdeleted file mode 100644 index 33db4a88..0000000 --- a/core/res/res/drawable-hdpi/scrubber_control_to_pressed_mtrl_002.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/scrubber_control_to_pressed_mtrl_003.png b/core/res/res/drawable-hdpi/scrubber_control_to_pressed_mtrl_003.png Binary files differdeleted file mode 100644 index 4e1cd16..0000000 --- a/core/res/res/drawable-hdpi/scrubber_control_to_pressed_mtrl_003.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/scrubber_control_to_pressed_mtrl_004.png b/core/res/res/drawable-hdpi/scrubber_control_to_pressed_mtrl_004.png Binary files differdeleted file mode 100644 index d5254f4..0000000 --- a/core/res/res/drawable-hdpi/scrubber_control_to_pressed_mtrl_004.png +++ /dev/null diff --git a/core/res/res/drawable-hdpi/scrubber_control_to_pressed_mtrl_005.png b/core/res/res/drawable-hdpi/scrubber_control_to_pressed_mtrl_005.png Binary files differdeleted file mode 100644 index 7aa0a3e..0000000 --- a/core/res/res/drawable-hdpi/scrubber_control_to_pressed_mtrl_005.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/scrubber_control_from_pressed_mtrl_000.png b/core/res/res/drawable-mdpi/scrubber_control_from_pressed_mtrl_000.png Binary files differdeleted file mode 100644 index 377a6b4..0000000 --- a/core/res/res/drawable-mdpi/scrubber_control_from_pressed_mtrl_000.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/scrubber_control_from_pressed_mtrl_001.png b/core/res/res/drawable-mdpi/scrubber_control_from_pressed_mtrl_001.png Binary files differdeleted file mode 100644 index 0859f62..0000000 --- a/core/res/res/drawable-mdpi/scrubber_control_from_pressed_mtrl_001.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/scrubber_control_from_pressed_mtrl_002.png b/core/res/res/drawable-mdpi/scrubber_control_from_pressed_mtrl_002.png Binary files differdeleted file mode 100644 index bf5cdcd..0000000 --- a/core/res/res/drawable-mdpi/scrubber_control_from_pressed_mtrl_002.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/scrubber_control_from_pressed_mtrl_003.png b/core/res/res/drawable-mdpi/scrubber_control_from_pressed_mtrl_003.png Binary files differdeleted file mode 100644 index 4cd177d..0000000 --- a/core/res/res/drawable-mdpi/scrubber_control_from_pressed_mtrl_003.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/scrubber_control_from_pressed_mtrl_004.png b/core/res/res/drawable-mdpi/scrubber_control_from_pressed_mtrl_004.png Binary files differdeleted file mode 100644 index dfe39ca..0000000 --- a/core/res/res/drawable-mdpi/scrubber_control_from_pressed_mtrl_004.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/scrubber_control_from_pressed_mtrl_005.png b/core/res/res/drawable-mdpi/scrubber_control_from_pressed_mtrl_005.png Binary files differdeleted file mode 100644 index 5d3ab99..0000000 --- a/core/res/res/drawable-mdpi/scrubber_control_from_pressed_mtrl_005.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/scrubber_control_off_mtrl_alpha.png b/core/res/res/drawable-mdpi/scrubber_control_off_mtrl_alpha.png Binary files differdeleted file mode 100644 index e40cba8..0000000 --- a/core/res/res/drawable-mdpi/scrubber_control_off_mtrl_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/scrubber_control_off_pressed_mtrl_alpha.png b/core/res/res/drawable-mdpi/scrubber_control_off_pressed_mtrl_alpha.png Binary files differdeleted file mode 100644 index 1f4b46a..0000000 --- a/core/res/res/drawable-mdpi/scrubber_control_off_pressed_mtrl_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/scrubber_control_to_pressed_mtrl_000.png b/core/res/res/drawable-mdpi/scrubber_control_to_pressed_mtrl_000.png Binary files differdeleted file mode 100644 index 80922eb..0000000 --- a/core/res/res/drawable-mdpi/scrubber_control_to_pressed_mtrl_000.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/scrubber_control_to_pressed_mtrl_001.png b/core/res/res/drawable-mdpi/scrubber_control_to_pressed_mtrl_001.png Binary files differdeleted file mode 100644 index aa77044..0000000 --- a/core/res/res/drawable-mdpi/scrubber_control_to_pressed_mtrl_001.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/scrubber_control_to_pressed_mtrl_002.png b/core/res/res/drawable-mdpi/scrubber_control_to_pressed_mtrl_002.png Binary files differdeleted file mode 100644 index 7b099db..0000000 --- a/core/res/res/drawable-mdpi/scrubber_control_to_pressed_mtrl_002.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/scrubber_control_to_pressed_mtrl_003.png b/core/res/res/drawable-mdpi/scrubber_control_to_pressed_mtrl_003.png Binary files differdeleted file mode 100644 index 088c86a..0000000 --- a/core/res/res/drawable-mdpi/scrubber_control_to_pressed_mtrl_003.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/scrubber_control_to_pressed_mtrl_004.png b/core/res/res/drawable-mdpi/scrubber_control_to_pressed_mtrl_004.png Binary files differdeleted file mode 100644 index 3c6b9bc..0000000 --- a/core/res/res/drawable-mdpi/scrubber_control_to_pressed_mtrl_004.png +++ /dev/null diff --git a/core/res/res/drawable-mdpi/scrubber_control_to_pressed_mtrl_005.png b/core/res/res/drawable-mdpi/scrubber_control_to_pressed_mtrl_005.png Binary files differdeleted file mode 100644 index adf5100..0000000 --- a/core/res/res/drawable-mdpi/scrubber_control_to_pressed_mtrl_005.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/scrubber_control_from_pressed_mtrl_000.png b/core/res/res/drawable-xhdpi/scrubber_control_from_pressed_mtrl_000.png Binary files differdeleted file mode 100644 index ea09a31..0000000 --- a/core/res/res/drawable-xhdpi/scrubber_control_from_pressed_mtrl_000.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/scrubber_control_from_pressed_mtrl_001.png b/core/res/res/drawable-xhdpi/scrubber_control_from_pressed_mtrl_001.png Binary files differdeleted file mode 100644 index f9a4391..0000000 --- a/core/res/res/drawable-xhdpi/scrubber_control_from_pressed_mtrl_001.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/scrubber_control_from_pressed_mtrl_002.png b/core/res/res/drawable-xhdpi/scrubber_control_from_pressed_mtrl_002.png Binary files differdeleted file mode 100644 index d9606e1..0000000 --- a/core/res/res/drawable-xhdpi/scrubber_control_from_pressed_mtrl_002.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/scrubber_control_from_pressed_mtrl_003.png b/core/res/res/drawable-xhdpi/scrubber_control_from_pressed_mtrl_003.png Binary files differdeleted file mode 100644 index df2d9d0..0000000 --- a/core/res/res/drawable-xhdpi/scrubber_control_from_pressed_mtrl_003.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/scrubber_control_from_pressed_mtrl_004.png b/core/res/res/drawable-xhdpi/scrubber_control_from_pressed_mtrl_004.png Binary files differdeleted file mode 100644 index 625a322..0000000 --- a/core/res/res/drawable-xhdpi/scrubber_control_from_pressed_mtrl_004.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/scrubber_control_from_pressed_mtrl_005.png b/core/res/res/drawable-xhdpi/scrubber_control_from_pressed_mtrl_005.png Binary files differdeleted file mode 100644 index 79e8dde..0000000 --- a/core/res/res/drawable-xhdpi/scrubber_control_from_pressed_mtrl_005.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/scrubber_control_off_mtrl_alpha.png b/core/res/res/drawable-xhdpi/scrubber_control_off_mtrl_alpha.png Binary files differdeleted file mode 100644 index 729e0bf..0000000 --- a/core/res/res/drawable-xhdpi/scrubber_control_off_mtrl_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/scrubber_control_off_pressed_mtrl_alpha.png b/core/res/res/drawable-xhdpi/scrubber_control_off_pressed_mtrl_alpha.png Binary files differdeleted file mode 100644 index 754b321..0000000 --- a/core/res/res/drawable-xhdpi/scrubber_control_off_pressed_mtrl_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/scrubber_control_to_pressed_mtrl_000.png b/core/res/res/drawable-xhdpi/scrubber_control_to_pressed_mtrl_000.png Binary files differdeleted file mode 100644 index e99c266..0000000 --- a/core/res/res/drawable-xhdpi/scrubber_control_to_pressed_mtrl_000.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/scrubber_control_to_pressed_mtrl_001.png b/core/res/res/drawable-xhdpi/scrubber_control_to_pressed_mtrl_001.png Binary files differdeleted file mode 100644 index f0329a4..0000000 --- a/core/res/res/drawable-xhdpi/scrubber_control_to_pressed_mtrl_001.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/scrubber_control_to_pressed_mtrl_002.png b/core/res/res/drawable-xhdpi/scrubber_control_to_pressed_mtrl_002.png Binary files differdeleted file mode 100644 index 42c40b7..0000000 --- a/core/res/res/drawable-xhdpi/scrubber_control_to_pressed_mtrl_002.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/scrubber_control_to_pressed_mtrl_003.png b/core/res/res/drawable-xhdpi/scrubber_control_to_pressed_mtrl_003.png Binary files differdeleted file mode 100644 index 807491f..0000000 --- a/core/res/res/drawable-xhdpi/scrubber_control_to_pressed_mtrl_003.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/scrubber_control_to_pressed_mtrl_004.png b/core/res/res/drawable-xhdpi/scrubber_control_to_pressed_mtrl_004.png Binary files differdeleted file mode 100644 index dfec9cc..0000000 --- a/core/res/res/drawable-xhdpi/scrubber_control_to_pressed_mtrl_004.png +++ /dev/null diff --git a/core/res/res/drawable-xhdpi/scrubber_control_to_pressed_mtrl_005.png b/core/res/res/drawable-xhdpi/scrubber_control_to_pressed_mtrl_005.png Binary files differdeleted file mode 100644 index 0ed59ea..0000000 --- a/core/res/res/drawable-xhdpi/scrubber_control_to_pressed_mtrl_005.png +++ /dev/null diff --git a/core/res/res/drawable-xxhdpi/scrubber_control_from_pressed_mtrl_000.png b/core/res/res/drawable-xxhdpi/scrubber_control_from_pressed_mtrl_000.png Binary files differdeleted file mode 100644 index 46aa533..0000000 --- a/core/res/res/drawable-xxhdpi/scrubber_control_from_pressed_mtrl_000.png +++ /dev/null diff --git a/core/res/res/drawable-xxhdpi/scrubber_control_from_pressed_mtrl_001.png b/core/res/res/drawable-xxhdpi/scrubber_control_from_pressed_mtrl_001.png Binary files differdeleted file mode 100644 index a749469..0000000 --- a/core/res/res/drawable-xxhdpi/scrubber_control_from_pressed_mtrl_001.png +++ /dev/null diff --git a/core/res/res/drawable-xxhdpi/scrubber_control_from_pressed_mtrl_002.png b/core/res/res/drawable-xxhdpi/scrubber_control_from_pressed_mtrl_002.png Binary files differdeleted file mode 100644 index ef43f00..0000000 --- a/core/res/res/drawable-xxhdpi/scrubber_control_from_pressed_mtrl_002.png +++ /dev/null diff --git a/core/res/res/drawable-xxhdpi/scrubber_control_from_pressed_mtrl_003.png b/core/res/res/drawable-xxhdpi/scrubber_control_from_pressed_mtrl_003.png Binary files differdeleted file mode 100644 index eebddc3..0000000 --- a/core/res/res/drawable-xxhdpi/scrubber_control_from_pressed_mtrl_003.png +++ /dev/null diff --git a/core/res/res/drawable-xxhdpi/scrubber_control_from_pressed_mtrl_004.png b/core/res/res/drawable-xxhdpi/scrubber_control_from_pressed_mtrl_004.png Binary files differdeleted file mode 100644 index 44b654d..0000000 --- a/core/res/res/drawable-xxhdpi/scrubber_control_from_pressed_mtrl_004.png +++ /dev/null diff --git a/core/res/res/drawable-xxhdpi/scrubber_control_from_pressed_mtrl_005.png b/core/res/res/drawable-xxhdpi/scrubber_control_from_pressed_mtrl_005.png Binary files differdeleted file mode 100644 index 6e768c1..0000000 --- a/core/res/res/drawable-xxhdpi/scrubber_control_from_pressed_mtrl_005.png +++ /dev/null diff --git a/core/res/res/drawable-xxhdpi/scrubber_control_off_mtrl_alpha.png b/core/res/res/drawable-xxhdpi/scrubber_control_off_mtrl_alpha.png Binary files differdeleted file mode 100644 index a2b5716..0000000 --- a/core/res/res/drawable-xxhdpi/scrubber_control_off_mtrl_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xxhdpi/scrubber_control_off_pressed_mtrl_alpha.png b/core/res/res/drawable-xxhdpi/scrubber_control_off_pressed_mtrl_alpha.png Binary files differdeleted file mode 100644 index 0319bd8..0000000 --- a/core/res/res/drawable-xxhdpi/scrubber_control_off_pressed_mtrl_alpha.png +++ /dev/null diff --git a/core/res/res/drawable-xxhdpi/scrubber_control_to_pressed_mtrl_000.png b/core/res/res/drawable-xxhdpi/scrubber_control_to_pressed_mtrl_000.png Binary files differdeleted file mode 100644 index 2ac6dae..0000000 --- a/core/res/res/drawable-xxhdpi/scrubber_control_to_pressed_mtrl_000.png +++ /dev/null diff --git a/core/res/res/drawable-xxhdpi/scrubber_control_to_pressed_mtrl_001.png b/core/res/res/drawable-xxhdpi/scrubber_control_to_pressed_mtrl_001.png Binary files differdeleted file mode 100644 index 91c49ce..0000000 --- a/core/res/res/drawable-xxhdpi/scrubber_control_to_pressed_mtrl_001.png +++ /dev/null diff --git a/core/res/res/drawable-xxhdpi/scrubber_control_to_pressed_mtrl_002.png b/core/res/res/drawable-xxhdpi/scrubber_control_to_pressed_mtrl_002.png Binary files differdeleted file mode 100644 index 4b4bd1f..0000000 --- a/core/res/res/drawable-xxhdpi/scrubber_control_to_pressed_mtrl_002.png +++ /dev/null diff --git a/core/res/res/drawable-xxhdpi/scrubber_control_to_pressed_mtrl_003.png b/core/res/res/drawable-xxhdpi/scrubber_control_to_pressed_mtrl_003.png Binary files differdeleted file mode 100644 index 637e596..0000000 --- a/core/res/res/drawable-xxhdpi/scrubber_control_to_pressed_mtrl_003.png +++ /dev/null diff --git a/core/res/res/drawable-xxhdpi/scrubber_control_to_pressed_mtrl_004.png b/core/res/res/drawable-xxhdpi/scrubber_control_to_pressed_mtrl_004.png Binary files differdeleted file mode 100644 index 42d4d2a..0000000 --- a/core/res/res/drawable-xxhdpi/scrubber_control_to_pressed_mtrl_004.png +++ /dev/null diff --git a/core/res/res/drawable-xxhdpi/scrubber_control_to_pressed_mtrl_005.png b/core/res/res/drawable-xxhdpi/scrubber_control_to_pressed_mtrl_005.png Binary files differdeleted file mode 100644 index 995d1b2..0000000 --- a/core/res/res/drawable-xxhdpi/scrubber_control_to_pressed_mtrl_005.png +++ /dev/null diff --git a/core/res/res/drawable-xxxhdpi/scrubber_control_from_pressed_mtrl_000.png b/core/res/res/drawable-xxxhdpi/scrubber_control_from_pressed_mtrl_000.png Binary files differdeleted file mode 100644 index 0c8f746..0000000 --- a/core/res/res/drawable-xxxhdpi/scrubber_control_from_pressed_mtrl_000.png +++ /dev/null diff --git a/core/res/res/drawable-xxxhdpi/scrubber_control_from_pressed_mtrl_001.png b/core/res/res/drawable-xxxhdpi/scrubber_control_from_pressed_mtrl_001.png Binary files differdeleted file mode 100644 index 5db9deb..0000000 --- a/core/res/res/drawable-xxxhdpi/scrubber_control_from_pressed_mtrl_001.png +++ /dev/null diff --git a/core/res/res/drawable-xxxhdpi/scrubber_control_from_pressed_mtrl_002.png b/core/res/res/drawable-xxxhdpi/scrubber_control_from_pressed_mtrl_002.png Binary files differdeleted file mode 100644 index 3aca6d3..0000000 --- a/core/res/res/drawable-xxxhdpi/scrubber_control_from_pressed_mtrl_002.png +++ /dev/null diff --git a/core/res/res/drawable-xxxhdpi/scrubber_control_from_pressed_mtrl_003.png b/core/res/res/drawable-xxxhdpi/scrubber_control_from_pressed_mtrl_003.png Binary files differdeleted file mode 100644 index 746c74f..0000000 --- a/core/res/res/drawable-xxxhdpi/scrubber_control_from_pressed_mtrl_003.png +++ /dev/null diff --git a/core/res/res/drawable-xxxhdpi/scrubber_control_from_pressed_mtrl_004.png b/core/res/res/drawable-xxxhdpi/scrubber_control_from_pressed_mtrl_004.png Binary files differdeleted file mode 100644 index 454a5b2..0000000 --- a/core/res/res/drawable-xxxhdpi/scrubber_control_from_pressed_mtrl_004.png +++ /dev/null diff --git a/core/res/res/drawable-xxxhdpi/scrubber_control_from_pressed_mtrl_005.png b/core/res/res/drawable-xxxhdpi/scrubber_control_from_pressed_mtrl_005.png Binary files differdeleted file mode 100644 index 80ad8cc..0000000 --- a/core/res/res/drawable-xxxhdpi/scrubber_control_from_pressed_mtrl_005.png +++ /dev/null diff --git a/core/res/res/drawable-xxxhdpi/scrubber_control_to_pressed_mtrl_000.png b/core/res/res/drawable-xxxhdpi/scrubber_control_to_pressed_mtrl_000.png Binary files differdeleted file mode 100644 index cfd0db4..0000000 --- a/core/res/res/drawable-xxxhdpi/scrubber_control_to_pressed_mtrl_000.png +++ /dev/null diff --git a/core/res/res/drawable-xxxhdpi/scrubber_control_to_pressed_mtrl_001.png b/core/res/res/drawable-xxxhdpi/scrubber_control_to_pressed_mtrl_001.png Binary files differdeleted file mode 100644 index 845092f..0000000 --- a/core/res/res/drawable-xxxhdpi/scrubber_control_to_pressed_mtrl_001.png +++ /dev/null diff --git a/core/res/res/drawable-xxxhdpi/scrubber_control_to_pressed_mtrl_002.png b/core/res/res/drawable-xxxhdpi/scrubber_control_to_pressed_mtrl_002.png Binary files differdeleted file mode 100644 index 0042db4..0000000 --- a/core/res/res/drawable-xxxhdpi/scrubber_control_to_pressed_mtrl_002.png +++ /dev/null diff --git a/core/res/res/drawable-xxxhdpi/scrubber_control_to_pressed_mtrl_003.png b/core/res/res/drawable-xxxhdpi/scrubber_control_to_pressed_mtrl_003.png Binary files differdeleted file mode 100644 index 77b2901..0000000 --- a/core/res/res/drawable-xxxhdpi/scrubber_control_to_pressed_mtrl_003.png +++ /dev/null diff --git a/core/res/res/drawable-xxxhdpi/scrubber_control_to_pressed_mtrl_004.png b/core/res/res/drawable-xxxhdpi/scrubber_control_to_pressed_mtrl_004.png Binary files differdeleted file mode 100644 index fb3c238..0000000 --- a/core/res/res/drawable-xxxhdpi/scrubber_control_to_pressed_mtrl_004.png +++ /dev/null diff --git a/core/res/res/drawable-xxxhdpi/scrubber_control_to_pressed_mtrl_005.png b/core/res/res/drawable-xxxhdpi/scrubber_control_to_pressed_mtrl_005.png Binary files differdeleted file mode 100644 index 0d28c45..0000000 --- a/core/res/res/drawable-xxxhdpi/scrubber_control_to_pressed_mtrl_005.png +++ /dev/null diff --git a/core/res/res/drawable/seekbar_thumb_material_anim.xml b/core/res/res/drawable/seekbar_thumb_material_anim.xml index 4b13259..9726e73 100644 --- a/core/res/res/drawable/seekbar_thumb_material_anim.xml +++ b/core/res/res/drawable/seekbar_thumb_material_anim.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2014 The Android Open Source Project +<!-- Copyright (C) 2015 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. @@ -14,61 +14,36 @@ limitations under the License. --> -<animated-selector xmlns:android="http://schemas.android.com/apk/res/android" android:constantSize="true"> - <item android:state_enabled="false" android:state_pressed="true"> - <bitmap android:src="@drawable/scrubber_control_off_mtrl_alpha" android:gravity="center" android:tint="?attr/colorControlActivated" android:alpha="?attr/disabledAlpha" /> - </item> +<animated-selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_enabled="false"> - <bitmap android:src="@drawable/scrubber_control_off_mtrl_alpha" android:gravity="center" android:tint="?attr/colorControlNormal" android:alpha="?attr/disabledAlpha" /> - </item> - <item android:state_pressed="true" android:id="@+id/pressed"> - <bitmap android:src="@drawable/scrubber_control_to_pressed_mtrl_005" android:gravity="center" android:tint="?attr/colorControlActivated" /> - </item> - <item android:id="@+id/not_pressed"> - <bitmap android:src="@drawable/scrubber_control_to_pressed_mtrl_000" android:gravity="center" android:tint="?attr/colorControlActivated" /> + <shape + android:shape="ring" + android:innerRadius="2dp" + android:thickness="2dp" + android:useLevel="false" + android:tint="?attr/colorControlNormal" + android:opticalInsetLeft="3dp" + android:opticalInsetRight="3dp"> + <solid + android:color="#ff000000" /> + <size + android:width="18dp" + android:height="18dp" /> + </shape> </item> - <transition android:fromId="@+id/not_pressed" android:toId="@+id/pressed"> - <animation-list> - <item android:duration="15"> - <bitmap android:src="@drawable/scrubber_control_to_pressed_mtrl_000" android:gravity="center" android:tint="?attr/colorControlActivated" /> - </item> - <item android:duration="15"> - <bitmap android:src="@drawable/scrubber_control_to_pressed_mtrl_001" android:gravity="center" android:tint="?attr/colorControlActivated" /> - </item> - <item android:duration="15"> - <bitmap android:src="@drawable/scrubber_control_to_pressed_mtrl_002" android:gravity="center" android:tint="?attr/colorControlActivated" /> - </item> - <item android:duration="15"> - <bitmap android:src="@drawable/scrubber_control_to_pressed_mtrl_003" android:gravity="center" android:tint="?attr/colorControlActivated" /> - </item> - <item android:duration="15"> - <bitmap android:src="@drawable/scrubber_control_to_pressed_mtrl_004" android:gravity="center" android:tint="?attr/colorControlActivated" /> - </item> - <item android:duration="15"> - <bitmap android:src="@drawable/scrubber_control_to_pressed_mtrl_005" android:gravity="center" android:tint="?attr/colorControlActivated" /> - </item> - </animation-list> - </transition> - <transition android:fromId="@+id/pressed" android:toId="@+id/not_pressed"> - <animation-list> - <item android:duration="15"> - <bitmap android:src="@drawable/scrubber_control_from_pressed_mtrl_000" android:gravity="center" android:tint="?attr/colorControlActivated" /> - </item> - <item android:duration="15"> - <bitmap android:src="@drawable/scrubber_control_from_pressed_mtrl_001" android:gravity="center" android:tint="?attr/colorControlActivated" /> - </item> - <item android:duration="15"> - <bitmap android:src="@drawable/scrubber_control_from_pressed_mtrl_002" android:gravity="center" android:tint="?attr/colorControlActivated" /> - </item> - <item android:duration="15"> - <bitmap android:src="@drawable/scrubber_control_from_pressed_mtrl_003" android:gravity="center" android:tint="?attr/colorControlActivated" /> - </item> - <item android:duration="15"> - <bitmap android:src="@drawable/scrubber_control_from_pressed_mtrl_004" android:gravity="center" android:tint="?attr/colorControlActivated" /> - </item> - <item android:duration="15"> - <bitmap android:src="@drawable/scrubber_control_from_pressed_mtrl_005" android:gravity="center" android:tint="?attr/colorControlActivated" /> - </item> - </animation-list> - </transition> + <item + android:id="@+id/pressed" + android:state_pressed="true" + android:drawable="@drawable/seekbar_thumb_pressed_to_unpressed" /> + <item + android:id="@+id/unpressed" + android:drawable="@drawable/seekbar_thumb_unpressed_to_pressed" /> + <transition + android:fromId="@+id/unpressed" + android:toId="@+id/pressed" + android:drawable="@drawable/seekbar_thumb_unpressed_to_pressed_animation" /> + <transition + android:fromId="@+id/pressed" + android:toId="@+id/unpressed" + android:drawable="@drawable/seekbar_thumb_pressed_to_unpressed_animation" /> </animated-selector> diff --git a/core/res/res/drawable/seekbar_thumb_pressed_to_unpressed.xml b/core/res/res/drawable/seekbar_thumb_pressed_to_unpressed.xml new file mode 100644 index 0000000..c2c678af --- /dev/null +++ b/core/res/res/drawable/seekbar_thumb_pressed_to_unpressed.xml @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2015 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. +--> + +<vector + xmlns:android="http://schemas.android.com/apk/res/android" + android:name="seekbar_thumb_pressed_to_unpressed" + android:width="18dp" + android:height="18dp" + android:viewportWidth="18" + android:viewportHeight="18" + android:tint="?attr/colorControlActivated" + android:opticalInsetLeft="6dp" + android:opticalInsetRight="6dp"> + <group + android:name="thumb" + android:translateX="9" + android:translateY="9" + android:scaleX="1.5" + android:scaleY="1.5"> + <path + android:name="thumb_path" + android:fillColor="#FF000000" + android:pathData="M 0.0,-6.0 c 3.3137084988,0.0 6.0,2.6862915012 6.0,6.0 c 0.0,3.3137084988 -2.6862915012,6.0 -6.0,6.0 c -3.3137084988,0.0 -6.0,-2.6862915012 -6.0,-6.0 c 0.0,-3.3137084988 2.6862915012,-6.0 6.0,-6.0 Z" /> + </group> +</vector> diff --git a/core/res/res/drawable/seekbar_thumb_pressed_to_unpressed_animation.xml b/core/res/res/drawable/seekbar_thumb_pressed_to_unpressed_animation.xml new file mode 100644 index 0000000..6a2da7d --- /dev/null +++ b/core/res/res/drawable/seekbar_thumb_pressed_to_unpressed_animation.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?> +<animated-vector + xmlns:android="http://schemas.android.com/apk/res/android" + android:drawable="@drawable/seekbar_thumb_pressed_to_unpressed" > + <target + android:name="thumb" + android:animation="@anim/seekbar_thumb_pressed_to_unpressed_thumb_animation" /> +</animated-vector> diff --git a/core/res/res/drawable/seekbar_thumb_unpressed_to_pressed.xml b/core/res/res/drawable/seekbar_thumb_unpressed_to_pressed.xml new file mode 100644 index 0000000..8040018 --- /dev/null +++ b/core/res/res/drawable/seekbar_thumb_unpressed_to_pressed.xml @@ -0,0 +1,36 @@ +<?xml version="1.0" encoding="utf-8"?> +<!-- Copyright (C) 2015 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. +--> + +<vector + xmlns:android="http://schemas.android.com/apk/res/android" + android:name="seekbar_thumb_unpressed_to_pressed" + android:width="18dp" + android:height="18dp" + android:viewportWidth="18" + android:viewportHeight="18" + android:tint="?attr/colorControlActivated" + android:opticalInsetLeft="6dp" + android:opticalInsetRight="6dp"> + <group + android:name="thumb_0" + android:translateX="9" + android:translateY="9"> + <path + android:name="thumb_path_0" + android:fillColor="#FF000000" + android:pathData="M 0.0,-6.0 c 3.3137084988,0.0 6.0,2.6862915012 6.0,6.0 c 0.0,3.3137084988 -2.6862915012,6.0 -6.0,6.0 c -3.3137084988,0.0 -6.0,-2.6862915012 -6.0,-6.0 c 0.0,-3.3137084988 2.6862915012,-6.0 6.0,-6.0 Z" /> + </group> +</vector> diff --git a/core/res/res/drawable/seekbar_thumb_unpressed_to_pressed_animation.xml b/core/res/res/drawable/seekbar_thumb_unpressed_to_pressed_animation.xml new file mode 100644 index 0000000..1c2b3a9 --- /dev/null +++ b/core/res/res/drawable/seekbar_thumb_unpressed_to_pressed_animation.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?> +<animated-vector + xmlns:android="http://schemas.android.com/apk/res/android" + android:drawable="@drawable/seekbar_thumb_unpressed_to_pressed" > + <target + android:name="thumb_0" + android:animation="@anim/seekbar_thumb_unpressed_to_pressed_thumb_0_animation" /> +</animated-vector> diff --git a/core/res/res/drawable/seekbar_track_material.xml b/core/res/res/drawable/seekbar_track_material.xml index 01eb243..6e40c48 100644 --- a/core/res/res/drawable/seekbar_track_material.xml +++ b/core/res/res/drawable/seekbar_track_material.xml @@ -20,7 +20,7 @@ <shape android:shape="rectangle" android:tint="?attr/colorControlNormal"> <size android:height="@dimen/seekbar_track_background_height_material" /> - <solid android:color="@color/white_disabled_material" /> + <solid android:color="#ff000000" /> </shape> </item> <item android:id="@id/secondaryProgress" diff --git a/core/res/res/values/attrs.xml b/core/res/res/values/attrs.xml index 46e1e5e..a65c5c1 100644 --- a/core/res/res/values/attrs.xml +++ b/core/res/res/values/attrs.xml @@ -2771,8 +2771,9 @@ to allow the children to draw outside of their bounds. The default value of this property is true. --> <attr name="clipChildren" format="boolean" /> - <!-- Defines whether the ViewGroup will clip its children to its padding, if - padding is not zero. This property is set to true by default. --> + <!-- Defines whether the ViewGroup will clip its children and resize (but not clip) any + EdgeEffect to its padding, if padding is not zero. This property is set to true by + default. --> <attr name="clipToPadding" format="boolean" /> <!-- Defines the layout animation to use the first time the ViewGroup is laid out. Layout animations can also be started manually after the first layout. --> @@ -3908,6 +3909,11 @@ <attr name="thumbOffset" format="dimension" /> <!-- Whether to split the track and leave a gap for the thumb drawable. --> <attr name="splitTrack" format="boolean" /> + <!-- Whether to force the track's alpha to ?android:attr/disabledAlpha + when disabled. This is required for Holo and Gingerbread, but + should always be false for Material and beyond. + @hide Developers shouldn't need to change this. --> + <attr name="useDisabledAlpha" format="boolean" /> <!-- Tint to apply to the button graphic. --> <attr name="thumbTint" format="color" /> <!-- Blending mode used to apply the button graphic tint. --> @@ -5117,6 +5123,18 @@ <!-- When a tint color is set, specifies its Porter-Duff blending mode. The default value is src_in, which treats the drawable as an alpha mask. --> <attr name="tintMode" /> + <!-- Left optical inset. + @hide Until optical insets are fully supported. --> + <attr name="opticalInsetLeft" /> + <!-- Top optical inset. + @hide Until optical insets are fully supported. --> + <attr name="opticalInsetTop" /> + <!-- Right optical inset. + @hide Until optical insets are fully supported. --> + <attr name="opticalInsetRight" /> + <!-- Bottom optical inset. + @hide Until optical insets are fully supported. --> + <attr name="opticalInsetBottom" /> </declare-styleable> <!-- Used to specify the size of the shape for GradientDrawable. --> @@ -5578,6 +5596,18 @@ <!-- The opacity of the whole vector drawable, as a value between 0 (completely transparent) and 1 (completely opaque). --> <attr name="alpha" /> + <!-- Left optical inset. + @hide Until optical insets are fully supported. --> + <attr name="opticalInsetLeft" format="dimension" /> + <!-- Top optical inset. + @hide Until optical insets are fully supported. --> + <attr name="opticalInsetTop" format="dimension" /> + <!-- Right optical inset. + @hide Until optical insets are fully supported. --> + <attr name="opticalInsetRight" format="dimension" /> + <!-- Bottom optical inset. + @hide Until optical insets are fully supported. --> + <attr name="opticalInsetBottom" format="dimension" /> </declare-styleable> <!-- Defines the group used in VectorDrawables. --> diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml index c715652..8066d9f 100755 --- a/core/res/res/values/config.xml +++ b/core/res/res/values/config.xml @@ -1861,6 +1861,11 @@ <!-- default window inset isRound property --> <bool name="config_windowIsRound">false</bool> + <!-- Override this value if the device has a chin, i.e. area that is not actual part of the + screen but you would like to be treated as a real display. The value is the height of the + chin. --> + <integer name="config_windowOutsetBottom">0</integer> + <!-- Package name for default network scorer app; overridden by product overlays. --> <string name="config_defaultNetworkScorerPackageName"></string> diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml index 74d448c..d9801ef 100644 --- a/core/res/res/values/strings.xml +++ b/core/res/res/values/strings.xml @@ -413,6 +413,10 @@ <!-- Spoken description for ringer normal option. [CHAR LIMIT=NONE] --> <string name="silent_mode_ring">Ringer on</string> + <!-- Reboot to Recovery Progress Dialog. This is shown before it reboots to recovery. --> + <string name="reboot_to_recovery_title">Prepare for update</string> + <string name="reboot_to_recovery_progress">Processing the update package\u2026</string> + <!-- Shutdown Progress Dialog. This is shown if the user chooses to power off the phone. --> <string name="shutdown_progress">Shutting down\u2026</string> @@ -3044,6 +3048,11 @@ <!-- Description of an application permission that lets it read install sessions. --> <string name="permdesc_readInstallSessions">Allows an application to read install sessions. This allows it to see details about active package installations.</string> + <!-- Title of an application permission that lets it read install sessions. --> + <string name="permlab_requestInstallPackages">Request install packages</string> + <!-- Description of an application permission that lets it read install sessions. --> + <string name="permdesc_requestInstallPackages">Allows an application to request installation of packages.</string> + <!-- Shown in the tutorial for tap twice for zoom control. --> <string name="tutorial_double_tap_to_zoom_message_short">Touch twice for zoom control</string> diff --git a/core/res/res/values/styles_material.xml b/core/res/res/values/styles_material.xml index 56eafe1..f9fcf38 100644 --- a/core/res/res/values/styles_material.xml +++ b/core/res/res/values/styles_material.xml @@ -721,6 +721,7 @@ please see styles_device_defaults.xml. <item name="indeterminateDrawable">@drawable/seekbar_track_material</item> <item name="thumb">@drawable/seekbar_thumb_material_anim</item> <item name="splitTrack">true</item> + <item name="useDisabledAlpha">false</item> <item name="focusable">true</item> <item name="paddingStart">16dip</item> <item name="paddingEnd">16dip</item> diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml index e3033e7..93fcb2f 100755 --- a/core/res/res/values/symbols.xml +++ b/core/res/res/values/symbols.xml @@ -383,6 +383,7 @@ <java-symbol type="integer" name="config_wifi_supplicant_scan_interval" /> <java-symbol type="integer" name="config_wifi_scan_interval_p2p_connected" /> <java-symbol type="bool" name="config_wifi_hal_pno_enable" /> + <java-symbol type="integer" name="config_windowOutsetBottom" /> <java-symbol type="integer" name="db_connection_pool_size" /> <java-symbol type="integer" name="db_journal_size_limit" /> <java-symbol type="integer" name="db_wal_autocheckpoint" /> @@ -815,6 +816,8 @@ <java-symbol type="string" name="mobile_provisioning_url" /> <java-symbol type="string" name="mobile_redirected_provisioning_url" /> <java-symbol type="string" name="quick_contacts_not_available" /> + <java-symbol type="string" name="reboot_to_recovery_progress" /> + <java-symbol type="string" name="reboot_to_recovery_title" /> <java-symbol type="string" name="reboot_safemode_confirm" /> <java-symbol type="string" name="reboot_safemode_title" /> <java-symbol type="string" name="relationTypeAssistant" /> diff --git a/core/res/res/values/themes_material.xml b/core/res/res/values/themes_material.xml index f01e3f8..9f3668d 100644 --- a/core/res/res/values/themes_material.xml +++ b/core/res/res/values/themes_material.xml @@ -141,6 +141,7 @@ please see themes_device_defaults.xml. <item name="expandableListPreferredItemIndicatorRight">0dip</item> <item name="expandableListPreferredChildIndicatorLeft">?attr/expandableListPreferredItemIndicatorLeft</item> <item name="expandableListPreferredChildIndicatorRight">?attr/expandableListPreferredItemIndicatorRight</item> + <item name="findOnPageNextDrawable">@drawable/ic_find_next_material</item> <item name="findOnPagePreviousDrawable">@drawable/ic_find_previous_material</item> @@ -160,8 +161,6 @@ please see themes_device_defaults.xml. <item name="windowTitleStyle">@style/WindowTitle.Material</item> <item name="windowTitleSize">@dimen/action_bar_default_height_material</item> <item name="windowTitleBackgroundStyle">@style/WindowTitleBackground.Material</item> - <item name="windowContentTransitions">false</item> - <item name="windowActivityTransitions">true</item> <item name="windowAnimationStyle">@style/Animation.Material.Activity</item> <item name="windowSoftInputMode">stateUnspecified|adjustUnspecified</item> <item name="windowActionBar">true</item> @@ -173,6 +172,8 @@ please see themes_device_defaults.xml. <item name="windowEnterTransition">@transition/fade</item> <item name="windowSharedElementEnterTransition">@transition/move</item> <item name="windowSharedElementExitTransition">@transition/move</item> + <item name="windowContentTransitions">false</item> + <item name="windowActivityTransitions">true</item> <!-- Dialog attributes --> <item name="dialogTheme">@style/ThemeOverlay.Material.Dialog</item> @@ -305,6 +306,9 @@ please see themes_device_defaults.xml. <item name="detailsElementBackground">?attr/colorBackground</item> <item name="fingerprintDrawable">@drawable/ic_fingerprint_dark</item> + <!-- PreferenceFrameLayout attributes --> + <item name="preferenceFrameLayoutStyle">@style/Widget.Material.PreferenceFrameLayout</item> + <!-- Search widget styles --> <item name="searchWidgetCorpusItemBackground">@color/search_widget_corpus_item_background</item> @@ -351,9 +355,6 @@ please see themes_device_defaults.xml. <item name="searchViewStyle">@style/Widget.Material.SearchView</item> <item name="searchDialogTheme">@style/Theme.Material.SearchBar</item> - <!-- PreferenceFrameLayout attributes --> - <item name="preferenceFrameLayoutStyle">@style/Widget.Material.PreferenceFrameLayout</item> - <!-- NumberPicker style--> <item name="numberPickerStyle">@style/Widget.Material.NumberPicker</item> @@ -453,8 +454,8 @@ please see themes_device_defaults.xml. <item name="buttonStyleSmall">@style/Widget.Material.Light.Button.Small</item> <item name="buttonStyleInset">@style/Widget.Material.Light.Button.Inset</item> - <item name="buttonStyleToggle">@style/Widget.Material.Light.Button.Toggle</item> + <item name="switchStyle">@style/Widget.Material.Light.CompoundButton.Switch</item> <item name="mediaRouteButtonStyle">@style/Widget.Material.Light.MediaRouteButton</item> @@ -487,6 +488,8 @@ please see themes_device_defaults.xml. <item name="listChoiceBackgroundIndicator">@drawable/list_choice_background_material</item> <item name="activatedBackgroundIndicator">@drawable/activated_background_material</item> + <item name="listDividerAlertDialog">@null</item> + <item name="expandableListPreferredItemPaddingLeft">40dip</item> <item name="expandableListPreferredChildPaddingLeft">?attr/expandableListPreferredItemPaddingLeft</item> @@ -495,7 +498,6 @@ please see themes_device_defaults.xml. <item name="expandableListPreferredChildIndicatorLeft">?attr/expandableListPreferredItemIndicatorLeft</item> <item name="expandableListPreferredChildIndicatorRight">?attr/expandableListPreferredItemIndicatorRight</item> - <item name="listDividerAlertDialog">@null</item> <item name="findOnPageNextDrawable">@drawable/ic_find_next_material</item> <item name="findOnPagePreviousDrawable">@drawable/ic_find_previous_material</item> @@ -632,6 +634,7 @@ please see themes_device_defaults.xml. <item name="quickContactBadgeStyleSmallWindowLarge">@style/Widget.Material.QuickContactBadgeSmall.WindowLarge</item> <item name="listPopupWindowStyle">@style/Widget.Material.Light.ListPopupWindow</item> <item name="popupMenuStyle">@style/Widget.Material.Light.PopupMenu</item> + <item name="popupTheme">@null</item> <item name="stackViewStyle">@style/Widget.Material.Light.StackView</item> <item name="activityChooserViewStyle">@style/Widget.Material.Light.ActivityChooserView</item> <item name="fragmentBreadCrumbsStyle">@style/Widget.Material.FragmentBreadCrumbs</item> @@ -681,7 +684,10 @@ please see themes_device_defaults.xml. <item name="actionBarStyle">@style/Widget.Material.Light.ActionBar.Solid</item> <item name="actionBarSize">@dimen/action_bar_default_height_material</item> <item name="actionModePopupWindowStyle">@style/Widget.Material.Light.PopupWindow.ActionMode</item> + <item name="actionMenuTextAppearance">@style/TextAppearance.Material.Widget.ActionBar.Menu</item> + <item name="actionMenuTextColor">?attr/textColorPrimary</item> <item name="actionBarWidgetTheme">@null</item> + <item name="actionBarPopupTheme">?attr/popupTheme</item> <item name="actionBarTheme">@style/ThemeOverlay.Material.ActionBar</item> <item name="actionBarItemBackground">@drawable/action_bar_item_background_material</item> @@ -723,6 +729,7 @@ please see themes_device_defaults.xml. <!-- DatePicker dialog theme --> <item name="datePickerDialogTheme">?attr/dialogTheme</item> + <!-- TODO: This belongs in a FastScroll style --> <item name="fastScrollThumbDrawable">@drawable/fastscroll_thumb_material</item> <item name="fastScrollPreviewBackgroundLeft">@drawable/fastscroll_label_left_material</item> <item name="fastScrollPreviewBackgroundRight">@drawable/fastscroll_label_right_material</item> @@ -733,6 +740,7 @@ please see themes_device_defaults.xml. <item name="colorPrimaryDark">@color/primary_dark_material_light</item> <item name="colorPrimary">@color/primary_material_light</item> <item name="colorAccent">@color/accent_material_light</item> + <item name="colorEdgeEffect">?attr/colorPrimary</item> <item name="colorControlNormal">?attr/textColorSecondary</item> <item name="colorControlActivated">?attr/colorAccent</item> diff --git a/core/res/res/values/themes_micro.xml b/core/res/res/values/themes_micro.xml index 112afa6..8bf635e 100644 --- a/core/res/res/values/themes_micro.xml +++ b/core/res/res/values/themes_micro.xml @@ -14,7 +14,7 @@ limitations under the License. --> <resources> - <style name="Theme.Micro" parent="Theme.Material.NoActionBar"> + <style name="Theme.MicroBase" parent="Theme.Material.NoActionBar"> <item name="alertDialogTheme">@style/Theme.Micro.Dialog.Alert</item> <item name="alertDialogStyle">@style/AlertDialog.Micro</item> <item name="dialogTheme">@style/Theme.Micro.Dialog</item> @@ -29,7 +29,10 @@ <item name="windowOverscan">true</item> </style> - <style name="Theme.Micro.Light" parent="Theme.Material.Light.NoActionBar"> + <style name="Theme.Micro" parent="Theme.MicroBase"> + </style> + + <style name="Theme.Micro.LightBase" parent="Theme.Material.Light.NoActionBar"> <item name="alertDialogTheme">@style/Theme.Micro.Dialog.Alert</item> <item name="alertDialogStyle">@style/AlertDialog.Micro</item> <item name="dialogTheme">@style/Theme.Micro.Dialog</item> @@ -44,7 +47,11 @@ <item name="windowOverscan">true</item> </style> - <style name="Theme.Micro.Dialog" parent="Theme.Material.Light.Dialog"> + <!-- Indirection needed for overlays to make sure there is a common base parent --> + <style name="Theme.Micro.Light" parent="Theme.Micro.LightBase"> + </style> + + <style name="Theme.Micro.DialogBase" parent="Theme.Material.Light.Dialog"> <item name="windowTitleStyle">@android:style/DialogWindowTitle.Micro</item> <item name="windowIsFloating">false</item> <item name="windowFullscreen">true</item> @@ -54,6 +61,10 @@ <item name="windowOverscan">true</item> </style> + <!-- Indirection needed for overlays to make sure there is a common base parent --> + <style name="Theme.Micro.Dialog" parent="Theme.Micro.DialogBase"> + </style> + <style name="Theme.Micro.Dialog.Alert"> <item name="windowTitleStyle">@style/DialogWindowTitle.Micro</item> <item name="alertDialogStyle">@style/AlertDialog.Micro</item> diff --git a/docs/html-ndk/ndk/guides/abis.jd b/docs/html-ndk/ndk/guides/abis.jd index ee55898..f4819b2 100644 --- a/docs/html-ndk/ndk/guides/abis.jd +++ b/docs/html-ndk/ndk/guides/abis.jd @@ -373,7 +373,7 @@ further information <h3 id="mips64">mips64</h3> <p>This ABI is for MIPS64 R6. For more information, see -<a href="http://www.imgtec.com/mips/architectures/mips64.asp">MIPS Architecture</a>.</p> +<a href="http://www.imgtec.com/mips/architectures/mips64.asp">MIPS64 Architecture</a>.</p> <h2 id="gc">Generating Code for a Specific ABI</h2> <p>By default, the NDK generates machine code for the armeabi ABI. You can diff --git a/docs/html-ndk/ndk/guides/android_mk.jd b/docs/html-ndk/ndk/guides/android_mk.jd index 8d0a8b1..47fefc3 100644 --- a/docs/html-ndk/ndk/guides/android_mk.jd +++ b/docs/html-ndk/ndk/guides/android_mk.jd @@ -114,7 +114,7 @@ script determines what to build, and how to do it.</p> <p>There are more complex examples in the samples directories, with commented {@code Android.mk} files that you can look at. In addition, -<a href="{@docRoot}ndk/guides/sample_na.html">Sample: native-activity</a> provides +<a href="{@docRoot}ndk/samples/sample_na.html">Sample: native-activity</a> provides a detailed explanation of that sample's {@code Android.mk} file. Finally, <a href="#var"> Variables and Macros</a> provides further information on the variables from this section. @@ -217,7 +217,7 @@ The following example shows the syntax for using this variable:</p> TARGET_PLATFORM := android-22 </pre> -<h4>TARGET_ARCH_ABI</h4> +<h4 id="taa">TARGET_ARCH_ABI</h4> <p>This variable stores the name of the CPU and architecture to target when the build system parses this {@code Android.mk} file. You can specify one or more of the following values, using a space as a delimiter between multiple targets. Table 1 shows the ABI setting to use for each @@ -872,7 +872,4 @@ $(call import-module,<name>) <p>In this example, the build system looks for the module tagged {@code <name>} in the list of directories referenced that your {@code NDK_MODULE_PATH} environment variable references, and -includes its {@code Android.mk} file automatically for you.</p> - -<p>For more information, see <a href="import.html">Android Module Paths (Sharing Code)</a>. -</p> +includes its {@code Android.mk} file automatically for you.</p>
\ No newline at end of file diff --git a/docs/html-ndk/ndk/guides/application_mk.jd b/docs/html-ndk/ndk/guides/application_mk.jd index d51cf64..1294687 100644 --- a/docs/html-ndk/ndk/guides/application_mk.jd +++ b/docs/html-ndk/ndk/guides/application_mk.jd @@ -12,7 +12,7 @@ page.title=Application.mk </div> </div> -<p>This document explains the syntax of the {@code Application.mk} build file, which describes the +<p>This document explains the {@code Application.mk} build file, which describes the native <em>modules</em> that your app requires. A module can be a static library, a shared library, or an executable.</p> @@ -181,33 +181,9 @@ Android system images, see <a href="{@docRoot}ndk/guides/stable_apis.html">Andro <p>By default, the NDK build system provides C++ headers for the minimal C++ runtime library ({@code system/lib/libstdc++.so}) provided by the Android system. In addition, it comes with alternative C++ implementations that you can use or link to in your own applications. -Use {@code APP_STL} to select one of them. Table 2 shows the {@code APP_STL} values to specify -support for different libraries.</p> - -<p class="table-caption" id="table2"> - <strong>Table 2.</strong> {@code APP_STL} settings to support different libraries.</p> -<table> - <tr> - <th scope="col">Library</th> - <th scope="col">Value</th> - </tr> - <tr> - <td>Static STLport</td> - <td>{@code APP_STL := stlport_static}</td> - </tr> - <tr> - <td>Shared STLport</td> - <td>{@code APP_STL := stlport_shared}</td> - </tr> - <tr> - <td>Default C++ runtime</td> - <td>{@code APP_STL := system}</td> - </tr> -</table> - -<p>For more information on this subject, see <a href="{@docRoot}ndk/guides/cpp-support.html"> -C++ Library Support</a>.</p> - +Use {@code APP_STL} to select one of them. For information about the supported runtimes, and the +features they offer, see <a href="{@docRoot}ndk/guides/cpp-support.html#runtimes">NDK Runtimes and +Features</a>. <h4>APP_SHORT_COMMANDS</h4> <p>The equivalent of {@code LOCAL_SHORT_COMMANDS} in {@code Application.mk} for your whole project. @@ -222,10 +198,12 @@ To select a version of Clang, define this variable as {@code clang3.4}, {@code c <h4>APP_PIE</h4> <p>Starting from Android 4.1 (API level 16), Android's dynamic linker supports position-independent -executables (PIE). Use the {@code -fPIE} flag to build them. This flag makes it harder to exploit -memory corruption bugs by randomizing code location. By default, {@code ndk-build} automatically -sets this value to {@code true} if your project targets {@code android-16} or higher. You may set -it manually to either {@code true} or {@code false}.</p> +executables (PIE). From Android 5.0 (API level 21), executables require PIE. + +To use PIE to build your executables, set the {@code -fPIE} flag. This flag makes it harder to +exploit memory corruption bugs by randomizing code location. By default, {@code ndk-build} +automatically sets this value to {@code true} if your project targets {@code android-16} or higher. +You may set it manually to either {@code true} or {@code false}.</p> <p>This flag applies only to executables. It has no effect when building shared or static libraries.</p> diff --git a/docs/html-ndk/ndk/guides/concepts.jd b/docs/html-ndk/ndk/guides/concepts.jd index 45dceeb..0601f21 100644 --- a/docs/html-ndk/ndk/guides/concepts.jd +++ b/docs/html-ndk/ndk/guides/concepts.jd @@ -111,24 +111,26 @@ ARMEABI (default), MIPS, and x86. For more information, see {@link android.app.NativeActivity} class in the <a href="{@docRoot}guide/topics/manifest/manifest-intro.html">manifest</a>. <a href="#naa">Native Activities and Applications</a> provides more detail on how to do this, under -“Using the {@code native-activity.h} interface.” +“Using the {@code native_activity.h} interface.” </li> </ul> -<p>The following two items only apply in cases in which you are using the toolchains provided with -the Android NDK as standalone compilers.</p> +<p>The following two items are only required for building using the +<a href="{@docRoot}ndk/guides/ndk-build.html">{@code ndk-build}</a> script, +and for debugging using the <a href="{@docRoot}ndk/guides/ndk-gdb.html"> +{@code ndk-gdb}</a> script. <ul> -<li>{@code Android.mk}: You must create an <a href="{@docRoot}ndk/guides/android_mk.html"> -{@code Android.mk}</a> configuration file inside your {@code jni} folder. The ndk-build script -looks at this file, which defines the module and its name, the source files to be compiled, build -flags and libraries to link.</li> +<li><a href="{@docRoot}ndk/guides/android_mk.html">{@code Android.mk}</a>: +You must create an <a href="{@docRoot}ndk/guides/android_mk.html"> +{@code Android.mk}</a> configuration file inside your {@code jni} folder. The {@code ndk-build} +script looks at this file, which defines the module and its name, the source files to be compiled, +build flags and libraries to link.</li> </ul> <ul> -<li>{@code Application.mk}: You may optionally create an -<a href="{@docRoot}ndk/guides/application_mk.html">{@code Application.mk}</a> file. This file -This file enumerates and describes the modules that your app requires. This information includes: +<li><a href="{@docRoot}ndk/guides/application_mk.html">{@code Application.mk}</a>: This file +enumerates and describes the modules that your app requires. This information includes: <ul> <li>ABIs used to compile for specific platforms.</li> @@ -206,14 +208,16 @@ of Android applications with the correct structure.</p> <p>The Android NDK provides you with two choices to implement your native activity:</p> <ul> -<li>The {@code native_activity.h} header defines the native version of the +<li>The <a href="{@docRoot}ndk/reference/native__activity_8h.html">{@code native_activity.h}</a> +header defines the native version of the {@link android.app.NativeActivity} class. It contains the callback interface and data structures that you need to create your native activity. Because the main thread of your application handles the callbacks, your callback implementations must not be blocking. If they block, you might receive ANR (Application Not Responding) errors because your main thread is unresponsive until the callback returns.</li> -<li>The android_native_app_glue.h file defines a static helper library built on top of the -{@code native_activity.h} interface. It spawns another thread, which handles things such as +<li>The {@code android_native_app_glue.h} file defines a static helper library built on top of the +<a href="{@docRoot}ndk/reference/native__activity_8h.html">{@code native_activity.h}</a> interface. +It spawns another thread, which handles things such as callbacks or input events in an event loop. Moving these events to a separate thread prevents any callbacks from blocking your main thread.</li> </ul> @@ -223,9 +227,11 @@ also available, allowing you to modify the implementation.</p> <p>For more information on how to use this static library, examine the native-activity sample application and its documentation. Further reading is also available in the comments in the {@code <ndk_root>/sources/android/native_app_glue/android_native_app_glue.h} file.</p> -<h3 id="na">Using the native-activity.h interface</h3> +<h3 id="na">Using the native_activity.h interface</h3> -<p>To implement a native activity with the {@code native-activity.h} interface:</p> +<p>To implement a native activity with the +<a href="{@docRoot}ndk/reference/native__activity_8h.html">{@code native_activity.h}</a> +interface:</p> <ol type="1"> <li>Create a {@code jni/} directory in your project's root directory. This directory stores all of @@ -263,15 +269,17 @@ library containing the entry point to the application (such as C/C++ {@code main </manifest> </pre> -<li>Create a file for your native activity, and implement the {@code ANativeActivity_onCreate()} -function, which the app calls when the native activity starts. This function, analogous -to {@code main} in C/C++, receives a pointer to an {@code ANativeActivity} structure, -which contains function pointers to the various callback implementations that you need to write. +<li>Create a file for your native activity, and implement the function named in the +<a href="{@docRoot}ndk/reference/group___native_activity.html#ga02791d0d490839055169f39fdc905c5e"> +{@code ANativeActivity_onCreate}</a> variable. +The app calls this function when the native activity starts. This function, analogous +to {@code main} in C/C++, receives a pointer to an +<a href="{@docRoot}ndk/reference/struct_a_native_activity.html">{@code ANativeActivity}</a> +structure, which contains function pointers to the various callback implementations that you need +to write. Set the applicable callback function pointers in {@code ANativeActivity->callbacks} to the implementations of your callbacks.</li> -<!--TODO: API Ref links in the above para.--> - <li>Set the {@code ANativeActivity->instance} field to the address of any instance of specific data that you want to use.</li> <li>Implement anything else that you want your activity to do upon starting.</li> @@ -297,7 +305,5 @@ the {@code jni/} directory, the build script automatically packages the {@code . from it into the APK.</li> </ol> -<p>You can find further information on using {@code native-activity.h} here.</p> -<!-- (TODO: Link to API ref guide in the above para)--> </li> </ul> diff --git a/docs/html-ndk/ndk/guides/cpp-support.jd b/docs/html-ndk/ndk/guides/cpp-support.jd index ff170f4..0074b80 100644 --- a/docs/html-ndk/ndk/guides/cpp-support.jd +++ b/docs/html-ndk/ndk/guides/cpp-support.jd @@ -32,7 +32,7 @@ these helper runtimes, their characteristics, and how to use them. <p>Table 1 provides names, brief explanations, and features of runtimes available inthe NDK.</p> -<p class="table-caption" id="table1"> +<p class="table-caption" id="runtimes"> <strong>Table 1.</strong> NDK Runtimes and Features.</p> <table> diff --git a/docs/html-ndk/ndk/guides/index.jd b/docs/html-ndk/ndk/guides/index.jd index febeaab..465ce13 100644 --- a/docs/html-ndk/ndk/guides/index.jd +++ b/docs/html-ndk/ndk/guides/index.jd @@ -17,9 +17,9 @@ development process. However, it can be useful in cases in which you need to:</p <p>This guide gives you the information you need to get up and running with the NDK. It starts by explaining the <a href="{@docRoot}ndk/guides/concepts.html">concepts</a> underpinning the NDK, and -how to <a href="{@docRoot}ndk/guides/setup.html">set it up</a>. Next, it explains how to use -the NDK to <a href="{@docRoot}ndk/guides/build.html">build</a> and -<a href="{@docRoot}ndk/guides/debug.html">debug</a> your app. Then, it continues with information +how to <a href="{@docRoot}ndk/guides/setup.html">set it up</a>. Next, it continues with information about targeting <a href="{@docRoot}ndk/guides/arch.html">different hardware platforms</a> in your -builds. Finally, it discusses how to use your own and other prebuilt -<a href="{@docRoot}ndk/guides/libs.html">libraries</a>.</p> +builds. Then, it explains how to use +the NDK to <a href="{@docRoot}ndk/guides/build.html">build</a> and +<a href="{@docRoot}ndk/guides/debug.html">debug</a> your app. Finally, it discusses how to use your +own and other prebuilt <a href="{@docRoot}ndk/guides/libs.html">libraries</a>.</p> diff --git a/docs/html-ndk/ndk/guides/ndk-build.jd b/docs/html-ndk/ndk/guides/ndk-build.jd index 9e3edda..18ca2d8 100644 --- a/docs/html-ndk/ndk/guides/ndk-build.jd +++ b/docs/html-ndk/ndk/guides/ndk-build.jd @@ -46,10 +46,8 @@ $ <ndk>/ndk-build <p>In this example, <code><project></code> points to your project’s root directory, and <code><ndk></code> is the directory where -you installed the NDK. As noted in <a -href="{@docRoot}ndk/guides/setup.html#install">Setup</a>, you can add {@code $NDK} to your -{@code PATH} to avoid having to type the whole filepath every time you use ndk-build. -Alternatively, you can create an alias.</p> +you installed the NDK.</p> + <p><a class="anchor" id="options"></a> </p> <h3>Options</h3> <p>All parameters to ndk-build are passed directly to the underlying GNU {@code make} diff --git a/docs/html-ndk/ndk/guides/prebuilts.jd b/docs/html-ndk/ndk/guides/prebuilts.jd index f13e70e..52eb437 100644 --- a/docs/html-ndk/ndk/guides/prebuilts.jd +++ b/docs/html-ndk/ndk/guides/prebuilts.jd @@ -39,7 +39,7 @@ use cases for this functionality:</p> library appropriate to your target ABI. For more information on ensuring library support for ABIs, see <a href="#sa">Selecting ABIs for Prebuilt Libraries.</a></p></li> <li>Include {@code PREBUILT_SHARED_LIBRARY} or {@code PREBUILT_STATIC_LIBRARY}, depending on - whether you are using a shared ({@code .so}) or static {@code .a}) library.</li> + whether you are using a shared ({@code .so}) or static ({@code .a}) library.</li> </ol> <p>Here is a trivial example that assumes the prebuilt library {@code libfoo.so} resides in diff --git a/docs/html-ndk/ndk/guides/standalone_toolchain.jd b/docs/html-ndk/ndk/guides/standalone_toolchain.jd index 62d22b5..3b6f7f1 100644 --- a/docs/html-ndk/ndk/guides/standalone_toolchain.jd +++ b/docs/html-ndk/ndk/guides/standalone_toolchain.jd @@ -78,11 +78,11 @@ level.</p> <p>Native APIs for the respective <a href="{@docRoot}guide/topics/manifest/uses-sdk-element.html"> Android API levels</a> reside under {@code $NDK/platforms/}; each API-level directory, in turn, contains subdirectories for the various CPUs and architectures. The -following example shows how to define a <em>sysroot</em> for a build targeting Android 5.1 -(API level 22), for ARM architecture:</p> +following example shows how to define a <em>sysroot</em> for a build targeting Android 5.0 +(API level 21), for ARM architecture:</p> <pre class="no-pretty-print"> -SYSROOT=$NDK/platforms/android-22/arch-arm +SYSROOT=$NDK/platforms/android-21/arch-arm </pre> For more detail about the Android API levels and the respective native APIs they support, see @@ -120,19 +120,27 @@ $CC -o foo.o -c foo.c <th scope="col">Value</th> </tr> <tr> + <td>armeabi</td> + <td>{@code -target armv5te-none-linux-androideabi}</td> + </tr> + <tr> <td>armeabi-v7a</td> <td>{@code -target armv7-none-linux-androideabi}</td> </tr> <tr> - <td>armeabi</td> - <td>{@code -target armv5te-none-linux-androideabi}</td> + <td>arm64-v8a</td> + <td>{@code -target aarch64-none-linux-android}</td> </tr> - <tr> + <tr> <td>x86</td> <td>{@code -target i686-none-linux-android}</td> </tr> - <tr> - <td>MIPS</td> + <tr> + <td>x86_64</td> + <td>{@code -target x86_64-none-linux-android}</td> + </tr> + <tr> + <td>mips</td> <td>{@code -target mipsel-none-linux-android}</td> </tr> </table> @@ -147,7 +155,7 @@ following example:</li> Ultimately, a command to compile using Clang might look like this: <pre class="no-pretty-print"> -export CC="export CC="$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/ \ +export CC="$NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/ \ linux-x86/bin/arm-linux-androideabi-gcc-4.8 --sysroot=$SYSROOT" -target \ armv7-none-linux-androideabi \ -gcc-toolchain $NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64" @@ -165,11 +173,11 @@ installation root for the NDK. An example of the use of this script appears belo <pre class="no-pretty-print"> $NDK/build/tools/make-standalone-toolchain.sh \ ---arch=arm --platform=android-22 --install-dir=/tmp/my-android-toolchain +--arch=arm --platform=android-21 --install-dir=/tmp/my-android-toolchain </pre> <p>This command creates a directory named {@code /tmp/my-android-toolchain/}, containing a copy of -the {@code android-22/arch-arm} sysroot, and of the toolchain binaries for a 32-bit ARM +the {@code android-21/arch-arm} sysroot, and of the toolchain binaries for a 32-bit ARM architecture.</p> <p>Note that the toolchain binaries do not depend on or contain host-specific paths, in other words, @@ -187,6 +195,14 @@ Table 3 shows the values to use for other toolchains: <th scope="col">Value</th> </tr> <tr> + <td>mips64 compiler</td> + <td>{@code --arch=mips64}</td> + </tr> + <tr> + <td>mips GCC 4.8 compiler</td> + <td>{@code --arch=mips}</td> + </tr> + <tr> <td>x86 GCC 4.8 compiler</td> <td>{@code --arch=x86}</td> </tr> @@ -195,7 +211,7 @@ Table 3 shows the values to use for other toolchains: <td>{@code --arch=x86_64}</td> </tr> <tr> - <td>MIPS GCC 4.8 compiler</td> + <td>mips GCC 4.8 compiler</td> <td>{@code --arch=mips}</td> </tr> </table> @@ -214,34 +230,28 @@ values you can specify for {@code <toolchain>}:</p> <tr> <td>arm</td> <td> - <li>{@code --toolchain=arm-linux-android-4.6}</li> - <li>{@code --toolchain=arm-linux-android-4.7}</li> - <li>{@code --toolchain=arm-linux-android-4.8}</li> - <li>{@code --toolchain=arm-linux-android-4.9}</li> - <li>{@code --toolchain=arm-linux-android-clang3.4}</li> + <li>{@code --toolchain=arm-linux-androideabi-4.8}</li> + <li>{@code --toolchain=arm-linux-androideabi-4.9}</li> <li>{@code --toolchain=arm-linux-android-clang3.5}</li> + <li>{@code --toolchain=arm-linux-android-clang3.6}</li> </td> </tr> <tr> <td>x86</td> <td> - <li>{@code --toolchain=x86-linux-android-4.6}</li> - <li>{@code --toolchain=x86-linux-android-4.7}</li> <li>{@code --toolchain=x86-linux-android-4.8}</li> <li>{@code --toolchain=x86-linux-android-4.9}</li> - <li>{@code --toolchain=x86-linux-android-clang3.4}</li> <li>{@code --toolchain=x86-linux-android-clang3.5}</li> + <li>{@code --toolchain=x86-linux-android-clang3.6}</li> </td> </tr> <tr> <td>mips</td> <td> - <li>{@code --toolchain=mips-linux-android-4.6}</li> - <li>{@code --toolchain=mips-linux-android-4.7}</li> <li>{@code --toolchain=mips-linux-android-4.8}</li> <li>{@code --toolchain=mips-linux-android-4.9}</li> - <li>{@code --toolchain=mips-linux-android-clang3.4}</li> <li>{@code --toolchain=mips-linux-android-clang3.5}</li> + <li>{@code --toolchain=mips-linux-android-clang3.6}</li> </td> </tr> @@ -249,42 +259,46 @@ values you can specify for {@code <toolchain>}:</p> <td>arm64</td> <td> <li>{@code --toolchain=aarch64-linux-android-4.9}</li> - <li>{@code --toolchain=aarch64-linux-android-clang3.4}</li> <li>{@code --toolchain=aarch64-linux-android-clang3.5}</li> + <li>{@code --toolchain=aarch64-linux-android-clang3.6}</li> </td> </tr> <tr> <td>x86_64</td> <td> <li>{@code --toolchain=x86_64-linux-android-4.9}</li> - <li>{@code --toolchain=x86_64-linux-android-clang3.4}</li> <li>{@code --toolchain=x86_64-linux-android-clang3.5}</li> + <li>{@code --toolchain=x86_64-linux-android-clang3.6}</li> </td> </tr> <tr> <td>mips64</td> <td> <li>{@code --toolchain=mips64el-linux-android-4.9}</li> - <li>{@code --toolchain=mips64el-linux-android-clang3.4}</li> <li>{@code --toolchain=mips64el-linux-android-clang3.5}</li> + <li>{@code --toolchain=mips64el-linux-android-clang3.6}</li> </td> </tr> </table> -<p class="note"<strong>Note: </strong> Table 4 is not an exhaustive list. Other combinations may +<p class="note"><strong>Note: </strong> Table 4 is not an exhaustive list. Other combinations may also be valid, but are unverified.</p> -<p>You can also copy Clang/LLVM 3.3, using one of two methods: You can append {@code -clang3.3} to +<p>You can also copy Clang/LLVM 3.6, using one of two methods: You can append {@code -clang3.6} to the {@code --toolchain} option, so that the {@code --toolchain} option looks like the following example: <pre class="no-pretty-print"> ---toolchain=arm-linux-androideabi-clang3.3 +--toolchain=arm-linux-androideabi-clang3.6 </pre> -<p>Alternatively, you can add {@code -llvm-version=3.3} as a separate option on the command +<p>You can also add {@code -llvm-version=3.6} as a separate option on the command line.</p> +<p class="note"><strong>Note: </strong>Instead of specifying a specific version, you can also +use {@code <version>}, which defaults +to the highest available version of Clang.</p> + <p>By default, the build system builds for a 32-bit host toolchain. You can specify a 64-bit host toolchain instead. Table 5 shows the value to use with {@code -system} for different platforms.</p> @@ -304,17 +318,21 @@ platforms.</p> <td>64-bit MacOSX</td> <td>{@code -system=darwin-x86_64}</td> </tr> + <tr> + <td>64-bit Windows</td> + <td>{@code -system=windows-x86_64}</td> + </tr> </table> -For more information on specifying a 32- or 64-bit instruction host toolchain, see -<a href="{@docRoot}ndk/guides/ndk-build.html#6432">ndk-build</a>. +For more information on specifying a 64- or 32-bit instruction host toolchain, see +<a href="{@docRoot}ndk/guides/ndk-build.html#6432">64-Bit and 32-Bit Toolchains</a>. -<p>You may specify {@code stl=stlport} to copy {@code libstlport} instead of the default +<p>You may specify {@code --stl=stlport} to copy {@code libstlport} instead of the default {@code libgnustl}. If you do so, and you wish to link against the shared library, you must explicitly use {@code -lstlport_shared}. This requirement is similar to having to use {@code -lgnustl_shared} for GNU {@code libstdc++}.</p> -<p>Similarly, you can specify {@code -stl=libc++} to copy the LLVM libc++ headers and libraries. +<p>Similarly, you can specify {@code --stl=libc++} to copy the LLVM libc++ headers and libraries. To link against the shared library, you must explicitly use -lc++_shared.</p> <p>You can make these settings directly, as in the following example:</p> @@ -337,13 +355,13 @@ copy of a C++ STL library, with working exceptions and RTTI support.</p> <h2 id="wwc">Working with Clang</h2> <p>You can install Clang binaries in the standalone installation by using the {@code --llvm-version=<version>} option. {@code <version>} is a LLVM/Clang version -number, such as {@code 3.4} or {@code 3.5}. For example: +number, such as {@code 3.5} or {@code 3.6}. For example: <pre class="no-pretty-print"> build/tools/make-standalone-toolchain.sh \ --install-dir=/tmp/mydir \ ---toolchain=arm-linux-androideabi-4.7 \ ---llvm-version=3.5 +--toolchain=arm-linux-androideabi-4.8 \ +--llvm-version=3.6 </pre> <p>Note that Clang binaries are copied along with the GCC ones, because they rely on the same @@ -356,12 +374,12 @@ be able to use them in your own builds by just setting the {@code CC} and {@code variables to point to them.</p> <h4>Invoking Clang</h4> -<p>In an ARM standalone installation built with {@code llvm-version=3.3}, invoking +<p>In an ARM standalone installation built with {@code llvm-version=3.6}, invoking <a href="http://clang.llvm.org/">Clang</a> on a Unix system takes the form of a single line. For instance:</p> <pre class="no-pretty-print"> -dirname $0 /clang31 -target armv5te-none-linux-androideabi "$@" +`dirname $0`/clang36 -target armv5te-none-linux-androideabi "$@" </pre> <p><code>clang++</code> invokes <code>clang++31</code> in the same way.</p> @@ -404,7 +422,7 @@ working properly:</p> <ul> <li>{@code -v} to dump commands associated with compiler driver issues</li> <li>{@code -###} to dump command line options, including implicitly predefined ones.</li> -<li>{@code -x c /dev/null -dM -E} to dump predefined preprocessor definitions</li> +<li>{@code -x c < /dev/null -dM -E} to dump predefined preprocessor definitions</li> <li>{@code -save-temps} to compare {@code *.i} or {@code *.ii} preprocessed files.</li> </ul> @@ -467,7 +485,7 @@ NEON functions.</p> <p>You don't have to use any specific compiler flag when targeting the MIPS ABI.</p> -<p>To learn more about ABI support, see <a href="{@docRoot}ndk/guides/x86.html">x86</a>.</p> +<p>To learn more about ABI support, see <a href="{@docRoot}ndk/guides/x86.html">x86 Support</a>.</p> <h2 id="war">Warnings and Limitations</h2> <h3>Windows support</h3> @@ -516,7 +534,7 @@ arm-linux-androideabi-g++ .... -lsupc++ <h3>C++ STL support</h3> <p>The standalone toolchain includes a copy of a C++ Standard Template Library implementation. This implementation is either for GNU libstdc++, STLport, or libc++, depending on what you specify for the -{@code -stl=<name>} option described previously. To use this implementation of STL, you need +{@code --stl=<name>} option described previously. To use this implementation of STL, you need to link your project with the proper library:</p> <ul> @@ -551,17 +569,29 @@ for your code to load properly. Table 6 shows where this file is for each toolch <th scope="col">Location</th> </tr> <tr> - <td>ARM</td> + <td>arm</td> <td>{@code $TOOLCHAIN/arm-linux-androideabi/lib/}</td> </tr> <tr> + <td>arm64</td> + <td>{@code $TOOLCHAIN/aarch64-linux-android/lib/}</td> + </tr> + <tr> <td>x86</td> <td>{@code $TOOLCHAIN/i686-linux-android/lib/}</td> </tr> <tr> - <td>MIPS</td> + <td>x86_64</td> + <td>{@code $TOOLCHAIN/x86_64-linux-android/lib/}</td> + </tr> + <tr> + <td>mips</td> <td>{@code $TOOLCHAIN/mipsel-linux-android/lib/}</td> </tr> + <tr> + <td>mips64</td> + <td>{@code $TOOLCHAIN/mips64el-linux-android/lib/}</td> + </tr> </table> <p class="note"><strong>Note: </strong>If your project contains multiple shared libraries or diff --git a/docs/html-ndk/ndk/reference/annotated.jd b/docs/html-ndk/ndk/reference/annotated.jd index 7a0e09a..8045f8d 100644 --- a/docs/html-ndk/ndk/reference/annotated.jd +++ b/docs/html-ndk/ndk/reference/annotated.jd @@ -23,11 +23,3 @@ page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css" </table> </div><!-- directory --> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/asset__manager_8h.jd b/docs/html-ndk/ndk/reference/asset__manager_8h.jd index 140af54..88d8dea 100644 --- a/docs/html-ndk/ndk/reference/asset__manager_8h.jd +++ b/docs/html-ndk/ndk/reference/asset__manager_8h.jd @@ -73,11 +73,3 @@ Functions</h2></td></tr> <tr class="separator:ga20344cb952a77fa1004f592fb1b55124"><td class="memSeparator" colspan="2"> </td></tr> </table> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/asset__manager__jni_8h.jd b/docs/html-ndk/ndk/reference/asset__manager__jni_8h.jd index 20fb48d..8aace05 100644 --- a/docs/html-ndk/ndk/reference/asset__manager__jni_8h.jd +++ b/docs/html-ndk/ndk/reference/asset__manager__jni_8h.jd @@ -23,11 +23,3 @@ Functions</h2></td></tr> <tr class="separator:gadfd6537af41577735bcaee52120127f4"><td class="memSeparator" colspan="2"> </td></tr> </table> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/bitmap_8h.jd b/docs/html-ndk/ndk/reference/bitmap_8h.jd index b2f999e..518cab1 100644 --- a/docs/html-ndk/ndk/reference/bitmap_8h.jd +++ b/docs/html-ndk/ndk/reference/bitmap_8h.jd @@ -59,11 +59,3 @@ Functions</h2></td></tr> <tr class="separator:ga4aca91f37baddd42d0051dca8179d4ed"><td class="memSeparator" colspan="2"> </td></tr> </table> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/classes.jd b/docs/html-ndk/ndk/reference/classes.jd index 3e97e5e..e0ec721 100644 --- a/docs/html-ndk/ndk/reference/classes.jd +++ b/docs/html-ndk/ndk/reference/classes.jd @@ -18,11 +18,3 @@ page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css" </table> <div class="qindex"><a class="qindex" href="#letter_A">A</a></div> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/configuration_8h.jd b/docs/html-ndk/ndk/reference/configuration_8h.jd index 3edcb8a..3f5f07c 100644 --- a/docs/html-ndk/ndk/reference/configuration_8h.jd +++ b/docs/html-ndk/ndk/reference/configuration_8h.jd @@ -220,11 +220,3 @@ Functions</h2></td></tr> <tr class="separator:gafd2bb31057c8d57efcea7603458d2a8d"><td class="memSeparator" colspan="2"> </td></tr> </table> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/deprecated.jd b/docs/html-ndk/ndk/reference/deprecated.jd index 420c93b..0e69db6 100644 --- a/docs/html-ndk/ndk/reference/deprecated.jd +++ b/docs/html-ndk/ndk/reference/deprecated.jd @@ -21,11 +21,3 @@ page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css" <dd>This flag has no effect. </dd> </dl> </div></div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/dir_035c76f7235f5f563d38e3ab90cb9716.jd b/docs/html-ndk/ndk/reference/dir_035c76f7235f5f563d38e3ab90cb9716.jd index 6126149..025427a 100644 --- a/docs/html-ndk/ndk/reference/dir_035c76f7235f5f563d38e3ab90cb9716.jd +++ b/docs/html-ndk/ndk/reference/dir_035c76f7235f5f563d38e3ab90cb9716.jd @@ -47,11 +47,3 @@ Files</h2></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/dir_d44c64559bbebec7f509842c48db8b23.jd b/docs/html-ndk/ndk/reference/dir_d44c64559bbebec7f509842c48db8b23.jd index 26ed8f4..e42811e 100644 --- a/docs/html-ndk/ndk/reference/dir_d44c64559bbebec7f509842c48db8b23.jd +++ b/docs/html-ndk/ndk/reference/dir_d44c64559bbebec7f509842c48db8b23.jd @@ -19,11 +19,3 @@ Directories</h2></td></tr> <tr class="separator:"><td class="memSeparator" colspan="2"> </td></tr> </table> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/files.jd b/docs/html-ndk/ndk/reference/files.jd index 236e96a..1144d5b 100644 --- a/docs/html-ndk/ndk/reference/files.jd +++ b/docs/html-ndk/ndk/reference/files.jd @@ -28,11 +28,3 @@ page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css" </table> </div><!-- directory --> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/functions.jd b/docs/html-ndk/ndk/reference/functions.jd index 4a86039..fade0d5 100644 --- a/docs/html-ndk/ndk/reference/functions.jd +++ b/docs/html-ndk/ndk/reference/functions.jd @@ -325,11 +325,3 @@ page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css" </li> </ul> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/functions_vars.jd b/docs/html-ndk/ndk/reference/functions_vars.jd index c2c53d6..129c7ec 100644 --- a/docs/html-ndk/ndk/reference/functions_vars.jd +++ b/docs/html-ndk/ndk/reference/functions_vars.jd @@ -325,11 +325,3 @@ page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css" </li> </ul> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/globals.jd b/docs/html-ndk/ndk/reference/globals.jd index 6cbbe54..cb6dc11 100644 --- a/docs/html-ndk/ndk/reference/globals.jd +++ b/docs/html-ndk/ndk/reference/globals.jd @@ -2292,11 +2292,3 @@ page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css" </li> </ul> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/globals_defs.jd b/docs/html-ndk/ndk/reference/globals_defs.jd index 64ef6c6..8d04efb 100644 --- a/docs/html-ndk/ndk/reference/globals_defs.jd +++ b/docs/html-ndk/ndk/reference/globals_defs.jd @@ -22,11 +22,3 @@ page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css" </li> </ul> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/globals_enum.jd b/docs/html-ndk/ndk/reference/globals_enum.jd index 7d885ea..7fd396e 100644 --- a/docs/html-ndk/ndk/reference/globals_enum.jd +++ b/docs/html-ndk/ndk/reference/globals_enum.jd @@ -10,11 +10,3 @@ page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css" </li> </ul> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/globals_eval.jd b/docs/html-ndk/ndk/reference/globals_eval.jd index 8296358..e1399c7 100644 --- a/docs/html-ndk/ndk/reference/globals_eval.jd +++ b/docs/html-ndk/ndk/reference/globals_eval.jd @@ -1650,11 +1650,3 @@ page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css" </li> </ul> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/globals_eval_w.jd b/docs/html-ndk/ndk/reference/globals_eval_w.jd index ab9cfe9..c996d30 100644 --- a/docs/html-ndk/ndk/reference/globals_eval_w.jd +++ b/docs/html-ndk/ndk/reference/globals_eval_w.jd @@ -18,11 +18,3 @@ page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css" </li> </ul> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/globals_func.jd b/docs/html-ndk/ndk/reference/globals_func.jd index b6073e6..ae48353 100644 --- a/docs/html-ndk/ndk/reference/globals_func.jd +++ b/docs/html-ndk/ndk/reference/globals_func.jd @@ -549,11 +549,3 @@ page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css" </li> </ul> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/globals_type.jd b/docs/html-ndk/ndk/reference/globals_type.jd index 2659971..99fa859 100644 --- a/docs/html-ndk/ndk/reference/globals_type.jd +++ b/docs/html-ndk/ndk/reference/globals_type.jd @@ -88,11 +88,3 @@ page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css" </li> </ul> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/globals_vars.jd b/docs/html-ndk/ndk/reference/globals_vars.jd index f538a6f..e6bd2a4 100644 --- a/docs/html-ndk/ndk/reference/globals_vars.jd +++ b/docs/html-ndk/ndk/reference/globals_vars.jd @@ -10,11 +10,3 @@ page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css" </li> </ul> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/globals_w.jd b/docs/html-ndk/ndk/reference/globals_w.jd index 0bb34db..b72e8c2 100644 --- a/docs/html-ndk/ndk/reference/globals_w.jd +++ b/docs/html-ndk/ndk/reference/globals_w.jd @@ -18,11 +18,3 @@ page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css" </li> </ul> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/group___asset.jd b/docs/html-ndk/ndk/reference/group___asset.jd index 300bc87..c2f9067 100644 --- a/docs/html-ndk/ndk/reference/group___asset.jd +++ b/docs/html-ndk/ndk/reference/group___asset.jd @@ -589,11 +589,3 @@ Functions</h2></td></tr> </div> </div> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/group___bitmap.jd b/docs/html-ndk/ndk/reference/group___bitmap.jd index 045b550..2f2b199 100644 --- a/docs/html-ndk/ndk/reference/group___bitmap.jd +++ b/docs/html-ndk/ndk/reference/group___bitmap.jd @@ -228,11 +228,3 @@ Functions</h2></td></tr> </div> </div> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/group___configuration.jd b/docs/html-ndk/ndk/reference/group___configuration.jd index 93d0fab..708722e 100644 --- a/docs/html-ndk/ndk/reference/group___configuration.jd +++ b/docs/html-ndk/ndk/reference/group___configuration.jd @@ -1555,11 +1555,3 @@ Functions</h2></td></tr> </div> </div> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/group___input.jd b/docs/html-ndk/ndk/reference/group___input.jd index 42ff102..55db956 100644 --- a/docs/html-ndk/ndk/reference/group___input.jd +++ b/docs/html-ndk/ndk/reference/group___input.jd @@ -3680,11 +3680,3 @@ Functions</h2></td></tr> </div> </div> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/group___looper.jd b/docs/html-ndk/ndk/reference/group___looper.jd index 9720baf..bc845f8 100644 --- a/docs/html-ndk/ndk/reference/group___looper.jd +++ b/docs/html-ndk/ndk/reference/group___looper.jd @@ -440,11 +440,3 @@ Functions</h2></td></tr> </div> </div> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/group___native_activity.jd b/docs/html-ndk/ndk/reference/group___native_activity.jd index aa8c96c..d0b2178 100644 --- a/docs/html-ndk/ndk/reference/group___native_activity.jd +++ b/docs/html-ndk/ndk/reference/group___native_activity.jd @@ -729,11 +729,3 @@ Variables</h2></td></tr> </div> </div> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/group___sensor.jd b/docs/html-ndk/ndk/reference/group___sensor.jd index 1ce4f03..41a0aec 100644 --- a/docs/html-ndk/ndk/reference/group___sensor.jd +++ b/docs/html-ndk/ndk/reference/group___sensor.jd @@ -923,11 +923,3 @@ Functions</h2></td></tr> </div> </div> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/group___storage.jd b/docs/html-ndk/ndk/reference/group___storage.jd index 674bc48..e29303a 100644 --- a/docs/html-ndk/ndk/reference/group___storage.jd +++ b/docs/html-ndk/ndk/reference/group___storage.jd @@ -448,11 +448,3 @@ Functions</h2></td></tr> </div> </div> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/input_8h.jd b/docs/html-ndk/ndk/reference/input_8h.jd index b614f91..855a346 100644 --- a/docs/html-ndk/ndk/reference/input_8h.jd +++ b/docs/html-ndk/ndk/reference/input_8h.jd @@ -372,11 +372,3 @@ Functions</h2></td></tr> <tr class="separator:ga17e87e0f35d47d729eac31a0dfb1ac33"><td class="memSeparator" colspan="2"> </td></tr> </table> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/keycodes_8h.jd b/docs/html-ndk/ndk/reference/keycodes_8h.jd index b739820..338a361 100644 --- a/docs/html-ndk/ndk/reference/keycodes_8h.jd +++ b/docs/html-ndk/ndk/reference/keycodes_8h.jd @@ -348,11 +348,3 @@ Enumerations</h2></td></tr> <tr class="separator:ga6b7b47dd702d9e331586d485013fd1ea"><td class="memSeparator" colspan="2"> </td></tr> </table> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/looper_8h.jd b/docs/html-ndk/ndk/reference/looper_8h.jd index cb4dbdd..9171631 100644 --- a/docs/html-ndk/ndk/reference/looper_8h.jd +++ b/docs/html-ndk/ndk/reference/looper_8h.jd @@ -68,11 +68,3 @@ Functions</h2></td></tr> <tr class="separator:gaf7d68ed05698b251489b4f6c8e54daad"><td class="memSeparator" colspan="2"> </td></tr> </table> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/modules.jd b/docs/html-ndk/ndk/reference/modules.jd index cebd7af..2da7307 100644 --- a/docs/html-ndk/ndk/reference/modules.jd +++ b/docs/html-ndk/ndk/reference/modules.jd @@ -21,11 +21,3 @@ page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css" </table> </div><!-- directory --> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/native__activity_8h.jd b/docs/html-ndk/ndk/reference/native__activity_8h.jd index b88d821..147ffdb 100644 --- a/docs/html-ndk/ndk/reference/native__activity_8h.jd +++ b/docs/html-ndk/ndk/reference/native__activity_8h.jd @@ -72,11 +72,3 @@ Variables</h2></td></tr> <tr class="separator:ga02791d0d490839055169f39fdc905c5e"><td class="memSeparator" colspan="2"> </td></tr> </table> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/native__window_8h.jd b/docs/html-ndk/ndk/reference/native__window_8h.jd index a194a23..75f9469 100644 --- a/docs/html-ndk/ndk/reference/native__window_8h.jd +++ b/docs/html-ndk/ndk/reference/native__window_8h.jd @@ -59,11 +59,3 @@ Functions</h2></td></tr> <tr class="separator:ga4dc9b687ead9034fbc11bf2d90f203f9"><td class="memSeparator" colspan="2"> </td></tr> </table> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/native__window__jni_8h.jd b/docs/html-ndk/ndk/reference/native__window__jni_8h.jd index e937fdf..bffbc03 100644 --- a/docs/html-ndk/ndk/reference/native__window__jni_8h.jd +++ b/docs/html-ndk/ndk/reference/native__window__jni_8h.jd @@ -23,11 +23,3 @@ Functions</h2></td></tr> <tr class="separator:ga774d0a87ec496b3940fcddccbc31fd9d"><td class="memSeparator" colspan="2"> </td></tr> </table> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/obb_8h.jd b/docs/html-ndk/ndk/reference/obb_8h.jd index 53ed28e..a856d4ee 100644 --- a/docs/html-ndk/ndk/reference/obb_8h.jd +++ b/docs/html-ndk/ndk/reference/obb_8h.jd @@ -43,11 +43,3 @@ Functions</h2></td></tr> <tr class="separator:ga68d916570c756da9fd0d9096358300eb"><td class="memSeparator" colspan="2"> </td></tr> </table> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/pages.jd b/docs/html-ndk/ndk/reference/pages.jd index 16fc5b0..2d7ece8 100644 --- a/docs/html-ndk/ndk/reference/pages.jd +++ b/docs/html-ndk/ndk/reference/pages.jd @@ -14,11 +14,3 @@ page.customHeadTag=<link rel="stylesheet" type="text/css" href="doxygen-dac.css" </table> </div><!-- directory --> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/rect_8h.jd b/docs/html-ndk/ndk/reference/rect_8h.jd index d115ea9..85787b5 100644 --- a/docs/html-ndk/ndk/reference/rect_8h.jd +++ b/docs/html-ndk/ndk/reference/rect_8h.jd @@ -28,11 +28,3 @@ Typedefs</h2></td></tr> <tr class="separator:gaa984a498f0e146ac57c6022a323423cf"><td class="memSeparator" colspan="2"> </td></tr> </table> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/sensor_8h.jd b/docs/html-ndk/ndk/reference/sensor_8h.jd index d762797..a537f4f 100644 --- a/docs/html-ndk/ndk/reference/sensor_8h.jd +++ b/docs/html-ndk/ndk/reference/sensor_8h.jd @@ -141,11 +141,3 @@ Functions</h2></td></tr> <tr class="separator:ga0ff4118e400bedac62be6b79e9e0f924"><td class="memSeparator" colspan="2"> </td></tr> </table> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/storage__manager_8h.jd b/docs/html-ndk/ndk/reference/storage__manager_8h.jd index 00d04e8..6048d84 100644 --- a/docs/html-ndk/ndk/reference/storage__manager_8h.jd +++ b/docs/html-ndk/ndk/reference/storage__manager_8h.jd @@ -57,11 +57,3 @@ Functions</h2></td></tr> <tr class="separator:gad5c90305d627e0c768da37cb3e9f08c4"><td class="memSeparator" colspan="2"> </td></tr> </table> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/struct_a_heart_rate_event.jd b/docs/html-ndk/ndk/reference/struct_a_heart_rate_event.jd index d15c06b..1cd2a2d 100644 --- a/docs/html-ndk/ndk/reference/struct_a_heart_rate_event.jd +++ b/docs/html-ndk/ndk/reference/struct_a_heart_rate_event.jd @@ -49,11 +49,3 @@ Data Fields</h2></td></tr> <li><a class="el" href="sensor_8h.html">sensor.h</a></li> </ul> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/struct_a_meta_data_event.jd b/docs/html-ndk/ndk/reference/struct_a_meta_data_event.jd index 1c0ca05..352b5ba 100644 --- a/docs/html-ndk/ndk/reference/struct_a_meta_data_event.jd +++ b/docs/html-ndk/ndk/reference/struct_a_meta_data_event.jd @@ -49,11 +49,3 @@ Data Fields</h2></td></tr> <li><a class="el" href="sensor_8h.html">sensor.h</a></li> </ul> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/struct_a_native_activity.jd b/docs/html-ndk/ndk/reference/struct_a_native_activity.jd index ee4fdca..6d8124b 100644 --- a/docs/html-ndk/ndk/reference/struct_a_native_activity.jd +++ b/docs/html-ndk/ndk/reference/struct_a_native_activity.jd @@ -175,11 +175,3 @@ Data Fields</h2></td></tr> <li><a class="el" href="native__activity_8h.html">native_activity.h</a></li> </ul> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/struct_a_native_activity_callbacks.jd b/docs/html-ndk/ndk/reference/struct_a_native_activity_callbacks.jd index dce9d95..45b8e5e 100644 --- a/docs/html-ndk/ndk/reference/struct_a_native_activity_callbacks.jd +++ b/docs/html-ndk/ndk/reference/struct_a_native_activity_callbacks.jd @@ -263,11 +263,3 @@ Data Fields</h2></td></tr> <li><a class="el" href="native__activity_8h.html">native_activity.h</a></li> </ul> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/struct_a_native_window___buffer.jd b/docs/html-ndk/ndk/reference/struct_a_native_window___buffer.jd index f5a8650..a2008fd 100644 --- a/docs/html-ndk/ndk/reference/struct_a_native_window___buffer.jd +++ b/docs/html-ndk/ndk/reference/struct_a_native_window___buffer.jd @@ -108,11 +108,3 @@ Data Fields</h2></td></tr> <li><a class="el" href="native__window_8h.html">native_window.h</a></li> </ul> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/struct_a_rect.jd b/docs/html-ndk/ndk/reference/struct_a_rect.jd index 96a597f..4b9bb67 100644 --- a/docs/html-ndk/ndk/reference/struct_a_rect.jd +++ b/docs/html-ndk/ndk/reference/struct_a_rect.jd @@ -84,11 +84,3 @@ Data Fields</h2></td></tr> <li><a class="el" href="rect_8h.html">rect.h</a></li> </ul> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/struct_a_sensor_event.jd b/docs/html-ndk/ndk/reference/struct_a_sensor_event.jd index 9e71233..3c6e49d 100644 --- a/docs/html-ndk/ndk/reference/struct_a_sensor_event.jd +++ b/docs/html-ndk/ndk/reference/struct_a_sensor_event.jd @@ -362,11 +362,3 @@ Data Fields</h2></td></tr> <li><a class="el" href="sensor_8h.html">sensor.h</a></li> </ul> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/struct_a_sensor_vector.jd b/docs/html-ndk/ndk/reference/struct_a_sensor_vector.jd index 39c76ab..397ad6d 100644 --- a/docs/html-ndk/ndk/reference/struct_a_sensor_vector.jd +++ b/docs/html-ndk/ndk/reference/struct_a_sensor_vector.jd @@ -170,11 +170,3 @@ Data Fields</h2></td></tr> <li><a class="el" href="sensor_8h.html">sensor.h</a></li> </ul> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/struct_a_uncalibrated_event.jd b/docs/html-ndk/ndk/reference/struct_a_uncalibrated_event.jd index b4e11da..985b0b9 100644 --- a/docs/html-ndk/ndk/reference/struct_a_uncalibrated_event.jd +++ b/docs/html-ndk/ndk/reference/struct_a_uncalibrated_event.jd @@ -169,11 +169,3 @@ Data Fields</h2></td></tr> <li><a class="el" href="sensor_8h.html">sensor.h</a></li> </ul> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/struct_android_bitmap_info.jd b/docs/html-ndk/ndk/reference/struct_android_bitmap_info.jd index 1399838..f995b56 100644 --- a/docs/html-ndk/ndk/reference/struct_android_bitmap_info.jd +++ b/docs/html-ndk/ndk/reference/struct_android_bitmap_info.jd @@ -98,11 +98,3 @@ Data Fields</h2></td></tr> <li><a class="el" href="bitmap_8h.html">bitmap.h</a></li> </ul> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html-ndk/ndk/reference/window_8h.jd b/docs/html-ndk/ndk/reference/window_8h.jd index 42e98d9..39e01dc 100644 --- a/docs/html-ndk/ndk/reference/window_8h.jd +++ b/docs/html-ndk/ndk/reference/window_8h.jd @@ -51,11 +51,3 @@ Enumerations</h2></td></tr> <tr class="separator:gaf715e26dfffd1f8de1c18449e2770cff"><td class="memSeparator" colspan="2"> </td></tr> </table> </div><!-- contents --> -<!-- start footer part --> -<hr class="footer"/><address class="footer"><small> -Generated on Thu May 21 2015 01:26:49 for NDK API by  <a href="http://www.doxygen.org/index.html"> -<img class="footer" src="doxygen.png" alt="doxygen"/> -</a> 1.8.6 -</small></address> -</body> -</html> diff --git a/docs/html/about/dashboards/index.jd b/docs/html/about/dashboards/index.jd index ab3069e..2397dfe 100644 --- a/docs/html/about/dashboards/index.jd +++ b/docs/html/about/dashboards/index.jd @@ -57,12 +57,12 @@ Platform Versions</a>.</p> </div> -<p style="clear:both"><em>Data collected during a 7-day period ending on May 4, 2015. +<p style="clear:both"><em>Data collected during a 7-day period ending on June 1, 2015. <br/>Any versions with less than 0.1% distribution are not shown.</em> </p> -<p class="note"><strong>Note:</strong> Because this data is gathered from the new Google Play -Store app, which supports Android 2.2 and above, devices running older versions are not included. +<p class="note"><strong>Note:</strong> This data is gathered from the new Google Play +Store app, which supports Android 2.2 and above, so devices running older versions are not included. However, in August, 2013, versions older than Android 2.2 accounted for about 1% of devices that <em>checked in</em> to Google servers (not those that actually visited Google Play Store). </p> @@ -88,7 +88,7 @@ Screens</a>.</p> </div> -<p style="clear:both"><em>Data collected during a 7-day period ending on May 4, 2015. +<p style="clear:both"><em>Data collected during a 7-day period ending on June 1, 2015. <br/>Any screen configurations with less than 0.1% distribution are not shown.</em></p> @@ -108,7 +108,7 @@ support for any lower version (for example, support for version 2.0 also implies <img alt="" style="float:right" -src="//chart.googleapis.com/chart?chl=GL%202.0%7CGL%203.0%7CGL%203.1&chf=bg%2Cs%2C00000000&chd=t%3A64.1%2C34.5%2C1.4&chco=c4df9b%2C6fad0c&cht=p&chs=400x250"> +src="//chart.googleapis.com/chart?chl=GL%202.0%7CGL%203.0%7CGL%203.1&chf=bg%2Cs%2C00000000&chd=t%3A63.0%2C35.0%2C2.0&chco=c4df9b%2C6fad0c&cht=p&chs=400x250"> <p>To declare which version of OpenGL ES your application requires, you should use the {@code android:glEsVersion} attribute of the <a @@ -126,21 +126,21 @@ uses.</p> </tr> <tr> <td>2.0</td> -<td>64.1%</td> +<td>63.0%</td> </tr> <tr> <td>3.0</td> -<td>34.5%</td> +<td>35.0%</td> </tr> <tr> <td>3.1</td> -<td>1.4%</td> +<td>2.0%</td> </tr> </table> -<p style="clear:both"><em>Data collected during a 7-day period ending on May 4, 2015</em></p> +<p style="clear:both"><em>Data collected during a 7-day period ending on June 1, 2015</em></p> @@ -158,7 +158,7 @@ uses.</p> var VERSION_DATA = [ { - "chart": "//chart.googleapis.com/chart?chf=bg%2Cs%2C00000000&chd=t%3A0.3%2C5.7%2C5.3%2C39.2%2C39.8%2C9.7&chl=Froyo%7CGingerbread%7CIce%20Cream%20Sandwich%7CJelly%20Bean%7CKitKat%7CLollipop&chs=500x250&cht=p&chco=c4df9b%2C6fad0c", + "chart": "//chart.googleapis.com/chart?chco=c4df9b%2C6fad0c&cht=p&chs=500x250&chl=Froyo%7CGingerbread%7CIce%20Cream%20Sandwich%7CJelly%20Bean%7CKitKat%7CLollipop&chd=t%3A0.3%2C5.6%2C5.1%2C37.4%2C39.2%2C12.4&chf=bg%2Cs%2C00000000", "data": [ { "api": 8, @@ -168,42 +168,42 @@ var VERSION_DATA = { "api": 10, "name": "Gingerbread", - "perc": "5.7" + "perc": "5.6" }, { "api": 15, "name": "Ice Cream Sandwich", - "perc": "5.3" + "perc": "5.1" }, { "api": 16, "name": "Jelly Bean", - "perc": "15.6" + "perc": "14.7" }, { "api": 17, "name": "Jelly Bean", - "perc": "18.1" + "perc": "17.5" }, { "api": 18, "name": "Jelly Bean", - "perc": "5.5" + "perc": "5.2" }, { "api": 19, "name": "KitKat", - "perc": "39.8" + "perc": "39.2" }, { "api": 21, "name": "Lollipop", - "perc": "9.0" + "perc": "11.6" }, { "api": 22, "name": "Lollipop", - "perc": "0.7" + "perc": "0.8" } ] } @@ -222,23 +222,23 @@ var SCREEN_DATA = "xhdpi": "0.6" }, "Normal": { - "hdpi": "39.5", + "hdpi": "39.9", "mdpi": "7.6", "tvdpi": "0.1", "xhdpi": "19.8", - "xxhdpi": "16.2" + "xxhdpi": "15.9" }, "Small": { "ldpi": "4.1" }, "Xlarge": { "hdpi": "0.3", - "mdpi": "3.2", + "mdpi": "3.1", "xhdpi": "0.6" } }, - "densitychart": "//chart.googleapis.com/chart?chf=bg%2Cs%2C00000000&chd=t%3A4.5%2C15.6%2C2.3%2C40.4%2C21.0%2C16.2&chl=ldpi%7Cmdpi%7Ctvdpi%7Chdpi%7Cxhdpi%7Cxxhdpi&chs=400x250&cht=p&chco=c4df9b%2C6fad0c", - "layoutchart": "//chart.googleapis.com/chart?chf=bg%2Cs%2C00000000&chd=t%3A4.1%2C8.6%2C83.2%2C4.1&chl=Xlarge%7CLarge%7CNormal%7CSmall&chs=400x250&cht=p&chco=c4df9b%2C6fad0c" + "densitychart": "//chart.googleapis.com/chart?chco=c4df9b%2C6fad0c&cht=p&chs=400x250&chl=ldpi%7Cmdpi%7Ctvdpi%7Chdpi%7Cxhdpi%7Cxxhdpi&chd=t%3A4.5%2C15.5%2C2.3%2C40.8%2C21.0%2C15.9&chf=bg%2Cs%2C00000000", + "layoutchart": "//chart.googleapis.com/chart?chco=c4df9b%2C6fad0c&cht=p&chs=400x250&chl=Xlarge%7CLarge%7CNormal%7CSmall&chd=t%3A4.0%2C8.6%2C83.3%2C4.1&chf=bg%2Cs%2C00000000" } ]; diff --git a/docs/html/distribute/googleplay/families/about.jd b/docs/html/distribute/googleplay/families/about.jd index 38738b1..a3ef157 100644 --- a/docs/html/distribute/googleplay/families/about.jd +++ b/docs/html/distribute/googleplay/families/about.jd @@ -7,81 +7,134 @@ page.tags="families" @jd:body <p> - If you've built great apps designed for kids or families, the family discovery experience - on Google Play is a great way to surface them to parents. + If you've built great apps designed for kids or families, the family + discovery experience on Google Play is a great way to surface them to + parents. </p> -<p>Developers are invited to opt-in these apps and games to the new Designed for +<p> + Developers are invited to opt-in these apps and games to the new Designed for Families program. Apps that meet the <a href= "https://support.google.com/googleplay/android-developer/answer/6184502">program - requirements</a> will be featured through Google Play's family-friendly browse - and search experiences so that parents can find suitable, trusted, high-quality - apps and games more easily. + requirements</a> will be featured through Google Play's family-friendly + browse and search experiences so that parents can find suitable, trusted, + high-quality apps and games more easily. </p> -<img src="{@docRoot}distribute/images/about-dff-sm.jpg"> +<div class="figure-center"> +<iframe width="640" height="360" src="https://www.youtube.com/embed/QDM52bblwlg?rel=0&controls=0&showinfo=0" +frameborder="0" allowfullscreen></iframe> +</div> <p> -Opt-in your apps and games to Designed for Families from the <strong>All Applications</strong> page -in the Developer Console, under <strong>Pricing and Distribution</strong>. For more information on - opting-in, visit the Google Play Developer <a href="https://support.google.com/googleplay/android-developer/answer/6231938">Help Center</a>. + Opt-in your apps and games to Designed for Families from the <strong>All + Applications</strong> page in the <a href= + "https://play.google.com/apps/publish/">Developer Console</a>, under + <strong>Pricing and Distribution</strong>. For more information on opting-in, + visit the Google Play Developer <a href= + "https://support.google.com/googleplay/android-developer/answer/6231938">Help + Center</a>. </p> <h2 id="benefits">Benefits</h2> - <div class="figure" style="width:300px;"> + <div class="figure" style="width:300px;"> + <img src="{@docRoot}images/distribute/dff-browse.png" style="width:300px"> + <p class="figure-caption" style="text-align:center"> + New browsing categories give you improved visibility to parents. + </p> +</div> - <img src="{@docRoot}images/distribute/dff-browse.png" style="width:300px"> - <p class="figure-caption" style="text-align:center">New browsing categories give you improved visibility to parents.</p> - </div> - <p> -Designed for Families expands the visibility of your family content on Google Play, helping parents easily find your family-friendly apps and games throughout the store. And new features create a trusted environment that empowers parents to make informed desicions and engage with your content.</p> - - - - - <h3>Search</h3> - <p>Only apps and games opted-in to the Designed for Families program will show up in searches initiated from the Family section in Apps Home. They’ll also be more visible when users search for family or kid related content from anywhere in the Play store.</p> - - <h3>Browse</h3> - <p>The Family star button on Apps and Games Home points to an enhanced discovery experience for parents looking for family appropriate content. The new Family section includes uniquely merchandised content, new categories, and age-based browsing. Participating apps will receive this additional visibility on top of their existing categories, rankings, and reviews elsewhere on the Google Play store.</p> - - - - - <h3>Character pages</h3> + Designed for Families expands the visibility of your family content on Google + Play, helping parents easily find your family-friendly apps and games + throughout the store. And new features create a trusted environment that + empowers parents to make informed desicions and engage with your content. +</p> +<h3> + Search +</h3> +<p> + Only apps and games opted-in to the Designed for Families program will show + up in searches initiated from the Family section in Apps Home. They’ll also + be more visible when users search for family or kid related content from + anywhere in the Play store. +</p> - <div class="figure" style="width:300px;"> +<h3> + Browse +</h3> - <img src="{@docRoot}images/distribute/dff-character-group.png" style="width:500px"> - <p class="figure-caption" style="text-align:center">Character pages let parents discover your content based on familiar brands and characters.</p> - </div> +<p> + The Family star button on Apps and Games Home points to an enhanced discovery + experience for parents looking for family appropriate content. The new Family + section includes uniquely merchandised content, new categories, and age-based + browsing. Participating apps will receive this additional visibility on top + of their existing categories, rankings, and reviews elsewhere on the Google + Play store. +</p> +<h3> + Character pages +</h3> - <p>Parents can now discover content for popular characters from around the globe in one place, including apps, games, movies, tv shows, books, and even music. This provides a powerful way for parents to discover content from familiar brands and beloved characters, and allows you to reach a highly relevant and targeted audience. </p> +<div class="figure" style="width:300px;"> + <img src="{@docRoot}images/distribute/dff-character-group.png" style= + "width:500px"> + <p class="figure-caption" style="text-align:center"> + Character pages let parents discover your content based on familiar brands + and characters. + </p> +</div> - <h3>Merchandising</h3> - <p>The family sections include their own merchandised collections. The themed collections on these pages are curated to ensure quality and limited only to content accepted into the Designed for Families program.</p> +<p> + Parents can now discover content for popular characters from around the globe + in one place, including apps, games, movies, tv shows, books, and even music. + This provides a powerful way for parents to discover content from familiar + brands and beloved characters, and allows you to reach a highly relevant and + targeted audience. +</p> - <h3>Badging</h3> - <p>Apps participating in Designed for Families are marked with the family star badge, which reflects the target age you select for your apps and serves as a signal of quality for parents.</p> +<h3> + Merchandising +</h3> +<p> + The family sections include their own merchandised collections. The themed + collections on these pages are curated to ensure quality and limited only to + content accepted into the Designed for Families program. +</p> - <div class="figure" style="width:300px;"> +<h3> + Badging +</h3> - <img src="{@docRoot}images/distribute/dff-badging.png" style="width:300px"> - <p class="figure-caption" style="text-align:center">Participating apps are marked with the family star badge.</p> - </div> +<p> + Apps participating in Designed for Families are marked with the family star + badge, which reflects the target age you select for your apps and serves as a + signal of quality for parents. +</p> +<div class="figure" style="width:300px;"> + <img src="{@docRoot}images/distribute/dff-badging.png" style="width:300px"> + <p class="figure-caption" style="text-align:center"> + Participating apps are marked with the family star badge. + </p> +</div> -<h2 id="elibibility">Eligibility</h2> +<h2 id="elibibility"> + Eligibility +</h2> <p> -The Designed for Families program is designed to be inclusive of apps that are made for kids as well as those that can be enjoyed by the entire family. General audience apps that have no specific benefit or relevance for audiences under the age of thirteen will not be accepted into the program. To participate, there are specific guidelines and policies your apps need to meet, which are assessed in an app content review. - + The Designed for Families program is designed to be inclusive of apps that + are made for kids as well as those that can be enjoyed by the entire family. + General audience apps that have no specific benefit or relevance for + audiences under the age of thirteen will not be accepted into the program. To + participate, there are specific guidelines and policies your apps need to + meet, which are assessed in an app content review. </p> <p> @@ -102,12 +155,19 @@ The Designed for Families program is designed to be inclusive of apps that are m </p> <p> -To learn how to opt-in and find more details about the program, visit the Google Play Developer <a href="https://support.google.com/googleplay/android-developer/answer/6231938">Help Center</a>. + To learn how to opt-in and find more details about the program, visit the + Google Play Developer <a href= + "https://support.google.com/googleplay/android-developer/answer/6231938">Help + Center</a>. +</p> -<h2 id="contact">Stay in Touch</h2> +<h2 id="contact"> + Stay in Touch +</h2> -<p>If you'd like to receive occasional emails with news relating to the Designed for Families -program and Google Play opportunities, sign up using the <a -href="https://docs.google.com/forms/d/1EtvUWqlkxS6RxHJjeI-3-7uzdbIZx6n9Cocy2D369B8/viewform">Designed -for Families Interest Form</a> +<p> + If you'd like to receive occasional emails with news relating to the Designed + for Families program and Google Play opportunities, sign up using the + <a href="https://docs.google.com/forms/d/1EtvUWqlkxS6RxHJjeI-3-7uzdbIZx6n9Cocy2D369B8/viewform"> + Designed for Families Interest Form</a> </p>
\ No newline at end of file diff --git a/docs/html/distribute/googleplay/work/about.jd b/docs/html/distribute/googleplay/work/about.jd index bd0f72b..20fec7a 100644 --- a/docs/html/distribute/googleplay/work/about.jd +++ b/docs/html/distribute/googleplay/work/about.jd @@ -55,7 +55,7 @@ page.image=images/distribute/gpfw.jpg <li>Follow best practices for security and manage user data properly. Businesses are more conscious of data security and employee productivity, especially when it comes to features that share information with other services.</li> - <li>Support the <a href="{@docRoot}training/enterprise/app-restrictions.html">App Configuration framework to let an administrator remotely configure app settings such as: + <li>Support the <a href="{@docRoot}training/enterprise/app-restrictions.html">App Configuration framework</a> to let an administrator remotely configure app settings such as: <ul> <li>Server address and protocol settings</li> <li>The ability to switch features on and off</li> diff --git a/docs/html/distribute/index.jd b/docs/html/distribute/index.jd index c8928df..a6ece63 100644 --- a/docs/html/distribute/index.jd +++ b/docs/html/distribute/index.jd @@ -43,11 +43,11 @@ page.metaDescription=The most visited store in the world for Android apps. Cloud <span class="dac-sprite dac-auto-chevron"></span> Get started </a></li> - <li class="dac-section-link"><a href="/distribute/essentials/index.html#quality-guidelines"> + <li class="dac-section-link"><a href="/distribute/essentials/index.html#guidelines"> <span class="dac-sprite dac-auto-chevron"></span> Quality guidelines </a></li> - <li class="dac-section-link"><a href="/distribute/essentials/index.html#tools-and-resources"> + <li class="dac-section-link"><a href="/distribute/essentials/index.html#tools"> <span class="dac-sprite dac-auto-chevron"></span> Resources & tools </a></li> diff --git a/docs/html/distribute/users/app-invites.jd b/docs/html/distribute/users/app-invites.jd index ec9579d..e19e6eb 100644 --- a/docs/html/distribute/users/app-invites.jd +++ b/docs/html/distribute/users/app-invites.jd @@ -1,7 +1,7 @@ page.title=Smarter App Invites page.metaDescription=Tap into your existing user base to increase downloads and increase conversions. page.tags="google", "identity", "signin" -page.image=distribute/images/advertising.jpg +page.image=images/cards/card-app-invites_16-9_2x.png @jd:body diff --git a/docs/html/distribute/users/house-ads.jd b/docs/html/distribute/users/house-ads.jd index d662fb2..ec73393 100644 --- a/docs/html/distribute/users/house-ads.jd +++ b/docs/html/distribute/users/house-ads.jd @@ -1,4 +1,4 @@ -page.title=Cross-Sell to Users with House Ads +page.title=Cross-Sell with House Ads page.metaDescription=Tap into your existing user base to increase downloads and increase conversions. page.tags="google", "identity", "signin" page.image=distribute/images/advertising.jpg diff --git a/docs/html/distribute/users/index.jd b/docs/html/distribute/users/index.jd index 4da4077..23f08c4 100644 --- a/docs/html/distribute/users/index.jd +++ b/docs/html/distribute/users/index.jd @@ -13,13 +13,13 @@ nonavpage=true <div class="resource-widget resource-flow-layout landing col-16" data-query="collection:distribute/users" data-cardSizes="6x6" - data-maxResults="9"> + data-maxResults="15"> </div> -<div class="resource-widget resource-flow-layout landing col-16" +<!--<div class="resource-widget resource-flow-layout landing col-16" data-query="collection:distribute/users" data-cardSizes="9x3" data-maxResults="16"> -</div> +</div>--> <!-- <h2>Related resources</h2> diff --git a/docs/html/google/index.jd b/docs/html/google/index.jd index e3b2ae1..a2a6c50 100644 --- a/docs/html/google/index.jd +++ b/docs/html/google/index.jd @@ -11,7 +11,7 @@ footer.hide=1 <div class="wrap"> <div class="cols dac-hero-content"> <div class="col-1of2 col-push-1of2 dac-hero-figure"> - <img class="dac-hero-image" src="/images/google/hero-play-services_2x.png" style="height:400px"> + <img class="dac-hero-image" src="{@docRoot}images/google/hero-play-services_2x.png" style="height:400px"> </div> <div class="col-1of2 col-pull-1of2"> <h1 class="dac-hero-title">Build better apps with Google</h1> @@ -21,11 +21,11 @@ footer.hide=1 <p class="dac-hero-description">Start by setting up the Google Play services library, then build with the APIs you need. </p> - <a class="dac-hero-cta" href="https://developers.google.com/android/guides/"> + <a class="dac-hero-cta" href="{@docRoot}google/play-services/index.html"> <span class="dac-sprite dac-auto-chevron"></span> Set up Google Play services </a><br> - <a class="dac-hero-cta" href="https://developers.google.com/android/reference/"> + <a class="dac-hero-cta" href="{@docRoot}reference/gms-packages.html"> <span class="dac-sprite dac-auto-chevron"></span> API Reference </a><br> @@ -72,6 +72,7 @@ footer.hide=1 <h2 class="norule">Videos</h2> <div class="resource-widget resource-flow-layout col-16" data-query="collection:google/landing/videos" + data-sortOrder="-timestamp" data-cardSizes="6x6" data-maxResults="3"></div> </div> diff --git a/docs/html/images/cards/card-app-invites_16-9_2x.png b/docs/html/images/cards/card-app-invites_16-9_2x.png Binary files differnew file mode 100644 index 0000000..e0da07e --- /dev/null +++ b/docs/html/images/cards/card-app-invites_16-9_2x.png diff --git a/docs/html/images/cards/card-app-linking_2x.png b/docs/html/images/cards/card-app-linking_2x.png Binary files differnew file mode 100644 index 0000000..abff805 --- /dev/null +++ b/docs/html/images/cards/card-app-linking_2x.png diff --git a/docs/html/images/cards/card-auto-backup_2x.png b/docs/html/images/cards/card-auto-backup_2x.png Binary files differnew file mode 100644 index 0000000..3c79ba9 --- /dev/null +++ b/docs/html/images/cards/card-auto-backup_2x.png diff --git a/docs/html/images/cards/card-test-performance_2x.png b/docs/html/images/cards/card-test-performance_2x.png Binary files differnew file mode 100644 index 0000000..fd949c8 --- /dev/null +++ b/docs/html/images/cards/card-test-performance_2x.png diff --git a/docs/html/images/google/hero-play-services_2x.png b/docs/html/images/google/hero-play-services_2x.png Binary files differindex 118e7a7..c9436f1 100644 --- a/docs/html/images/google/hero-play-services_2x.png +++ b/docs/html/images/google/hero-play-services_2x.png diff --git a/docs/html/images/permissions_check.png b/docs/html/images/permissions_check.png Binary files differnew file mode 100644 index 0000000..376d0fa --- /dev/null +++ b/docs/html/images/permissions_check.png diff --git a/docs/html/jd_collections.js b/docs/html/jd_collections.js index 46d81e5..cac93af 100644 --- a/docs/html/jd_collections.js +++ b/docs/html/jd_collections.js @@ -125,13 +125,14 @@ var RESOURCE_COLLECTIONS = { "https://developers.google.com/maps/documentation/android/", "https://developers.google.com/identity/sign-in/android/", "https://developers.google.com/mobile-ads-sdk/download", - "https://developers.google.com/gcm/android/", + "https://developers.google.com/cloud-messaging/gcm", "https://developers.google.com/app-indexing/" ] }, "google/landing/videos": { "title": "", "resources": [ + "https://www.youtube.com/watch?v=M3Udfu6qidk&list=PLWz5rJ2EKKc9Qk1_iCZNbBp6adYnJf9Vf", "https://www.youtube.com/watch?v=FOn64iqlphk&list=PLWz5rJ2EKKc9Qk1_iCZNbBp6adYnJf9Vf", "https://www.youtube.com/watch?v=F0Kh_RnSM0w&list=PLWz5rJ2EKKc9Qk1_iCZNbBp6adYnJf9Vf", "https://www.youtube.com/watch?v=fvtMtfCuEpw&list=PLWz5rJ2EKKc9Qk1_iCZNbBp6adYnJf9Vf" @@ -151,7 +152,7 @@ var RESOURCE_COLLECTIONS = { "https://www.udacity.com/course/ux-design-for-mobile-developers--ud849", "https://www.udacity.com/course/developing-android-apps--ud853", "https://www.udacity.com/course/android-performance--ud825", - "https://www.udacity.com/android-nanodegree", + "https://www.udacity.com/android", "https://www.udacity.com/course/advanced-android-app-development--ud855", "https://www.udacity.com/course/android-ubiquitous-computing--ud875", "https://www.udacity.com/course/google-play-services--ud876", @@ -160,12 +161,15 @@ var RESOURCE_COLLECTIONS = { "https://www.udacity.com/course/gradle-for-android-and-java--ud867" ] }, - "preview/landing/herolinks": { + "preview/landing/more": { "title": "", "resources": [ - "https://www.udacity.com/course/ux-design-for-mobile-developers--ud849", - "https://www.udacity.com/course/developing-android-apps--ud853", - "https://www.udacity.com/course/android-performance--ud825" + "preview/features/runtime-permissions.html", + "preview/behavior-changes.html", + "preview/backup/index.html", + "preview/features/app-linking.html", + "preview/testing/guide.html", + "preview/testing/performance.html", ] }, "distribute/landing/carousel": { @@ -974,9 +978,8 @@ var RESOURCE_COLLECTIONS = { "distribute/engage/gcm": { "title": "", "resources": [ - "google/gcm/index.html", - "http://developer.chrome.com/apps/cloudMessagingV2", - "http://www.youtube.com/watch?v=y76rjidm8cU" + "https://developers.google.com/cloud-messaging/gcm", + "https://developers.google.com/cloud-messaging/android/client", ] }, "distribute/engage/googleplaygames": { diff --git a/docs/html/jd_extras.js b/docs/html/jd_extras.js index 54343eb..87581e9 100644 --- a/docs/html/jd_extras.js +++ b/docs/html/jd_extras.js @@ -132,11 +132,22 @@ DISTRIBUTE_RESOURCES = DISTRIBUTE_RESOURCES.concat([ "image":"images/cards/card-places_2x.png", "type":"Guide" }, - { + { + "title":"GCM Client for Android", + "titleFriendly":"", + "summary":"Send push notifications and pubsub from your server to Android devices around the world.", + "url":"https://developers.google.com/cloud-messaging/android/client", + "group":"", + "keywords": ["push","gcm"], + "tags": [], + "image":"images/cards/card-google-cloud-messaging_16-9_2x.png", + "type":"Guide" + }, + { "title":"Google Cloud Messaging", "titleFriendly":"", - "summary":"Send push notifications and pubsub from your server to your users’ devices around the world.", - "url":"https://developers.google.com/gcm/android/", + "summary":"Learn about GCM and the kinds of services you can offer to users through push notifications", + "url":"https://developers.google.com/cloud-messaging/gcm", "group":"", "keywords": ["push","gcm"], "tags": [], @@ -283,10 +294,23 @@ DISTRIBUTE_RESOURCES = DISTRIBUTE_RESOURCES.concat([ "image":"http://i1.ytimg.com/vi/K2dodTXARqc/maxresdefault.jpg", "type":"video" }, + + { + "title":"Google Play Services 7.5", + "titleFriendly":"", + "summary":"This update brings App Invites, topics to GCM, GCMNetworkManager, Cast Remote Display API, Smart Lock for Passwords, Maps API for Android Wear, Google Fit extensions and more.", + "url":"https://www.youtube.com/watch?v=M3Udfu6qidk&list=PLWz5rJ2EKKc9Qk1_iCZNbBp6adYnJf9Vf", + "group":"", + "keywords": ["google play services"], + "tags": [ + ], + "image":"http://i1.ytimg.com/vi/M3Udfu6qidk/maxresdefault.jpg", + "type":"video" + }, { "title":"Google Play Services 7.3", "titleFriendly":"", - "summary":"Google Play Services 7.3 brings a ton of great new features to help you BUILD BETTER APPS! This update brings the ability to connect multiple wearables simultaneously to a single phone.", + "summary":"This update brings the ability to connect multiple wearables simultaneously to a single phone. There are also some great new updates to Google Fit, including nutrition types, and to Location.", "url":"https://www.youtube.com/watch?v=FOn64iqlphk&list=PLWz5rJ2EKKc9Qk1_iCZNbBp6adYnJf9Vf", "group":"", "keywords": ["google play services"], diff --git a/docs/html/preview/api-changes.jd b/docs/html/preview/api-changes.jd deleted file mode 100644 index 8ea91dd..0000000 --- a/docs/html/preview/api-changes.jd +++ /dev/null @@ -1,338 +0,0 @@ -page.title=Behavior Changes -page.keywords=preview,sdk,compatibility -page.tags=previewresources, androidm -@jd:body - -<div id="qv-wrapper"> -<div id="qv"> - -<h2>In this document</h2> - -<ol id="toc44" class="hide-nested"> - <li><a href="#behavior-runtime-permissions">Runtime Permissions</a></li> - <li><a href="#behavior-notifications">Notifications</a></li> - <li><a href="#behavior-openssl">OpenSSL</a></li> - <li><a href="#behavior-project-volta">Project Volta</a> - <ol> - <li><a href="#behavior-doze">Doze Mode</a></li> - <li><a href="#behavior-app-standby">App Standby Mode</a></li> - </ol> - </li> - <li><a href="#behavior-adoptable-storage">Adoptable Storage Devices</a></li> - <li><a href="#behavior-apache-http-client">Apache HTTP Client Removal</a></li> - <li><a href="#behavior-audiomanager-Changes">AudioManager Changes</a></li> - <li><a href="#behavior-test-selection">Text Selection</a></li> - <li><a href="#behavior-keystore">Android Keystore Changes</a></li> - <li><a href="#behavior-themeable-colorstatelists">Themeable ColorStateLists</a></li> - <li><a href="#night-mode">Night Mode</a></li> - <li><a href="#behavior-art-runtime">ART Runtime</a></li> - <li><a href="#behavior-afw">Android for Work Changes</a></li> -</ol> - -<h2>API Differences</h2> -<ol> -<li><a href="">API level 22 to M »</a> </li> -</ol> - - -<h2>See Also</h2> -<ol> -<li><a href="{@docRoot}preview/api-overview.html">M Developer Preview API Overview</a> </li> -</ol> - -</div> -</div> - -<p>API Level: M</p> -<p>Along with new features and capabilities, M includes a variety of -system changes and API behavior changes. This document highlights -some of the key changes that you should be understand and account for in your apps.</p> - -<p>If you have previously published an app for Android, be aware that your app - might be affected by these changes in M.</p> - -<h2 id="behavior-runtime-permissions">Runtime Permissions</h1> -<p>This release introduces a new runtime permissions model, where users can now directly manage -their app permissions at runtime. This model gives users improved visibility and control over -permissions, while streamlining the installation and auto-update processes for app developers. -Users can set permissions on or off for all apps running on Android M. However, apps that don’t -target M cannot request permissions at runtime.</p> - -<p>On your apps that target M, make sure to check and request for permissions at -runtime. To determine if your app has been granted a permission, call the -new {@code Context.checkSelfPermission()} method. To request for a permission, call the new -{@code Activity.requestPermission()} method.</p> - -<p>For more information on supporting the new permissions model in your app, see the -<a href="{@docRoot}preview/features/runtime-permissions.html"> -Android M Runtime Permissions guide</a>.</p> - -<h2 id="behavior-openssl">OpenSSL</h2> -<p>Android is moving away from OpenSSL to the -<a href="https://boringssl.googlesource.com/boringssl/" class="external-link">BoringSSL</a> -library. If you’re using the Android NDK in your app, don't link against cryptographic libraries -that are not a part of the NDK API, such as {@code libcrypto.so} and {@code libssl.so}. These -libraries are not public APIs, and may change or break without notice across releases and devices. -In addition, you may expose yourself to security vulnerabilities. Instead, modify your -native code to call the Java cryptography APIs via JNI or to statically link against a -cryptography library of your choice.</p> - -<h2 id="behavior-project-volta">Project Volta</h2> -<p>This release introduces new power-saving optimizations for idle devices and apps.</p> - -<h3 id="behavior-doze">Doze mode</h3> -<p>If a device is unplugged and not used for up to an hour, it goes into <em>doze</em> mode where -it attempts to keep the system in a sleep state. In this mode, devices may briefly resume normal -operations for up to 5 minutes every few hours so that app syncing can occur and the system can -perform any pending operations.</p> - -<p>The following restrictions apply to your apps while in device doze mode:</p> -<ul> -<li>Network access is disabled</li> -<li>Alarms scheduled with the {@link android.app.AlarmManager} class are disabled, except for -alarms that you've set with the -{@link android.app.AlarmManager#setAlarmClock(android.app.AlarmManager.AlarmClockInfo,android.app.PendingIntent) setAlarmClock()} -method</li> -<li>WiFi scans are not performed</li> -<li>Syncs and jobs for your sync adapters and {@link android.app.job.JobScheduler} are not -permitted to run</li> -</ul> -</p> -<p>When the system comes out of doze mode, it executes jobs and syncs that are pending.</p> - -<h3 id="behavior-app-standby">App standby mode</h3> -<p>In M, the system may determine that apps are idle when they are not in active use by the user. -Your app goes into <em>app standby</em> mode after two days unless the system detects any of these -signals:</p> - -<ul> -<li>The app has a process currently in the foreground (either as an activity or foreground service, -or in use by another activity or foreground service)</li> -<li>The app generates a notification that the user can see</li> -<li>The user explicitly asks for the app to remain running</li> -</ul> - -<p>If the system is running on battery power, apps that are in standby mode will have their -network access disabled and their syncs and jobs suspended. When the system is plugged into a power -supply, it brings an app out of standby mode and executes any jobs and syncs that are pending.</p> - -<p>Apps that use <a href="{@docRoot}google/gcm/index.html">Google Cloud Messaging</a> will -continue to receive messages even if they are idle. When the system is plugged into a power -supply, apps resume normal operations and can run any pending syncs and jobs.</p> - -<p>You can test this feature by connecting a device running M to your development machine and -calling the following commands: -</p> -<pre> -$ adb shell am broadcast -a android.os.action.DISCHARGING -$ adb shell am set-idle <packageName> true -$ adb shell am set-idle <packageName> false -$ adb shell am get-idle <packageName> -</pre> - -<h2 id="behavior-adoptable-storage">Adoptable Storage Devices</h2> -<p> -In M, users can adopt external storage devices such as SD cards. Adopting an external storage -device encrypts and formats the device to behave like internal storage. This feature allows users -to move both apps and private data of those apps between storage devices. When moving apps, the -system respects the <a href="{@docRoot}guide/topics/manifest/manifest-element.html#install"> -{@code android:installLocation}</a> preference in the manifest.</p> - -<p>If your app accesses the following APIs or fields, be aware that the file paths they return -will dynamically change when the app is moved between internal and external storage devices. -When building file paths, it is strongly recommended that you always call these APIs dynamically. -Don’t use hardcoded file paths or persist fully-qualified file paths that were built previously.</p> - -<ul> -<li>{@link android.content.Context} methods: - <ul> - <li>{@link android.content.Context#getFilesDir() getFilesDir()}</li> - <li>{@link android.content.Context#getCacheDir() getCacheDir()}</li> - <li>{@link android.content.Context#getCodeCacheDir() getCodeCacheDir()}</li> - <li>{@link android.content.Context#getDatabasePath(java.lang.String) getDatabasePath()}</li> - <li>{@link android.content.Context#getDir(java.lang.String,int) getDir()}</li> - <li>{@link android.content.Context#getNoBackupFilesDir() getNoBackupFilesDir()}</li> - <li>{@link android.content.Context#getFileStreamPath(java.lang.String) getFileStreamPath()}</li> - <li>{@link android.content.Context#getPackageCodePath() getPackageCodePath()}</li> - <li>{@link android.content.Context#getPackageResourcePath() getPackageResourcePath()}</li> - </ul> -</li> -<li>{@link android.content.pm.ApplicationInfo} fields: - <ul> - <li>{@link android.content.pm.ApplicationInfo#dataDir dataDir}</li> - <li>{@link android.content.pm.ApplicationInfo#sourceDir sourceDir}</li> - <li>{@link android.content.pm.ApplicationInfo#nativeLibraryDir nativeLibraryDir}</li> - <li>{@link android.content.pm.ApplicationInfo#publicSourceDir publicSourceDir}</li> - <li>{@link android.content.pm.ApplicationInfo#splitSourceDirs splitSourceDirs}</li> - <li>{@link android.content.pm.ApplicationInfo#splitPublicSourceDirs splitPublicSourceDirs}</li> - </ul> -</li> -</ul> - -<p>To debug this feature in the developer preview, you can enable adoption of a USB drive that is -connected to an Android device through a USB On-The-Go (OTG) cable, by running these -commands:</p> - -<pre> -$ adb root -$ sleep 2 -$ adb shell setprop persist.fw.force_adoptable 1 -$ adb reboot -</pre> - -<h2 id="behavior-apache-http-client">Apache HTTP Client Removal</h2> -<p>This release removes support for the Apache HTTP client. If your app is using this client and -targets Android 2.3 (API level 9) or higher, use the {@link java.net.HttpURLConnection} class -instead. This API is more efficient because it reduces network use through transparent compression -and response caching, and minimizes power consumption. To continue using the Apache HTTP APIs, you -must first declare the following compile-time dependency in your {@code build.gradle} file: -</p> -<pre> -android { - compileSdkVersion M - useLibrary 'org.apache.http.legacy' -} -</pre> - -<h2 id="behavior-audiomanager-Changes">AudioManager Changes</h2> -<p>Setting the volume directly or muting specific streams via the {@link android.media.AudioManager} -class is no longer supported. The {@link android.media.AudioManager#setStreamSolo(int,boolean) -setStreamSolo()} method is deprecated, and you should call the -{@code AudioManager.requestAudioFocus()} method instead. Similarly, the -{@link android.media.AudioManager#setStreamMute(int,boolean) setStreamMute()} method is -deprecated; instead, call the {@code AudioManager.adjustStreamVolume()} method -and pass in the direction value {@code ADJUST_MUTE} or {@code ADJUST_UNMUTE}.</p> - -<h2 id="behavior-test-selection">Text Selection</h2> - -<img src="{@docRoot}preview/images/text-selection.gif" -style="float:right; margin:0 0 20px 30px" width="270" height="480" /> - -<p>When users selects text in your app, you can now display text selection actions such as -<em>Cut</em>, <em>Copy</em>, and <em>Paste</em> in a -<a href="http://www.google.com/design/spec/patterns/selection.html#selection-text-selection" -class="external-link">floating toolbar</a>. The user interaction implementation is similar to that -for the contextual action bar, as described in -<a href="{@docRoot}guide/topics/ui/menus.html#CABforViews"> -Enabling the contextual action mode for individual views</a>.</p> - -<p>To implement a floating toolbar for text selection, make the following changes in your existing -apps:</p> -<ol> -<li>In your {@link android.view.View} or {@link android.app.Activity} object, change your -{@link android.view.ActionMode} calls from -{@code startActionMode(Callback)} to {@code startActionMode(Callback, ActionMode.TYPE_FLOATING)}.</li> -<li>Take your existing implementation of ActionMode.Callback and make it extend -{@code ActionMode.Callback2} instead.</li> -<li>Override the {@code Callback2.onGetContentRect()} method to provide the coordinates of the -content {@link android.graphics.Rect} object (such as a text selection rectangle) in the view.</li> -<li>If the rectangle positioning is no longer valid, and this is the only element to be invalidated, -call the {@code ActionMode.invalidateContentRect()} method.</li> -</ol> - -<p>If you are using <a href="{@docRoot}tools/support-library/index.html"> -Android Support Library</a> revision 22.2, be aware that floating toolbars are not -backward-compatible and appcompat takes control over {@link android.view.ActionMode} objects by -default. This prevents floating toolbars from being displayed in M. To enable -{@link android.view.ActionMode} support in an -{@link android.support.v7.app.AppCompatActivity}, call -{@code android.support.v7.app.AppCompatActivity.getDelegate()}, then call -{@code android.support.v7.app.AppCompatDelegate.setHandleNativeActionModesEnabled()} on the returned -{@link android.support.v7.app.AppCompatDelegate} object and set the input -parameter to {@code false}. This call returns control of {@link android.view.ActionMode} objects to -the framework. In devices running M, that allows the framework to support -{@link android.support.v7.app.ActionBar} or floating toolbar modes, while on pre-M devices, only the -{@link android.support.v7.app.ActionBar} modes are supported.</p> - -<h2 id="behavior-keystore">Android Keystore Changes</h2> -<p>Starting this release, the -<a href="{@docRoot}training/articles/keystore.html">Android Keystore provider</a> no longer supports -DSA. ECDSA is still supported.</p> - -<p>Keys which do not require encryption at rest will no longer be deleted when secure lock screen -is disabled or reset (for example, by the user or a Device Administrator). Keys which require -encryption at rest will be deleted during these events.</p> - -<h2 id="behavior-themeable-colorstatelists">Themeable ColorStateLists</h2> -<p>Theme attributes are now supported in -{@link android.content.res.ColorStateList} for devices running M. The -{@link android.content.res.Resources#getColorStateList(int) getColorStateList()} and -{@link android.content.res.Resources#getColor(int) getColor()} methods have been deprecated. If -you are calling these APIs, call the new {@code Context.getColorStateList()} or -{@code Context.getColor()} methods instead. These methods are also available in the -v4 appcompat library via {@link android.support.v4.content.ContextCompat}.</p> - -<h2 id="night-mode">Night Mode (User-configurable Dark Theme)</h2> -<p> -Support for the {@code -night} resource qualifier has been updated in M. Previously, night mode was -only available when a device was docked and in car mode. Starting in M, night mode is available on -all devices and is user-configurable via <em>Settings > Display > Theme</em>. You can adjust this -setting globally using {@link android.app.UiModeManager#setNightMode(int) setNightMode()}. The -Dark theme corresponds to {@link android.app.UiModeManager#MODE_NIGHT_YES}. When the device is in -night mode, the resource framework will prefer resources that have the -night qualifier. To -take advantage of user-configurable Dark mode in your app, extend from the -{@code Theme.Material.DayNight} set of themes rather than {@code Theme.Material} or -{@code Theme.Material.Light}. -</p> - -<h2 id="behavior-art-runtime">ART Runtime</h2> -<p>The ART runtime now properly implements access rules for the -{@link java.lang.reflect.Constructor#newInstance(java.lang.Object...) newInstance()} method. This -change fixes a problem where Dalvik was checking access rules incorrectly in previous versions. -If your app uses the -{@link java.lang.reflect.Constructor#newInstance(java.lang.Object...) newInstance()} method and you -want to override access checks, call the -{@link java.lang.reflect.Constructor#setAccessible(boolean) setAccessible()} method with the input -parameter set to {@code true}. If your app uses the -<a href="{@docRoot}tools/support-library/features.html#v7">v7 appcompat library</a> or the -<a href="{@docRoot}tools/support-library/features.html#v7-recyclerview">v7 recyclerview library</a>, -you must update your app to use to the latest versions of these libraries. Otherwise, make sure that -any custom classes referenced from XML are updated so that their class constructors are accessible.</p> - -<p>The M release updates the behavior of the dynamic linker. The dynamic linker now understands the -difference between a library’s {@code soname} and its path -(<a href="https://code.google.com/p/android/issues/detail?id=6670" class="external-link"> -public bug 6670</a>), and search by {@code soname} is now -implemented. Apps which previously worked that have bad {@code DT_NEEDED} entries -(usually absolute paths on the build machine’s file system) may fail when loaded on M.</p> - -<p>The {@code dlopen(3) RTLD_LOCAL} flag is now correctly implemented in M. Note that -{@code RTLD_LOCAL} is the default, so calls to {@code dlopen(3)} that didn’t explicitly use -{@code RTLD_LOCAL} will be affected (unless your app explicitly used {@code RTLD_GLOBAL}). With -{@code RTLD_LOCAL}, symbols will not be made available to libraries loaded by later calls to -{@code dlopen(3)} (as opposed to being referenced by {@code DT_NEEDED} entries).</p> -</p> - -<h2 id="behavior-afw">Android for Work Changes</h2> -<p>This release includes the following behavior changes for Android for Work:</p> -<ul> -<li><strong>Work contacts in personal contexts.</strong> Google Messenger and the Google Dialer -Call Log now display work contacts when the user views past messages or calls. Furthermore, both -work and personal contacts are now available to devices over Bluetooth, but you can hide work -profile contacts through a device policy by calling the new -{@code DevicePolicyManager.setBluetoothContactSharingDisabled()} method. Initiating a call or -creating a new message will only show personal contacts, as consistent with the experience in -Android 5.0. -</li> -<li><strong>WiFi configuration removal:</strong> WiFi configurations added by a Profile Owner -(for example, through calls to the -{@link android.net.wifi.WifiManager#addNetwork(android.net.wifi.WifiConfiguration) -addNetwork()} method) are now removed if that work profile is deleted.</li> -<li><strong>WiFi configuration lockdown:</strong> Any WiFi configuration created by an active Device -Owner can no longer be modified or deleted by the user. The user can still create and -modify their own WiFi configurations, so long as the {@link android.os.UserManager} constant -{@link android.os.UserManager#DISALLOW_CONFIG_WIFI} has not been set for that user.</li> -<li><strong>VPN in Settings:</strong> VPN apps are now visible in <em>Settings > More > VPN</em>. -Additionally, the notifications that accompany VPN usage are now specific to whether that VPN is -configured for a managed profile or the entire device.</li> -<li><strong>Work status notification:</strong> A status bar briefcase icon now appears whenever -an app from the managed profile has an activity in the foreground. Furthermore, if the device is -unlocked directly to the activity of an app in the managed profile, a toast is displayed notifying -the user that they are within the work profile. -</li> -<li><strong>Download Work Policy Controller via Google account addition:</strong> When a Google -account that requires management via a Work Policy Controller (WPC) app is added to a device -outside of a managed context, the add account flow now prompts the user to install the -appropriate WPC. This behavior also applies to accounts added via -<em>Settings > Accounts</em> in the initial device setup wizard.</li> -</ul> diff --git a/docs/html/preview/api-overview.jd b/docs/html/preview/api-overview.jd index bf5eec4..e6c851b 100644 --- a/docs/html/preview/api-overview.jd +++ b/docs/html/preview/api-overview.jd @@ -15,12 +15,13 @@ page.image=images/cards/card-api-overview_16-9_2x.png <span class="less" style="display:none">show less</span></a></h2> <ol id="toc44" class="hide-nested"> - <li><a href="#backup">Automatic App Data Backup</a></li> + <li><a href="#app-linking">App Linking</a></li> + <li><a href="#backup">Auto Backup for Apps</a></li> <li><a href="#authentication">Authentication</a> - <ul> + <ol> <li><a href="#fingerprint-authentication">Fingerprint Authentication</a></li> <li><a href="#confirm-credentials">Confirm Credentials</a></li> - </ul> + </ol> </li> <li><a href="#direct-share">Direct Share</a></li> <li><a href="#voice-interactions">Voice Interactions</a></li> @@ -34,10 +35,10 @@ page.image=images/cards/card-api-overview_16-9_2x.png <li><a href="#audio">Audio Features</a></li> <li><a href="#video">Video Features</a></li> <li><a href="#camera">Camera Features</a> - <ul> + <ol> <li><a href="#flashlight">Flashlight API</a></li> <li><a href="#reprocessing">Camera Reprocessing</a></li> - </ul> + </ol> </li> <li><a href="#afw">Android for Work Features</a></li> </ol> @@ -60,7 +61,7 @@ influencing the direction of the Android framework, <a href="{@docRoot}preview/setup-sdk.html">give the M Developer Preview a try</a> and send us your feedback!</p> -<p class="caution"><strong>Caution:</strong> Do not not publish apps +<p class="caution"><strong>Caution:</strong> Do not publish apps that use the M Developer Preview to the Google Play store.</p> <p class="note"><strong>Note:</strong> This document often refers to classes and @@ -77,12 +78,19 @@ by changes in the platform.</p> <p>Please see <a href="behavior-changes.html">Behavior Changes</a> for complete information.</p> -<h2 id="backup">Automatic App Data Backup</h2> +<h2 id="app-linking">App Linking</h2> +<p>This preview enhances Android’s intent system by providing more powerful app linking. +This feature allows you to associate an app with a web domain you own. Based on this +association, the platform can determine the default app to use to handle a particular +web link and skip prompting users to select an app. To learn how to implement this feature, see +<a href="{@docRoot}preview/features/app-linking.html">App Linking</a>. + +<h2 id="backup">Auto Backup for Apps</h2> <p>The system now performs automatic full data backup and restore for apps. This behavior is enabled by default for apps targeting M Preview; you do not need to add any additional code. If users delete their Google accounts, their backup data is deleted as well. To learn how this feature works and how to configure what to back up on the file system, see -<a href="{@docRoot}preview/backup/index.html">Automatic App Data Backup</a>.</p> +<a href="{@docRoot}preview/backup/index.html">Auto Backup for Apps</a>.</p> <h2 id="authentication">Authentication</h2> <p>This preview offers new APIs to let you authenticate users by using their fingerprint scans on @@ -121,9 +129,9 @@ style="float:right; margin:0 0 10px 20px" width="282" height="476" /> <p>If you are testing this feature, follow these steps:</p> <ol> +<li>Install Android SDK Tools Revision 24.3, if you have not done so.</li> <li>Enroll a new fingerprint in the emulator by going to <strong>Settings > Security > Fingerprint</strong>, then follow the enrollment instructions.</li> -<li>Install Android SDK Tools Revision 24.3, if you have not done so.</li> <li>Use an emulator to emulate fingerprint touch events with the following command. Use the same command to emulate fingerprint touch events on the lockscreen or in your app. @@ -137,39 +145,42 @@ adb -e emu finger touch <finger_id> </ol> <h3 id="confirm-credentials">Confirm Credentials</h3> -<p>Your app can authenticate users based on how recently they last unlocked their device. You can -use the same public or secret key to authenticate users. This feature frees -users from having to remember additional app-specific passwords, and avoids the need for you to -implement your own authentication user interface.</p> - -<p>You can set your own authentication policy by setting constraints against the key that you are -generating or importing. To set the constraints for using a key, use the -{@code android.security.KeyPairGeneratorSpec.Builder} and -{@code android.security.KeyGeneratorSpec.Builder} classes for public key pairs and secret keys -respectively. If you are importing keys, use the {@link android.security.KeyStoreParameter.Builder} -class to set your constraints. You can use the +<p>Your app can authenticate users based on how recently they last unlocked their device. This +feature frees users from having to remember additional app-specific passwords, and avoids the need +for you to implement your own authentication user interface. Your app should use this feature in +conjunction with a public or secret key implementation for user authentication.</p> + +<p>To set the timeout duration for which the same key can be re-used after a user is successfully +authenticated, call the new +{@code android.security.keystore.KeyGenParameterSpec.setUserAuthenticationValidityDurationSeconds()} +method when you set up a {@link javax.crypto.KeyGenerator} or +{@link java.security.KeyPairGenerator}. This feature currently works for symmetric cryptographic +operations.</p> + +<p>Avoid showing the re-authentication dialog excessively -- your apps should try using the +cryptographic object first and if the the timeout expires, use the {@link android.app.KeyguardManager#createConfirmDeviceCredentialIntent(java.lang.CharSequence, java.lang.CharSequence) createConfirmDeviceCredentialIntent()} -method to re-authenticate the user within your app if the timeout expired. +method to re-authenticate the user within your app. </p> <p>To see an app implementation of this feature, refer to the -<a href="https://github.com/googlesamples/android-ConfirmDeviceCredentials" class="external-link"> - Confirm Device Credentials sample</a>.</p> +<a href="https://github.com/googlesamples/android-ConfirmCredentials" class="external-link"> + Confirm Credentials sample</a>.</p> <h2 id="direct-share">Direct Share</h2> -<img src="{@docRoot}preview/images/direct-share-screen_2x.png" -srcset="{@docRoot}preview/images/direct-share-screen.png 1x, preview/images/direct-share-screen_2x.png 2x" -style="float:right; margin:0 0 20px 30px" width="312" height="385" /> +<img src="{@docRoot}preview/images/direct-share-screen.png" +srcset="{@docRoot}preview/images/direct-share-screen.png 1x, {@docRoot}preview/images/direct-share-screen_2x.png 2x" +style="float:right; margin:0 0 20px 30px" width="312" height="329" /> -<p>This preview provides you with APIs to makes sharing intuitive and quick for users. You can now -define <em>deep links</em> that target a specific activity in your app. These deep links are -exposed to users via the <em>Share</em> menu. This feature allows users to share content to -targets, such as contacts, within other apps. For example, the deep link might launch an -activity in another social network app, which lets the user share content directly to a specific -friend or community in that app.</p> +<p>This preview provides you with APIs to make sharing intuitive and quick for users. You can now +define <em>direct share targets</em> that launch a specific activity in your app. These direct share +targets are exposed to users via the <em>Share</em> menu. This feature allows users to share +content to targets, such as contacts, within other apps. For example, the direct share target might +launch an activity in another social network app, which lets the user share content directly to a +specific friend or community in that app.</p> -<p>To enable sharing via deep links, you must define a class that extends the +<p>To enable direct share targets you must define a class that extends the {@code android.service.} <br> {@code chooser.ChooserTargetService} class. Declare your {@code ChooserTargetService} in the manifest. Within that declaration, specify the @@ -203,10 +214,6 @@ manifest.</p> android:value=".ChooserTargetService" /> </activity> </pre> -<p>To see an app implementation of this feature, refer to the -<a href="https://github.com/googlesamples/android-DeepLinkSharing" class="external-link"> - Deep Link Sharing sample</a>.</p> - <h2 id="voice-interactions">Voice Interactions</h2> <p> @@ -226,9 +233,10 @@ class="external-link">Voice Actions developer site</a>. This preview offers a new way for users to engage with your apps through an assistant. To use this feature, the user must enable the assistant to use the current context. Once enabled, the user can summon the assistant within any app, by long-pressing on the <strong>Home</strong> button.</p> -<p>The platform passes the current context to the assistant. In addition to the standard set of -information that the platform passes to the assistant, your app can share additional information -by using the new {@code android.app.Activity.AssistContent} class.</p> +<p>Your app can elect to not share the current context with the assistant by setting the +{@link android.view.WindowManager.LayoutParams#FLAG_SECURE} flag. In addition to the +standard set of information that the platform passes to the assistant, your app can share +additional information by using the new {@code android.app.Activity.AssistContent} class.</p> <p>To provide the assistant with additional context from your app, follow these steps:</p> @@ -324,9 +332,6 @@ feature is useful if you want to switch to 4K display resolution. While in 4K di UI continues to be rendered at the original resolution (such as 1080p) and is upscaled to 4K, but {@link android.view.SurfaceView} objects may show content at the native resolution.</p> -<p>To test the new 4K display mode, simulate a secondary display of a larger resolution using the -<strong>Developer Options</strong> settings.</p> - <h2 id="behavior-themeable-colorstatelists">Themeable ColorStateLists</h2> <p>Theme attributes are now supported in {@link android.content.res.ColorStateList} for devices running the M Preview. The @@ -494,22 +499,16 @@ Google credentials. <p>Additionally, by setting app restrictions on Google Play services, Device Owners can specify alternative Google accounts for unlocking FRP to replace the ones activated on the device.</p> </li> +<img src="{@docRoot}preview/images/work-profile-screen.png" +srcset="{@docRoot}preview/images/work-profile-screen.png 1x, {@docRoot}preview/images/work-profile-screen_2x.png 2x" +style="float:right; margin:0 0 10px 20px" width="282" height="476" /> <li><strong>Data usage tracking.</strong> A Profile or Device Owner can now query for the data usage statistics visible in <strong>Settings > Data</strong> usage by using the new {@code android.app.usage.NetworkStatsManager} methods. Profile Owners are automatically granted permission to query data on the profile they manage, while Device Owners get access to usage data of the managed primary user.</li> -<li><strong>Runtime permission management:</strong> With the new runtime permissions model, a -Profile or Device Owner can now silently grant or revoke an app’s permissions by calling -{@code DevicePolicyManager.setPermissionGranted()}. Granting or revoking a single permission applies -that setting to all permissions within that runtime permission group; the user is not prompted -at runtime when any permission from that runtime permission group is required. Furthermore, the -user cannot modify the selection made by the Profile or Device Owner within the app’s permissions -screen in <strong>Settings</strong>. -<img src="{@docRoot}preview/images/work-profile-screen_2x.png" -srcset="{@docRoot}preview/images/work-profile-screen.png 1x, preview/images/work-profile-screen_2x.png 2x" -style="float:right; margin:0 0 10px 20px" width="282" height="476" /> -<p>A Profile or Device Owner can also set a permission policy +<li><strong>Runtime permission management:</strong> +<p>A Profile or Device Owner can set a permission policy for all runtime requests of all applications using {@code DevicePolicyManager.setPermissionPolicy()}, to either prompt the user to grant the permission as normal or automatically grant or deny the permission silently. If the latter policy @@ -517,8 +516,10 @@ is set, the user cannot modify the selection made by the Profile or Device Owner app’s permissions screen in <strong>Settings</strong>.</p></li> <li><strong>VPN in Settings:</strong> VPN apps are now visible in <strong>Settings > More > VPN</strong>. -Additionally, the notifications that accompany VPN usage are now specific to whether that VPN is -configured for a managed profile or the entire device.</li> +Additionally, the notifications that accompany VPN usage are now specific to how that VPN is +configured. For Profile Owner, the notifications are specific to whether the VPN is configured +for a managed profile, a personal profile, or both. For a Device Owner, the notifications are +specific to whether the VPN is configured for the entire device.</li> <li><strong>Work status notification:</strong> A status bar briefcase icon now appears whenever an app from the managed profile has an activity in the foreground. Furthermore, if the device is unlocked directly to the activity of an app in the managed profile, a toast is displayed notifying @@ -529,4 +530,4 @@ the user that they are within the work profile. <p class="note"> For a detailed view of all API changes in the M Developer Preview, see the <a href= "{@docRoot}preview/download.html">API Differences Report</a>. -</p>
\ No newline at end of file +</p> diff --git a/docs/html/preview/backup/index.jd b/docs/html/preview/backup/index.jd index c7d85ae..6735379 100644 --- a/docs/html/preview/backup/index.jd +++ b/docs/html/preview/backup/index.jd @@ -1,7 +1,7 @@ page.title=Auto Backup for Apps page.tags=backup, previewresources, androidm page.keywords=backup, autobackup, preview - +page.image=images/cards/card-auto-backup_2x.png @jd:body <div id="qv-wrapper"> diff --git a/docs/html/preview/behavior-changes.jd b/docs/html/preview/behavior-changes.jd index 0dd549b..5ddac7a 100644 --- a/docs/html/preview/behavior-changes.jd +++ b/docs/html/preview/behavior-changes.jd @@ -1,6 +1,6 @@ page.title=Behavior Changes page.keywords=preview,sdk,compatibility -sdk.platform.apiLevel=23 +sdk.platform.apiLevel=MNC @jd:body <div id="qv-wrapper"> @@ -10,9 +10,9 @@ sdk.platform.apiLevel=23 <ol id="toc44" class="hide-nested"> <li><a href="#behavior-runtime-permissions">Runtime Permissions</a></li> - <li><a href="#behavior-project-volta">Project Volta</a> + <li><a href="#behavior-power">Power-Saving Optimizations</a> <ol> - <li><a href="#behavior-doze">Doze mode</a></li> + <li><a href="#behavior-doze">Doze</a></li> <li><a href="#behavior-app-standby">App Standby</a></li> </ol> </li> @@ -21,7 +21,6 @@ sdk.platform.apiLevel=23 <li><a href="#behavior-audiomanager-Changes">AudioManager Changes</a></li> <li><a href="#behavior-test-selection">Text Selection</a></li> <li><a href="#behavior-keystore">Android Keystore Changes</a></li> - <li><a href="#night-mode">Night Mode</a></li> <li><a href="#behavior-network">Wi-Fi and Networking Changes</a></li> <li><a href="#behavior-camera">Camera Service Changes</a></li> <li><a href="#behavior-art-runtime">ART Runtime</a></li> @@ -43,40 +42,40 @@ sdk.platform.apiLevel=23 </div> </div> -<p>API Level: M</p> <p>Along with new features and capabilities, the M Developer Preview includes a variety of system changes and API behavior changes. This document highlights -some of the key changes that you should be understand and account for in your apps.</p> +some of the key changes that you should understand and account for in your apps.</p> <p>If you have previously published an app for Android, be aware that your app might be affected by these changes in the platform.</p> <h2 id="behavior-runtime-permissions">Runtime Permissions</h1> -<p>This preview introduces a new runtime permissions model, where users can now directly manage -their app permissions at runtime. This model gives users improved visibility and control over +<p>This preview introduces a new permissions model, where users can now directly manage +app permissions at runtime. This model gives users improved visibility and control over permissions, while streamlining the installation and auto-update processes for app developers. -Users can set permissions on or off for all apps running on the M Preview. However, apps that -don’t target the M Preview cannot request permissions at runtime.</p> +Users can grant or revoke permissions individually for installed apps. </p> <p>On your apps that target the M Preview, make sure to check and request for permissions at runtime. To determine if your app has been granted a permission, call the new {@code Context.checkSelfPermission()} method. To request for a permission, call the new -{@code Activity.requestPermission()} method.</p> +{@code Activity.requestPermission()} method. Even if your app is not targeting M, you +should test your app under the new permissions model.</p> -<p>For more information on supporting the new permissions model in your app, see +<p>For details on supporting the new permissions model in your app, see the <a href="{@docRoot}preview/features/runtime-permissions.html"> -Android M Preview Runtime Permissions</a>.</p> +Permissions</a> developer preview page. For tips on how to assess the impact on your app, +see the <a href="{@docRoot}preview/testing/guide.html#runtime-permissions">Testing Guide</a></p> -<h2 id="behavior-project-volta">Project Volta</h2> +<h2 id="behavior-power">Power-Saving Optimizations</h2> <p>This preview introduces new power-saving optimizations for idle devices and apps.</p> -<h3 id="behavior-doze">Doze mode</h3> +<h3 id="behavior-doze">Doze</h3> <p>If a device is unplugged and left stationary with the screen off for a period of time, it goes into <em>Doze</em> mode where it attempts to keep the system in a sleep state. In this mode, devices periodically resume normal operations for brief periods of time so that app syncing can occur and the system can perform any pending operations.</p> -<p>The following restrictions apply to your apps while in Doze mode:</p> +<p>The following restrictions apply to your apps while in Doze:</p> <ul> <li>Network access is disabled, unless your app receives a high priority Google Cloud Messaging tickle.</li> @@ -89,7 +88,7 @@ method and {@code AlarmManager.setAndAllowWhileIdle()}.</li> permitted to run.</li> </ul> </p> -<p>When the device exists doze mode, it executes any jobs and syncs that are pending.</p> +<p>When the device exits doze, it executes any jobs and syncs that are pending.</p> <p>You can test this feature by connecting a device running the M Preview to your development machine and calling the following commands: </p> @@ -98,18 +97,24 @@ $ adb shell dumpsys battery unplug $ adb shell dumpsys deviceidle step $ adb shell dumpsys deviceidle -h </pre> -<p class="note"><strong>Note</strong>: The upcmoning -<a href="{@docRoot}google/gcm/index.html">Google Cloud Messaging</a> release lets you designate +<p class="note"><strong>Note</strong>: The upcoming +<a href="https://developers.google.com/cloud-messaging/" class="external-link"> +Google Cloud Messaging</a> release lets you designate high-priority messages. If your app receives high-priority GCM messages, it’s granted -brief network access even when the device is in doze mode. +brief network access even when the device is in doze. </p> +<p>See the +<a href="{@docRoot}preview/testing/guide.html#doze-standby">Testing Guide</a> for tips on how +to test Doze in your apps. </p> + <h3 id="behavior-app-standby">App standby</h3> <p>With this preview, the system may determine that apps are idle when they are not in active use. Your app is considered idle after a period of time, unless the system detects any of these signals:</p> <ul> +<li>The app is explicitly launched by the user.</li> <li>The app has a process currently in the foreground (either as an activity or foreground service, or in use by another activity or foreground service).</li> <li>The app generates a notification that users see on the lock screen or in the @@ -127,18 +132,23 @@ device is idle for long periods of time, idle apps are allowed network access ar machine and calling the following commands: </p> <pre class="no-prettyprint"> -$ adb shell am broadcast -a android.os.action.DISCHARGING +$ adb shell dumpsys battery unplug $ adb shell am set-idle <packageName> true $ adb shell am set-idle <packageName> false $ adb shell am get-idle <packageName> </pre> <p class="note"><strong>Note</strong>: The upcoming -<a href="{@docRoot}google/gcm/index.html">Google Cloud Messaging</a> (GCM) release lets you +<a href="https://developers.google.com/cloud-messaging/" class="external-link"> +Google Cloud Messaging</a> (GCM) release lets you designate high-priority messages. If your app receives high-priority GCM messages, it’s granted brief network access even when the app is idle. </p> +<p>See the +<a href="{@docRoot}preview/testing/guide.html#doze-standby">Testing Guide</a> for tips on how +to test App Standby in your apps. </p> + <h2 id="behavior-adoptable-storage">Adoptable Storage Devices</h2> <p> With this preview, users can <em>adopt</em> external storage devices such as SD cards. Adopting an @@ -266,20 +276,6 @@ DSA. ECDSA is still supported.</p> is disabled or reset (for example, by the user or a Device Administrator). Keys which require encryption at rest will be deleted during these events.</p> -<h2 id="night-mode">Night Mode (User-configurable Dark Theme)</h2> -<p> -Support for the {@code -night} resource qualifier has been updated. Previously, night mode was -only available when a device was docked and in car mode. With this preview, night mode is -available on -all devices and is user-configurable via <strong>Settings > Display > Theme</strong>. You can adjust -this setting globally using {@link android.app.UiModeManager#setNightMode(int) setNightMode()}. The -Dark theme corresponds to {@link android.app.UiModeManager#MODE_NIGHT_YES}. When the device is in -night mode, the resource framework prefers resources that have the {@code -night} qualifier. To -take advantage of user-configurable Dark mode in your app, extend from the -{@code Theme.Material.DayNight} set of themes rather than {@code Theme.Material} or -{@code Theme.Material.Light}. -</p> - <h2 id="behavior-network">Wi-Fi and Networking Changes</h2> <p>This preview introduces the following behavior changes to the Wi-Fi and networking APIs.</p> @@ -370,11 +366,12 @@ contents are removed.</p> <p>This preview includes the following behavior changes for Android for Work:</p> <ul> <li><strong>Work contacts in personal contexts.</strong> The Google Dialer -Call Log now displays work contacts when the user views past calls. Both -work and personal contacts are now available to devices over Bluetooth, but you can hide work -profile contacts through a device policy by calling the new -{@code DevicePolicyManager.setBluetoothContactSharingDisabled()} method. Initiating a call still -shows personal contacts, as consistent with the experience in Android 5.0. +Call Log now displays work contacts when the user views past calls. +Setting {@code DevicePolicyManager.setCrossProfileCallerIdDisabled()} to {@code true} hides the +work profile contacts in the Google Dialer Call Log. Work contacts can be displayed along with +personal contacts to devices over Bluetooth only if +you set {@code DevicePolicyManager.setBluetoothContactSharingDisabled()} to {@code false}. By +default, it is set to {@code true}. </li> <li><strong>WiFi configuration removal:</strong> WiFi configurations added by a Profile Owner (for example, through calls to the diff --git a/docs/html/preview/data-binding/guide.jd b/docs/html/preview/data-binding/guide.jd deleted file mode 100644 index 49b690f..0000000 --- a/docs/html/preview/data-binding/guide.jd +++ /dev/null @@ -1,908 +0,0 @@ -page.title=Data Binding Guide - -@jd:body -<p>Data Binding allows you write declarative layouts and minimize the glue code -that is necessary to bind your application logic and layouts.</p> - - -<h2 id=build_environment>Build Environment</h2> - - -<p><strong>Setting Up Work Environment:</strong></p> - -<p>Data Binding EAP only supports gradle.</p> - -<p>To set up your application, unzip the provided bundle to a location. It has 3 -sections</p> - -<ul> - <li> <em>maven-repo:</em> which keeps the data-binding libraries - <li> <em>samples:</em> Sample applications - <li> <em>databinding.properties:</em> Properties file that can be used to integrate with your app -</ul> - -<p>Add the following section to the project’s build.gradle file (not the module's -build.gradle) and replace <code><BUNDLE_FOLDER> </code>with the absolute path of the bundle that you’ve unzipped in the previous step.</p> - -<pre class=prettyprint> -buildscript { - <strong>def </strong>eapFolder = '<BUNDLE_FOLDER>' -<strong> def </strong>Properties props = <strong>new </strong>Properties() - props.load(<strong>new </strong>FileInputStream(<strong>"</strong>${eapFolder}<strong>/databinding.properties"</strong>)) - props.mavenRepoDir = <strong>"</strong>${eapFolder}<strong>/</strong>${props.mavenRepoName}<strong>" - </strong>ext.config = props - repositories { - jcenter() - maven { - url config.mavenRepoDir - } - } - dependencies { - classpath <strong>"com.android.tools.build:gradle:1.1.3" - </strong>classpath <strong>"com.android.databinding:dataBinder:</strong>${config.snapshotVersion}<strong>" -<em></strong> </em>} -} -allprojects { - repositories { - jcenter() - maven { - url config.mavenRepoDir - } - } -} -</pre> - -<p>Next, add the following lines to the <em>build.gradle</em> -file of each module that will use data-binding. The application module must -have this, even if only its libraries use data binding.</p> - -<pre class=prettyprint> -apply plugin: <strong>'com.android.databinding' -</strong>dependencies { - compile <strong>"com.android.databinding:library:</strong>${config.snapshotVersion}<strong>" -</strong> compile <strong>"com.android.databinding:baseLibrary:</strong>${config.snapshotVersion}<strong>" -</strong> compile <strong>"com.android.databinding:adapters:</strong>${config.snapshotVersion}<strong>" -</strong> provided <strong>"com.android.databinding:annotationprocessor:</strong>${config.snapshotVersion}<strong>" -</strong>} -</pre> - - -<h2 id="data_binding_layout_files">Data Binding Layout Files</h2> - - -<h3 id="writing_expressions">Writing your first data binding expressions:</h3> - -<p>Data-binding layout files are slightly different and start with a root tag of -<strong>layout</strong> followed by a <strong>data</strong> element and a -<strong>view</strong> root element. This view element is what your root would -be in a non-binding layout file.A sample file looks like this:</p> - -<pre class=prettyprint> -<em><?<strong></em>xml version="1.0" encoding="utf-8"<em></strong>?> -</em><<strong>layout xmlns:android="http://schemas.android.com/apk/res/android"</strong>> - <<strong>data</strong>> - <<strong>variable name="user" type="com.example.User"</strong>/> - </<strong>data</strong>> - <<strong>LinearLayout - android:orientation="vertical" - android:layout_width="match_parent" - android:layout_height="match_parent"</strong>> - <<strong>TextView android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@{user.firstName}"</strong>/> - <<strong>TextView android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@{user.lastName}"</strong>/> - </<strong>LinearLayout</strong>> -</<strong>layout</strong>> -</pre> - -<p>The user <strong>variable</strong> within <strong>data</strong> describes a property that may be used within this layout.</p> - -<pre class=prettyprint> -<<strong>variable name="user" type="com.example.User"</strong>/> -</pre> - -<p>Expressions within the layout are written in the attribute properties using the -“<code>@{}</code>” syntax. Here, the TextView’s text is set to the firstName property of user:</p> -<pre class=prettyprint> -<<strong>TextView android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@{user.firstName}"</strong>/> -</pre> - - -<h3 id="data_object">Data Object</h3> - -<p>Let’s assume for now that you have a plain-old Java object (POJO) for User:</p> -<pre class=prettyprint> -<strong>public class </strong>User { - <strong>public final </strong>String <strong>firstName</strong>; - <strong>public final </strong>String <strong>lastName</strong>; - <strong>public </strong>User(String firstName, String lastName) { - <strong>this</strong>.<strong>firstName </strong>= firstName; - <strong>this</strong>.<strong>lastName </strong>= lastName; - } -} -</pre> - -<p>This type of object has data that never changes. It is common in applications -to have data that is read once and never changes thereafter. It is also -possible to use a JavaBeans objects:</p> -<pre class=prettyprint> -<strong>public class </strong>User { - <strong>private final </strong>String <strong>firstName</strong>; - <strong>private final </strong>String <strong>lastName</strong>; - <strong>public </strong>User(String firstName, String lastName) { - <strong>this</strong>.<strong>firstName </strong>= firstName; - <strong>this</strong>.<strong>lastName </strong>= lastName; - } - <strong>public </strong>String getFirstName() { - <strong>return this</strong>.<strong>firstName</strong>; - } - <strong>public </strong>String getLastName() { - <strong>return this</strong>.<strong>lastName</strong>; - } -} -</pre> - -<p>From the perspective of data binding, these two classes are equivalent. The -expression <strong><code>@{user.lastName}</code></strong> used for the TextView’s <strong><code>android:text</code></strong> attribute will access the <strong><code>firstName</code></strong> field in the former class and the <code>getFirstName()</code> method in the latter class. -</p><h3 id=binding_data>Binding Data</h3> - -<p>By default, a Binding class will be generated based on the name of the layout -file, converting it to Pascal case and suffixing “Binding” to it. The above -layout file was <code>activity_main.xml</code> so the generate class was <code>ActivityMainBinding</code>. This class holds all the bindings from the layout properties (e.g. the <code>user</code> variable) to the layout’s Views and knows how to assign values for the binding -expressions.The easiest means for creating the bindings is to do it while inflating: -</p> - -<pre class=prettyprint> -@Override -<strong>protected void </strong>onCreate(Bundle savedInstanceState) { - <strong>super</strong>.onCreate(savedInstanceState); - ActivityMainBinding binding = DataBindingUtil.<em>setContentView</em>(<strong>this</strong>, R.layout.<em><strong>main_activity</strong></em>); - User user = <strong>new </strong>User(<strong>"Test"</strong>, <strong>"User"</strong>); - binding.setUser(user); -} -</pre> - -<p>You’re done! Run the application and you’ll see Test User in the UI.Alternatively, you can get the view via: -</p><pre class=prettyprint> -MainActivityBinding binding = MainActivityBinding.<em>inflate</em>(getLayoutInflater()); -</pre> - -<p>If you are using data binding items inside a ListView or RecyclerView adapter, -you may prefer to use: -</p><pre class=prettyprint> -ListItemBinding binding = ListItemBinding.inflate(layoutInflater, viewGroup, -false); -//or -ListItemBinding binding = DataBindingUtil.<em>inflate</em>(layoutInflater, R.layout.<em><strong>list_item</strong></em>, viewGroup, <strong>false</strong>); -</pre> - - -<h2 id=layout_details>Layout Details</h2> - - -<h3 id=imports>Imports</h3> - -<p>Zero or more <strong><code>import</code></strong> elements may be used inside the <strong><code>data</code></strong> element. These allow easy reference to classes inside your layout file, just -like in Java. -</p><pre class=prettyprint> -<<strong>data</strong>> - <<strong>import type="android.view.View"</strong>/> -</<strong>data</strong>> -</pre> - -<p>Now, View may be used within your binding expression: -</p><pre class=prettyprint> -<<strong>TextView - android:text="@{user.lastName}" - android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:visibility="@{user.isAdult ? View.VISIBLE : View.GONE}"</strong>/> -</pre> - -<p>When there are class name conflicts, one of the classes may be renamed to an -“alias:”</p> -<pre class=prettyprint> -<<strong>import type="android.view.View"</strong>/> -<<strong>import type="com.example.real.estate.View" - alias="Vista"</strong>/> -</pre> - -<p>Now, <strong><code>Vista</code></strong> may be used to reference the <code>com.example.real.estate.View</code> and <strong><code>View</code></strong> may be used to reference <code>android.view.View </code>within the layout file.Imported types may be used as type references in variables and expressions:</p> -<pre class=prettyprint> -<<strong>data</strong>> - <<strong>import type="com.example.User"</strong>/> - <<strong>import type="java.util.List"</strong>/> - <<strong>variable name="user" type="User"</strong>/> - <<strong>variable name="userList" type="List<User>"</strong>/> -</<strong>data</strong>> -… -<<strong>TextView - android:text="@{((User)(user.connection)).lastName}" - android:layout_width="wrap_content" - android:layout_height="wrap_content"</strong>/> -</pre> - -<p>Imported types may also be used when referencing static fields and methods in -expressions:</p> -<pre class=prettyprint> -<<strong>data</strong>> - <<strong>import type="com.example.MyStringUtils"</strong>/> - <<strong>variable name="user" type="com.example.User"</strong>/> -</<strong>data</strong>> -… -<<strong>TextView - android:text="@{MyStringUtils.capitalize(user.lastName)}" - android:layout_width="wrap_content" - android:layout_height="wrap_content"</strong>/> -</pre> - -<p>Just as in Java, <code>java.lang.*</code> is imported automatically.</p> -<h3 id=variables>Variables</h3> - -<p>Any number of <strong><code>variable</code></strong> elements may be used inside the <strong><code>data</code></strong> element. Each <strong><code>variable</code></strong> element describes a property that may be set on the layout to be used in -binding expressions within the layout file.</p> -<pre class=prettyprint> -<<strong>data</strong>> - <<strong>import type="android.graphics.drawable.Drawable"</strong>/> - <<strong>variable name="user" type="com.example.User"</strong>/> - <<strong>variable name="image" type="Drawable"</strong>/> - <<strong>variable name="note" type="String"</strong>/> -</<strong>data</strong>> -</pre> - -<p>The variable types are inspected at compile time, so if a variable implements <a href="#observable_objects">Observable</a>, <a href="#observable_collections">observable collection</a>, that should be reflected in the type. If the variable is a base class or - interface that does not implement the Observable* interface, the variables will <strong>not be</strong> observed!</p> - -<p>When there are different layout files for various configurations (e.g. -landscape or portrait), the variables will be combined. There must not be -conflicting variable definitions between these layout files.</p> - -<p>The generated binding class will have a setter and getter for each of the -described variables. The variables will take the default Java values until the -setter is called — <code>null</code> for reference types, <code>0</code> for <code>int</code>, <code>false</code> for <code>boolean</code>, etc.</p> - -<h3 id=custom_binding_class_names>Custom Binding Class Names</h3> - -<p>By default, a Binding class is generated based on the name of the layout file, -starting it with upper-case, removing underscores ( _ ) and capitalizing the -following letter and then suffixing “Binding”. This class will be placed in a -databinding package under the module package. For example, the layout file <code>contact_item.xml</code> will generate <code>ContactItemBinding</code>. If the module package is <code>com.example.my.app</code>, then it will be placed in <code>com.example.my.app.databinding</code>.</p> - -<p>Binding classes may be renamed or placed in different packages by adjusting the <strong><code>class</code></strong> attribute of the <strong><code>data</code></strong> element. For example:</p> -<pre class=prettyprint> -<<strong>data class="ContactItem"</strong>> - ... -</<strong>data</strong>> -</pre> - -<p>This generates the binding class as <code>ContactItem</code> in the databinding package in the module package. If the class should be -generated in a different package within the module package, it may be prefixed -with “.”:</p> -<pre class=prettyprint> -<<strong>data class=".ContactItem"</strong>> - ... -</<strong>data</strong>> -</pre> - -In this case, <code>ContactItem</code> is generated in the module package directly.Any package may be used if the full package is provided: -<pre class=prettyprint> -<<strong>data class="com.example.ContactItem"</strong>> - ... -</<strong>data</strong>> -</pre> - - -<h3 id=includes>Includes</h3> - -<p>Variables may be passed into an included layout's binding from the containing -layout by using the application namespace and the variable name in an -attribute:</p> -<pre class=prettyprint> -<em><?<strong></em>xml version="1.0" encoding="utf-8"<em></strong>?> -</em><<strong>layout xmlns:android="http://schemas.android.com/apk/res/android" -</strong> <strong> xmlns:bind="http://schemas.android.com/apk/res-auto"</strong>> - <<strong>data</strong>> - <<strong>variable name="user" type="com.example.User"</strong>/> - </<strong>data</strong>> - <<strong>LinearLayout - android:orientation="vertical" - android:layout_width="match_parent" - android:layout_height="match_parent"</strong>> - <<strong>include layout="@layout/name" - bind:user="@{user}"</strong>/> - <<strong>include layout="@layout/contact" - bind:user="@{user}"</strong>/> - </<strong>LinearLayout</strong>> -</<strong>layout</strong>> -</pre> - -<p>Here, there must be a <code>user</code> variable in both the <code>name.xml </code>and <code>contact.xml </code>layout files.</p> -<h3 id=expression_language>Expression Language</h3> - - -<h4 id=common_features>Common Features</h4> - -<p>The expression language looks a lot like a Java expression. These are the same:</p> -<ul> - <li> Mathematical <strong><code>+ - / * %</code></strong> - <li> String concatenation <strong><code>+</code></strong> - <li> <code>L</code>ogical <strong><code>&& ||</code></strong> - <li> Binary <strong><code>&</code> <code>|</code> <code>^</code></strong> - <li> Unary <strong><code>+ - ! ~</code></strong> - <li> Shift <strong><code>>> >>> <<</code></strong> - <li> Comparison <strong><code>== > < >= <=</code></strong> - <li> <strong><code>instanceof</code></strong> - <li> Grouping <strong><code>()</code></strong> - <li> Literals - character, String, numeric, <strong><code>null</code></strong> - <li> Cast - <li> Method calls - <li> Field access - <li> Array access <strong><code>[]</code></strong> - <li> Ternary operator <strong><code>?:</code></strong> -</ul> -<p>Examples:</p> -<pre class=prettyprint> -<strong>android:text="@{String.valueOf(index + 1)}" -android:visibility="@{age < 13 ? View.GONE : View.VISIBLE}" -android:transitionName='@{"image_" + id}'</strong> -</pre> - - -<h4 id=missing_operations>Missing Operations</h4> - -<p>A few operations are missing from the expression syntax that you can use in -Java.</p> -<ul> - <li> <strong><code>this</code></strong> - <li> <strong><code>super</code></strong> - <li> <strong><code>new</code></strong> - <li> Explicit generic invocation -</ul> - -<h4 id=null_coalescing_operator>Null Coalescing Operator</h4> - -<p>The null coalescing operator (<strong><code>??</code></strong>) chooses the left operand if it is not null or the right if it is null.</p> -<pre class=prettyprint> -<strong>android:text="@{user.displayName ?? user.lastName}"</strong> -</pre> - -<p>This is functionally equivalent to:</p> -<pre class=prettyprint> -<strong>android:text="@{user.displayName != null ? user.displayName : user.lastName}"</strong> -</pre> - - -<h4 id=property_reference>Property Reference</h4> - -<p>The first was already discussed in the <a href="#writing_your_first_data_binding_expressions">Writing your first data binding expressions</a> above: short form JavaBean references. When an expression references a -property on a class, it uses the same format for fields, getters, and -ObservableFields.</p> -<pre class=prettyprint> -<strong>android:text="@{user.lastName}"</strong> -</pre> - - -<h4 id=collections>Collections</h4> - -<p>Common collections: arrays, lists, sparse lists, and maps, may be accessed -using the <code>[]</code> operator for convenience.</p> -<pre class=prettyprint> -<<strong>data</strong>> - <<strong>import type="android.util.SparseArray"</strong>/> - <<strong>import type="java.util.Map"</strong>/> - <<strong>import type="java.util.List"</strong>/> - <<strong>variable name="list" type="List<String>"</strong>/> - <<strong>variable name="sparse" type="SparseArray<String>"</strong>/> - <<strong>variable name="map" type="Map<String, String>"</strong>/> - <<strong>variable name="index" type="int"</strong>/> - <<strong>variable name="key" type="String"</strong>/> -</<strong>data</strong>> -… -<strong>android:text="@{list[index]}" -</strong>… -<strong>android:text="@{sparse[index]}" -</strong>… -<strong>android:text="@{map[key]}" -</strong> -</pre> - - -<h4 id=string_literals>String Literals</h4> - -<p>When using single quotes around the attribute value, it is easy to use double -quotes in the expression:</p> -<pre class=prettyprint> -<strong>android:text='@{map["firstName"]}'</strong> -</pre> - -<p>It is also possible to use double quotes to surround the attribute value. When -doing so, String literals should either use the " or back quote (`).</p> -<pre class=prettyprint> -<strong>android:text="@{map[`firstName`}" -android:text="@{map["firstName"]}"</strong> -</pre> - - -<h4 id=resources>Resources</h4> - -<p>It is possible to access resources as part of expressions using the normal -syntax:</p> -<pre class=prettyprint> -<strong>android:padding="@{large? @dimen/largePadding : @dimen/smallPadding}"</strong> -</pre> - -<p>Format strings and plurals may be evaluated by providing parameters:</p> -<pre class=prettyprint> -<strong>android:text="@{@string/nameFormat(firstName, lastName)}" -android:text="@{@plurals/banana(bananaCount)}"</strong> -</pre> - -<p>Some resources require explicit type evaluation.</p> - -<table> - <tr> - <th>Type</th> - <th>Normal Reference</th> - <th>Expression Reference</th> - </tr> - <tr> - <td> -<pre class=prettyprint> -String[]</td> - <td> -@array</td> - <td> -@stringArray</td> - </tr> - <tr> - <td> -int[]</td> - <td> -@array</td> - <td> -@intArray</td> - </tr> - <tr> - <td> -TypedArray</td> - <td> -@array</td> - <td> -@typedArray</td> - </tr> - <tr> - <td> -Animator</td> - <td> -@animator</td> - <td> -@animator</td> - </tr> - <tr> - <td> -StateListAnimator</td> - <td> -@animator</td> - <td> -@stateListAnimator</td> - </tr> - <tr> - <td> -</pre> - -color <code>int</code></td> - <td> -<pre class=prettyprint> -@color</td> - <td> -@color</td> - </tr> - <tr> - <td> -ColorStateList</td> - <td> -@color</td> - <td> -@colorStateList</td> - </tr> -</table> - -</pre> - - -<h2 id="data_objects">Data Objects</h2> - - -<p>Any plain old Java object (POJO) may be used for data binding, but modifying a -POJO will not cause the UI to update. The real power of data binding can be -used by giving your data objects the ability to notify when data changes. There -are three different data change notification mechanisms, <code>Observable </code>objects, <code>ObservableField</code>s, and <code>observable collections</code>.</p> - -<p>When one of these observable data object is bound to the UI and a property of -the data object changes, the UI will be updated automatically.</p> - -<h3 id=observable_objects>Observable Objects</h3> - - -<p>A class implementing <code>android.databinding.Observable</code> interface will allow the binding to attach a single listener to a bound object -to listen for changes of all properties on that object.</p> - -<p>The <code>Observable</code> interface has a mechanism to add and remove listeners, but notifying is up to -the developer. To make development easier, a base class, <code>BaseObservable,</code> was created to implement the listener registration mechanism. The data class -implementer is still responsible for notifying when the properties change. This -is done by assigning an <code>Bindable </code>annotation to the getter and notifying in the setter.</p> - -<pre class=prettyprint> -<strong>private static class </strong>User <strong>extends </strong>BaseObservable { - <strong>private </strong>String <strong>firstName</strong>; - <strong>private </strong>String <strong>lastName</strong>; - @Bindable - <strong>public </strong>String getFirstName() { - <strong>return this</strong>.<strong>firstName</strong>; - } - @Bindable - <strong>public </strong>String getFirstName() { - <strong>return this</strong>.<strong>lastName</strong>; - } - <strong>public void </strong>setFirstName(String firstName) { - <strong>this</strong>.<strong>firstName </strong>= firstName; - notifyPropertyChanged(BR.firstName); - } - <strong>public void </strong>setLastName(String lastName) { - <strong>this</strong>.<strong>lastName </strong>= lastName; - notifyPropertyChanged(BR.lastName); - } -} -</pre> - -<p>The <code>Bindable </code>annotation generates an entry in the BR class file during compilation. The BR -class file will be generated in the module package.If the base class for data classes cannot be changed, the <code>Observable</code> interface may be implemented using the convenient <code>PropertyChangeRegistry</code> to store and notify listeners efficiently.</p> - -<h3 id=observablefields>ObservableFields</h3> - -<p>A little work is involved in creating Observable classes, so developers who -want to save time or have few properties may use ObservableFields. -ObservableFields are self-contained observable objects that have a single -field. There are versions for all primitive types and one for reference types. -To use, create a public final field in the data class:</p> -<pre class=prettyprint> -<strong>private static class </strong>User <strong>extends </strong>BaseObservable { - <strong>public final </strong>ObservableField<String> <strong>firstName </strong>= - <strong>new </strong>ObservableField<>(); - <strong>public final </strong>ObservableField<String> <strong>lastName </strong>= - <strong>new </strong>ObservableField<>(); - <strong>public final </strong>ObservableInt <strong>age </strong>= <strong>new </strong>ObservableInt(); -} -</pre> - -<p>That's it! To access the value, use the set and get accessor methods:</p> -<pre class=prettyprint> -user.<strong>firstName</strong>.set(<strong>"Google"</strong>); -<strong>int </strong>age = user.<strong>age</strong>.get(); -</pre> - - -<h3 id=observable_collections>Observable Collections</h3> - -<p>Some applications use more dynamic structures to hold data. Observable - collections allow keyed access to these data objects.ObservableArrayMap is useful when the key is a reference type, such as String.</p> - -<pre class=prettyprint> -ObservableArrayMap<String, Object> user = <strong>new </strong>ObservableArrayMap<>(); -user.put(<strong>"firstName"</strong>, <strong>"Google"</strong>); -user.put(<strong>"lastName"</strong>, <strong>"Inc."</strong>); -user.put(<strong>"age"</strong>, 17); -</pre> - -In the layout, the map may be accessed through the String keys: -<pre class=prettyprint> -<<strong>data</strong>> - <<strong>import type="android.databinding.ObservableMap"</strong>/> - <<strong>variable name="user" type="ObservableMap<String, Object>"</strong>/> -</<strong>data</strong>> -… -<<strong>TextView - android:text='@{user["lastName"]}' - android:layout_width="wrap_content" - android:layout_height="wrap_content"</strong>/> -<<strong>TextView - android:text='@{String.valueOf(1 + (Integer)user["age"])}' - android:layout_width="wrap_content" - android:layout_height="wrap_content"</strong>/> -</pre> - -<p>ObservableArrayList is useful when the key is an integer:</p> -<pre class=prettyprint> -ObservableArrayList<Object> user = <strong>new </strong>ObservableArrayList<>(); -user.add(<strong>"Google"</strong>); -user.add(<strong>"Inc."</strong>); -user.add(17); -</pre> - -<p>In the layout, the list may be accessed through the indices:</p> -<pre class=prettyprint> -<<strong>data</strong>> - <<strong>import type="android.databinding.ObservableList"</strong>/> - <<strong>import type="com.example.my.app.Fields"</strong>/> - <<strong>variable name="user" type="ObservableList<Object>"</strong>/> -</<strong>data</strong>> -… -<<strong>TextView - android:text='@{user[Fields.LAST_NAME]}' - android:layout_width="wrap_content" - android:layout_height="wrap_content"</strong>/> -<<strong>TextView - android:text='@{String.valueOf(1 + (Integer)user[Fields.AGE])}' - android:layout_width="wrap_content" - android:layout_height="wrap_content"</strong>/> -</pre> - - -<h2 id=generated_binding>Generated Binding</h2> - -<p>The generated binding class links the layout variables with the Views within -the layout. As discussed earlier, the name and package of the Binding may be <a href="#custom_binding_class_names">customized</a>. The Generated binding classes all extend <code>android.databinding.ViewDataBinding</code>.</p> -<h3 id=creating>Creating</h3> - -<p>The binding should be created soon after inflation to ensure that the View -hierarchy is not disturbed prior to binding to the Views with expressions -within the layout. There are a few ways to bind to a layout. The most common is -to use the static methods on the Binding class.The inflate method inflates the View hierarchy and binds to it all it one step. -There are versions that attach the View to its parent and that inflate without -attaching.</p> -<pre class=prettyprint> -MyLayoutBinding binding = MyLayoutBinding.<em>inflate</em>(<strong>this</strong>); -MyLayoutBinding binding = MyLayoutBinding.<em>inflate</em>(viewGroup); -</pre> - -<p>If the layout was inflated using a different mechanism, it may be bound -separately:</p> -<pre class=prettyprint> -MyLayoutBinding binding = MyLayoutBinding.<em>bind</em>(viewRoot); -</pre> - -<p>Sometimes the binding cannot be known in advance. In such cases, the binding -can be created using the DataBindingUtil class:</p> -<pre class=prettyprint> -ViewDataBinding binding = DataBindingUtil.<em>inflate</em>(context, layoutId, - parent, attachToParent); -ViewDataBinding binding = DataBindingUtil.<em>bindTo</em>(viewRoot, layoutId); -</pre> - - -<h3 id=views_with_ids>Views With IDs</h3> - -<p>A public final field will be generated for each View with an ID in the layout. -The binding does a single pass on the View hierarchy, extracting the Views with -IDs. This mechanism can be faster than calling findViewById for several Views. For example:</p> -<pre class=prettyprint> -<<strong>layout xmlns:android="http://schemas.android.com/apk/res/android"</strong>> - <<strong>data</strong>> - <<strong>variable name="user" type="com.example.User"</strong>/> - </<strong>data</strong>> - <<strong>LinearLayout - android:orientation="vertical" - android:layout_width="match_parent" - android:layout_height="match_parent"</strong>> - <<strong>TextView android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@{user.firstName}" -</strong> <strong>android:id="@+id/firstName"</strong>/> - <<strong>TextView android:layout_width="wrap_content" - android:layout_height="wrap_content" - android:text="@{user.lastName}"</strong> <strong>android:id="@+id/lastName"</strong>/> - </<strong>LinearLayout</strong>> -</<strong>layout</strong>> -</pre> - -Will generate a binding class with: -<pre class=prettyprint> -<strong>public final </strong>TextView <strong>firstName</strong>; -<strong>public final </strong>TextView <strong>lastName</strong>; -</pre> - -<p>IDs are not nearly as necessary as without data binding, but there are still -some instances where access to Views are still necessary from code.</p> -<h3 id=variables>Variables</h3> - -<p>Each variable will be given a accessor methods.</p> -<pre class=prettyprint> -<<strong>data</strong>> - <<strong>import type="android.graphics.drawable.Drawable"</strong>/> - <<strong>variable name="user" type="com.example.User"</strong>/> - <<strong>variable name="image" type="Drawable"</strong>/> - <<strong>variable name="note" type="String"</strong>/> -</<strong>data</strong>> -</pre> - -<p>will generate setters and getters in the binding:</p> -<pre class=prettyprint> -<strong>public abstract </strong>com.example.User getUser(); -<strong>public abstract void </strong>setUser(com.example.User user); -<strong>public abstract </strong>Drawable getImage(); -<strong>public abstract void </strong>setImage(Drawable image); -<strong>public abstract </strong>String getNote(); -<strong>public abstract void </strong>setNote(String note); -</pre> - - -<h3 id=viewstubs>ViewStubs</h3> - -<p>ViewStubs are a little different from normal Views. They start off invisible -and when they either are made visible or are explicitly told to inflate, they -replace themselves in the layout by inflating another layout.</p> - -<p>Because the ViewStub essentially disappears from the View hierarchy, the View -in the binding object must also disappear to allow collection. Because the -Views are final, a ViewStubProxy object takes the place of the ViewStub, giving -the developer access to the ViewStub when it exists and also access to the -inflated View hierarchy when the ViewStub has been inflated.</p> - -<p>When inflating another layout, a binding must be established for the new -layout. Therefore, the ViewStubProxy must listen to the ViewStub's -OnInflateListener and establish the binding at that time. Since only one can -exist, the ViewStubProxy allows the developer to set an OnInflateListener on it -that it will call after establishing the binding.</p> - -<h3 id=advanced_binding>Advanced Binding</h3> - - -<h4 id=dynamic_variables>Dynamic Variables</h4> - -<p>At times, the specific binding class won't be known. For example, a -RecyclerView Adapter operating against arbitrary layouts won't know the -specific binding class. It still must assign the binding value during the -onBindViewHolder.</p> - -<p>In this example, all layouts that the RecyclerView binds to have an "item" -variable. The BindingHolder has a getBinding method returning the <code>ViewDataBinding</code> base.</p> -<pre class=prettyprint> -<strong>public void </strong>onBindViewHolder(BindingHolder holder, <strong>int </strong>position) { - <strong>final </strong>T item = <strong>mItems</strong>.get(position); - holder.getBinding().setVariable(BR.item, item); - holder.getBinding().executePendingBindings(); -} -</pre> - - -<h4 id=immediate_binding>Immediate Binding</h4> - -<p>When a variable or observable changes, the binding will be scheduled to change -before the next frame. There are times, however, when binding must be executed -immediately. To force execution, use the executePendingBindings() method.</p> -<h2 id=attribute_setters>Attribute Setters</h2> - -<p>Whenever a bound value changes, the generated binding class must call a setter -method on the View with the binding expression. The data binding framework has -ways to customize which method to call to set the value.</p> -<h3 id=automatic_setters>Automatic Setters</h3> - -For an attribute, data binding tries to find the method setAttribute. The -namespace for the attribute does not matter, only the attribute name itself. - -<p>For example, an expression associated with TextView's attribute <strong><code>android:text</code></strong> will look for a setText(String). If the expression returns an int, data -binding will search for a setText(int) method. Be careful to have the -expression return the correct type, casting if necessary.Note that data binding will work even if no attribute exists with the given -name. You can then easily "create" attributes for any setter by using data -binding. For example, support DrawerLayout doesn't have any attributes, but -plenty of setters. You can use the automatic setters to use one of these.</p> -<pre class=prettyprint> -<android.support.v4.widget.<strong>DrawerLayout - android:layout_width="wrap_content" - android:layout_height="wrap_content" - app:scrimColor="@{@color/scrim}" - app:drawerListener="@{fragment.drawerListener}"/></strong> -</pre> - - -<h3 id=renamed_setters>Renamed Setters</h3> - -<p>Some attributes have setters that don't match by name. For these methods, an -attribute may be associated with the setter through BindingMethods annotation. -This must be associated with a class and contains BindingMethod annotations, -one for each renamed method. For example, the <strong><code>android:tint</code></strong> attribute is really associated with setImageTintList, not setTint.</p> -<pre class=prettyprint> -@BindingMethods({ - @BindingMethod(type = <strong>"android.widget.ImageView"</strong>, - attribute = <strong>"android:tint"</strong>, - method = <strong>"setImageTintList"</strong>), -}) -</pre> - -<p>It is unlikely that developers will need to rename setters; the android -framework attributes have already been implemented.</p> -<h3 id=custom_setters>Custom Setters</h3> - -<p>Some attributes need custom binding logic. For example, there is no associated -setter for the <strong><code>android:paddingLeft</code></strong> attribute. Instead, setPadding(left, top, right, bottom) exists. A static -binding adapter method with the BindingAdapter annotation allows the developer -to customize how a setter for an attribute is called.</p> - -<p>The android attributes have already had BindingAdapters created. For example, -here is the one for paddingLeft:</p> -<pre class=prettyprint></p> -@BindingAdapter(<strong>"android:paddingLeft"</strong>) -<strong>public static void </strong>setPaddingLeft(View view, <strong>int </strong>padding) { - view.setPadding(padding, - view.getPaddingTop(), - view.getPaddingRight(), - view.getPaddingBottom()); -} -</pre> - -<p>Binding adapters are useful for other types of customization. For example, a - custom loader can be called off-thread to load an image.</p> - -<p>Developer-created binding adapters will override the data binding default -adapters when there is a conflict.</p> - -<p>You can also have adapters that receive multiple parameters. </p> -<pre class=prettyprint> -@BindingAdapter(attributes = {<strong>"bind:imageUrl"</strong>, <strong>"bind:error"</strong>}) -<strong>public static void </strong>loadImage(ImageView view, String url, Drawable error) { - Picasso.<em>with</em>(view.getContext()).load(url).error(error).into(view); -} -</pre> - -<p>This adapter will be called if both <strong>imageUrl </strong>and <strong>error </strong>are used for an ImageView and <em>imageUrl </em>is a string and <em>error</em> is a drawable.</p> -<ul> - <li> Custom namespaces are ignore during matching. - <li> You can also write adapters for android namespace. -</ul> - -<pre class=prettyprint> -<ImageView app:imageUrl=“@{venue.imageUrl}” -app:error=“@{@drawable/venueError}”/> -</pre> - - -<h2 id=converters>Converters</h2> - - -<h3 id=object_conversions>Object Conversions</h3> - -<p>When an Object is returned from a binding expression, a setter will be chosen -from the automatic, renamed, and custom setters. The Object will be cast to a -parameter type of the chosen setter.</p><p>This is a convenience for those using ObservableMaps to hold data. for example:</p> -<pre class=prettyprint> -<<strong>TextView - android:text='@{userMap["lastName"]}' - android:layout_width="wrap_content" - android:layout_height="wrap_content"</strong>/> -</pre> - -<p>The userMap returns an Object and that Object will be automatically cast to -parameter type found in the setter <code>setText(CharSequence)</code>. When there may be confusion about the parameter type, the developer will need -to cast in the expression.</p> -<h3 id=custom_conversions>Custom Conversions</h3> - -<p>Sometimes conversions should be automatic between specific types. For example, -when setting the background:</p> -<pre class=prettyprint> -<<strong>View - android:background="@{isError ? @color/red : @color/white}" - android:layout_width="wrap_content" - android:layout_height="wrap_content"</strong>/> -</pre> - -<p>Here, the background takes a <code>Drawable</code>, but the color is an integer. Whenever a <code>Drawable</code> is expected and an integer is returned, the <code>int</code> should be converted to a <code>ColorDrawable</code>. This conversion is done using a static method with a BindingConversion -annotation:</p> -<pre class=prettyprint> -@BindingConversion -<strong>public static </strong>ColorDrawable convertColorToDrawable(<strong>int </strong>color) { - <strong>return new </strong>ColorDrawable(color); -} -</pre> - -<p>Note that conversions only happen at the setter level, so it is <strong>not allowed </strong>to mix types like this:</p> -<pre class=prettyprint> -<<strong>View - android:background="@{isError ? @drawable/error : @color/white}" - android:layout_width="wrap_content" - android:layout_height="wrap_content"</strong>/> -</pre> - diff --git a/docs/html/preview/download.jd b/docs/html/preview/download.jd index e6db986..6c7c945 100644 --- a/docs/html/preview/download.jd +++ b/docs/html/preview/download.jd @@ -189,7 +189,7 @@ This is the Android SDK Preview License Agreement (the “License Agreement”). </p> -<h2 id="#docs">Developer Documentation</h2> +<h2 id="docs">Developer Documentation</h2> <p> The developer documentation download package provides detailed API reference information and an API difference report for the preview. @@ -203,9 +203,9 @@ This is the Android SDK Preview License Agreement (the “License Agreement”). <tr id="docs-dl"> <td>Android M Preview<br>Developer Docs</td> <td><a href="#top" onclick="onDownload(this)" - >m-preview-devdocs-r1.zip</a><br> - MD5: 5a6ae77217978cb7b958a240c2e80b57<br> - SHA-1: ac1d8a8e4f4a1dca5864dc733caa940bffc28616 + >m-preview-1-developer-docs.zip</a><br> + MD5: b65201b0d35416f5a1b7a071b52854a7<br> + SHA-1: d47e856aa65e06897e6edd902ad8d2b1f05ac3ec </td> </tr> <table> @@ -214,7 +214,7 @@ This is the Android SDK Preview License Agreement (the “License Agreement”). <h2 id="images">Hardware System Images</h2> <p> - These system images allow you install a preview version of the platform on a physical device for + These system images allow you to install a preview version of the platform on a physical device for testing. By configuring a device with one of these images, you can install and test your app to see how it performs on the next version of the platform. The process of installing a system image on a device <em>removes all data from the device</em>, so you should backup your data before @@ -255,8 +255,8 @@ This is the Android SDK Preview License Agreement (the “License Agreement”). <td>Nexus 9 <br>"volantis"</td> <td><a href="#top" onclick="onDownload(this)" >volantis-MPZ44Q-preview-d15ad483.tgz</a><br> - MD5: 8989ce077510a1b814d58dcdb33d160e<br> - SHA-1: d15ad483d0364102984411abda66a4d7b85886c0 + MD5: fae40377fd999d2b09128665c915264d<br> + SHA-1: 7ab05f96093b2cb370b226f65931202714cbc2ca </td> </tr> <tr id="fugu"> @@ -292,7 +292,7 @@ This is the Android SDK Preview License Agreement (the “License Agreement”). <h3 id="revertDevice">Revert a Device to Factory Specifications</h3> <p> - If you want to uninstall the Preview and revert the device to factory specifications, go to + If you want to uninstall the preview and revert the device to factory specifications, go to <a href="http://developers.google.com/android/nexus/images">developers.google.com/android</a> and download the image you want to flash to for your device. Follow the instructions on that page to flash the image to your device. @@ -305,7 +305,7 @@ This is the Android SDK Preview License Agreement (the “License Agreement”). <script> - var urlRoot = "http://storage.googleapis.com/androiddevelopers/preview/images/"; + var urlRoot = "http://storage.googleapis.com/androiddevelopers/shareables/preview/"; function onDownload(link) { $("#downloadForRealz").html("Download " + $(link).text()); @@ -330,15 +330,18 @@ This is the Android SDK Preview License Agreement (the “License Agreement”). function onDownloadForRealz(link) { if ($("input#agree").is(':checked')) { + /* $("#tos").fadeOut('fast'); $("#landing").fadeIn('fast'); + */ + ga('send', 'event', 'M Preview', 'System Image', $("#downloadForRealz").html()); + + /* location.hash = ""; + */ return true; } else { - $("label#agreeLabel").parent().stop().animate({color: "#258AAF"}, 200, - function() {$("label#agreeLabel").parent().stop().animate({color: "#222"}, 200)} - ); return false; } } diff --git a/docs/html/preview/features/app-linking.jd b/docs/html/preview/features/app-linking.jd index 398b038..5592323 100644 --- a/docs/html/preview/features/app-linking.jd +++ b/docs/html/preview/features/app-linking.jd @@ -1,8 +1,8 @@ page.title=App Links - +page.image=images/cards/card-app-linking_2x.png +page.keywords=applinking, deeplinks, intents @jd:body - <div id="qv-wrapper"> <div id="qv"> <h2>In this document</h2> @@ -99,7 +99,7 @@ page.title=App Links </pre> <p> - When the (@code android:autoVerify} attribute is present in an app manifest, the platform + When the {@code android:autoVerify} attribute is present in an app manifest, the platform attempts to verify app links when the app is installed. If the platform cannot successfully verify the app links, the app is not set as the preferred app to handle the web links. The next time a user opens one of the links, the platform falls back to presenting the user with a diff --git a/docs/html/preview/features/images/app-permissions-screen@2x.png b/docs/html/preview/features/images/app-permissions-screen_2x.png Binary files differindex e3eb13f..e3eb13f 100644 --- a/docs/html/preview/features/images/app-permissions-screen@2x.png +++ b/docs/html/preview/features/images/app-permissions-screen_2x.png diff --git a/docs/html/preview/features/runtime-permissions.jd b/docs/html/preview/features/runtime-permissions.jd index 9994120..b4eed9a 100644 --- a/docs/html/preview/features/runtime-permissions.jd +++ b/docs/html/preview/features/runtime-permissions.jd @@ -1,6 +1,7 @@ page.title=Permissions page.tags=previewresources, androidm page.keywords=permissions, runtime, preview +page.image=images/permissions_check.png @jd:body @@ -128,12 +129,12 @@ page.keywords=permissions, runtime, preview that they need to grant that permission. </li> - <div class="figure" style="width:220px"> - <img src="images/app-permissions-screen.png" srcset= - "images/app-permissions-screen@2x.png 2x" alt="" width="220" height= - "375"> + <div class="figure" style="width:220px" id="fig-perms-screen"> + <img src="images/app-permissions-screen_2x.png" + srcset="images/app-permissions-screen.png 1x, images/app-permissions-screen_2x.png 2x" + alt="" width="220"> <p class="img-caption"> - <strong>Figure 2.</strong> Permission screen in the app's Settings. + <strong>Figure 1.</strong> Permission screen in the app's Settings. </p> </div> diff --git a/docs/html/preview/images/direct-share-screen.png b/docs/html/preview/images/direct-share-screen.png Binary files differindex 9e879e0..a53a33e 100644 --- a/docs/html/preview/images/direct-share-screen.png +++ b/docs/html/preview/images/direct-share-screen.png diff --git a/docs/html/preview/images/direct-share-screen_2x.png b/docs/html/preview/images/direct-share-screen_2x.png Binary files differindex 3bbfa7d..87816ff 100644 --- a/docs/html/preview/images/direct-share-screen_2x.png +++ b/docs/html/preview/images/direct-share-screen_2x.png diff --git a/docs/html/preview/images/fingerprint-screen.png b/docs/html/preview/images/fingerprint-screen.png Binary files differindex 0bb49ef..77f9982 100644 --- a/docs/html/preview/images/fingerprint-screen.png +++ b/docs/html/preview/images/fingerprint-screen.png diff --git a/docs/html/preview/images/fingerprint-screen_2x.png b/docs/html/preview/images/fingerprint-screen_2x.png Binary files differindex 25ce51a..4749bcf 100644 --- a/docs/html/preview/images/fingerprint-screen_2x.png +++ b/docs/html/preview/images/fingerprint-screen_2x.png diff --git a/docs/html/preview/index.jd b/docs/html/preview/index.jd index c5644cc..eb18aa6 100644 --- a/docs/html/preview/index.jd +++ b/docs/html/preview/index.jd @@ -1,6 +1,6 @@ page.title=Android M Developer Preview -page.tags="preview", -meta.tags="preview, M preview" +page.tags="preview", +meta.tags="preview, M preview", androidm fullpage=true section.landing=true header.hide=1 @@ -19,8 +19,8 @@ footer.hide=1 <h1 class="dac-hero-title">Android M Developer Preview</h1> <p class="dac-hero-description"> Get ready for the next version of Android. Test your apps on Nexus 5, 6, 9, and - Player. Explore what's new — a <strong>runtime permissions</strong> model, - power-saving <strong>Doze</strong> and <strong>Standby Mode</strong>, new + Player. Explore what's new — <strong>runtime permissions</strong>, + <strong>Doze</strong> and <strong>App Standby</strong> power-saving features, new <strong>assist technology</strong>, and more. </p> @@ -39,32 +39,30 @@ footer.hide=1 </div> </section> - -<div class="wrap dac-offset-parent"> - <a class="dac-fab dac-scroll-button" data-scroll-button href="#latest"> - <i class="dac-sprite dac-arrow-down-gray"></i> - </a> -</div> - -<section class="dac-section dac-gray dac-small dac-invert" id="latest"><div class="wrap"> - <h2 class="norule">Latest</h2> - <div class="resource-widget resource-flow-layout col-16" - data-query="type:blog+tag:androidm,type:youtube+tag:androidm" - data-cardSizes="6x6" - data-maxResults="6" - data-initial-results="3"</div> -</div></section> - - -<section class="dac-section dac-light"><div class="wrap"> +<section class="dac-section dac-gray"><div class="wrap"> <h1 class="dac-section-title">Resources</h1> <div class="dac-section-subtitle"> Essential information to help you get your apps ready for Android M. </div> + <div class="resource-widget resource-flow-layout col-16" - data-query="tag:previewresources" + data-query="collection:preview/landing/more" data-cardSizes="6x6" - data-initial-results="6" data-maxResults="16"></div> -</div></section> + + <ul class="dac-section-links"> + <li class="dac-section-link"> + <a href="https://code.google.com/p/android-developer-preview/"> + <span class="dac-sprite dac-auto-chevron"></span> + Report Issues + </a> + </li> + <li class="dac-section-link"><a href="http://g.co/dev/AndroidMDevPreview"> + <span class="dac-sprite dac-auto-chevron"></span> + Join G+ Community + </a> + </li> + </ul> + </div> +</section> diff --git a/docs/html/preview/overview.jd b/docs/html/preview/overview.jd index 4c13fbc..36b177d 100644 --- a/docs/html/preview/overview.jd +++ b/docs/html/preview/overview.jd @@ -43,7 +43,7 @@ page.tags="preview", "developer", "android" </h5> <p> - You can get updates over the air, once you’ve flashed a + You can get updates over-the-air, once you’ve flashed a device to the initial preview. </p> </div> @@ -51,12 +51,6 @@ page.tags="preview", "developer", "android" <div class="cols"> -<!--<div class="col-4of12"> -<h5>Early access to new APIs</h5> -<p>Explore the new capabilities and APIs offered in the new platform and give us -feedback. Note that APIs and capabilities may change during the Preview -program.</p> -</div>--> <div class="col-4of12"> <h5> @@ -82,7 +76,7 @@ program.</p> <div class="col-4of12"> <h5> - Feedback and support channels + Feedback and support </h5> <p> @@ -90,6 +84,7 @@ program.</p> "https://code.google.com/p/android-developer-preview/">issue tracker</a>. Connect with other developers in the <a href="http://g.co/dev/AndroidMDevPreview">M Developer Community</a>. + </p> </div> </div> @@ -121,9 +116,9 @@ program.</p> <img src="{@docRoot}preview/images/m-preview-timeline-crop.png" alt= "Preview program timeline" id="timeline"> <p> - The M Developer Preview runs from May 27 until the final Android M SDK, which + The M Developer Preview runs from May 28 until the final Android M SDK, which we’ll release shortly before the public release during Q3 - 2015. + 2015. </p> <p> @@ -154,7 +149,7 @@ program.</p> <p> As you test and develop on Android M, we strongly recommend <strong>keeping your development environment up-to-date</strong> as Preview updates are released. - To make the process easier, we'll deliver <strong>updates over the air + To make the process easier, we'll deliver <strong>updates over-the-air (OTA)</strong> to devices already flashed to a Preview build, as well as providing system images that you can download and flash manually. </p> @@ -209,7 +204,7 @@ program.</p> <p> You can download these hardware system images for Nexus devices from the - <a href="downloads.html">Downloads page</a>: + <a href="download.html">Downloads page</a>: </p> <ul> @@ -245,24 +240,25 @@ program.</p> </li> <li> - <a href="testing.html">Testing Guide</a> and <a href= - "api-changes.html">Behavior Changes</a> point you to key areas to test. + <a href="{@docRoot}preview/testing/guide.html">Testing Guide</a> and <a href= + "behavior-changes.html">Behavior Changes</a> point you to key areas to test. </li> <li>Documentation of new APIs, including an <a href="api-overview.html">API Overview</a>, - downloadable <a href="">API Reference</a>, and detailed developer guides on - key features such as <a href="">permissions</a>, <a href="">app backup</a>, - and others. + downloadable <a href="{@docRoot}preview/download.html#docs">API Reference</a>, and detailed developer guides on + key features such as + <a href="{@docRoot}preview/features/runtime-permissions.html">permissions</a>, + <a href="{@docRoot}preview/backup/index.html">app backup</a>, and others. </li> <li> - <a href="">Sample code</a> that demonstrates how support + <a href="{@docRoot}preview/samples.html">Sample code</a> that demonstrates how to support permissions and other new features. </li> <li> - <a href="">Release notes</a> for the current version of the M Developer - Preview, including change notes and diff reports. + <a href="{@docRoot}preview/support.html#release-notes">Release notes</a> for the current version + of the M Developer Preview, including change notes and diff reports. </li> </ul> @@ -279,8 +275,9 @@ program.</p> <li><a href="https://code.google.com/p/android-developer-preview/">M Developer Preview Issue Tracker</a> is your <strong>primary feedback channel.</strong> You can report bugs, performance issues, and general - feedback through the issue tracker. You can also check for known issues - and find workaround steps, if available. + feedback through the issue tracker. You can also check for <a + href="https://code.google.com/p/android-developer-preview/wiki/KnownIssues">known issues</a> + and find workaround steps. </li> <li>The <a href="http://g.co/dev/AndroidMDevPreview">Android M Developer @@ -329,7 +326,7 @@ program.</p> </p> <h2 id="get_started"> - How to get started? + How to get started </h2> <p> @@ -338,11 +335,13 @@ program.</p> <ol> <li>Review the <a href="{@docRoot}preview/api-overview.html">API Overview</a> - and <a href="{@docRoot}preview/behavior.html">Behavior Changes</a> to get an - idea of what's new and how it affects your apps. + and <a href="{@docRoot}preview/behavior-changes.html">Behavior Changes</a> to get an + idea of what's new and how it affects your apps. In particular, learn about + the new <a href="{@docRoot}preview/features/runtime-permissions.html">runtime + permissions</a> model, power-saving features, and auto backup. </li> - <li>Setup for testing and development by following the instructions for + <li>Set up your environment by following the instructions for <a href="{@docRoot}preview/setup-sdk.html">Setting up the Preview SDK</a> and configuring test devices. </li> @@ -353,7 +352,7 @@ program.</p> Preview updates will be delivered through over-the-air (OTA) updates.</a> </li> - <li>Download the <a href="{@docRoot}preview/reference.html">M Preview API + <li>Download the <a href="{@docRoot}preview/download.html#docs">M Preview API Reference</a> and <a href="{@docRoot}preview/samples.html">M Preview samples</a> to gain more insight into new API features and how to use them in your app. @@ -367,4 +366,4 @@ program.</p> <p> Thank you for your participation in the Android M Developer Preview program! -</p>
\ No newline at end of file +</p> diff --git a/docs/html/preview/preview_toc.cs b/docs/html/preview/preview_toc.cs index 07afcdd..d0aa55f 100644 --- a/docs/html/preview/preview_toc.cs +++ b/docs/html/preview/preview_toc.cs @@ -33,7 +33,7 @@ <li><a href="<?cs var:toroot ?>preview/features/app-linking.html"> App Links</a></li> <li><a href="<?cs var:toroot ?>preview/backup/index.html"> - Automatic Backups</a></li> + Auto Backup for Apps</a></li> </ul> </li> diff --git a/docs/html/preview/samples.jd b/docs/html/preview/samples.jd index 3974ee3..7d47e0e 100644 --- a/docs/html/preview/samples.jd +++ b/docs/html/preview/samples.jd @@ -7,7 +7,6 @@ page.image=images/cards/samples-new_2x.png the samples in Android Studio, select the <b>File > Import Samples</b> menu option. </p> -<img src="{@docRoot}images/cards/card-google-cloud-messaging_16-9_2x" class="figure"> <p class="note"> <strong>Note:</strong> These downloadable projects are designed for use with Gradle and Android Studio. diff --git a/docs/html/preview/setup-sdk.jd b/docs/html/preview/setup-sdk.jd index 016967d..d3327e8 100644 --- a/docs/html/preview/setup-sdk.jd +++ b/docs/html/preview/setup-sdk.jd @@ -24,14 +24,13 @@ App</a> training lesson first.</a></p> <h2 id="get-as13">Get Android Studio 1.3</h2> -<p>The Developer Preview requires Android Studio 1.3, which is in -preview status. You need -to install the preview version of Android Studio 1.3 to work with the Preview -SDK.</p> +<p>The Developer Preview is best used with Android Studio 1.3, which is in +preview status. It is highly recommended that you install the preview version of +Android Studio 1.3 to work with the Preview SDK.</p> <p class="caution"><strong>Caution:</strong> The canary preview of Android Studio 1.3 is still in active development. If you are using your primary development -machine to test the developer preview, you should create a second installation +machine to test the developer preview, you can create a second installation of Android Studio to use for testing.</p> <p>To install the Android Studio 1.3 preview:</p> @@ -41,12 +40,18 @@ of Android Studio to use for testing.</p> Studio</a>. </li> - <li>Open the <strong>Settings</strong> window by choosing <strong>File > - Settings</strong>. Choose the <strong>Appearance & Behavior > System - Settings > Updates</strong> panel.</li> + <li>Open the <strong>Settings</strong> window (on Windows, you can do this + by choosing <strong>File > Settings</strong>). Choose the + <strong>Appearance & Behavior > System + Settings > Updates</strong> panel. + + <p class="aside">On OSX, you can find the <strong>Appearance & + Behavior</strong> panel + in Android Studio's <strong>Preferences</strong> window.</p> + </li> <li> On the <strong>Updates</strong> panel, choose the option - <strong>Automatically check updates for: Canary Chanel</strong>. + <strong>Automatically check updates for: Canary Channel</strong>. </li> <li>On the <strong>Updates</strong> panel, select <strong>Check Now</strong> @@ -63,18 +68,24 @@ of Android Studio to use for testing.</p> <li>Launch the Android Studio 1.3 preview. </li> - <li>Open the <strong>Settings</strong> window by choosing <strong>File > - Settings</strong>. Choose the <strong>Appearance & Behavior > System - Settings > Updates</strong> panel.</li> + <li>Open the <strong>Settings</strong> window (on Windows, you can do this + by choosing <strong>File > Settings</strong>). Choose the + <strong>Appearance & Behavior > System + Settings > Updates</strong> panel. + + <p class="aside">On OSX, you can find the <strong>Appearance & + Behavior</strong> panel + in Android Studio's <strong>Preferences</strong> window.</p> + </li> <li>On the <strong>Updates</strong> panel, choose the options - <strong>Automatically check updates for: Canary Chanel</strong> and - <strong>Automatically check updates for Android SDK: Preview Chanel</strong>. + <strong>Automatically check updates for: Canary Channel</strong> and + <strong>Automatically check updates for Android SDK: Preview Channel</strong>. </li> - <li>Click the <strong>Android SDK Manager</strong> button to launch the SDK - Manager. (With Android Studio 1.3, the SDK Manager is integrated into Android - Studio instead of being a standalone application.) + <li>Launch the <strong>Android SDK Manager</strong>. (With Android Studio 1.3, + the SDK Manager is integrated into Android Studio instead of being a + standalone application.) </li> <li>Under the <strong>Platforms</strong> section, select <strong>Android MNC @@ -116,7 +127,7 @@ of Android Studio to use for testing.</p> <h3 id="create">Create a new project</h3> <p> - We recommend using Android Studio for create a project with the preview. Follow the steps + We recommend using Android Studio to create a project with the preview. Follow the steps described in <a href="{@docRoot}sdk/installing/create-project.html">Creating a Project</a> until you arrive at the <em>Form Factors</em> screen in the project wizard. Then perform the following steps to create a project configured for the preview. @@ -124,7 +135,8 @@ of Android Studio to use for testing.</p> <ul> <li>Check <strong>Phone and Tablet</strong>.</li> - <li>Select <strong>API 22+: Android M (Preview)</strong> in <strong>Minimum SDK</strong>.</li> + <li>Select <strong>MNC: Android M (Preview)</strong> in <strong>Minimum + SDK</strong>.</li> </ul> @@ -132,7 +144,7 @@ of Android Studio to use for testing.</p> <p> For existing projects, you must modify the project configuration to enable the preview APIs. In - your the development environment, open the <code>build.gradle</code> file for your module and + your development environment, open the <code>build.gradle</code> file for your module and set these values as follows: </p> @@ -146,17 +158,17 @@ of Android Studio to use for testing.</p> <h2 id="setup-test">Set Up for Testing</h2> <p> - Testing app with the preview requires that you have a device or virtual device configured with + Testing an app with the preview requires that you have a device or virtual device configured with the preview version of the platform. If you have a compatible device, you can install the preview platform for testing. Otherwise, you can configure a virtual device for testing. </p> -<h3 id="setup-device">Set up a Physical Device</h3> +<h3 id="setup-device">Set up a physical device</h3> <p> If you have a Nexus 5, Nexus 6, Nexus 9, or Android TV, you can install a preview system image on these devices for testing your app. - You can set up virtual device with the preview version of the platform from within Android Studio + You can set up a virtual device with the preview version of the platform from within Android Studio using the Android Virtual Device Manager tool. </p> @@ -165,7 +177,7 @@ of Android Studio to use for testing.</p> it</em>, so you should backup any data before installing a preview image. </p> -<h3 id="setupAVD">Set up a Virtual Device</h3> +<h3 id="setupAVD">Set up a virtual device</h3> <p> You can set up virtual device with the preview version of the platform from within Android Studio @@ -182,9 +194,10 @@ of Android Studio to use for testing.</p> <a href="{@docRoot}tools/devices/managing-avds.html">Managing AVDs with AVD Manager</a>. Use the following settings: <ul> - <li><strong>Device:</strong> Nexus 5, Nexus 6, Nexus 9, or Nexus Player</li> + <li><strong>Device:</strong> Nexus 5, Nexus 6, Nexus 9, or Android TV</li> <li><strong>Target:</strong> Android M (Preview) - API Level M</li> + <li><strong>ABI:</strong> x86</li> </ul> </li> </ol> diff --git a/docs/html/preview/support.jd b/docs/html/preview/support.jd index 3ed1487..dd9736a 100644 --- a/docs/html/preview/support.jd +++ b/docs/html/preview/support.jd @@ -11,7 +11,7 @@ page.image=images/cards/card-support_16-9_2x.png <p> For more support, join the - <a href="https://plus.google.com/communities/101985907812750684586">M Developer + <a href="http://g.co/dev/AndroidMDevPreview">M Developer Preview Google+ community</a> to discuss your development experiences. </p> diff --git a/docs/html/preview/testing/guide.jd b/docs/html/preview/testing/guide.jd index f2ab5a7..56bb4d9 100644 --- a/docs/html/preview/testing/guide.jd +++ b/docs/html/preview/testing/guide.jd @@ -1,5 +1,6 @@ page.title=Testing Guide -page.image=images/cards/card-set-up_16-9_2x.png +page.image=images/cards/card-build_16x9_2x.png +page.keywords=previewresources,androidm,testing,permissions @jd:body @@ -9,6 +10,7 @@ page.image=images/cards/card-set-up_16-9_2x.png <ol> <li><a href="#runtime-permissions">Testing Permissions</a></li> <li><a href="#doze-standby">Testing Doze and App Standby</a></li> + <li><a href="#ids">Auto Backup and Device Identifiers</a></li> </ol> </div> </div> @@ -17,7 +19,7 @@ page.image=images/cards/card-set-up_16-9_2x.png The Android M Developer Preview gives you an opportunity to ensure your apps work with the next version of the platform. This preview includes a number of APIs and behavior changes that can impact your app, as described in the <a href="{@docRoot}preview/api-overview.html">API - Overview</a> and <a href="{@docRoot}preview/api-changes.html">Behavior Changes</a>. In testing + Overview</a> and <a href="{@docRoot}preview/behavior-changes.html">Behavior Changes</a>. In testing your app with the preview, there are some specific system changes that you should focus on to ensure that users have a good experience. </p> @@ -31,8 +33,9 @@ page.image=images/cards/card-set-up_16-9_2x.png <ul> <li><a href="#runtime-permissions">Permissions</a> </li> - <li><a href="#doze-mode">Doze and App Standby</a> + <li><a href="#doze-standby">Doze and App Standby</a> </li> + <li><a href="#ids">Auto Backup and Device Identifiers</a></li> </ul> <p> @@ -54,8 +57,8 @@ page.image=images/cards/card-set-up_16-9_2x.png app features from working, or they may work in a degraded state. </p> -<p> - This change that affects all apps running on the new platform, even those not targeting the new +<p class="caution"> + This change affects all apps running on the new platform, even those not targeting the new platform version. The platform provides a limited compatibility behavior for legacy apps, but you should begin planning your app’s migration to the new permissions model now, with a goal of publishing an updated version of your app at the official platform launch. @@ -121,7 +124,7 @@ page.image=images/cards/card-set-up_16-9_2x.png <h2 id="doze-standby">Testing Doze and App Standby</h2> <p> - The power saving features of Doze and App Standby limits the amount of background processing that + The power saving features of Doze and App Standby limit the amount of background processing that your app can perform when a device is in an idle state or while your app is not in focus. The restrictions the system may impose on apps include limited or no network access, suspended background tasks, suspended Notifications, ignored wake requests, and alarms. To ensure @@ -174,3 +177,11 @@ $ adb shell am set-idle <packageName> true from standby mode. In particular, you should check if your app's Notifications and background jobs continue to function as expected.</li> </ol> + +<h2 id="ids">Auto Backup for Apps and Device-Specific Identifiers</h2> + +<p>If your app is persisting any device-specific identifiers, such as Google +Cloud Messaging registration ID, in internal storage, +make sure to follow best practices to exclude the storage +location from auto-backup, as described in <a href="{@docRoot}preview/backup/index.html">Auto +Backup for Apps</a>. </p> diff --git a/docs/html/preview/testing/performance.jd b/docs/html/preview/testing/performance.jd index a61091f..003b619 100644 --- a/docs/html/preview/testing/performance.jd +++ b/docs/html/preview/testing/performance.jd @@ -1,4 +1,6 @@ page.title=Testing Display Performance +page.image=images/cards/card-test-performance_2x.png +page.keywords=performance, fps, tools @jd:body @@ -552,10 +554,10 @@ Number Slow draw: 23342 </h4> <p> - Tool suites like <a href= - "https://developer.android.com/tools/testing-support-library/index.html">UIAutomator</a>, - and <a href="https://code.google.com/p/android-test-kit/">Espresso</a> are built to help - automate the action of a user moving through your application. These are simple + Tool suites, like <a href= + "{@docRoot}training/testing/ui-testing/uiautomator-testing.html">UI Automator</a> and + <a href="{@docRoot}training/testing/ui-testing/espresso-testing.html">Espresso</a>, are + built to help automate the action of a user moving through your application. These are simple frameworks which mimic user interaction with your device. To use these frameworks, you effectively create unique scripts, which run through a set of user-actions, and play them out on the device itself. @@ -583,7 +585,7 @@ Number Slow draw: 23342 <p> It’s worth noting that UI testing frameworks (like <a href= - "https://developer.android.com/tools/testing-support-library/index.html">UIAutomator</a>) + "{@docRoot}training/testing/ui-testing/uiautomator-testing.html">UI Automator</a>) run on the target device/emulator directly. While performance gathering information done by <em>dumpsys gfxinfo</em> is driven by a host machine, sending commands over ADB. To help bridge the automation of these separate entities, <a href= @@ -593,7 +595,7 @@ Number Slow draw: 23342 </p> <p> - Building a set of scripts for proper Automation of UI Performance testing, at a minimum, + Building a set of scripts for proper automation of UI Performance testing, at a minimum, should be able to utilize monkeyRunner to accomplish the following tasks: </p> @@ -601,7 +603,7 @@ Number Slow draw: 23342 <li>Load & Launch a desired APK to a target device, devices, or emulator. </li> - <li>Launch a UIAutomator UI test, and allow it to be executed + <li>Launch a UI Automator UI test, and allow it to be executed </li> <li>Collect performance information through <em>dumpsys gfxinfo</em><em>.</em> diff --git a/docs/html/reference/android/support/wearable/R.anim.html b/docs/html/reference/android/support/wearable/R.anim.html index c32aeb8..11d766d 100644 --- a/docs/html/reference/android/support/wearable/R.anim.html +++ b/docs/html/reference/android/support/wearable/R.anim.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../favicon.ico" /> <title>R.anim | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../index.html"> - <img src="../../../../assets/images/dac_logo.png" - srcset="../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../assets/images/android_logo.png" + srcset="../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">R.anim</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../')" - onkeyup="return search_changed(event, false, '../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../about/index.html">About</a></li> - <li><a href="../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../tv/index.html">TV</a></li> - <li><a href="../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">R.anim</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../assets/images/android_logo.png" + srcset="../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -557,7 +489,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -714,6 +646,7 @@ Summary: + </div><!-- jd-descr --> @@ -1335,40 +1268,187 @@ From class <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> - </div> - - - <div id="footerlinks"> + </p> - <p> - <a href="../../../../about/index.html">About Android</a> | - <a href="../../../../legal.html">Legal</a> | - <a href="../../../../support.html">Support</a> - </p> + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> + </div> </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/R.animator.html b/docs/html/reference/android/support/wearable/R.animator.html index 35a2505..9fa6445 100644 --- a/docs/html/reference/android/support/wearable/R.animator.html +++ b/docs/html/reference/android/support/wearable/R.animator.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../favicon.ico" /> <title>R.animator | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../index.html"> - <img src="../../../../assets/images/dac_logo.png" - srcset="../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../assets/images/android_logo.png" + srcset="../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">R.animator</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../')" - onkeyup="return search_changed(event, false, '../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../about/index.html">About</a></li> - <li><a href="../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../tv/index.html">TV</a></li> - <li><a href="../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">R.animator</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../assets/images/android_logo.png" + srcset="../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -557,7 +489,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -714,6 +646,7 @@ Summary: + </div><!-- jd-descr --> @@ -1147,40 +1080,187 @@ From class <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> - </div> - - - <div id="footerlinks"> + </p> - <p> - <a href="../../../../about/index.html">About Android</a> | - <a href="../../../../legal.html">Legal</a> | - <a href="../../../../support.html">Support</a> - </p> + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> + </div> </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/R.attr.html b/docs/html/reference/android/support/wearable/R.attr.html index b0a14a5..1f043a2 100644 --- a/docs/html/reference/android/support/wearable/R.attr.html +++ b/docs/html/reference/android/support/wearable/R.attr.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../favicon.ico" /> <title>R.attr | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> + - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../index.html"> - <img src="../../../../assets/images/dac_logo.png" - srcset="../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../assets/images/android_logo.png" + srcset="../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">R.attr</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../')" - onkeyup="return search_changed(event, false, '../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../about/index.html">About</a></li> - <li><a href="../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../tv/index.html">TV</a></li> - <li><a href="../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">R.attr</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../assets/images/android_logo.png" + srcset="../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -557,7 +489,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -714,6 +646,7 @@ Summary: + </div><!-- jd-descr --> @@ -3246,40 +3179,187 @@ containing a value of this type. <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> + </p> + + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> - - <div id="footerlinks"> - - <p> - <a href="../../../../about/index.html">About Android</a> | - <a href="../../../../legal.html">Legal</a> | - <a href="../../../../support.html">Support</a> - </p> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> </div> - </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/R.color.html b/docs/html/reference/android/support/wearable/R.color.html index d2c8ff5..cdfd0a8 100644 --- a/docs/html/reference/android/support/wearable/R.color.html +++ b/docs/html/reference/android/support/wearable/R.color.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../favicon.ico" /> <title>R.color | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> + - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../index.html"> - <img src="../../../../assets/images/dac_logo.png" - srcset="../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../assets/images/android_logo.png" + srcset="../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">R.color</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../')" - onkeyup="return search_changed(event, false, '../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../about/index.html">About</a></li> - <li><a href="../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../tv/index.html">TV</a></li> - <li><a href="../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">R.color</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../assets/images/android_logo.png" + srcset="../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -557,7 +489,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -714,6 +646,7 @@ Summary: + </div><!-- jd-descr --> @@ -2463,40 +2396,187 @@ From class <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> + </p> + + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> - - <div id="footerlinks"> - - <p> - <a href="../../../../about/index.html">About Android</a> | - <a href="../../../../legal.html">Legal</a> | - <a href="../../../../support.html">Support</a> - </p> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> </div> - </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/R.dimen.html b/docs/html/reference/android/support/wearable/R.dimen.html index c7d2eba..c24ef8d 100644 --- a/docs/html/reference/android/support/wearable/R.dimen.html +++ b/docs/html/reference/android/support/wearable/R.dimen.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../favicon.ico" /> <title>R.dimen | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> + - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../index.html"> - <img src="../../../../assets/images/dac_logo.png" - srcset="../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../assets/images/android_logo.png" + srcset="../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">R.dimen</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../')" - onkeyup="return search_changed(event, false, '../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../about/index.html">About</a></li> - <li><a href="../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../tv/index.html">TV</a></li> - <li><a href="../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">R.dimen</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../assets/images/android_logo.png" + srcset="../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -557,7 +489,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -714,6 +646,7 @@ Summary: + </div><!-- jd-descr --> @@ -1852,40 +1785,187 @@ From class <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> + </p> + + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> - - <div id="footerlinks"> - - <p> - <a href="../../../../about/index.html">About Android</a> | - <a href="../../../../legal.html">Legal</a> | - <a href="../../../../support.html">Support</a> - </p> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> </div> - </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/R.drawable.html b/docs/html/reference/android/support/wearable/R.drawable.html index dc97464..167c8ab 100644 --- a/docs/html/reference/android/support/wearable/R.drawable.html +++ b/docs/html/reference/android/support/wearable/R.drawable.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../favicon.ico" /> <title>R.drawable | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../index.html"> - <img src="../../../../assets/images/dac_logo.png" - srcset="../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../assets/images/android_logo.png" + srcset="../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">R.drawable</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../')" - onkeyup="return search_changed(event, false, '../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../about/index.html">About</a></li> - <li><a href="../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../tv/index.html">TV</a></li> - <li><a href="../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">R.drawable</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../assets/images/android_logo.png" + srcset="../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -557,7 +489,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -714,6 +646,7 @@ Summary: + </div><!-- jd-descr --> @@ -1570,40 +1503,187 @@ From class <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> - </div> - - - <div id="footerlinks"> + </p> - <p> - <a href="../../../../about/index.html">About Android</a> | - <a href="../../../../legal.html">Legal</a> | - <a href="../../../../support.html">Support</a> - </p> + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> + </div> </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/R.html b/docs/html/reference/android/support/wearable/R.html index c8c33f4..fd87f79 100644 --- a/docs/html/reference/android/support/wearable/R.html +++ b/docs/html/reference/android/support/wearable/R.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../favicon.ico" /> <title>R | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> + - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../index.html"> - <img src="../../../../assets/images/dac_logo.png" - srcset="../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../assets/images/android_logo.png" + srcset="../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">R</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../')" - onkeyup="return search_changed(event, false, '../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../about/index.html">About</a></li> - <li><a href="../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../tv/index.html">TV</a></li> - <li><a href="../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">R</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../assets/images/android_logo.png" + srcset="../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -557,7 +489,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -714,6 +646,7 @@ Summary: + </div><!-- jd-descr --> @@ -1296,40 +1229,187 @@ From class <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> - </div> - - - <div id="footerlinks"> + </p> - <p> - <a href="../../../../about/index.html">About Android</a> | - <a href="../../../../legal.html">Legal</a> | - <a href="../../../../support.html">Support</a> - </p> + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> + </div> </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/R.id.html b/docs/html/reference/android/support/wearable/R.id.html index 4aa0e3d..2b3db85 100644 --- a/docs/html/reference/android/support/wearable/R.id.html +++ b/docs/html/reference/android/support/wearable/R.id.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../favicon.ico" /> <title>R.id | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> + - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../index.html"> - <img src="../../../../assets/images/dac_logo.png" - srcset="../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../assets/images/android_logo.png" + srcset="../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">R.id</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../')" - onkeyup="return search_changed(event, false, '../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../about/index.html">About</a></li> - <li><a href="../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../tv/index.html">TV</a></li> - <li><a href="../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">R.id</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../assets/images/android_logo.png" + srcset="../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -557,7 +489,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -714,6 +646,7 @@ Summary: + </div><!-- jd-descr --> @@ -2275,40 +2208,187 @@ From class <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> + </p> + + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> - - <div id="footerlinks"> - - <p> - <a href="../../../../about/index.html">About Android</a> | - <a href="../../../../legal.html">Legal</a> | - <a href="../../../../support.html">Support</a> - </p> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> </div> - </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/R.interpolator.html b/docs/html/reference/android/support/wearable/R.interpolator.html index 8c92734..ae6cac1 100644 --- a/docs/html/reference/android/support/wearable/R.interpolator.html +++ b/docs/html/reference/android/support/wearable/R.interpolator.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../favicon.ico" /> <title>R.interpolator | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../index.html"> - <img src="../../../../assets/images/dac_logo.png" - srcset="../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../assets/images/android_logo.png" + srcset="../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">R.interpolator</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../')" - onkeyup="return search_changed(event, false, '../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../about/index.html">About</a></li> - <li><a href="../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../tv/index.html">TV</a></li> - <li><a href="../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">R.interpolator</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../assets/images/android_logo.png" + srcset="../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -557,7 +489,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -714,6 +646,7 @@ Summary: + </div><!-- jd-descr --> @@ -1382,40 +1315,187 @@ From class <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> - </div> - - - <div id="footerlinks"> + </p> - <p> - <a href="../../../../about/index.html">About Android</a> | - <a href="../../../../legal.html">Legal</a> | - <a href="../../../../support.html">Support</a> - </p> + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> + </div> </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/R.layout.html b/docs/html/reference/android/support/wearable/R.layout.html index bbaef69..7a87cf2 100644 --- a/docs/html/reference/android/support/wearable/R.layout.html +++ b/docs/html/reference/android/support/wearable/R.layout.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../favicon.ico" /> <title>R.layout | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../index.html"> - <img src="../../../../assets/images/dac_logo.png" - srcset="../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../assets/images/android_logo.png" + srcset="../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">R.layout</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../')" - onkeyup="return search_changed(event, false, '../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../about/index.html">About</a></li> - <li><a href="../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../tv/index.html">TV</a></li> - <li><a href="../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">R.layout</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../assets/images/android_logo.png" + srcset="../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -557,7 +489,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -714,6 +646,7 @@ Summary: + </div><!-- jd-descr --> @@ -1288,40 +1221,187 @@ From class <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> - </div> - - - <div id="footerlinks"> + </p> - <p> - <a href="../../../../about/index.html">About Android</a> | - <a href="../../../../legal.html">Legal</a> | - <a href="../../../../support.html">Support</a> - </p> + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> + </div> </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/R.string.html b/docs/html/reference/android/support/wearable/R.string.html index b4b77ac..3d13614 100644 --- a/docs/html/reference/android/support/wearable/R.string.html +++ b/docs/html/reference/android/support/wearable/R.string.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../favicon.ico" /> <title>R.string | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../index.html"> - <img src="../../../../assets/images/dac_logo.png" - srcset="../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../assets/images/android_logo.png" + srcset="../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">R.string</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../')" - onkeyup="return search_changed(event, false, '../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../about/index.html">About</a></li> - <li><a href="../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../tv/index.html">TV</a></li> - <li><a href="../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">R.string</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../assets/images/android_logo.png" + srcset="../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -557,7 +489,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -714,6 +646,7 @@ Summary: + </div><!-- jd-descr --> @@ -1147,40 +1080,187 @@ From class <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> - </div> - - - <div id="footerlinks"> + </p> - <p> - <a href="../../../../about/index.html">About Android</a> | - <a href="../../../../legal.html">Legal</a> | - <a href="../../../../support.html">Support</a> - </p> + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> + </div> </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/R.style.html b/docs/html/reference/android/support/wearable/R.style.html index 6bbd252..48837d0 100644 --- a/docs/html/reference/android/support/wearable/R.style.html +++ b/docs/html/reference/android/support/wearable/R.style.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../favicon.ico" /> <title>R.style | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> + - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../index.html"> - <img src="../../../../assets/images/dac_logo.png" - srcset="../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../assets/images/android_logo.png" + srcset="../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">R.style</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../')" - onkeyup="return search_changed(event, false, '../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../about/index.html">About</a></li> - <li><a href="../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../tv/index.html">TV</a></li> - <li><a href="../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">R.style</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../assets/images/android_logo.png" + srcset="../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -557,7 +489,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -714,6 +646,7 @@ Summary: + </div><!-- jd-descr --> @@ -2275,40 +2208,187 @@ From class <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> + </p> + + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> - - <div id="footerlinks"> - - <p> - <a href="../../../../about/index.html">About Android</a> | - <a href="../../../../legal.html">Legal</a> | - <a href="../../../../support.html">Support</a> - </p> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> </div> - </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/R.styleable.html b/docs/html/reference/android/support/wearable/R.styleable.html index 9faa84f..d1e4ca3 100644 --- a/docs/html/reference/android/support/wearable/R.styleable.html +++ b/docs/html/reference/android/support/wearable/R.styleable.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../favicon.ico" /> <title>R.styleable | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> + - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../index.html"> - <img src="../../../../assets/images/dac_logo.png" - srcset="../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../assets/images/android_logo.png" + srcset="../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">R.styleable</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../')" - onkeyup="return search_changed(event, false, '../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../about/index.html">About</a></li> - <li><a href="../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../tv/index.html">TV</a></li> - <li><a href="../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">R.styleable</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../assets/images/android_logo.png" + srcset="../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -557,7 +489,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -714,6 +646,7 @@ Summary: + </div><!-- jd-descr --> @@ -5860,40 +5793,187 @@ containing a value of this type.</p></div> <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> + </p> + + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> - - <div id="footerlinks"> - - <p> - <a href="../../../../about/index.html">About Android</a> | - <a href="../../../../legal.html">Legal</a> | - <a href="../../../../support.html">Support</a> - </p> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> </div> - </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/activity/ConfirmationActivity.html b/docs/html/reference/android/support/wearable/activity/ConfirmationActivity.html index 5c03b1e..f7cd613 100644 --- a/docs/html/reference/android/support/wearable/activity/ConfirmationActivity.html +++ b/docs/html/reference/android/support/wearable/activity/ConfirmationActivity.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>ConfirmationActivity | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> + - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">ConfirmationActivity</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">ConfirmationActivity</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -546,7 +478,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -10124,40 +10056,187 @@ From interface <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> + </p> + + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> - - <div id="footerlinks"> - - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> </div> - </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/activity/WearableActivity.html b/docs/html/reference/android/support/wearable/activity/WearableActivity.html index 6c8e28e..2698dca 100644 --- a/docs/html/reference/android/support/wearable/activity/WearableActivity.html +++ b/docs/html/reference/android/support/wearable/activity/WearableActivity.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>WearableActivity | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">WearableActivity</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">WearableActivity</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -546,7 +478,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -2206,13 +2138,13 @@ android.app.Activity <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/activity/WearableActivity.html#onEnterAmbient(android.os.Bundle)">onEnterAmbient</a></span>(Bundle ambientDetails)</nobr> - <div class="jd-descrdiv"> - Called when an activity is entering ambient mode. - + <div class="jd-descrdiv"> + Called when an activity is entering ambient mode. + - </div> - + </div> + </td></tr> @@ -2229,13 +2161,13 @@ android.app.Activity <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/activity/WearableActivity.html#onExitAmbient()">onExitAmbient</a></span>()</nobr> - <div class="jd-descrdiv"> - Called when an activity should exit ambient mode. - + <div class="jd-descrdiv"> + Called when an activity should exit ambient mode. + - </div> - + </div> + </td></tr> @@ -2252,13 +2184,13 @@ android.app.Activity <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/activity/WearableActivity.html#onUpdateAmbient()">onUpdateAmbient</a></span>()</nobr> - <div class="jd-descrdiv"> - Called when the system is updating the display for ambient mode. - + <div class="jd-descrdiv"> + Called when the system is updating the display for ambient mode. + - </div> - + </div> + </td></tr> @@ -2275,13 +2207,13 @@ android.app.Activity <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/activity/WearableActivity.html#setAmbientEnabled()">setAmbientEnabled</a></span>()</nobr> - <div class="jd-descrdiv"> - Sets that this activity should remain displayed when the system enters ambient mode. - + <div class="jd-descrdiv"> + Sets that this activity should remain displayed when the system enters ambient mode. + - </div> - + </div> + </td></tr> @@ -10527,40 +10459,187 @@ From interface <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> + </p> + + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> - - <div id="footerlinks"> - - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> </div> - </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/activity/package-summary.html b/docs/html/reference/android/support/wearable/activity/package-summary.html index e2ff760..4dd01b7 100644 --- a/docs/html/reference/android/support/wearable/activity/package-summary.html +++ b/docs/html/reference/android/support/wearable/activity/package-summary.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>android.support.wearable.activity | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -153,10 +152,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -204,108 +202,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">android.support.wearable.activity</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -325,165 +267,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">android.support.wearable.activity</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -501,7 +433,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -547,7 +479,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -668,38 +600,187 @@ type="text/css"> -<div id="footer" class="wrap" > - +</div><!-- end jd-content --> + +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> - </div> - - - <div id="footerlinks"> + </p> - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> + </div> </div> <!-- end footer --> -</div><!-- end jd-content --> + </div><!-- doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/companion/WatchFaceCompanion.html b/docs/html/reference/android/support/wearable/companion/WatchFaceCompanion.html index 16dc5ef..ce369f2 100644 --- a/docs/html/reference/android/support/wearable/companion/WatchFaceCompanion.html +++ b/docs/html/reference/android/support/wearable/companion/WatchFaceCompanion.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>WatchFaceCompanion | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> + - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">WatchFaceCompanion</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">WatchFaceCompanion</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -545,7 +477,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -1172,40 +1104,187 @@ From class <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> - </div> - - - <div id="footerlinks"> + </p> - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> + </div> </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/companion/package-summary.html b/docs/html/reference/android/support/wearable/companion/package-summary.html index a87b6f0..0447708 100644 --- a/docs/html/reference/android/support/wearable/companion/package-summary.html +++ b/docs/html/reference/android/support/wearable/companion/package-summary.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>android.support.wearable.companion | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -153,10 +152,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -204,108 +202,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">android.support.wearable.companion</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -325,165 +267,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">android.support.wearable.companion</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -501,7 +433,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -546,7 +478,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -655,38 +587,187 @@ type="text/css"> -<div id="footer" class="wrap" > - +</div><!-- end jd-content --> + +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> - </div> - - - <div id="footerlinks"> + </p> - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> + </div> </div> <!-- end footer --> -</div><!-- end jd-content --> + </div><!-- doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/input/RemoteInputConstants.html b/docs/html/reference/android/support/wearable/input/RemoteInputConstants.html index f51bf27..f3cb90c 100644 --- a/docs/html/reference/android/support/wearable/input/RemoteInputConstants.html +++ b/docs/html/reference/android/support/wearable/input/RemoteInputConstants.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>RemoteInputConstants | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> + - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">RemoteInputConstants</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">RemoteInputConstants</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -546,7 +478,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -1165,40 +1097,187 @@ From class <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> - </div> - - - <div id="footerlinks"> + </p> - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> + </div> </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/input/RemoteInputIntent.html b/docs/html/reference/android/support/wearable/input/RemoteInputIntent.html index cce1084..92d90bc 100644 --- a/docs/html/reference/android/support/wearable/input/RemoteInputIntent.html +++ b/docs/html/reference/android/support/wearable/input/RemoteInputIntent.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>RemoteInputIntent | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> + - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">RemoteInputIntent</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">RemoteInputIntent</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -546,7 +478,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -1510,40 +1442,187 @@ From class <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> - </div> - - - <div id="footerlinks"> + </p> - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> + </div> </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/input/package-summary.html b/docs/html/reference/android/support/wearable/input/package-summary.html index bb7d266..2071e28 100644 --- a/docs/html/reference/android/support/wearable/input/package-summary.html +++ b/docs/html/reference/android/support/wearable/input/package-summary.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>android.support.wearable.input | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -153,10 +152,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -204,108 +202,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">android.support.wearable.input</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -325,165 +267,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">android.support.wearable.input</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -501,7 +433,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -547,7 +479,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -667,38 +599,187 @@ type="text/css"> -<div id="footer" class="wrap" > - +</div><!-- end jd-content --> + +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> - </div> - - - <div id="footerlinks"> + </p> - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> + </div> </div> <!-- end footer --> -</div><!-- end jd-content --> + </div><!-- doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/media/MediaControlConstants.html b/docs/html/reference/android/support/wearable/media/MediaControlConstants.html index d420d9f7..42c141b 100644 --- a/docs/html/reference/android/support/wearable/media/MediaControlConstants.html +++ b/docs/html/reference/android/support/wearable/media/MediaControlConstants.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>MediaControlConstants | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> + - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">MediaControlConstants</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">MediaControlConstants</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -545,7 +477,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -1384,40 +1316,187 @@ From class <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> - </div> - - - <div id="footerlinks"> + </p> - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> + </div> </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/media/package-summary.html b/docs/html/reference/android/support/wearable/media/package-summary.html index fa1b8df..3310b5a 100644 --- a/docs/html/reference/android/support/wearable/media/package-summary.html +++ b/docs/html/reference/android/support/wearable/media/package-summary.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>android.support.wearable.media | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -153,10 +152,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -204,108 +202,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">android.support.wearable.media</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -325,165 +267,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">android.support.wearable.media</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -501,7 +433,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -546,7 +478,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -655,38 +587,187 @@ type="text/css"> -<div id="footer" class="wrap" > - +</div><!-- end jd-content --> + +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> - </div> - - - <div id="footerlinks"> + </p> - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> + </div> </div> <!-- end footer --> -</div><!-- end jd-content --> + </div><!-- doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/package-summary.html b/docs/html/reference/android/support/wearable/package-summary.html index 2fa01e9..a8e3db0 100644 --- a/docs/html/reference/android/support/wearable/package-summary.html +++ b/docs/html/reference/android/support/wearable/package-summary.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../favicon.ico" /> <title>android.support.wearable | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -153,10 +152,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -204,108 +202,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> + - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../index.html"> - <img src="../../../../assets/images/dac_logo.png" - srcset="../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../assets/images/android_logo.png" + srcset="../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">android.support.wearable</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../')" - onkeyup="return search_changed(event, false, '../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -325,165 +267,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../about/index.html">About</a></li> - <li><a href="../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../tv/index.html">TV</a></li> - <li><a href="../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">android.support.wearable</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../assets/images/android_logo.png" + srcset="../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -501,7 +433,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -558,7 +490,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -799,38 +731,187 @@ type="text/css"> -<div id="footer" class="wrap" > - +</div><!-- end jd-content --> + +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> + </p> + + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> - - <div id="footerlinks"> - - <p> - <a href="../../../../about/index.html">About Android</a> | - <a href="../../../../legal.html">Legal</a> | - <a href="../../../../support.html">Support</a> - </p> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> </div> - </div> <!-- end footer --> -</div><!-- end jd-content --> + </div><!-- doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/provider/WearableCalendarContract.Attendees.html b/docs/html/reference/android/support/wearable/provider/WearableCalendarContract.Attendees.html index 8586fd3..ba439b3 100644 --- a/docs/html/reference/android/support/wearable/provider/WearableCalendarContract.Attendees.html +++ b/docs/html/reference/android/support/wearable/provider/WearableCalendarContract.Attendees.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>WearableCalendarContract.Attendees | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> + - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">WearableCalendarContract.Attendees</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">WearableCalendarContract.Attendees</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -548,7 +480,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -707,6 +639,7 @@ Summary: </ul> </div> + </div><!-- jd-descr --> @@ -1076,40 +1009,187 @@ From class <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> - </div> - - - <div id="footerlinks"> + </p> - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> + </div> </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/provider/WearableCalendarContract.Instances.html b/docs/html/reference/android/support/wearable/provider/WearableCalendarContract.Instances.html index b275ae9..70ad4d9 100644 --- a/docs/html/reference/android/support/wearable/provider/WearableCalendarContract.Instances.html +++ b/docs/html/reference/android/support/wearable/provider/WearableCalendarContract.Instances.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>WearableCalendarContract.Instances | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> + - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">WearableCalendarContract.Instances</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">WearableCalendarContract.Instances</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -548,7 +480,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -707,6 +639,7 @@ Summary: </ul> </div> + </div><!-- jd-descr --> @@ -1076,40 +1009,187 @@ From class <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> - </div> - - - <div id="footerlinks"> + </p> - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> + </div> </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/provider/WearableCalendarContract.Reminders.html b/docs/html/reference/android/support/wearable/provider/WearableCalendarContract.Reminders.html index e2b4ec7..752da5e 100644 --- a/docs/html/reference/android/support/wearable/provider/WearableCalendarContract.Reminders.html +++ b/docs/html/reference/android/support/wearable/provider/WearableCalendarContract.Reminders.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>WearableCalendarContract.Reminders | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> + - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">WearableCalendarContract.Reminders</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">WearableCalendarContract.Reminders</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -548,7 +480,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -707,6 +639,7 @@ Summary: </ul> </div> + </div><!-- jd-descr --> @@ -1076,40 +1009,187 @@ From class <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> - </div> - - - <div id="footerlinks"> + </p> - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> + </div> </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/provider/WearableCalendarContract.html b/docs/html/reference/android/support/wearable/provider/WearableCalendarContract.html index a047975..919306b 100644 --- a/docs/html/reference/android/support/wearable/provider/WearableCalendarContract.html +++ b/docs/html/reference/android/support/wearable/provider/WearableCalendarContract.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>WearableCalendarContract | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> + - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">WearableCalendarContract</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">WearableCalendarContract</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -548,7 +480,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -1279,40 +1211,187 @@ From class <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> - </div> - - - <div id="footerlinks"> + </p> - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> + </div> </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/provider/package-summary.html b/docs/html/reference/android/support/wearable/provider/package-summary.html index e62d193..f82ce5c 100644 --- a/docs/html/reference/android/support/wearable/provider/package-summary.html +++ b/docs/html/reference/android/support/wearable/provider/package-summary.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>android.support.wearable.provider | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -153,10 +152,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -204,108 +202,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">android.support.wearable.provider</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -325,165 +267,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">android.support.wearable.provider</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -501,7 +433,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -549,7 +481,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -691,38 +623,187 @@ type="text/css"> -<div id="footer" class="wrap" > - +</div><!-- end jd-content --> + +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> - </div> - - - <div id="footerlinks"> + </p> - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> + </div> </div> <!-- end footer --> -</div><!-- end jd-content --> + </div><!-- doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/view/ActionLabel.html b/docs/html/reference/android/support/wearable/view/ActionLabel.html index bbc413b..3716018 100644 --- a/docs/html/reference/android/support/wearable/view/ActionLabel.html +++ b/docs/html/reference/android/support/wearable/view/ActionLabel.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>ActionLabel | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">ActionLabel</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">ActionLabel</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -582,7 +514,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -2695,14 +2627,14 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/ActionLabel.html#getCurrentTextColor()">getCurrentTextColor</a></span>()</nobr> - <div class="jd-descrdiv"> - <p> + <div class="jd-descrdiv"> + <p> Return the current color selected for normal text. - + - </div> - + </div> + </td></tr> @@ -2719,13 +2651,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/ActionLabel.html#getGravity()">getGravity</a></span>()</nobr> - <div class="jd-descrdiv"> - Returns the horizontal and vertical alignment of this ActionLabel. - + <div class="jd-descrdiv"> + Returns the horizontal and vertical alignment of this ActionLabel. + - </div> - + </div> + </td></tr> @@ -2742,13 +2674,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/ActionLabel.html#getLineSpacingExtra()">getLineSpacingExtra</a></span>()</nobr> - <div class="jd-descrdiv"> - Gets the line spacing extra space - + <div class="jd-descrdiv"> + Gets the line spacing extra space + - </div> - + </div> + </td></tr> @@ -2765,13 +2697,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/ActionLabel.html#getLineSpacingMultiplier()">getLineSpacingMultiplier</a></span>()</nobr> - <div class="jd-descrdiv"> - Gets the line spacing multiplier - + <div class="jd-descrdiv"> + Gets the line spacing multiplier + - </div> - + </div> + </td></tr> @@ -2804,13 +2736,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/ActionLabel.html#getTextColors()">getTextColors</a></span>()</nobr> - <div class="jd-descrdiv"> - Gets the text colors for the different states (normal, selected, focused) of the TextView. - + <div class="jd-descrdiv"> + Gets the text colors for the different states (normal, selected, focused) of the TextView. + - </div> - + </div> + </td></tr> @@ -2859,14 +2791,14 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/ActionLabel.html#setGravity(int)">setGravity</a></span>(int gravity)</nobr> - <div class="jd-descrdiv"> - Sets the horizontal alignment of the text and the vertical gravity that will be used when + <div class="jd-descrdiv"> + Sets the horizontal alignment of the text and the vertical gravity that will be used when there is extra space in the ActionLabel beyond what is required for the text itself. - + - </div> - + </div> + </td></tr> @@ -2883,13 +2815,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/ActionLabel.html#setLineSpacing(float, float)">setLineSpacing</a></span>(float add, float mult)</nobr> - <div class="jd-descrdiv"> - Sets line spacing for this TextView. - + <div class="jd-descrdiv"> + Sets line spacing for this TextView. + - </div> - + </div> + </td></tr> @@ -2906,13 +2838,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/ActionLabel.html#setMaxLines(int)">setMaxLines</a></span>(int lines)</nobr> - <div class="jd-descrdiv"> - Limits the ActionLabel to no more than this many lines tall. - + <div class="jd-descrdiv"> + Limits the ActionLabel to no more than this many lines tall. + - </div> - + </div> + </td></tr> @@ -2929,13 +2861,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/ActionLabel.html#setMaxTextSize(float)">setMaxTextSize</a></span>(float size)</nobr> - <div class="jd-descrdiv"> - Limits the text size to no larger than this value. - + <div class="jd-descrdiv"> + Limits the text size to no larger than this value. + - </div> - + </div> + </td></tr> @@ -2952,13 +2884,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/ActionLabel.html#setMaxTextSize(int, float)">setMaxTextSize</a></span>(int unit, float size)</nobr> - <div class="jd-descrdiv"> - Limits the text size to no larger than this value. - + <div class="jd-descrdiv"> + Limits the text size to no larger than this value. + - </div> - + </div> + </td></tr> @@ -2975,13 +2907,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/ActionLabel.html#setMinTextSize(float)">setMinTextSize</a></span>(float size)</nobr> - <div class="jd-descrdiv"> - Limits the text size to no smaller than this value. - + <div class="jd-descrdiv"> + Limits the text size to no smaller than this value. + - </div> - + </div> + </td></tr> @@ -2998,13 +2930,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/ActionLabel.html#setMinTextSize(int, float)">setMinTextSize</a></span>(int unit, float size)</nobr> - <div class="jd-descrdiv"> - Limits the text size to no smaller than this value. - + <div class="jd-descrdiv"> + Limits the text size to no smaller than this value. + - </div> - + </div> + </td></tr> @@ -3021,13 +2953,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/ActionLabel.html#setText(java.lang.CharSequence)">setText</a></span>(CharSequence text)</nobr> - <div class="jd-descrdiv"> - Sets the text to be displayed by this label. - + <div class="jd-descrdiv"> + Sets the text to be displayed by this label. + - </div> - + </div> + </td></tr> @@ -3044,13 +2976,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/ActionLabel.html#setTextColor(android.content.res.ColorStateList)">setTextColor</a></span>(ColorStateList colors)</nobr> - <div class="jd-descrdiv"> - Sets the text color. - + <div class="jd-descrdiv"> + Sets the text color. + - </div> - + </div> + </td></tr> @@ -3067,13 +2999,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/ActionLabel.html#setTextColor(int)">setTextColor</a></span>(int color)</nobr> - <div class="jd-descrdiv"> - Sets the text color for all the states (normal, selected, focused) to be this color. - + <div class="jd-descrdiv"> + Sets the text color for all the states (normal, selected, focused) to be this color. + - </div> - + </div> + </td></tr> @@ -3090,15 +3022,15 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/ActionLabel.html#setTypeface(android.graphics.Typeface, int)">setTypeface</a></span>(Typeface tf, int style)</nobr> - <div class="jd-descrdiv"> - Sets the typeface and style in which the text should be displayed, and turns on the fake bold + <div class="jd-descrdiv"> + Sets the typeface and style in which the text should be displayed, and turns on the fake bold and italic bits in the Paint if the Typeface that you provided does not have all the bits in the style that you specified. - + - </div> - + </div> + </td></tr> @@ -3115,13 +3047,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/ActionLabel.html#setTypeface(android.graphics.Typeface)">setTypeface</a></span>(Typeface tf)</nobr> - <div class="jd-descrdiv"> - Sets the typeface and style in which the text should be displayed. - + <div class="jd-descrdiv"> + Sets the typeface and style in which the text should be displayed. + - </div> - + </div> + </td></tr> @@ -12376,40 +12308,187 @@ From interface <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> + </p> + + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> - - <div id="footerlinks"> - - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> </div> - </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/view/ActionPage.html b/docs/html/reference/android/support/wearable/view/ActionPage.html index a289011..268bba1 100644 --- a/docs/html/reference/android/support/wearable/view/ActionPage.html +++ b/docs/html/reference/android/support/wearable/view/ActionPage.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>ActionPage | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">ActionPage</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">ActionPage</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -582,7 +514,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -841,13 +773,13 @@ Summary: - <div class="jd-tagdata"> <h5 class="jd-tagtitle">See Also</h5> <ul class="nolist"><li><code><a href="../../../../../reference/android/support/wearable/view/CircularButton.html">CircularButton</a></code></li><li><code><a href="../../../../../reference/android/support/wearable/view/ActionLabel.html">ActionLabel</a></code></li> </ul> </div> + </div><!-- jd-descr --> @@ -2930,13 +2862,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/ActionPage.html#setColor(int)">setColor</a></span>(int color)</nobr> - <div class="jd-descrdiv"> - Sets the color of the circular button. - + <div class="jd-descrdiv"> + Sets the color of the circular button. + - </div> - + </div> + </td></tr> @@ -2953,13 +2885,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/ActionPage.html#setColor(android.content.res.ColorStateList)">setColor</a></span>(ColorStateList color)</nobr> - <div class="jd-descrdiv"> - Sets the colors for the circular button. - + <div class="jd-descrdiv"> + Sets the colors for the circular button. + - </div> - + </div> + </td></tr> @@ -2976,13 +2908,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/ActionPage.html#setEnabled(boolean)">setEnabled</a></span>(boolean enabled)</nobr> - <div class="jd-descrdiv"> - Set the enabled state of this view. - + <div class="jd-descrdiv"> + Set the enabled state of this view. + - </div> - + </div> + </td></tr> @@ -2999,13 +2931,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/ActionPage.html#setImageDrawable(android.graphics.drawable.Drawable)">setImageDrawable</a></span>(Drawable drawable)</nobr> - <div class="jd-descrdiv"> - Sets an optional image to be displayed on top of the button. - + <div class="jd-descrdiv"> + Sets an optional image to be displayed on top of the button. + - </div> - + </div> + </td></tr> @@ -3022,13 +2954,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/ActionPage.html#setImageResource(int)">setImageResource</a></span>(int drawableRes)</nobr> - <div class="jd-descrdiv"> - Sets an optional image to be displayed on top of the button. - + <div class="jd-descrdiv"> + Sets an optional image to be displayed on top of the button. + - </div> - + </div> + </td></tr> @@ -3045,13 +2977,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/ActionPage.html#setImageScaleMode(int)">setImageScaleMode</a></span>(int scaleMode)</nobr> - <div class="jd-descrdiv"> - Sets the scaling mode used for the optional image. - + <div class="jd-descrdiv"> + Sets the scaling mode used for the optional image. + - </div> - + </div> + </td></tr> @@ -3068,13 +3000,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/ActionPage.html#setOnClickListener(android.view.View.OnClickListener)">setOnClickListener</a></span>(View.OnClickListener l)</nobr> - <div class="jd-descrdiv"> - Register a callback to be invoked when the circular button is clicked. - + <div class="jd-descrdiv"> + Register a callback to be invoked when the circular button is clicked. + - </div> - + </div> + </td></tr> @@ -3091,13 +3023,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/ActionPage.html#setStateListAnimator(android.animation.StateListAnimator)">setStateListAnimator</a></span>(StateListAnimator stateListAnimator)</nobr> - <div class="jd-descrdiv"> - Attaches the provided StateListAnimator to the circular button. - + <div class="jd-descrdiv"> + Attaches the provided StateListAnimator to the circular button. + - </div> - + </div> + </td></tr> @@ -3114,13 +3046,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/ActionPage.html#setText(java.lang.CharSequence)">setText</a></span>(CharSequence text)</nobr> - <div class="jd-descrdiv"> - Sets the text of the action label. - + <div class="jd-descrdiv"> + Sets the text of the action label. + - </div> - + </div> + </td></tr> @@ -15463,40 +15395,187 @@ From interface <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> + </p> + + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> - - <div id="footerlinks"> - - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> </div> - </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/view/BoxInsetLayout.LayoutParams.html b/docs/html/reference/android/support/wearable/view/BoxInsetLayout.LayoutParams.html index 6f36ad2..43097b4 100644 --- a/docs/html/reference/android/support/wearable/view/BoxInsetLayout.LayoutParams.html +++ b/docs/html/reference/android/support/wearable/view/BoxInsetLayout.LayoutParams.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>BoxInsetLayout.LayoutParams | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> + - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">BoxInsetLayout.LayoutParams</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">BoxInsetLayout.LayoutParams</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -582,7 +514,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -2445,40 +2377,187 @@ From class <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> + </p> + + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> - - <div id="footerlinks"> - - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> </div> - </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/view/BoxInsetLayout.html b/docs/html/reference/android/support/wearable/view/BoxInsetLayout.html index be68c04..5619e75 100644 --- a/docs/html/reference/android/support/wearable/view/BoxInsetLayout.html +++ b/docs/html/reference/android/support/wearable/view/BoxInsetLayout.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>BoxInsetLayout | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> + - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">BoxInsetLayout</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">BoxInsetLayout</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -582,7 +514,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -2943,13 +2875,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/BoxInsetLayout.html#isRound()">isRound</a></span>()</nobr> - <div class="jd-descrdiv"> - determine screen shape - + <div class="jd-descrdiv"> + determine screen shape + - </div> - + </div> + </td></tr> @@ -15587,40 +15519,187 @@ From interface <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> + </p> + + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> - - <div id="footerlinks"> - - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> </div> - </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/view/CardFragment.html b/docs/html/reference/android/support/wearable/view/CardFragment.html index 5bfa95f..9437e93 100644 --- a/docs/html/reference/android/support/wearable/view/CardFragment.html +++ b/docs/html/reference/android/support/wearable/view/CardFragment.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>CardFragment | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> + - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">CardFragment</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">CardFragment</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -582,7 +514,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -796,13 +728,13 @@ Summary: - <div class="jd-tagdata"> <h5 class="jd-tagtitle">See Also</h5> <ul class="nolist"><li><code><a href="../../../../../reference/android/support/wearable/view/CardFragment.html#setCardGravity(int)">setCardGravity(int)</a></code></li><li><code><a href="../../../../../reference/android/support/wearable/view/CardFragment.html#setExpansionEnabled(boolean)">setExpansionEnabled(boolean)</a></code></li><li><code><a href="../../../../../reference/android/support/wearable/view/CardFragment.html#setExpansionDirection(int)">setExpansionDirection(int)</a></code></li><li><code><a href="../../../../../reference/android/support/wearable/view/CardFragment.html#setExpansionFactor(float)">setExpansionFactor(float)</a></code></li> </ul> </div> + </div><!-- jd-descr --> @@ -1087,13 +1019,13 @@ android.content.ComponentCallbacks2 <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardFragment.html#create(java.lang.CharSequence, java.lang.CharSequence)">create</a></span>(CharSequence title, CharSequence description)</nobr> - <div class="jd-descrdiv"> - Construct a new CardFragment using the default content layout. - + <div class="jd-descrdiv"> + Construct a new CardFragment using the default content layout. + - </div> - + </div> + </td></tr> @@ -1110,13 +1042,13 @@ android.content.ComponentCallbacks2 <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardFragment.html#create(java.lang.CharSequence, java.lang.CharSequence, int)">create</a></span>(CharSequence title, CharSequence text, int iconRes)</nobr> - <div class="jd-descrdiv"> - Construct a new CardFragment using the default content layout, including and icon. - + <div class="jd-descrdiv"> + Construct a new CardFragment using the default content layout, including and icon. + - </div> - + </div> + </td></tr> @@ -1133,13 +1065,13 @@ android.content.ComponentCallbacks2 <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardFragment.html#getContentPadding()">getContentPadding</a></span>()</nobr> - <div class="jd-descrdiv"> - Gets the padding between the inside card edge and the card content. - + <div class="jd-descrdiv"> + Gets the padding between the inside card edge and the card content. + - </div> - + </div> + </td></tr> @@ -1156,13 +1088,13 @@ android.content.ComponentCallbacks2 <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardFragment.html#getContentPaddingBottom()">getContentPaddingBottom</a></span>()</nobr> - <div class="jd-descrdiv"> - Gets the padding between the inside card's bottom edge and the card content. - + <div class="jd-descrdiv"> + Gets the padding between the inside card's bottom edge and the card content. + - </div> - + </div> + </td></tr> @@ -1179,13 +1111,13 @@ android.content.ComponentCallbacks2 <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardFragment.html#getContentPaddingLeft()">getContentPaddingLeft</a></span>()</nobr> - <div class="jd-descrdiv"> - Gets the padding between the inside card's left edge and the card content. - + <div class="jd-descrdiv"> + Gets the padding between the inside card's left edge and the card content. + - </div> - + </div> + </td></tr> @@ -1202,13 +1134,13 @@ android.content.ComponentCallbacks2 <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardFragment.html#getContentPaddingRight()">getContentPaddingRight</a></span>()</nobr> - <div class="jd-descrdiv"> - Gets the padding between the inside card's right edge and the card content. - + <div class="jd-descrdiv"> + Gets the padding between the inside card's right edge and the card content. + - </div> - + </div> + </td></tr> @@ -1225,13 +1157,13 @@ android.content.ComponentCallbacks2 <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardFragment.html#getContentPaddingTop()">getContentPaddingTop</a></span>()</nobr> - <div class="jd-descrdiv"> - Gets the padding between the inside card's top edge and the card content. - + <div class="jd-descrdiv"> + Gets the padding between the inside card's top edge and the card content. + - </div> - + </div> + </td></tr> @@ -1264,13 +1196,13 @@ android.content.ComponentCallbacks2 <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardFragment.html#onCreateContentView(android.view.LayoutInflater, android.view.ViewGroup, android.os.Bundle)">onCreateContentView</a></span>(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)</nobr> - <div class="jd-descrdiv"> - Called to have subclasses instantiate their layout which is inserted within the card. - + <div class="jd-descrdiv"> + Called to have subclasses instantiate their layout which is inserted within the card. + - </div> - + </div> + </td></tr> @@ -1319,13 +1251,13 @@ android.content.ComponentCallbacks2 <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardFragment.html#scrollToBottom()">scrollToBottom</a></span>()</nobr> - <div class="jd-descrdiv"> - Sets the card scroll position as far down as possible so the bottom edge is visible. - + <div class="jd-descrdiv"> + Sets the card scroll position as far down as possible so the bottom edge is visible. + - </div> - + </div> + </td></tr> @@ -1342,13 +1274,13 @@ android.content.ComponentCallbacks2 <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardFragment.html#scrollToTop()">scrollToTop</a></span>()</nobr> - <div class="jd-descrdiv"> - Sets the card scroll position as far up as possible so the top edge is visible. - + <div class="jd-descrdiv"> + Sets the card scroll position as far up as possible so the top edge is visible. + - </div> - + </div> + </td></tr> @@ -1365,14 +1297,14 @@ android.content.ComponentCallbacks2 <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardFragment.html#setCardGravity(int)">setCardGravity</a></span>(int gravity)</nobr> - <div class="jd-descrdiv"> - Assigns vertical gravity to the card, which determines where it should float when the card + <div class="jd-descrdiv"> + Assigns vertical gravity to the card, which determines where it should float when the card and it's content are shorter than the page. - + - </div> - + </div> + </td></tr> @@ -1389,13 +1321,13 @@ android.content.ComponentCallbacks2 <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardFragment.html#setCardMarginBottom(int)">setCardMarginBottom</a></span>(int bottom)</nobr> - <div class="jd-descrdiv"> - Sets the additional margin between the bottom edge of the card shadow, and the parent view. - + <div class="jd-descrdiv"> + Sets the additional margin between the bottom edge of the card shadow, and the parent view. + - </div> - + </div> + </td></tr> @@ -1412,13 +1344,13 @@ android.content.ComponentCallbacks2 <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardFragment.html#setCardMarginLeft(int)">setCardMarginLeft</a></span>(int left)</nobr> - <div class="jd-descrdiv"> - Sets the additional margin between the left edge of the card shadow, and the parent view. - + <div class="jd-descrdiv"> + Sets the additional margin between the left edge of the card shadow, and the parent view. + - </div> - + </div> + </td></tr> @@ -1435,13 +1367,13 @@ android.content.ComponentCallbacks2 <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardFragment.html#setCardMarginRight(int)">setCardMarginRight</a></span>(int right)</nobr> - <div class="jd-descrdiv"> - Sets the additional margin between the right edge of the card shadow, and the parent view. - + <div class="jd-descrdiv"> + Sets the additional margin between the right edge of the card shadow, and the parent view. + - </div> - + </div> + </td></tr> @@ -1458,13 +1390,13 @@ android.content.ComponentCallbacks2 <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardFragment.html#setCardMarginTop(int)">setCardMarginTop</a></span>(int top)</nobr> - <div class="jd-descrdiv"> - Sets the additional margin between the top edge of the card shadow, and the parent view. - + <div class="jd-descrdiv"> + Sets the additional margin between the top edge of the card shadow, and the parent view. + - </div> - + </div> + </td></tr> @@ -1481,13 +1413,13 @@ android.content.ComponentCallbacks2 <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardFragment.html#setCardMargins(int, int, int, int)">setCardMargins</a></span>(int left, int top, int right, int bottom)</nobr> - <div class="jd-descrdiv"> - Sets the additional margin between the card shadow edge and the parent view. - + <div class="jd-descrdiv"> + Sets the additional margin between the card shadow edge and the parent view. + - </div> - + </div> + </td></tr> @@ -1504,13 +1436,13 @@ android.content.ComponentCallbacks2 <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardFragment.html#setContentPadding(int, int, int, int)">setContentPadding</a></span>(int left, int top, int right, int bottom)</nobr> - <div class="jd-descrdiv"> - Sets padding between the inside card edge and the card content. - + <div class="jd-descrdiv"> + Sets padding between the inside card edge and the card content. + - </div> - + </div> + </td></tr> @@ -1527,13 +1459,13 @@ android.content.ComponentCallbacks2 <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardFragment.html#setContentPaddingBottom(int)">setContentPaddingBottom</a></span>(int bottomPadding)</nobr> - <div class="jd-descrdiv"> - Sets the padding between the inside card's bottom edge and the card content. - + <div class="jd-descrdiv"> + Sets the padding between the inside card's bottom edge and the card content. + - </div> - + </div> + </td></tr> @@ -1550,13 +1482,13 @@ android.content.ComponentCallbacks2 <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardFragment.html#setContentPaddingLeft(int)">setContentPaddingLeft</a></span>(int leftPadding)</nobr> - <div class="jd-descrdiv"> - Sets the padding between the inside card's left edge and the card content. - + <div class="jd-descrdiv"> + Sets the padding between the inside card's left edge and the card content. + - </div> - + </div> + </td></tr> @@ -1573,13 +1505,13 @@ android.content.ComponentCallbacks2 <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardFragment.html#setContentPaddingRight(int)">setContentPaddingRight</a></span>(int rightPadding)</nobr> - <div class="jd-descrdiv"> - Sets the padding between the inside card's right edge and the card content. - + <div class="jd-descrdiv"> + Sets the padding between the inside card's right edge and the card content. + - </div> - + </div> + </td></tr> @@ -1596,13 +1528,13 @@ android.content.ComponentCallbacks2 <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardFragment.html#setContentPaddingTop(int)">setContentPaddingTop</a></span>(int topPadding)</nobr> - <div class="jd-descrdiv"> - Sets the padding between the inside card's top edge and the card content. - + <div class="jd-descrdiv"> + Sets the padding between the inside card's top edge and the card content. + - </div> - + </div> + </td></tr> @@ -1619,13 +1551,13 @@ android.content.ComponentCallbacks2 <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardFragment.html#setExpansionDirection(int)">setExpansionDirection</a></span>(int direction)</nobr> - <div class="jd-descrdiv"> - Adjusts which direction the card height will expand. - + <div class="jd-descrdiv"> + Adjusts which direction the card height will expand. + - </div> - + </div> + </td></tr> @@ -1642,13 +1574,13 @@ android.content.ComponentCallbacks2 <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardFragment.html#setExpansionEnabled(boolean)">setExpansionEnabled</a></span>(boolean enabled)</nobr> - <div class="jd-descrdiv"> - Enables support contents which maybe be larger than the card's container. - + <div class="jd-descrdiv"> + Enables support contents which maybe be larger than the card's container. + - </div> - + </div> + </td></tr> @@ -1665,13 +1597,13 @@ android.content.ComponentCallbacks2 <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardFragment.html#setExpansionFactor(float)">setExpansionFactor</a></span>(float factor)</nobr> - <div class="jd-descrdiv"> - Sets the allowed maximum height of the card as a multiple of the parent height. - + <div class="jd-descrdiv"> + Sets the allowed maximum height of the card as a multiple of the parent height. + - </div> - + </div> + </td></tr> @@ -4889,40 +4821,187 @@ From interface <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> - </div> - - - <div id="footerlinks"> + </p> - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> + </div> </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/view/CardFrame.html b/docs/html/reference/android/support/wearable/view/CardFrame.html index 46bb6cd..1beeda2 100644 --- a/docs/html/reference/android/support/wearable/view/CardFrame.html +++ b/docs/html/reference/android/support/wearable/view/CardFrame.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>CardFrame | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> + - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">CardFrame</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">CardFrame</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -582,7 +514,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -2965,14 +2897,14 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardFrame.html#getContentPaddingBottom()">getContentPaddingBottom</a></span>()</nobr> - <div class="jd-descrdiv"> - Returns the inner padding before the Card's bottom edge + <div class="jd-descrdiv"> + Returns the inner padding before the Card's bottom edge - + - </div> - + </div> + </td></tr> @@ -2989,14 +2921,14 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardFrame.html#getContentPaddingLeft()">getContentPaddingLeft</a></span>()</nobr> - <div class="jd-descrdiv"> - Returns the inner padding after the Card's left edge + <div class="jd-descrdiv"> + Returns the inner padding after the Card's left edge - + - </div> - + </div> + </td></tr> @@ -3013,14 +2945,14 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardFrame.html#getContentPaddingRight()">getContentPaddingRight</a></span>()</nobr> - <div class="jd-descrdiv"> - Returns the inner padding before the Card's right edge + <div class="jd-descrdiv"> + Returns the inner padding before the Card's right edge - + - </div> - + </div> + </td></tr> @@ -3037,14 +2969,14 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardFrame.html#getContentPaddingTop()">getContentPaddingTop</a></span>()</nobr> - <div class="jd-descrdiv"> - Returns the inner padding after the Card's top edge + <div class="jd-descrdiv"> + Returns the inner padding after the Card's top edge - + - </div> - + </div> + </td></tr> @@ -3061,14 +2993,14 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardFrame.html#getDefaultSize(int, int, boolean)">getDefaultSize</a></span>(int size, int measureSpec, boolean greedy)</nobr> - <div class="jd-descrdiv"> - Get a default size, will be as small as possible unless forced by the parent, or greedy is + <div class="jd-descrdiv"> + Get a default size, will be as small as possible unless forced by the parent, or greedy is specified. - + - </div> - + </div> + </td></tr> @@ -3085,13 +3017,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardFrame.html#getExpansionDirection()">getExpansionDirection</a></span>()</nobr> - <div class="jd-descrdiv"> - Returns the current expansion direction, either <code><a href="../../../../../reference/android/support/wearable/view/CardFrame.html#EXPAND_UP">EXPAND_UP</a></code> or <code><a href="../../../../../reference/android/support/wearable/view/CardFrame.html#EXPAND_DOWN">EXPAND_DOWN</a></code>. - + <div class="jd-descrdiv"> + Returns the current expansion direction, either <code><a href="../../../../../reference/android/support/wearable/view/CardFrame.html#EXPAND_UP">EXPAND_UP</a></code> or <code><a href="../../../../../reference/android/support/wearable/view/CardFrame.html#EXPAND_DOWN">EXPAND_DOWN</a></code>. + - </div> - + </div> + </td></tr> @@ -3108,14 +3040,14 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardFrame.html#getExpansionFactor()">getExpansionFactor</a></span>()</nobr> - <div class="jd-descrdiv"> - Returns the current expansionFactor which is the maximum height of this view as a multiple of + <div class="jd-descrdiv"> + Returns the current expansionFactor which is the maximum height of this view as a multiple of the parent view's height. - + - </div> - + </div> + </td></tr> @@ -3132,13 +3064,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardFrame.html#isExpansionEnabled()">isExpansionEnabled</a></span>()</nobr> - <div class="jd-descrdiv"> - Indicates whether expansion is on. - + <div class="jd-descrdiv"> + Indicates whether expansion is on. + - </div> - + </div> + </td></tr> @@ -3203,13 +3135,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardFrame.html#setExpansionDirection(int)">setExpansionDirection</a></span>(int direction)</nobr> - <div class="jd-descrdiv"> - Sets the direction in which content expands. - + <div class="jd-descrdiv"> + Sets the direction in which content expands. + - </div> - + </div> + </td></tr> @@ -3226,13 +3158,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardFrame.html#setExpansionEnabled(boolean)">setExpansionEnabled</a></span>(boolean enabled)</nobr> - <div class="jd-descrdiv"> - Enables support contents which maybe be larger than the card's container. - + <div class="jd-descrdiv"> + Enables support contents which maybe be larger than the card's container. + - </div> - + </div> + </td></tr> @@ -3249,13 +3181,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardFrame.html#setExpansionFactor(float)">setExpansionFactor</a></span>(float expansionFactor)</nobr> - <div class="jd-descrdiv"> - Sets the allowed expansion amount as a multiple of the parent height. - + <div class="jd-descrdiv"> + Sets the allowed expansion amount as a multiple of the parent height. + - </div> - + </div> + </td></tr> @@ -15944,40 +15876,187 @@ From interface <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> + </p> + + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> - - <div id="footerlinks"> - - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> </div> - </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/view/CardScrollView.html b/docs/html/reference/android/support/wearable/view/CardScrollView.html index f8cfe13..0364eb9 100644 --- a/docs/html/reference/android/support/wearable/view/CardScrollView.html +++ b/docs/html/reference/android/support/wearable/view/CardScrollView.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>CardScrollView | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">CardScrollView</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">CardScrollView</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -582,7 +514,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -2893,13 +2825,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardScrollView.html#getAvailableScrollDelta(int)">getAvailableScrollDelta</a></span>(int direction)</nobr> - <div class="jd-descrdiv"> - Indicates how far the container may be vertically scrolled in the given direction. - + <div class="jd-descrdiv"> + Indicates how far the container may be vertically scrolled in the given direction. + - </div> - + </div> + </td></tr> @@ -2916,13 +2848,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardScrollView.html#getCardGravity()">getCardGravity</a></span>()</nobr> - <div class="jd-descrdiv"> - Returns the current layout gravity for contained card frame. - + <div class="jd-descrdiv"> + Returns the current layout gravity for contained card frame. + - </div> - + </div> + </td></tr> @@ -2939,13 +2871,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardScrollView.html#getExpansionDirection()">getExpansionDirection</a></span>()</nobr> - <div class="jd-descrdiv"> - Returns the current expansion direction for the contained CardFrame. - + <div class="jd-descrdiv"> + Returns the current expansion direction for the contained CardFrame. + - </div> - + </div> + </td></tr> @@ -2962,13 +2894,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardScrollView.html#getExpansionFactor()">getExpansionFactor</a></span>()</nobr> - <div class="jd-descrdiv"> - Returns the current expansion factor for the contained CardFrame. - + <div class="jd-descrdiv"> + Returns the current expansion factor for the contained CardFrame. + - </div> - + </div> + </td></tr> @@ -2985,13 +2917,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardScrollView.html#isExpansionEnabled()">isExpansionEnabled</a></span>()</nobr> - <div class="jd-descrdiv"> - Indicates if expansion is enabled. - + <div class="jd-descrdiv"> + Indicates if expansion is enabled. + - </div> - + </div> + </td></tr> @@ -3024,14 +2956,14 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardScrollView.html#setCardGravity(int)">setCardGravity</a></span>(int gravity)</nobr> - <div class="jd-descrdiv"> - Applies gravity to adjust the vertical alignment of the contained card frame when it's + <div class="jd-descrdiv"> + Applies gravity to adjust the vertical alignment of the contained card frame when it's shorter than the containing view. - + - </div> - + </div> + </td></tr> @@ -3048,13 +2980,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardScrollView.html#setExpansionDirection(int)">setExpansionDirection</a></span>(int direction)</nobr> - <div class="jd-descrdiv"> - Control which direction expansion occurs. - + <div class="jd-descrdiv"> + Control which direction expansion occurs. + - </div> - + </div> + </td></tr> @@ -3071,13 +3003,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardScrollView.html#setExpansionEnabled(boolean)">setExpansionEnabled</a></span>(boolean enableExpansion)</nobr> - <div class="jd-descrdiv"> - Whether the height of the card is permitted to increase beyond the card layout bounds. - + <div class="jd-descrdiv"> + Whether the height of the card is permitted to increase beyond the card layout bounds. + - </div> - + </div> + </td></tr> @@ -3094,13 +3026,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CardScrollView.html#setExpansionFactor(float)">setExpansionFactor</a></span>(float expansionFactor)</nobr> - <div class="jd-descrdiv"> - Changes the expansion factor for the contained CardFrame. - + <div class="jd-descrdiv"> + Changes the expansion factor for the contained CardFrame. + - </div> - + </div> + </td></tr> @@ -15912,40 +15844,187 @@ From interface <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> + </p> + + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> - - <div id="footerlinks"> - - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> </div> - </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/view/CircledImageView.html b/docs/html/reference/android/support/wearable/view/CircledImageView.html index 7f9e1d0..1c9451b 100644 --- a/docs/html/reference/android/support/wearable/view/CircledImageView.html +++ b/docs/html/reference/android/support/wearable/view/CircledImageView.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>CircledImageView | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">CircledImageView</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">CircledImageView</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -582,7 +514,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -2808,13 +2740,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CircledImageView.html#setCircleBorderWidth(float)">setCircleBorderWidth</a></span>(float circleBorderWidth)</nobr> - <div class="jd-descrdiv"> - Set the border around the circle. - + <div class="jd-descrdiv"> + Set the border around the circle. + - </div> - + </div> + </td></tr> @@ -2991,13 +2923,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CircledImageView.html#setShadowVisibility(float)">setShadowVisibility</a></span>(float shadowVisibility)</nobr> - <div class="jd-descrdiv"> - Set how much of the shadow should be shown. - + <div class="jd-descrdiv"> + Set how much of the shadow should be shown. + - </div> - + </div> + </td></tr> @@ -3014,13 +2946,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CircledImageView.html#showIndeterminateProgress(boolean)">showIndeterminateProgress</a></span>(boolean show)</nobr> - <div class="jd-descrdiv"> - Show the circle border as an indeterminate progress spinner. - + <div class="jd-descrdiv"> + Show the circle border as an indeterminate progress spinner. + - </div> - + </div> + </td></tr> @@ -12344,40 +12276,187 @@ From interface <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> + </p> + + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> - - <div id="footerlinks"> - - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> </div> - </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/view/CircularButton.html b/docs/html/reference/android/support/wearable/view/CircularButton.html index be09157..edcb3f2 100644 --- a/docs/html/reference/android/support/wearable/view/CircularButton.html +++ b/docs/html/reference/android/support/wearable/view/CircularButton.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>CircularButton | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">CircularButton</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">CircularButton</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -582,7 +514,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -2708,13 +2640,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CircularButton.html#getImageDrawable()">getImageDrawable</a></span>()</nobr> - <div class="jd-descrdiv"> - Returns the optional image to displayed on top of the button. - + <div class="jd-descrdiv"> + Returns the optional image to displayed on top of the button. + - </div> - + </div> + </td></tr> @@ -2731,13 +2663,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CircularButton.html#getImageScaleMode()">getImageScaleMode</a></span>()</nobr> - <div class="jd-descrdiv"> - Returns the scaling mode used for the image. - + <div class="jd-descrdiv"> + Returns the scaling mode used for the image. + - </div> - + </div> + </td></tr> @@ -2786,13 +2718,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CircularButton.html#setColor(int)">setColor</a></span>(int color)</nobr> - <div class="jd-descrdiv"> - Sets the background color of the circular button. - + <div class="jd-descrdiv"> + Sets the background color of the circular button. + - </div> - + </div> + </td></tr> @@ -2809,13 +2741,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CircularButton.html#setColor(android.content.res.ColorStateList)">setColor</a></span>(ColorStateList colorStateList)</nobr> - <div class="jd-descrdiv"> - Sets the background color of the circular button. - + <div class="jd-descrdiv"> + Sets the background color of the circular button. + - </div> - + </div> + </td></tr> @@ -2832,13 +2764,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CircularButton.html#setImageDrawable(android.graphics.drawable.Drawable)">setImageDrawable</a></span>(Drawable drawable)</nobr> - <div class="jd-descrdiv"> - Sets an optional image to be displayed on top of the button. - + <div class="jd-descrdiv"> + Sets an optional image to be displayed on top of the button. + - </div> - + </div> + </td></tr> @@ -2855,13 +2787,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CircularButton.html#setImageResource(int)">setImageResource</a></span>(int drawableRes)</nobr> - <div class="jd-descrdiv"> - Sets an optional image to be displayed on top of the button. - + <div class="jd-descrdiv"> + Sets an optional image to be displayed on top of the button. + - </div> - + </div> + </td></tr> @@ -2878,13 +2810,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CircularButton.html#setImageScaleMode(int)">setImageScaleMode</a></span>(int scaleMode)</nobr> - <div class="jd-descrdiv"> - Sets the scaling mode used for the image. - + <div class="jd-descrdiv"> + Sets the scaling mode used for the image. + - </div> - + </div> + </td></tr> @@ -12000,40 +11932,187 @@ From interface <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> + </p> + + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> - - <div id="footerlinks"> - - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> </div> - </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/view/CrossfadeDrawable.html b/docs/html/reference/android/support/wearable/view/CrossfadeDrawable.html index 4cc384f..f346b82 100644 --- a/docs/html/reference/android/support/wearable/view/CrossfadeDrawable.html +++ b/docs/html/reference/android/support/wearable/view/CrossfadeDrawable.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>CrossfadeDrawable | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">CrossfadeDrawable</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">CrossfadeDrawable</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -582,7 +514,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -780,13 +712,13 @@ Summary: - <div class="jd-tagdata"> <h5 class="jd-tagtitle">See Also</h5> <ul class="nolist"><li><code><a href="../../../../../reference/android/support/wearable/view/CrossfadeDrawable.html#setBase(android.graphics.drawable.Drawable)">setBase(Drawable)</a></code></li><li><code><a href="../../../../../reference/android/support/wearable/view/CrossfadeDrawable.html#setFading(android.graphics.drawable.Drawable)">setFading(Drawable)</a></code></li><li><code><a href="../../../../../reference/android/support/wearable/view/CrossfadeDrawable.html#setProgress(float)">setProgress(float)</a></code></li> </ul> </div> + </div><!-- jd-descr --> @@ -1102,13 +1034,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CrossfadeDrawable.html#setBase(android.graphics.drawable.Drawable)">setBase</a></span>(Drawable d)</nobr> - <div class="jd-descrdiv"> - Sets the image for the base layer. - + <div class="jd-descrdiv"> + Sets the image for the base layer. + - </div> - + </div> + </td></tr> @@ -1189,13 +1121,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CrossfadeDrawable.html#setFading(android.graphics.drawable.Drawable)">setFading</a></span>(Drawable d)</nobr> - <div class="jd-descrdiv"> - Sets the image for the fading layer. - + <div class="jd-descrdiv"> + Sets the image for the fading layer. + - </div> - + </div> + </td></tr> @@ -3576,40 +3508,187 @@ From interface <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> - </div> - - - <div id="footerlinks"> + </p> - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> + </div> </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/view/DelayedConfirmationView.DelayedConfirmationListener.html b/docs/html/reference/android/support/wearable/view/DelayedConfirmationView.DelayedConfirmationListener.html index 35df2aa..6159875 100644 --- a/docs/html/reference/android/support/wearable/view/DelayedConfirmationView.DelayedConfirmationListener.html +++ b/docs/html/reference/android/support/wearable/view/DelayedConfirmationView.DelayedConfirmationListener.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>DelayedConfirmationView.DelayedConfirmationListener | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">DelayedConfirmationView.DelayedConfirmationListener</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">DelayedConfirmationView.DelayedConfirmationListener</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -582,7 +514,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -766,13 +698,13 @@ type="text/css"> <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DelayedConfirmationView.DelayedConfirmationListener.html#onTimerFinished(android.view.View)">onTimerFinished</a></span>(View v)</nobr> - <div class="jd-descrdiv"> - Called when the timer is finished. - + <div class="jd-descrdiv"> + Called when the timer is finished. + - </div> - + </div> + </td></tr> @@ -789,13 +721,13 @@ type="text/css"> <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DelayedConfirmationView.DelayedConfirmationListener.html#onTimerSelected(android.view.View)">onTimerSelected</a></span>(View v)</nobr> - <div class="jd-descrdiv"> - Called when the user selects the timer. - + <div class="jd-descrdiv"> + Called when the user selects the timer. + - </div> - + </div> + </td></tr> @@ -922,40 +854,187 @@ type="text/css"> <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> - </div> - - - <div id="footerlinks"> + </p> - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> + </div> </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/view/DelayedConfirmationView.html b/docs/html/reference/android/support/wearable/view/DelayedConfirmationView.html index 55232eb..3b61bf0 100644 --- a/docs/html/reference/android/support/wearable/view/DelayedConfirmationView.html +++ b/docs/html/reference/android/support/wearable/view/DelayedConfirmationView.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>DelayedConfirmationView | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">DelayedConfirmationView</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">DelayedConfirmationView</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -582,7 +514,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -2733,13 +2665,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DelayedConfirmationView.html#reset()">reset</a></span>()</nobr> - <div class="jd-descrdiv"> - Resets the timer. - + <div class="jd-descrdiv"> + Resets the timer. + - </div> - + </div> + </td></tr> @@ -2756,13 +2688,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DelayedConfirmationView.html#setListener(android.support.wearable.view.DelayedConfirmationView.DelayedConfirmationListener)">setListener</a></span>(<a href="../../../../../reference/android/support/wearable/view/DelayedConfirmationView.DelayedConfirmationListener.html">DelayedConfirmationView.DelayedConfirmationListener</a> listener)</nobr> - <div class="jd-descrdiv"> - Sets a listener to get callbacks for when the timer finishes or cancelled. - + <div class="jd-descrdiv"> + Sets a listener to get callbacks for when the timer finishes or cancelled. + - </div> - + </div> + </td></tr> @@ -2779,13 +2711,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DelayedConfirmationView.html#setStartTimeMs(long)">setStartTimeMs</a></span>(long time)</nobr> - <div class="jd-descrdiv"> - Artificially sets the start time in milliseconds for the Timer to countdown from. - + <div class="jd-descrdiv"> + Artificially sets the start time in milliseconds for the Timer to countdown from. + - </div> - + </div> + </td></tr> @@ -2802,13 +2734,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DelayedConfirmationView.html#setTotalTimeMs(long)">setTotalTimeMs</a></span>(long time)</nobr> - <div class="jd-descrdiv"> - Sets the total time in milliseconds for the Timer to countdown to. - + <div class="jd-descrdiv"> + Sets the total time in milliseconds for the Timer to countdown to. + - </div> - + </div> + </td></tr> @@ -2825,13 +2757,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DelayedConfirmationView.html#start()">start</a></span>()</nobr> - <div class="jd-descrdiv"> - Starts the timer countdown. - + <div class="jd-descrdiv"> + Starts the timer countdown. + - </div> - + </div> + </td></tr> @@ -3115,13 +3047,13 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CircledImageView.html#setCircleBorderWidth(float)">setCircleBorderWidth</a></span>(float circleBorderWidth)</nobr> - <div class="jd-descrdiv"> - Set the border around the circle. - + <div class="jd-descrdiv"> + Set the border around the circle. + - </div> - + </div> + </td></tr> @@ -3298,13 +3230,13 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CircledImageView.html#setShadowVisibility(float)">setShadowVisibility</a></span>(float shadowVisibility)</nobr> - <div class="jd-descrdiv"> - Set how much of the shadow should be shown. - + <div class="jd-descrdiv"> + Set how much of the shadow should be shown. + - </div> - + </div> + </td></tr> @@ -3321,13 +3253,13 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/CircledImageView.html#showIndeterminateProgress(boolean)">showIndeterminateProgress</a></span>(boolean show)</nobr> - <div class="jd-descrdiv"> - Show the circle border as an indeterminate progress spinner. - + <div class="jd-descrdiv"> + Show the circle border as an indeterminate progress spinner. + - </div> - + </div> + </td></tr> @@ -11928,40 +11860,187 @@ From interface <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> + </p> + + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> - - <div id="footerlinks"> - - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> </div> - </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/view/DismissOverlayView.html b/docs/html/reference/android/support/wearable/view/DismissOverlayView.html index 9212e5c..f455403 100644 --- a/docs/html/reference/android/support/wearable/view/DismissOverlayView.html +++ b/docs/html/reference/android/support/wearable/view/DismissOverlayView.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>DismissOverlayView | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">DismissOverlayView</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">DismissOverlayView</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -582,7 +514,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -2899,13 +2831,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DismissOverlayView.html#setIntroText(int)">setIntroText</a></span>(int textResId)</nobr> - <div class="jd-descrdiv"> - Set the intro text. - + <div class="jd-descrdiv"> + Set the intro text. + - </div> - + </div> + </td></tr> @@ -2922,13 +2854,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DismissOverlayView.html#setIntroText(java.lang.CharSequence)">setIntroText</a></span>(CharSequence str)</nobr> - <div class="jd-descrdiv"> - Set the intro text. - + <div class="jd-descrdiv"> + Set the intro text. + - </div> - + </div> + </td></tr> @@ -2945,13 +2877,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DismissOverlayView.html#show()">show</a></span>()</nobr> - <div class="jd-descrdiv"> - Show the exit button. - + <div class="jd-descrdiv"> + Show the exit button. + - </div> - + </div> + </td></tr> @@ -2968,13 +2900,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DismissOverlayView.html#showIntroIfNecessary()">showIntroIfNecessary</a></span>()</nobr> - <div class="jd-descrdiv"> - Displays the intro overlay over your app if necessary. - + <div class="jd-descrdiv"> + Displays the intro overlay over your app if necessary. + - </div> - + </div> + </td></tr> @@ -15331,40 +15263,187 @@ From interface <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> + </p> + + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> - - <div id="footerlinks"> - - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> </div> - </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/view/DotsPageIndicator.html b/docs/html/reference/android/support/wearable/view/DotsPageIndicator.html index 915e7a8..006a270 100644 --- a/docs/html/reference/android/support/wearable/view/DotsPageIndicator.html +++ b/docs/html/reference/android/support/wearable/view/DotsPageIndicator.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>DotsPageIndicator | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> + - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">DotsPageIndicator</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">DotsPageIndicator</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -582,7 +514,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -2690,13 +2622,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DotsPageIndicator.html#getDotColor()">getDotColor</a></span>()</nobr> - <div class="jd-descrdiv"> - Returns the color used for dots other than the selected page. - + <div class="jd-descrdiv"> + Returns the color used for dots other than the selected page. + - </div> - + </div> + </td></tr> @@ -2713,13 +2645,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DotsPageIndicator.html#getDotColorSelected()">getDotColorSelected</a></span>()</nobr> - <div class="jd-descrdiv"> - Returns the color of the dot for the selected page. - + <div class="jd-descrdiv"> + Returns the color of the dot for the selected page. + - </div> - + </div> + </td></tr> @@ -2736,13 +2668,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DotsPageIndicator.html#getDotFadeInDuration()">getDotFadeInDuration</a></span>()</nobr> - <div class="jd-descrdiv"> - Returns the duration of the fade in duration, in milliseconds. - + <div class="jd-descrdiv"> + Returns the duration of the fade in duration, in milliseconds. + - </div> - + </div> + </td></tr> @@ -2759,14 +2691,14 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DotsPageIndicator.html#getDotFadeOutDelay()">getDotFadeOutDelay</a></span>()</nobr> - <div class="jd-descrdiv"> - Sets the delay between the pager arriving at an idle state, and the fade out animation + <div class="jd-descrdiv"> + Sets the delay between the pager arriving at an idle state, and the fade out animation beginning, in milliseconds. - + - </div> - + </div> + </td></tr> @@ -2783,13 +2715,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DotsPageIndicator.html#getDotFadeOutDuration()">getDotFadeOutDuration</a></span>()</nobr> - <div class="jd-descrdiv"> - Returns the duration of fade out animation, in milliseconds. - + <div class="jd-descrdiv"> + Returns the duration of fade out animation, in milliseconds. + - </div> - + </div> + </td></tr> @@ -2806,13 +2738,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DotsPageIndicator.html#getDotFadeWhenIdle()">getDotFadeWhenIdle</a></span>()</nobr> - <div class="jd-descrdiv"> - Indicates if the dots fade out when the pager is idle. - + <div class="jd-descrdiv"> + Indicates if the dots fade out when the pager is idle. + - </div> - + </div> + </td></tr> @@ -2829,13 +2761,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DotsPageIndicator.html#getDotRadius()">getDotRadius</a></span>()</nobr> - <div class="jd-descrdiv"> - Gets the radius of the page dots. - + <div class="jd-descrdiv"> + Gets the radius of the page dots. + - </div> - + </div> + </td></tr> @@ -2852,13 +2784,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DotsPageIndicator.html#getDotRadiusSelected()">getDotRadiusSelected</a></span>()</nobr> - <div class="jd-descrdiv"> - Gets the radius of the page dot for the selected page. - + <div class="jd-descrdiv"> + Gets the radius of the page dot for the selected page. + - </div> - + </div> + </td></tr> @@ -2875,13 +2807,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DotsPageIndicator.html#getDotShadowColor()">getDotShadowColor</a></span>()</nobr> - <div class="jd-descrdiv"> - Returns the color of the shadows drawn beneath the dots. - + <div class="jd-descrdiv"> + Returns the color of the shadows drawn beneath the dots. + - </div> - + </div> + </td></tr> @@ -2898,13 +2830,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DotsPageIndicator.html#getDotShadowDx()">getDotShadowDx</a></span>()</nobr> - <div class="jd-descrdiv"> - Returns the horizontal offset of shadows drawn beneath the dots. - + <div class="jd-descrdiv"> + Returns the horizontal offset of shadows drawn beneath the dots. + - </div> - + </div> + </td></tr> @@ -2921,13 +2853,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DotsPageIndicator.html#getDotShadowDy()">getDotShadowDy</a></span>()</nobr> - <div class="jd-descrdiv"> - Returns the vertical offset of shadows drawn beneath the dots. - + <div class="jd-descrdiv"> + Returns the vertical offset of shadows drawn beneath the dots. + - </div> - + </div> + </td></tr> @@ -2944,13 +2876,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DotsPageIndicator.html#getDotShadowRadius()">getDotShadowRadius</a></span>()</nobr> - <div class="jd-descrdiv"> - Sets the pixel radius of shadows drawn beneath the dots. - + <div class="jd-descrdiv"> + Sets the pixel radius of shadows drawn beneath the dots. + - </div> - + </div> + </td></tr> @@ -2967,13 +2899,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DotsPageIndicator.html#getDotSpacing()">getDotSpacing</a></span>()</nobr> - <div class="jd-descrdiv"> - Gets the center-to-center distance between page dots. - + <div class="jd-descrdiv"> + Gets the center-to-center distance between page dots. + - </div> - + </div> + </td></tr> @@ -2990,13 +2922,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DotsPageIndicator.html#onAdapterChanged(android.support.wearable.view.GridPagerAdapter, android.support.wearable.view.GridPagerAdapter)">onAdapterChanged</a></span>(<a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html">GridPagerAdapter</a> oldAdapter, <a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html">GridPagerAdapter</a> newAdapter)</nobr> - <div class="jd-descrdiv"> - Called when the adapter is changed with <code><a href="../../../../../reference/android/support/wearable/view/GridViewPager.html#setAdapter(android.support.wearable.view.GridPagerAdapter)">setAdapter(GridPagerAdapter)</a></code>. - + <div class="jd-descrdiv"> + Called when the adapter is changed with <code><a href="../../../../../reference/android/support/wearable/view/GridViewPager.html#setAdapter(android.support.wearable.view.GridPagerAdapter)">setAdapter(GridPagerAdapter)</a></code>. + - </div> - + </div> + </td></tr> @@ -3013,13 +2945,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DotsPageIndicator.html#onDataSetChanged()">onDataSetChanged</a></span>()</nobr> - <div class="jd-descrdiv"> - Called when a change is made to the content of the current adapter. - + <div class="jd-descrdiv"> + Called when a change is made to the content of the current adapter. + - </div> - + </div> + </td></tr> @@ -3036,13 +2968,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DotsPageIndicator.html#onPageScrollStateChanged(int)">onPageScrollStateChanged</a></span>(int state)</nobr> - <div class="jd-descrdiv"> - Called when the scroll state changes. - + <div class="jd-descrdiv"> + Called when the scroll state changes. + - </div> - + </div> + </td></tr> @@ -3059,14 +2991,14 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DotsPageIndicator.html#onPageScrolled(int, int, float, float, int, int)">onPageScrolled</a></span>(int row, int column, float rowOffset, float columnOffset, int rowOffsetPixels, int columnOffsetPixels)</nobr> - <div class="jd-descrdiv"> - This method will be invoked when the current page is scrolled, either as part of a + <div class="jd-descrdiv"> + This method will be invoked when the current page is scrolled, either as part of a programmatically initiated smooth scroll or a user initiated touch scroll. - + - </div> - + </div> + </td></tr> @@ -3083,13 +3015,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DotsPageIndicator.html#onPageSelected(int, int)">onPageSelected</a></span>(int row, int column)</nobr> - <div class="jd-descrdiv"> - This method is called when a new page becomes selected. - + <div class="jd-descrdiv"> + This method is called when a new page becomes selected. + - </div> - + </div> + </td></tr> @@ -3106,13 +3038,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DotsPageIndicator.html#setDotColor(int)">setDotColor</a></span>(int color)</nobr> - <div class="jd-descrdiv"> - Sets the color used for dots other than the selected page. - + <div class="jd-descrdiv"> + Sets the color used for dots other than the selected page. + - </div> - + </div> + </td></tr> @@ -3129,13 +3061,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DotsPageIndicator.html#setDotColorSelected(int)">setDotColorSelected</a></span>(int color)</nobr> - <div class="jd-descrdiv"> - Sets the color of the dot for the selected page. - + <div class="jd-descrdiv"> + Sets the color of the dot for the selected page. + - </div> - + </div> + </td></tr> @@ -3152,13 +3084,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DotsPageIndicator.html#setDotFadeInDuration(int, java.util.concurrent.TimeUnit)">setDotFadeInDuration</a></span>(int duration, TimeUnit unit)</nobr> - <div class="jd-descrdiv"> - Sets the duration of the fade in animation. - + <div class="jd-descrdiv"> + Sets the duration of the fade in animation. + - </div> - + </div> + </td></tr> @@ -3175,14 +3107,14 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DotsPageIndicator.html#setDotFadeOutDelay(int)">setDotFadeOutDelay</a></span>(int delay)</nobr> - <div class="jd-descrdiv"> - Sets the delay between the pager arriving at an idle state, and the fade out animation + <div class="jd-descrdiv"> + Sets the delay between the pager arriving at an idle state, and the fade out animation beginning, in milliseconds. - + - </div> - + </div> + </td></tr> @@ -3199,13 +3131,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DotsPageIndicator.html#setDotFadeOutDuration(int, java.util.concurrent.TimeUnit)">setDotFadeOutDuration</a></span>(int duration, TimeUnit unit)</nobr> - <div class="jd-descrdiv"> - Sets the duration of the fade out animation. - + <div class="jd-descrdiv"> + Sets the duration of the fade out animation. + - </div> - + </div> + </td></tr> @@ -3222,13 +3154,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DotsPageIndicator.html#setDotFadeWhenIdle(boolean)">setDotFadeWhenIdle</a></span>(boolean fade)</nobr> - <div class="jd-descrdiv"> - Sets whether the dots fade out when the pager is idle. - + <div class="jd-descrdiv"> + Sets whether the dots fade out when the pager is idle. + - </div> - + </div> + </td></tr> @@ -3245,13 +3177,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DotsPageIndicator.html#setDotRadius(int)">setDotRadius</a></span>(int radius)</nobr> - <div class="jd-descrdiv"> - Sets the radius of the page dots. - + <div class="jd-descrdiv"> + Sets the radius of the page dots. + - </div> - + </div> + </td></tr> @@ -3268,13 +3200,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DotsPageIndicator.html#setDotRadiusSelected(int)">setDotRadiusSelected</a></span>(int radius)</nobr> - <div class="jd-descrdiv"> - Sets the radius of the page dot for the selected page. - + <div class="jd-descrdiv"> + Sets the radius of the page dot for the selected page. + - </div> - + </div> + </td></tr> @@ -3291,13 +3223,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DotsPageIndicator.html#setDotShadowColor(int)">setDotShadowColor</a></span>(int color)</nobr> - <div class="jd-descrdiv"> - Sets the color of the shadows drawn beneath the dots. - + <div class="jd-descrdiv"> + Sets the color of the shadows drawn beneath the dots. + - </div> - + </div> + </td></tr> @@ -3314,13 +3246,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DotsPageIndicator.html#setDotShadowDx(float)">setDotShadowDx</a></span>(float dx)</nobr> - <div class="jd-descrdiv"> - Sets the horizontal offset of shadows drawn beneath the dots. - + <div class="jd-descrdiv"> + Sets the horizontal offset of shadows drawn beneath the dots. + - </div> - + </div> + </td></tr> @@ -3337,13 +3269,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DotsPageIndicator.html#setDotShadowDy(float)">setDotShadowDy</a></span>(float dy)</nobr> - <div class="jd-descrdiv"> - Sets the vertical offset of shadows drawn beneath the dots. - + <div class="jd-descrdiv"> + Sets the vertical offset of shadows drawn beneath the dots. + - </div> - + </div> + </td></tr> @@ -3360,13 +3292,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DotsPageIndicator.html#setDotShadowRadius(float)">setDotShadowRadius</a></span>(float radius)</nobr> - <div class="jd-descrdiv"> - Sets the pixel radius of shadows drawn beneath the dots. - + <div class="jd-descrdiv"> + Sets the pixel radius of shadows drawn beneath the dots. + - </div> - + </div> + </td></tr> @@ -3383,13 +3315,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DotsPageIndicator.html#setDotSpacing(int)">setDotSpacing</a></span>(int spacing)</nobr> - <div class="jd-descrdiv"> - Sets the center-to-center distance between page dots. - + <div class="jd-descrdiv"> + Sets the center-to-center distance between page dots. + - </div> - + </div> + </td></tr> @@ -3406,13 +3338,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DotsPageIndicator.html#setOnAdapterChangeListener(android.support.wearable.view.GridViewPager.OnAdapterChangeListener)">setOnAdapterChangeListener</a></span>(<a href="../../../../../reference/android/support/wearable/view/GridViewPager.OnAdapterChangeListener.html">GridViewPager.OnAdapterChangeListener</a> listener)</nobr> - <div class="jd-descrdiv"> - Sets a listener to receive the adapter change events that are provided to the page indicator. - + <div class="jd-descrdiv"> + Sets a listener to receive the adapter change events that are provided to the page indicator. + - </div> - + </div> + </td></tr> @@ -3429,13 +3361,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DotsPageIndicator.html#setOnPageChangeListener(android.support.wearable.view.GridViewPager.OnPageChangeListener)">setOnPageChangeListener</a></span>(<a href="../../../../../reference/android/support/wearable/view/GridViewPager.OnPageChangeListener.html">GridViewPager.OnPageChangeListener</a> listener)</nobr> - <div class="jd-descrdiv"> - Sets a listener to receive the page change events that are provided to the page indicator. - + <div class="jd-descrdiv"> + Sets a listener to receive the page change events that are provided to the page indicator. + - </div> - + </div> + </td></tr> @@ -3452,14 +3384,14 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/DotsPageIndicator.html#setPager(android.support.wearable.view.GridViewPager)">setPager</a></span>(<a href="../../../../../reference/android/support/wearable/view/GridViewPager.html">GridViewPager</a> pager)</nobr> - <div class="jd-descrdiv"> - Supplies the GridViewPager instance, and attaches this views <code><a href="../../../../../reference/android/support/wearable/view/GridViewPager.OnPageChangeListener.html">GridViewPager.OnPageChangeListener</a></code> and + <div class="jd-descrdiv"> + Supplies the GridViewPager instance, and attaches this views <code><a href="../../../../../reference/android/support/wearable/view/GridViewPager.OnPageChangeListener.html">GridViewPager.OnPageChangeListener</a></code> and <code><a href="../../../../../reference/android/support/wearable/view/GridViewPager.OnAdapterChangeListener.html">GridViewPager.OnAdapterChangeListener</a></code> listeners to the pager. - + - </div> - + </div> + </td></tr> @@ -11713,13 +11645,13 @@ From interface <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridViewPager.OnPageChangeListener.html#onPageScrollStateChanged(int)">onPageScrollStateChanged</a></span>(int state)</nobr> - <div class="jd-descrdiv"> - Called when the scroll state changes. - + <div class="jd-descrdiv"> + Called when the scroll state changes. + - </div> - + </div> + </td></tr> @@ -11736,14 +11668,14 @@ From interface <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridViewPager.OnPageChangeListener.html#onPageScrolled(int, int, float, float, int, int)">onPageScrolled</a></span>(int row, int column, float rowOffset, float columnOffset, int rowOffsetPixels, int columnOffsetPixels)</nobr> - <div class="jd-descrdiv"> - This method will be invoked when the current page is scrolled, either as part of a + <div class="jd-descrdiv"> + This method will be invoked when the current page is scrolled, either as part of a programmatically initiated smooth scroll or a user initiated touch scroll. - + - </div> - + </div> + </td></tr> @@ -11760,13 +11692,13 @@ From interface <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridViewPager.OnPageChangeListener.html#onPageSelected(int, int)">onPageSelected</a></span>(int row, int column)</nobr> - <div class="jd-descrdiv"> - This method is called when a new page becomes selected. - + <div class="jd-descrdiv"> + This method is called when a new page becomes selected. + - </div> - + </div> + </td></tr> @@ -11809,13 +11741,13 @@ From interface <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridViewPager.OnAdapterChangeListener.html#onAdapterChanged(android.support.wearable.view.GridPagerAdapter, android.support.wearable.view.GridPagerAdapter)">onAdapterChanged</a></span>(<a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html">GridPagerAdapter</a> oldAdapter, <a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html">GridPagerAdapter</a> newAdapter)</nobr> - <div class="jd-descrdiv"> - Called when the adapter is changed with <code><a href="../../../../../reference/android/support/wearable/view/GridViewPager.html#setAdapter(android.support.wearable.view.GridPagerAdapter)">setAdapter(GridPagerAdapter)</a></code>. - + <div class="jd-descrdiv"> + Called when the adapter is changed with <code><a href="../../../../../reference/android/support/wearable/view/GridViewPager.html#setAdapter(android.support.wearable.view.GridPagerAdapter)">setAdapter(GridPagerAdapter)</a></code>. + - </div> - + </div> + </td></tr> @@ -11832,13 +11764,13 @@ From interface <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridViewPager.OnAdapterChangeListener.html#onDataSetChanged()">onDataSetChanged</a></span>()</nobr> - <div class="jd-descrdiv"> - Called when a change is made to the content of the current adapter. - + <div class="jd-descrdiv"> + Called when a change is made to the content of the current adapter. + - </div> - + </div> + </td></tr> @@ -13451,40 +13383,187 @@ From interface <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> + </p> + + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> - - <div id="footerlinks"> - - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> </div> - </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/view/FragmentGridPagerAdapter.html b/docs/html/reference/android/support/wearable/view/FragmentGridPagerAdapter.html index aa35dc9..9df4ae7 100644 --- a/docs/html/reference/android/support/wearable/view/FragmentGridPagerAdapter.html +++ b/docs/html/reference/android/support/wearable/view/FragmentGridPagerAdapter.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>FragmentGridPagerAdapter | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">FragmentGridPagerAdapter</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">FragmentGridPagerAdapter</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -582,7 +514,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -1015,13 +947,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/FragmentGridPagerAdapter.html#destroyItem(android.view.ViewGroup, int, int, java.lang.Object)">destroyItem</a></span>(ViewGroup container, int row, int column, Object object)</nobr> - <div class="jd-descrdiv"> - Removes a page for the given position. - + <div class="jd-descrdiv"> + Removes a page for the given position. + - </div> - + </div> + </td></tr> @@ -1038,13 +970,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/FragmentGridPagerAdapter.html#finishUpdate(android.view.ViewGroup)">finishUpdate</a></span>(ViewGroup container)</nobr> - <div class="jd-descrdiv"> - Called when the a change in the shown pages has been completed. - + <div class="jd-descrdiv"> + Called when the a change in the shown pages has been completed. + - </div> - + </div> + </td></tr> @@ -1061,13 +993,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/FragmentGridPagerAdapter.html#getBackgroundForPage(int, int)">getBackgroundForPage</a></span>(int row, int column)</nobr> - <div class="jd-descrdiv"> - Provides content to be displayed as the background for a specific page. - + <div class="jd-descrdiv"> + Provides content to be displayed as the background for a specific page. + - </div> - + </div> + </td></tr> @@ -1084,13 +1016,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/FragmentGridPagerAdapter.html#getFragment(int, int)">getFragment</a></span>(int row, int column)</nobr> - <div class="jd-descrdiv"> - Returns the <code><a href="../../../../../reference/android/app/Fragment.html">Fragment</a></code> at the specified row number and column number. - + <div class="jd-descrdiv"> + Returns the <code><a href="../../../../../reference/android/app/Fragment.html">Fragment</a></code> at the specified row number and column number. + - </div> - + </div> + </td></tr> @@ -1107,13 +1039,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/FragmentGridPagerAdapter.html#getFragmentBackground(int, int)">getFragmentBackground</a></span>(int row, int column)</nobr> - <div class="jd-descrdiv"> - Returns a background for Fragments implementing <code><a href="../../../../../reference/android/support/wearable/view/GridPageOptions.html">GridPageOptions</a></code>. - + <div class="jd-descrdiv"> + Returns a background for Fragments implementing <code><a href="../../../../../reference/android/support/wearable/view/GridPageOptions.html">GridPageOptions</a></code>. + - </div> - + </div> + </td></tr> @@ -1130,14 +1062,14 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/FragmentGridPagerAdapter.html#getFragmentId(int, int)">getFragmentId</a></span>(int row, int column)</nobr> - <div class="jd-descrdiv"> - Returns a unique identifier for the <code><a href="../../../../../reference/android/app/Fragment.html">Fragment</a></code> at the given row/column + <div class="jd-descrdiv"> + Returns a unique identifier for the <code><a href="../../../../../reference/android/app/Fragment.html">Fragment</a></code> at the given row/column position. - + - </div> - + </div> + </td></tr> @@ -1154,13 +1086,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/FragmentGridPagerAdapter.html#instantiateItem(android.view.ViewGroup, int, int)">instantiateItem</a></span>(ViewGroup container, int row, int column)</nobr> - <div class="jd-descrdiv"> - Creates the page for the given position. - + <div class="jd-descrdiv"> + Creates the page for the given position. + - </div> - + </div> + </td></tr> @@ -1177,14 +1109,14 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/FragmentGridPagerAdapter.html#isViewFromObject(android.view.View, java.lang.Object)">isViewFromObject</a></span>(View view, Object object)</nobr> - <div class="jd-descrdiv"> - Determines whether a page View is associated with a specific key object as returned by + <div class="jd-descrdiv"> + Determines whether a page View is associated with a specific key object as returned by <code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#instantiateItem(android.view.ViewGroup, int, int)">instantiateItem(ViewGroup, int, int)</a></code>. - + - </div> - + </div> + </td></tr> @@ -1235,13 +1167,13 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#destroyItem(android.view.ViewGroup, int, int, java.lang.Object)">destroyItem</a></span>(ViewGroup container, int row, int column, Object object)</nobr> - <div class="jd-descrdiv"> - Removes a page for the given position. - + <div class="jd-descrdiv"> + Removes a page for the given position. + - </div> - + </div> + </td></tr> @@ -1258,13 +1190,13 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#finishUpdate(android.view.ViewGroup)">finishUpdate</a></span>(ViewGroup container)</nobr> - <div class="jd-descrdiv"> - Called when the a change in the shown pages has been completed. - + <div class="jd-descrdiv"> + Called when the a change in the shown pages has been completed. + - </div> - + </div> + </td></tr> @@ -1281,13 +1213,13 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getBackgroundForPage(int, int)">getBackgroundForPage</a></span>(int row, int column)</nobr> - <div class="jd-descrdiv"> - Provides content to be displayed as background for a specific page. - + <div class="jd-descrdiv"> + Provides content to be displayed as background for a specific page. + - </div> - + </div> + </td></tr> @@ -1304,13 +1236,13 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getBackgroundForRow(int)">getBackgroundForRow</a></span>(int row)</nobr> - <div class="jd-descrdiv"> - Provides content to be displayed as the default background for all pages on the given row. - + <div class="jd-descrdiv"> + Provides content to be displayed as the default background for all pages on the given row. + - </div> - + </div> + </td></tr> @@ -1327,13 +1259,13 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getColumnCount(int)">getColumnCount</a></span>(int row)</nobr> - <div class="jd-descrdiv"> - Returns the maximum number of columns for each row. - + <div class="jd-descrdiv"> + Returns the maximum number of columns for each row. + - </div> - + </div> + </td></tr> @@ -1350,13 +1282,13 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getCurrentColumnForRow(int, int)">getCurrentColumnForRow</a></span>(int row, int currentColumn)</nobr> - <div class="jd-descrdiv"> - Returns the column to arrive at when navigating vertically to the specified row. - + <div class="jd-descrdiv"> + Returns the column to arrive at when navigating vertically to the specified row. + - </div> - + </div> + </td></tr> @@ -1373,13 +1305,13 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getItemPosition(java.lang.Object)">getItemPosition</a></span>(Object object)</nobr> - <div class="jd-descrdiv"> - Called when the host view is attempting to determine if an item's position has changed. - + <div class="jd-descrdiv"> + Called when the host view is attempting to determine if an item's position has changed. + - </div> - + </div> + </td></tr> @@ -1396,13 +1328,13 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getOptionsForPage(int, int)">getOptionsForPage</a></span>(int row, int column)</nobr> - <div class="jd-descrdiv"> - Provides a set of features to apply to a page background. - + <div class="jd-descrdiv"> + Provides a set of features to apply to a page background. + - </div> - + </div> + </td></tr> @@ -1419,13 +1351,13 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getRowCount()">getRowCount</a></span>()</nobr> - <div class="jd-descrdiv"> - Returns the number of rows available. - + <div class="jd-descrdiv"> + Returns the number of rows available. + - </div> - + </div> + </td></tr> @@ -1442,13 +1374,13 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#instantiateItem(android.view.ViewGroup, int, int)">instantiateItem</a></span>(ViewGroup container, int row, int column)</nobr> - <div class="jd-descrdiv"> - Creates the page for the given position. - + <div class="jd-descrdiv"> + Creates the page for the given position. + - </div> - + </div> + </td></tr> @@ -1465,14 +1397,14 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#isViewFromObject(android.view.View, java.lang.Object)">isViewFromObject</a></span>(View view, Object object)</nobr> - <div class="jd-descrdiv"> - Determines whether a page View is associated with a specific key object as returned by + <div class="jd-descrdiv"> + Determines whether a page View is associated with a specific key object as returned by <code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#instantiateItem(android.view.ViewGroup, int, int)">instantiateItem(ViewGroup, int, int)</a></code>. - + - </div> - + </div> + </td></tr> @@ -1489,14 +1421,14 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#notifyDataSetChanged()">notifyDataSetChanged</a></span>()</nobr> - <div class="jd-descrdiv"> - This method should be called by the application if the data backing this adapter has changed + <div class="jd-descrdiv"> + This method should be called by the application if the data backing this adapter has changed and associated views should update. - + - </div> - + </div> + </td></tr> @@ -1513,14 +1445,14 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#notifyPageBackgroundChanged(int, int)">notifyPageBackgroundChanged</a></span>(int row, int column)</nobr> - <div class="jd-descrdiv"> - This method should be called if the value returned by <code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getBackgroundForPage(int, int)">getBackgroundForPage(int, int)</a></code> + <div class="jd-descrdiv"> + This method should be called if the value returned by <code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getBackgroundForPage(int, int)">getBackgroundForPage(int, int)</a></code> or options returned by <code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getOptionsForPage(int, int)">getOptionsForPage(int, int)</a></code> change. - + - </div> - + </div> + </td></tr> @@ -1537,14 +1469,14 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#notifyRowBackgroundChanged(int)">notifyRowBackgroundChanged</a></span>(int row)</nobr> - <div class="jd-descrdiv"> - This method should be called if the value returned by <code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getBackgroundForRow(int)">getBackgroundForRow(int)</a></code> + <div class="jd-descrdiv"> + This method should be called if the value returned by <code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getBackgroundForRow(int)">getBackgroundForRow(int)</a></code> changes. - + - </div> - + </div> + </td></tr> @@ -1561,13 +1493,13 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#registerDataSetObserver(android.database.DataSetObserver)">registerDataSetObserver</a></span>(DataSetObserver observer)</nobr> - <div class="jd-descrdiv"> - Register an observer to receive callbacks related to the adapter's data changing. - + <div class="jd-descrdiv"> + Register an observer to receive callbacks related to the adapter's data changing. + - </div> - + </div> + </td></tr> @@ -1584,13 +1516,13 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#restoreState(android.os.Parcelable, java.lang.ClassLoader)">restoreState</a></span>(Parcelable savedState, ClassLoader classLoader)</nobr> - <div class="jd-descrdiv"> - Restores the previously saved state of this adapter. - + <div class="jd-descrdiv"> + Restores the previously saved state of this adapter. + - </div> - + </div> + </td></tr> @@ -1607,13 +1539,13 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#saveState()">saveState</a></span>()</nobr> - <div class="jd-descrdiv"> - Saves the current state of this adapter. - + <div class="jd-descrdiv"> + Saves the current state of this adapter. + - </div> - + </div> + </td></tr> @@ -1630,13 +1562,13 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#setCurrentColumnForRow(int, int)">setCurrentColumnForRow</a></span>(int row, int currentColumn)</nobr> - <div class="jd-descrdiv"> - Called to inform the adapter of which column is now current for the given row. - + <div class="jd-descrdiv"> + Called to inform the adapter of which column is now current for the given row. + - </div> - + </div> + </td></tr> @@ -1653,13 +1585,13 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#startUpdate(android.view.ViewGroup)">startUpdate</a></span>(ViewGroup container)</nobr> - <div class="jd-descrdiv"> - Called when a change in the shown pages is going to start being made. - + <div class="jd-descrdiv"> + Called when a change in the shown pages is going to start being made. + - </div> - + </div> + </td></tr> @@ -1676,13 +1608,13 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#unregisterDataSetObserver(android.database.DataSetObserver)">unregisterDataSetObserver</a></span>(DataSetObserver observer)</nobr> - <div class="jd-descrdiv"> - Unregister an observer from callbacks related to the adapter's data changing. - + <div class="jd-descrdiv"> + Unregister an observer from callbacks related to the adapter's data changing. + - </div> - + </div> + </td></tr> @@ -2403,40 +2335,187 @@ From class <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> - </div> - - - <div id="footerlinks"> + </p> - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> + </div> </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/view/GridPageOptions.BackgroundListener.html b/docs/html/reference/android/support/wearable/view/GridPageOptions.BackgroundListener.html index bf84301..a37d8f8 100644 --- a/docs/html/reference/android/support/wearable/view/GridPageOptions.BackgroundListener.html +++ b/docs/html/reference/android/support/wearable/view/GridPageOptions.BackgroundListener.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>GridPageOptions.BackgroundListener | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">GridPageOptions.BackgroundListener</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">GridPageOptions.BackgroundListener</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -582,7 +514,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -765,13 +697,13 @@ type="text/css"> <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPageOptions.BackgroundListener.html#notifyBackgroundChanged()">notifyBackgroundChanged</a></span>()</nobr> - <div class="jd-descrdiv"> - Notifies the container about a change to the background. - + <div class="jd-descrdiv"> + Notifies the container about a change to the background. + - </div> - + </div> + </td></tr> @@ -867,40 +799,187 @@ type="text/css"> <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> - </div> - - - <div id="footerlinks"> + </p> - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> + </div> </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/view/GridPageOptions.html b/docs/html/reference/android/support/wearable/view/GridPageOptions.html index 8f78360..56cfa05 100644 --- a/docs/html/reference/android/support/wearable/view/GridPageOptions.html +++ b/docs/html/reference/android/support/wearable/view/GridPageOptions.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>GridPageOptions | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">GridPageOptions</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">GridPageOptions</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -582,7 +514,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -791,13 +723,13 @@ type="text/css"> <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPageOptions.html#getBackground()">getBackground</a></span>()</nobr> - <div class="jd-descrdiv"> - Provides a background for the page represented by this Fragment. - + <div class="jd-descrdiv"> + Provides a background for the page represented by this Fragment. + - </div> - + </div> + </td></tr> @@ -814,13 +746,13 @@ type="text/css"> <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPageOptions.html#setBackgroundListener(android.support.wearable.view.GridPageOptions.BackgroundListener)">setBackgroundListener</a></span>(<a href="../../../../../reference/android/support/wearable/view/GridPageOptions.BackgroundListener.html">GridPageOptions.BackgroundListener</a> listener)</nobr> - <div class="jd-descrdiv"> - Provides a listener used to notify the container about a change to the background. - + <div class="jd-descrdiv"> + Provides a listener used to notify the container about a change to the background. + - </div> - + </div> + </td></tr> @@ -962,40 +894,187 @@ type="text/css"> <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> - </div> - - - <div id="footerlinks"> + </p> - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> + </div> </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/view/GridPagerAdapter.html b/docs/html/reference/android/support/wearable/view/GridPagerAdapter.html index e33174e..9876a82 100644 --- a/docs/html/reference/android/support/wearable/view/GridPagerAdapter.html +++ b/docs/html/reference/android/support/wearable/view/GridPagerAdapter.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>GridPagerAdapter | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> + - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">GridPagerAdapter</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">GridPagerAdapter</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -582,7 +514,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -980,13 +912,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#destroyItem(android.view.ViewGroup, int, int, java.lang.Object)">destroyItem</a></span>(ViewGroup container, int row, int column, Object object)</nobr> - <div class="jd-descrdiv"> - Removes a page for the given position. - + <div class="jd-descrdiv"> + Removes a page for the given position. + - </div> - + </div> + </td></tr> @@ -1003,13 +935,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#finishUpdate(android.view.ViewGroup)">finishUpdate</a></span>(ViewGroup container)</nobr> - <div class="jd-descrdiv"> - Called when the a change in the shown pages has been completed. - + <div class="jd-descrdiv"> + Called when the a change in the shown pages has been completed. + - </div> - + </div> + </td></tr> @@ -1026,13 +958,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getBackgroundForPage(int, int)">getBackgroundForPage</a></span>(int row, int column)</nobr> - <div class="jd-descrdiv"> - Provides content to be displayed as background for a specific page. - + <div class="jd-descrdiv"> + Provides content to be displayed as background for a specific page. + - </div> - + </div> + </td></tr> @@ -1049,13 +981,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getBackgroundForRow(int)">getBackgroundForRow</a></span>(int row)</nobr> - <div class="jd-descrdiv"> - Provides content to be displayed as the default background for all pages on the given row. - + <div class="jd-descrdiv"> + Provides content to be displayed as the default background for all pages on the given row. + - </div> - + </div> + </td></tr> @@ -1072,13 +1004,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getColumnCount(int)">getColumnCount</a></span>(int row)</nobr> - <div class="jd-descrdiv"> - Returns the maximum number of columns for each row. - + <div class="jd-descrdiv"> + Returns the maximum number of columns for each row. + - </div> - + </div> + </td></tr> @@ -1095,13 +1027,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getCurrentColumnForRow(int, int)">getCurrentColumnForRow</a></span>(int row, int currentColumn)</nobr> - <div class="jd-descrdiv"> - Returns the column to arrive at when navigating vertically to the specified row. - + <div class="jd-descrdiv"> + Returns the column to arrive at when navigating vertically to the specified row. + - </div> - + </div> + </td></tr> @@ -1118,13 +1050,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getItemPosition(java.lang.Object)">getItemPosition</a></span>(Object object)</nobr> - <div class="jd-descrdiv"> - Called when the host view is attempting to determine if an item's position has changed. - + <div class="jd-descrdiv"> + Called when the host view is attempting to determine if an item's position has changed. + - </div> - + </div> + </td></tr> @@ -1141,13 +1073,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getOptionsForPage(int, int)">getOptionsForPage</a></span>(int row, int column)</nobr> - <div class="jd-descrdiv"> - Provides a set of features to apply to a page background. - + <div class="jd-descrdiv"> + Provides a set of features to apply to a page background. + - </div> - + </div> + </td></tr> @@ -1164,13 +1096,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getRowCount()">getRowCount</a></span>()</nobr> - <div class="jd-descrdiv"> - Returns the number of rows available. - + <div class="jd-descrdiv"> + Returns the number of rows available. + - </div> - + </div> + </td></tr> @@ -1187,13 +1119,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#instantiateItem(android.view.ViewGroup, int, int)">instantiateItem</a></span>(ViewGroup container, int row, int column)</nobr> - <div class="jd-descrdiv"> - Creates the page for the given position. - + <div class="jd-descrdiv"> + Creates the page for the given position. + - </div> - + </div> + </td></tr> @@ -1210,14 +1142,14 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#isViewFromObject(android.view.View, java.lang.Object)">isViewFromObject</a></span>(View view, Object object)</nobr> - <div class="jd-descrdiv"> - Determines whether a page View is associated with a specific key object as returned by + <div class="jd-descrdiv"> + Determines whether a page View is associated with a specific key object as returned by <code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#instantiateItem(android.view.ViewGroup, int, int)">instantiateItem(ViewGroup, int, int)</a></code>. - + - </div> - + </div> + </td></tr> @@ -1234,14 +1166,14 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#notifyDataSetChanged()">notifyDataSetChanged</a></span>()</nobr> - <div class="jd-descrdiv"> - This method should be called by the application if the data backing this adapter has changed + <div class="jd-descrdiv"> + This method should be called by the application if the data backing this adapter has changed and associated views should update. - + - </div> - + </div> + </td></tr> @@ -1258,14 +1190,14 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#notifyPageBackgroundChanged(int, int)">notifyPageBackgroundChanged</a></span>(int row, int column)</nobr> - <div class="jd-descrdiv"> - This method should be called if the value returned by <code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getBackgroundForPage(int, int)">getBackgroundForPage(int, int)</a></code> + <div class="jd-descrdiv"> + This method should be called if the value returned by <code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getBackgroundForPage(int, int)">getBackgroundForPage(int, int)</a></code> or options returned by <code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getOptionsForPage(int, int)">getOptionsForPage(int, int)</a></code> change. - + - </div> - + </div> + </td></tr> @@ -1282,14 +1214,14 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#notifyRowBackgroundChanged(int)">notifyRowBackgroundChanged</a></span>(int row)</nobr> - <div class="jd-descrdiv"> - This method should be called if the value returned by <code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getBackgroundForRow(int)">getBackgroundForRow(int)</a></code> + <div class="jd-descrdiv"> + This method should be called if the value returned by <code><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#getBackgroundForRow(int)">getBackgroundForRow(int)</a></code> changes. - + - </div> - + </div> + </td></tr> @@ -1306,13 +1238,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#registerDataSetObserver(android.database.DataSetObserver)">registerDataSetObserver</a></span>(DataSetObserver observer)</nobr> - <div class="jd-descrdiv"> - Register an observer to receive callbacks related to the adapter's data changing. - + <div class="jd-descrdiv"> + Register an observer to receive callbacks related to the adapter's data changing. + - </div> - + </div> + </td></tr> @@ -1329,13 +1261,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#restoreState(android.os.Parcelable, java.lang.ClassLoader)">restoreState</a></span>(Parcelable savedState, ClassLoader classLoader)</nobr> - <div class="jd-descrdiv"> - Restores the previously saved state of this adapter. - + <div class="jd-descrdiv"> + Restores the previously saved state of this adapter. + - </div> - + </div> + </td></tr> @@ -1352,13 +1284,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#saveState()">saveState</a></span>()</nobr> - <div class="jd-descrdiv"> - Saves the current state of this adapter. - + <div class="jd-descrdiv"> + Saves the current state of this adapter. + - </div> - + </div> + </td></tr> @@ -1375,13 +1307,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#setCurrentColumnForRow(int, int)">setCurrentColumnForRow</a></span>(int row, int currentColumn)</nobr> - <div class="jd-descrdiv"> - Called to inform the adapter of which column is now current for the given row. - + <div class="jd-descrdiv"> + Called to inform the adapter of which column is now current for the given row. + - </div> - + </div> + </td></tr> @@ -1398,13 +1330,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#startUpdate(android.view.ViewGroup)">startUpdate</a></span>(ViewGroup container)</nobr> - <div class="jd-descrdiv"> - Called when a change in the shown pages is going to start being made. - + <div class="jd-descrdiv"> + Called when a change in the shown pages is going to start being made. + - </div> - + </div> + </td></tr> @@ -1421,13 +1353,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html#unregisterDataSetObserver(android.database.DataSetObserver)">unregisterDataSetObserver</a></span>(DataSetObserver observer)</nobr> - <div class="jd-descrdiv"> - Unregister an observer from callbacks related to the adapter's data changing. - + <div class="jd-descrdiv"> + Unregister an observer from callbacks related to the adapter's data changing. + - </div> - + </div> + </td></tr> @@ -2814,40 +2746,187 @@ From class <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> + </p> + + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> - - <div id="footerlinks"> - - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> </div> - </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/view/GridViewPager.LayoutParams.html b/docs/html/reference/android/support/wearable/view/GridViewPager.LayoutParams.html index d7d741a..9db55c9 100644 --- a/docs/html/reference/android/support/wearable/view/GridViewPager.LayoutParams.html +++ b/docs/html/reference/android/support/wearable/view/GridViewPager.LayoutParams.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>GridViewPager.LayoutParams | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> + - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">GridViewPager.LayoutParams</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">GridViewPager.LayoutParams</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -582,7 +514,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -1801,40 +1733,187 @@ From class <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> - </div> - - - <div id="footerlinks"> + </p> - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> + </div> </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/view/GridViewPager.OnAdapterChangeListener.html b/docs/html/reference/android/support/wearable/view/GridViewPager.OnAdapterChangeListener.html index 1214105..1cbec14 100644 --- a/docs/html/reference/android/support/wearable/view/GridViewPager.OnAdapterChangeListener.html +++ b/docs/html/reference/android/support/wearable/view/GridViewPager.OnAdapterChangeListener.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>GridViewPager.OnAdapterChangeListener | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">GridViewPager.OnAdapterChangeListener</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">GridViewPager.OnAdapterChangeListener</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -582,7 +514,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -826,13 +758,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridViewPager.OnAdapterChangeListener.html#onAdapterChanged(android.support.wearable.view.GridPagerAdapter, android.support.wearable.view.GridPagerAdapter)">onAdapterChanged</a></span>(<a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html">GridPagerAdapter</a> oldAdapter, <a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html">GridPagerAdapter</a> newAdapter)</nobr> - <div class="jd-descrdiv"> - Called when the adapter is changed with <code><a href="../../../../../reference/android/support/wearable/view/GridViewPager.html#setAdapter(android.support.wearable.view.GridPagerAdapter)">setAdapter(GridPagerAdapter)</a></code>. - + <div class="jd-descrdiv"> + Called when the adapter is changed with <code><a href="../../../../../reference/android/support/wearable/view/GridViewPager.html#setAdapter(android.support.wearable.view.GridPagerAdapter)">setAdapter(GridPagerAdapter)</a></code>. + - </div> - + </div> + </td></tr> @@ -849,13 +781,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridViewPager.OnAdapterChangeListener.html#onDataSetChanged()">onDataSetChanged</a></span>()</nobr> - <div class="jd-descrdiv"> - Called when a change is made to the content of the current adapter. - + <div class="jd-descrdiv"> + Called when a change is made to the content of the current adapter. + - </div> - + </div> + </td></tr> @@ -982,40 +914,187 @@ Summary: <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> - </div> - - - <div id="footerlinks"> + </p> - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> + </div> </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/view/GridViewPager.OnPageChangeListener.html b/docs/html/reference/android/support/wearable/view/GridViewPager.OnPageChangeListener.html index f92e5fd..fd81fbe 100644 --- a/docs/html/reference/android/support/wearable/view/GridViewPager.OnPageChangeListener.html +++ b/docs/html/reference/android/support/wearable/view/GridViewPager.OnPageChangeListener.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>GridViewPager.OnPageChangeListener | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> + - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">GridViewPager.OnPageChangeListener</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">GridViewPager.OnPageChangeListener</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -582,7 +514,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -826,13 +758,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridViewPager.OnPageChangeListener.html#onPageScrollStateChanged(int)">onPageScrollStateChanged</a></span>(int state)</nobr> - <div class="jd-descrdiv"> - Called when the scroll state changes. - + <div class="jd-descrdiv"> + Called when the scroll state changes. + - </div> - + </div> + </td></tr> @@ -849,14 +781,14 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridViewPager.OnPageChangeListener.html#onPageScrolled(int, int, float, float, int, int)">onPageScrolled</a></span>(int row, int column, float rowOffset, float columnOffset, int rowOffsetPixels, int columnOffsetPixels)</nobr> - <div class="jd-descrdiv"> - This method will be invoked when the current page is scrolled, either as part of a + <div class="jd-descrdiv"> + This method will be invoked when the current page is scrolled, either as part of a programmatically initiated smooth scroll or a user initiated touch scroll. - + - </div> - + </div> + </td></tr> @@ -873,13 +805,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridViewPager.OnPageChangeListener.html#onPageSelected(int, int)">onPageSelected</a></span>(int row, int column)</nobr> - <div class="jd-descrdiv"> - This method is called when a new page becomes selected. - + <div class="jd-descrdiv"> + This method is called when a new page becomes selected. + - </div> - + </div> + </td></tr> @@ -1099,40 +1031,187 @@ Summary: <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> - </div> - - - <div id="footerlinks"> + </p> - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> + </div> </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/view/GridViewPager.html b/docs/html/reference/android/support/wearable/view/GridViewPager.html index ce90dc0..b92720c 100644 --- a/docs/html/reference/android/support/wearable/view/GridViewPager.html +++ b/docs/html/reference/android/support/wearable/view/GridViewPager.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>GridViewPager | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> + - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">GridViewPager</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">GridViewPager</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -582,7 +514,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -3115,14 +3047,14 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridViewPager.html#getOffscreenPageCount()">getOffscreenPageCount</a></span>()</nobr> - <div class="jd-descrdiv"> - Returns the number of pages that will be retained on the sides of the current page in the + <div class="jd-descrdiv"> + Returns the number of pages that will be retained on the sides of the current page in the view hierarchy in an idle state. - + - </div> - + </div> + </td></tr> @@ -3139,13 +3071,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridViewPager.html#getPageColumnMargin()">getPageColumnMargin</a></span>()</nobr> - <div class="jd-descrdiv"> - Return the margin between columns of pages. - + <div class="jd-descrdiv"> + Return the margin between columns of pages. + - </div> - + </div> + </td></tr> @@ -3162,13 +3094,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridViewPager.html#getPageRowMargin()">getPageRowMargin</a></span>()</nobr> - <div class="jd-descrdiv"> - Returns the margin between rows of pages. - + <div class="jd-descrdiv"> + Returns the margin between rows of pages. + - </div> - + </div> + </td></tr> @@ -3185,13 +3117,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridViewPager.html#measureChild(android.view.View, android.support.wearable.view.GridViewPager.LayoutParams)">measureChild</a></span>(View child, <a href="../../../../../reference/android/support/wearable/view/GridViewPager.LayoutParams.html">GridViewPager.LayoutParams</a> lp)</nobr> - <div class="jd-descrdiv"> - Used to measure all page views. - + <div class="jd-descrdiv"> + Used to measure all page views. + - </div> - + </div> + </td></tr> @@ -3256,14 +3188,14 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridViewPager.html#onPageScrolled(int, int, float, float, int, int)">onPageScrolled</a></span>(int positionX, int positionY, float offsetX, float offsetY, int offsetLeftPx, int offsetTopPx)</nobr> - <div class="jd-descrdiv"> - This method will be invoked when the current page is scrolled, either as part of a + <div class="jd-descrdiv"> + This method will be invoked when the current page is scrolled, either as part of a programmatically initiated smooth scroll or a user initiated touch scroll. - + - </div> - + </div> + </td></tr> @@ -3376,13 +3308,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridViewPager.html#setAdapter(android.support.wearable.view.GridPagerAdapter)">setAdapter</a></span>(<a href="../../../../../reference/android/support/wearable/view/GridPagerAdapter.html">GridPagerAdapter</a> adapter)</nobr> - <div class="jd-descrdiv"> - Assigns an adapter to provide the content for this pager. - + <div class="jd-descrdiv"> + Assigns an adapter to provide the content for this pager. + - </div> - + </div> + </td></tr> @@ -3399,14 +3331,14 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridViewPager.html#setConsumeWindowInsets(boolean)">setConsumeWindowInsets</a></span>(boolean consume)</nobr> - <div class="jd-descrdiv"> - Sets whether the grid view pager should consume insets during + <div class="jd-descrdiv"> + Sets whether the grid view pager should consume insets during <code><a href="../../../../../reference/android/support/wearable/view/GridViewPager.html#dispatchApplyWindowInsets(android.view.WindowInsets)">dispatchApplyWindowInsets(WindowInsets)</a></code>. - + - </div> - + </div> + </td></tr> @@ -3423,14 +3355,14 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridViewPager.html#setOffscreenPageCount(int)">setOffscreenPageCount</a></span>(int limit)</nobr> - <div class="jd-descrdiv"> - Set the number of pages that should be retained to either side of the current page in the + <div class="jd-descrdiv"> + Set the number of pages that should be retained to either side of the current page in the view hierarchy in an idle state. - + - </div> - + </div> + </td></tr> @@ -3447,13 +3379,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridViewPager.html#setOnAdapterChangeListener(android.support.wearable.view.GridViewPager.OnAdapterChangeListener)">setOnAdapterChangeListener</a></span>(<a href="../../../../../reference/android/support/wearable/view/GridViewPager.OnAdapterChangeListener.html">GridViewPager.OnAdapterChangeListener</a> listener)</nobr> - <div class="jd-descrdiv"> - Set a listener that will be invoked whenever the adapter is changed. - + <div class="jd-descrdiv"> + Set a listener that will be invoked whenever the adapter is changed. + - </div> - + </div> + </td></tr> @@ -3486,13 +3418,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridViewPager.html#setOnPageChangeListener(android.support.wearable.view.GridViewPager.OnPageChangeListener)">setOnPageChangeListener</a></span>(<a href="../../../../../reference/android/support/wearable/view/GridViewPager.OnPageChangeListener.html">GridViewPager.OnPageChangeListener</a> listener)</nobr> - <div class="jd-descrdiv"> - Set a listener that will be invoked whenever the page changes or is incrementally scrolled. - + <div class="jd-descrdiv"> + Set a listener that will be invoked whenever the page changes or is incrementally scrolled. + - </div> - + </div> + </td></tr> @@ -3509,13 +3441,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/GridViewPager.html#setPageMargins(int, int)">setPageMargins</a></span>(int rowMarginPx, int columnMarginPx)</nobr> - <div class="jd-descrdiv"> - Sets the margin between pages. - + <div class="jd-descrdiv"> + Sets the margin between pages. + - </div> - + </div> + </td></tr> @@ -16895,40 +16827,187 @@ From interface <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> + </p> + + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> - - <div id="footerlinks"> - - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> </div> - </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/view/SimpleAnimatorListener.html b/docs/html/reference/android/support/wearable/view/SimpleAnimatorListener.html index 1e1f532..454f420 100644 --- a/docs/html/reference/android/support/wearable/view/SimpleAnimatorListener.html +++ b/docs/html/reference/android/support/wearable/view/SimpleAnimatorListener.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>SimpleAnimatorListener | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">SimpleAnimatorListener</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">SimpleAnimatorListener</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -582,7 +514,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -864,13 +796,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/SimpleAnimatorListener.html#onAnimationComplete(android.animation.Animator)">onAnimationComplete</a></span>(Animator animator)</nobr> - <div class="jd-descrdiv"> - Called when the animation finishes. - + <div class="jd-descrdiv"> + Called when the animation finishes. + - </div> - + </div> + </td></tr> @@ -935,13 +867,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/SimpleAnimatorListener.html#wasCanceled()">wasCanceled</a></span>()</nobr> - <div class="jd-descrdiv"> - Provides information if the animation was cancelled. - + <div class="jd-descrdiv"> + Provides information if the animation was cancelled. + - </div> - + </div> + </td></tr> @@ -1539,40 +1471,187 @@ From interface <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> - </div> - - - <div id="footerlinks"> + </p> - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> + </div> </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/view/WatchViewStub.OnLayoutInflatedListener.html b/docs/html/reference/android/support/wearable/view/WatchViewStub.OnLayoutInflatedListener.html index bc548ea..b05ce34 100644 --- a/docs/html/reference/android/support/wearable/view/WatchViewStub.OnLayoutInflatedListener.html +++ b/docs/html/reference/android/support/wearable/view/WatchViewStub.OnLayoutInflatedListener.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>WatchViewStub.OnLayoutInflatedListener | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> + - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">WatchViewStub.OnLayoutInflatedListener</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">WatchViewStub.OnLayoutInflatedListener</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -582,7 +514,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -861,40 +793,187 @@ type="text/css"> <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> - </div> - - - <div id="footerlinks"> + </p> - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> + </div> </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/view/WatchViewStub.html b/docs/html/reference/android/support/wearable/view/WatchViewStub.html index 97e49e2..8fd5fee 100644 --- a/docs/html/reference/android/support/wearable/view/WatchViewStub.html +++ b/docs/html/reference/android/support/wearable/view/WatchViewStub.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>WatchViewStub | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">WatchViewStub</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">WatchViewStub</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -582,7 +514,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -2939,14 +2871,14 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WatchViewStub.html#setOnLayoutInflatedListener(android.support.wearable.view.WatchViewStub.OnLayoutInflatedListener)">setOnLayoutInflatedListener</a></span>(<a href="../../../../../reference/android/support/wearable/view/WatchViewStub.OnLayoutInflatedListener.html">WatchViewStub.OnLayoutInflatedListener</a> listener)</nobr> - <div class="jd-descrdiv"> - Set a listener to be notified when one of the specified sub-layouts is inflated into + <div class="jd-descrdiv"> + Set a listener to be notified when one of the specified sub-layouts is inflated into this stub container. - + - </div> - + </div> + </td></tr> @@ -2963,13 +2895,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WatchViewStub.html#setRectLayout(int)">setRectLayout</a></span>(int resId)</nobr> - <div class="jd-descrdiv"> - Set a layout resource to be inflated when this stub is within a rectangular container. - + <div class="jd-descrdiv"> + Set a layout resource to be inflated when this stub is within a rectangular container. + - </div> - + </div> + </td></tr> @@ -2986,13 +2918,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WatchViewStub.html#setRoundLayout(int)">setRoundLayout</a></span>(int resId)</nobr> - <div class="jd-descrdiv"> - Set a layout resource to be inflated when this stub is within a round container. - + <div class="jd-descrdiv"> + Set a layout resource to be inflated when this stub is within a round container. + - </div> - + </div> + </td></tr> @@ -15479,40 +15411,187 @@ From interface <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> + </p> + + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> - - <div id="footerlinks"> - - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> </div> - </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/view/WearableFrameLayout.LayoutParams.html b/docs/html/reference/android/support/wearable/view/WearableFrameLayout.LayoutParams.html index be259eb..93f4b0d 100644 --- a/docs/html/reference/android/support/wearable/view/WearableFrameLayout.LayoutParams.html +++ b/docs/html/reference/android/support/wearable/view/WearableFrameLayout.LayoutParams.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>WearableFrameLayout.LayoutParams | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> + - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">WearableFrameLayout.LayoutParams</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">WearableFrameLayout.LayoutParams</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -582,7 +514,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -1293,14 +1225,14 @@ android.view.ViewGroup.LayoutParams <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableFrameLayout.LayoutParams.html#WearableFrameLayout.LayoutParams(android.content.Context, android.util.AttributeSet)">WearableFrameLayout.LayoutParams</a></span>(Context c, AttributeSet attrs)</nobr> - <div class="jd-descrdiv"> - + <div class="jd-descrdiv"> + - + - </div> - + </div> + </td></tr> @@ -1317,14 +1249,14 @@ android.view.ViewGroup.LayoutParams <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableFrameLayout.LayoutParams.html#WearableFrameLayout.LayoutParams(int, int, int, int, int, int)">WearableFrameLayout.LayoutParams</a></span>(int width, int height, int gravity, int widthRound, int heightRound, int gravityRound)</nobr> - <div class="jd-descrdiv"> - Creates a new set of layout parameters with the specified width, height and weight for + <div class="jd-descrdiv"> + Creates a new set of layout parameters with the specified width, height and weight for both square and round devices. - + - </div> - + </div> + </td></tr> @@ -1341,14 +1273,14 @@ android.view.ViewGroup.LayoutParams <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableFrameLayout.LayoutParams.html#WearableFrameLayout.LayoutParams(int, int, int)">WearableFrameLayout.LayoutParams</a></span>(int width, int height, int gravity)</nobr> - <div class="jd-descrdiv"> - + <div class="jd-descrdiv"> + - + - </div> - + </div> + </td></tr> @@ -1365,14 +1297,14 @@ android.view.ViewGroup.LayoutParams <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableFrameLayout.LayoutParams.html#WearableFrameLayout.LayoutParams(int, int)">WearableFrameLayout.LayoutParams</a></span>(int width, int height)</nobr> - <div class="jd-descrdiv"> - + <div class="jd-descrdiv"> + - + - </div> - + </div> + </td></tr> @@ -1389,14 +1321,14 @@ android.view.ViewGroup.LayoutParams <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableFrameLayout.LayoutParams.html#WearableFrameLayout.LayoutParams(android.support.wearable.view.WearableFrameLayout.LayoutParams)">WearableFrameLayout.LayoutParams</a></span>(<a href="../../../../../reference/android/support/wearable/view/WearableFrameLayout.LayoutParams.html">WearableFrameLayout.LayoutParams</a> source)</nobr> - <div class="jd-descrdiv"> - + <div class="jd-descrdiv"> + - + - </div> - + </div> + </td></tr> @@ -2336,40 +2268,187 @@ From class <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> + </p> + + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> - - <div id="footerlinks"> - - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> </div> - </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/view/WearableFrameLayout.html b/docs/html/reference/android/support/wearable/view/WearableFrameLayout.html index 197ddd9..f2b0df7 100644 --- a/docs/html/reference/android/support/wearable/view/WearableFrameLayout.html +++ b/docs/html/reference/android/support/wearable/view/WearableFrameLayout.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>WearableFrameLayout | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> + - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">WearableFrameLayout</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">WearableFrameLayout</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -582,7 +514,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -2922,14 +2854,14 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableFrameLayout.html#draw(android.graphics.Canvas)">draw</a></span>(Canvas canvas)</nobr> - <div class="jd-descrdiv"> - + <div class="jd-descrdiv"> + - + - </div> - + </div> + </td></tr> @@ -2962,14 +2894,14 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableFrameLayout.html#generateLayoutParams(android.util.AttributeSet)">generateLayoutParams</a></span>(AttributeSet attrs)</nobr> - <div class="jd-descrdiv"> - + <div class="jd-descrdiv"> + - + - </div> - + </div> + </td></tr> @@ -2986,13 +2918,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableFrameLayout.html#getForeground()">getForeground</a></span>()</nobr> - <div class="jd-descrdiv"> - Returns the drawable used as the foreground of this FrameLayout. - + <div class="jd-descrdiv"> + Returns the drawable used as the foreground of this FrameLayout. + - </div> - + </div> + </td></tr> @@ -3009,13 +2941,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableFrameLayout.html#getForegroundGravity()">getForegroundGravity</a></span>()</nobr> - <div class="jd-descrdiv"> - Describes how the foreground is positioned. - + <div class="jd-descrdiv"> + Describes how the foreground is positioned. + - </div> - + </div> + </td></tr> @@ -3064,14 +2996,14 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableFrameLayout.html#getMeasureAllChildren()">getMeasureAllChildren</a></span>()</nobr> - <div class="jd-descrdiv"> - Determines whether all children, or just those in the VISIBLE or + <div class="jd-descrdiv"> + Determines whether all children, or just those in the VISIBLE or INVISIBLE state, are considered when measuring. - + - </div> - + </div> + </td></tr> @@ -3152,14 +3084,14 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableFrameLayout.html#setForeground(android.graphics.drawable.Drawable)">setForeground</a></span>(Drawable d)</nobr> - <div class="jd-descrdiv"> - Supply a Drawable that is to be rendered on top of all of the child + <div class="jd-descrdiv"> + Supply a Drawable that is to be rendered on top of all of the child views in the frame layout. - + - </div> - + </div> + </td></tr> @@ -3176,13 +3108,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableFrameLayout.html#setForegroundGravity(int)">setForegroundGravity</a></span>(int foregroundGravity)</nobr> - <div class="jd-descrdiv"> - Describes how the foreground is positioned. - + <div class="jd-descrdiv"> + Describes how the foreground is positioned. + - </div> - + </div> + </td></tr> @@ -3199,13 +3131,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableFrameLayout.html#setForegroundInPadding(boolean)">setForegroundInPadding</a></span>(boolean value)</nobr> - <div class="jd-descrdiv"> - Sets whether foreground should be in padding. - + <div class="jd-descrdiv"> + Sets whether foreground should be in padding. + - </div> - + </div> + </td></tr> @@ -3222,13 +3154,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableFrameLayout.html#setForegroundTintList(android.content.res.ColorStateList)">setForegroundTintList</a></span>(ColorStateList tint)</nobr> - <div class="jd-descrdiv"> - Applies a tint to the foreground drawable. - + <div class="jd-descrdiv"> + Applies a tint to the foreground drawable. + - </div> - + </div> + </td></tr> @@ -3245,14 +3177,14 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableFrameLayout.html#setForegroundTintMode(android.graphics.PorterDuff.Mode)">setForegroundTintMode</a></span>(PorterDuff.Mode tintMode)</nobr> - <div class="jd-descrdiv"> - Specifies the blending mode used to apply the tint specified by + <div class="jd-descrdiv"> + Specifies the blending mode used to apply the tint specified by <code><a href="../../../../../reference/android/support/wearable/view/WearableFrameLayout.html#setForegroundTintList(android.content.res.ColorStateList)">setForegroundTintList(ColorStateList)</a></code>} to the foreground drawable. - + - </div> - + </div> + </td></tr> @@ -3269,14 +3201,14 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableFrameLayout.html#setMeasureAllChildren(boolean)">setMeasureAllChildren</a></span>(boolean measureAll)</nobr> - <div class="jd-descrdiv"> - Sets whether to consider all children, or just those in + <div class="jd-descrdiv"> + Sets whether to consider all children, or just those in the VISIBLE or INVISIBLE state, when measuring. - + - </div> - + </div> + </td></tr> @@ -3336,14 +3268,14 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableFrameLayout.html#checkLayoutParams(android.view.ViewGroup.LayoutParams)">checkLayoutParams</a></span>(ViewGroup.LayoutParams p)</nobr> - <div class="jd-descrdiv"> - + <div class="jd-descrdiv"> + - + - </div> - + </div> + </td></tr> @@ -3360,14 +3292,14 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableFrameLayout.html#drawableStateChanged()">drawableStateChanged</a></span>()</nobr> - <div class="jd-descrdiv"> - + <div class="jd-descrdiv"> + - + - </div> - + </div> + </td></tr> @@ -3384,15 +3316,15 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableFrameLayout.html#generateDefaultLayoutParams()">generateDefaultLayoutParams</a></span>()</nobr> - <div class="jd-descrdiv"> - Returns a set of layout parameters with a width of + <div class="jd-descrdiv"> + Returns a set of layout parameters with a width of <code><a href="../../../../../reference/android/view/ViewGroup.LayoutParams.html#MATCH_PARENT">MATCH_PARENT</a></code>, and a height of <code><a href="../../../../../reference/android/view/ViewGroup.LayoutParams.html#MATCH_PARENT">MATCH_PARENT</a></code>. - + - </div> - + </div> + </td></tr> @@ -3457,14 +3389,14 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableFrameLayout.html#onLayout(boolean, int, int, int, int)">onLayout</a></span>(boolean changed, int left, int top, int right, int bottom)</nobr> - <div class="jd-descrdiv"> - + <div class="jd-descrdiv"> + - + - </div> - + </div> + </td></tr> @@ -3481,14 +3413,14 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableFrameLayout.html#onMeasure(int, int)">onMeasure</a></span>(int widthMeasureSpec, int heightMeasureSpec)</nobr> - <div class="jd-descrdiv"> - + <div class="jd-descrdiv"> + - + - </div> - + </div> + </td></tr> @@ -3505,14 +3437,14 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableFrameLayout.html#onSizeChanged(int, int, int, int)">onSizeChanged</a></span>(int w, int h, int oldw, int oldh)</nobr> - <div class="jd-descrdiv"> - + <div class="jd-descrdiv"> + - + - </div> - + </div> + </td></tr> @@ -3529,14 +3461,14 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableFrameLayout.html#verifyDrawable(android.graphics.drawable.Drawable)">verifyDrawable</a></span>(Drawable who)</nobr> - <div class="jd-descrdiv"> - + <div class="jd-descrdiv"> + - + - </div> - + </div> + </td></tr> @@ -16366,40 +16298,187 @@ From interface <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> + </p> + + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> - - <div id="footerlinks"> - - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> </div> - </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/view/WearableListView.Adapter.html b/docs/html/reference/android/support/wearable/view/WearableListView.Adapter.html index 53ea05de..9619c5d 100644 --- a/docs/html/reference/android/support/wearable/view/WearableListView.Adapter.html +++ b/docs/html/reference/android/support/wearable/view/WearableListView.Adapter.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>WearableListView.Adapter | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> + - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">WearableListView.Adapter</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">WearableListView.Adapter</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -582,7 +514,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -1575,40 +1507,187 @@ From class <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> - </div> - - - <div id="footerlinks"> + </p> - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> + </div> </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/view/WearableListView.ClickListener.html b/docs/html/reference/android/support/wearable/view/WearableListView.ClickListener.html index 6c3a4b1..84cb188 100644 --- a/docs/html/reference/android/support/wearable/view/WearableListView.ClickListener.html +++ b/docs/html/reference/android/support/wearable/view/WearableListView.ClickListener.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>WearableListView.ClickListener | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">WearableListView.ClickListener</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">WearableListView.ClickListener</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -582,7 +514,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -765,13 +697,13 @@ type="text/css"> <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableListView.ClickListener.html#onClick(android.support.wearable.view.WearableListView.ViewHolder)">onClick</a></span>(<a href="../../../../../reference/android/support/wearable/view/WearableListView.ViewHolder.html">WearableListView.ViewHolder</a> view)</nobr> - <div class="jd-descrdiv"> - Called when the central child of the WearableListView is tapped. - + <div class="jd-descrdiv"> + Called when the central child of the WearableListView is tapped. + - </div> - + </div> + </td></tr> @@ -788,14 +720,14 @@ type="text/css"> <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableListView.ClickListener.html#onTopEmptyRegionClick()">onTopEmptyRegionClick</a></span>()</nobr> - <div class="jd-descrdiv"> - Called when the user taps the top third of the WearableListView and no item is present + <div class="jd-descrdiv"> + Called when the user taps the top third of the WearableListView and no item is present there. - + - </div> - + </div> + </td></tr> @@ -933,40 +865,187 @@ type="text/css"> <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> - </div> - - - <div id="footerlinks"> + </p> - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> + </div> </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/view/WearableListView.OnCenterProximityListener.html b/docs/html/reference/android/support/wearable/view/WearableListView.OnCenterProximityListener.html index 9d248bf..b2b9246 100644 --- a/docs/html/reference/android/support/wearable/view/WearableListView.OnCenterProximityListener.html +++ b/docs/html/reference/android/support/wearable/view/WearableListView.OnCenterProximityListener.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>WearableListView.OnCenterProximityListener | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">WearableListView.OnCenterProximityListener</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">WearableListView.OnCenterProximityListener</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -582,7 +514,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -766,13 +698,13 @@ type="text/css"> <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableListView.OnCenterProximityListener.html#onCenterPosition(boolean)">onCenterPosition</a></span>(boolean animate)</nobr> - <div class="jd-descrdiv"> - Called when this view becomes central item of the WearableListView. - + <div class="jd-descrdiv"> + Called when this view becomes central item of the WearableListView. + - </div> - + </div> + </td></tr> @@ -789,13 +721,13 @@ type="text/css"> <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableListView.OnCenterProximityListener.html#onNonCenterPosition(boolean)">onNonCenterPosition</a></span>(boolean animate)</nobr> - <div class="jd-descrdiv"> - Called when this view stops being the central item of the WearableListView. - + <div class="jd-descrdiv"> + Called when this view stops being the central item of the WearableListView. + - </div> - + </div> + </td></tr> @@ -944,40 +876,187 @@ type="text/css"> <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> - </div> - - - <div id="footerlinks"> + </p> - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> + </div> </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/view/WearableListView.OnCentralPositionChangedListener.html b/docs/html/reference/android/support/wearable/view/WearableListView.OnCentralPositionChangedListener.html index c7f7220..66eeac3 100644 --- a/docs/html/reference/android/support/wearable/view/WearableListView.OnCentralPositionChangedListener.html +++ b/docs/html/reference/android/support/wearable/view/WearableListView.OnCentralPositionChangedListener.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>WearableListView.OnCentralPositionChangedListener | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">WearableListView.OnCentralPositionChangedListener</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">WearableListView.OnCentralPositionChangedListener</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -582,7 +514,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -766,13 +698,13 @@ type="text/css"> <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableListView.OnCentralPositionChangedListener.html#onCentralPositionChanged(int)">onCentralPositionChanged</a></span>(int centralPosition)</nobr> - <div class="jd-descrdiv"> - Called when the central item of the WearableListView changes. - + <div class="jd-descrdiv"> + Called when the central item of the WearableListView changes. + - </div> - + </div> + </td></tr> @@ -875,40 +807,187 @@ type="text/css"> <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> - </div> - - - <div id="footerlinks"> + </p> - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> + </div> </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/view/WearableListView.OnScrollListener.html b/docs/html/reference/android/support/wearable/view/WearableListView.OnScrollListener.html index 2b8ea44..de2bcd7 100644 --- a/docs/html/reference/android/support/wearable/view/WearableListView.OnScrollListener.html +++ b/docs/html/reference/android/support/wearable/view/WearableListView.OnScrollListener.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>WearableListView.OnScrollListener | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> + - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">WearableListView.OnScrollListener</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">WearableListView.OnScrollListener</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -582,7 +514,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -765,16 +697,16 @@ type="text/css"> <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableListView.OnScrollListener.html#onAbsoluteScrollChange(int)">onAbsoluteScrollChange</a></span>(int scroll)</nobr> - <div class="jd-descrdiv"> - <em> + <div class="jd-descrdiv"> + <em> This method is deprecated. BE ADVISED DO NOT USE THIS This might provide wrong values when contents of a RecyclerView change.</em> - + - </div> - + </div> + </td></tr> @@ -791,13 +723,13 @@ type="text/css"> <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableListView.OnScrollListener.html#onCentralPositionChanged(int)">onCentralPositionChanged</a></span>(int centralPosition)</nobr> - <div class="jd-descrdiv"> - Called when the central item of the WearableListView changes. - + <div class="jd-descrdiv"> + Called when the central item of the WearableListView changes. + - </div> - + </div> + </td></tr> @@ -814,13 +746,13 @@ type="text/css"> <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableListView.OnScrollListener.html#onScroll(int)">onScroll</a></span>(int scroll)</nobr> - <div class="jd-descrdiv"> - Called when the content is scrolled, reporting the relative scroll value. - + <div class="jd-descrdiv"> + Called when the content is scrolled, reporting the relative scroll value. + - </div> - + </div> + </td></tr> @@ -837,13 +769,13 @@ type="text/css"> <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableListView.OnScrollListener.html#onScrollStateChanged(int)">onScrollStateChanged</a></span>(int scrollState)</nobr> - <div class="jd-descrdiv"> - Called when WearableListView's scroll state changes. - + <div class="jd-descrdiv"> + Called when WearableListView's scroll state changes. + - </div> - + </div> + </td></tr> @@ -1079,40 +1011,187 @@ type="text/css"> <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> - </div> - - - <div id="footerlinks"> + </p> - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> + </div> </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/view/WearableListView.ViewHolder.html b/docs/html/reference/android/support/wearable/view/WearableListView.ViewHolder.html index 1439947..b7953d4 100644 --- a/docs/html/reference/android/support/wearable/view/WearableListView.ViewHolder.html +++ b/docs/html/reference/android/support/wearable/view/WearableListView.ViewHolder.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>WearableListView.ViewHolder | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> + - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">WearableListView.ViewHolder</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">WearableListView.ViewHolder</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -582,7 +514,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -1360,40 +1292,187 @@ From class <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> - </div> - - - <div id="footerlinks"> + </p> - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> + </div> </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/view/WearableListView.html b/docs/html/reference/android/support/wearable/view/WearableListView.html index f44f52b..eec5c32 100644 --- a/docs/html/reference/android/support/wearable/view/WearableListView.html +++ b/docs/html/reference/android/support/wearable/view/WearableListView.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>WearableListView | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> + - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">WearableListView</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">WearableListView</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -582,7 +514,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -3141,13 +3073,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableListView.html#addOnCentralPositionChangedListener(android.support.wearable.view.WearableListView.OnCentralPositionChangedListener)">addOnCentralPositionChangedListener</a></span>(<a href="../../../../../reference/android/support/wearable/view/WearableListView.OnCentralPositionChangedListener.html">WearableListView.OnCentralPositionChangedListener</a> listener)</nobr> - <div class="jd-descrdiv"> - Adds a listener that will be called when the central item of the list changes. - + <div class="jd-descrdiv"> + Adds a listener that will be called when the central item of the list changes. + - </div> - + </div> + </td></tr> @@ -3164,13 +3096,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableListView.html#addOnScrollListener(android.support.wearable.view.WearableListView.OnScrollListener)">addOnScrollListener</a></span>(<a href="../../../../../reference/android/support/wearable/view/WearableListView.OnScrollListener.html">WearableListView.OnScrollListener</a> listener)</nobr> - <div class="jd-descrdiv"> - Adds a listener that will be called when the content of the list view is scrolled. - + <div class="jd-descrdiv"> + Adds a listener that will be called when the content of the list view is scrolled. + - </div> - + </div> + </td></tr> @@ -3187,14 +3119,14 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableListView.html#animateToCenter()">animateToCenter</a></span>()</nobr> - <div class="jd-descrdiv"> - Automatically starts an animation that snaps the list to center on the element closest to the + <div class="jd-descrdiv"> + Automatically starts an animation that snaps the list to center on the element closest to the middle. - + - </div> - + </div> + </td></tr> @@ -3243,13 +3175,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableListView.html#getCentralViewTop()">getCentralViewTop</a></span>()</nobr> - <div class="jd-descrdiv"> - Returns top of the central <code>View</code> in the list when such view is fully centered. - + <div class="jd-descrdiv"> + Returns top of the central <code>View</code> in the list when such view is fully centered. + - </div> - + </div> + </td></tr> @@ -3282,14 +3214,14 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableListView.html#getMaximizeSingleItem()">getMaximizeSingleItem</a></span>()</nobr> - <div class="jd-descrdiv"> - Determines if, when there is only one item in the WearableListView, that the single item + <div class="jd-descrdiv"> + Determines if, when there is only one item in the WearableListView, that the single item is laid out so that it's height fills the entire WearableListView. - + - </div> - + </div> + </td></tr> @@ -3338,13 +3270,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableListView.html#removeOnCentralPositionChangedListener(android.support.wearable.view.WearableListView.OnCentralPositionChangedListener)">removeOnCentralPositionChangedListener</a></span>(<a href="../../../../../reference/android/support/wearable/view/WearableListView.OnCentralPositionChangedListener.html">WearableListView.OnCentralPositionChangedListener</a> listener)</nobr> - <div class="jd-descrdiv"> - Removes a listener that would be called when the central item of the list changes. - + <div class="jd-descrdiv"> + Removes a listener that would be called when the central item of the list changes. + - </div> - + </div> + </td></tr> @@ -3361,13 +3293,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableListView.html#removeOnScrollListener(android.support.wearable.view.WearableListView.OnScrollListener)">removeOnScrollListener</a></span>(<a href="../../../../../reference/android/support/wearable/view/WearableListView.OnScrollListener.html">WearableListView.OnScrollListener</a> listener)</nobr> - <div class="jd-descrdiv"> - Removes listener for scroll events. - + <div class="jd-descrdiv"> + Removes listener for scroll events. + - </div> - + </div> + </td></tr> @@ -3384,13 +3316,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableListView.html#resetLayoutManager()">resetLayoutManager</a></span>()</nobr> - <div class="jd-descrdiv"> - Clears the state of the layout manager that positions list items. - + <div class="jd-descrdiv"> + Clears the state of the layout manager that positions list items. + - </div> - + </div> + </td></tr> @@ -3423,13 +3355,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableListView.html#setClickListener(android.support.wearable.view.WearableListView.ClickListener)">setClickListener</a></span>(<a href="../../../../../reference/android/support/wearable/view/WearableListView.ClickListener.html">WearableListView.ClickListener</a> clickListener)</nobr> - <div class="jd-descrdiv"> - Adds a listener that will be called when the user taps on the WearableListView or its items. - + <div class="jd-descrdiv"> + Adds a listener that will be called when the user taps on the WearableListView or its items. + - </div> - + </div> + </td></tr> @@ -3446,14 +3378,14 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableListView.html#setGreedyTouchMode(boolean)">setGreedyTouchMode</a></span>(boolean greedy)</nobr> - <div class="jd-descrdiv"> - Controls whether WearableListView should intercept all touch events and also prevent the + <div class="jd-descrdiv"> + Controls whether WearableListView should intercept all touch events and also prevent the parent from receiving them. - + - </div> - + </div> + </td></tr> @@ -3470,13 +3402,13 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableListView.html#setInitialOffset(int)">setInitialOffset</a></span>(int top)</nobr> - <div class="jd-descrdiv"> - By default the first element of the list is initially positioned in the center of the screen. - + <div class="jd-descrdiv"> + By default the first element of the list is initially positioned in the center of the screen. + - </div> - + </div> + </td></tr> @@ -3493,14 +3425,14 @@ android.view.View <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/view/WearableListView.html#setMaximizeSingleItem(boolean)">setMaximizeSingleItem</a></span>(boolean maximizeSingleItem)</nobr> - <div class="jd-descrdiv"> - When set to true, if there is only one item in the WearableListView, it will fill the entire + <div class="jd-descrdiv"> + When set to true, if there is only one item in the WearableListView, it will fill the entire WearableListView. - + - </div> - + </div> + </td></tr> @@ -17040,40 +16972,187 @@ From interface <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> + </p> + + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> - - <div id="footerlinks"> - - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> </div> - </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/view/package-summary.html b/docs/html/reference/android/support/wearable/view/package-summary.html index 203ff4e..28f94db 100644 --- a/docs/html/reference/android/support/wearable/view/package-summary.html +++ b/docs/html/reference/android/support/wearable/view/package-summary.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>android.support.wearable.view | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -153,10 +152,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -204,108 +202,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> + - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">android.support.wearable.view</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -325,165 +267,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">android.support.wearable.view</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -501,7 +433,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -583,7 +515,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -1084,38 +1016,187 @@ type="text/css"> -<div id="footer" class="wrap" > - +</div><!-- end jd-content --> + +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> + </p> + + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> - - <div id="footerlinks"> - - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> </div> - </div> <!-- end footer --> -</div><!-- end jd-content --> + </div><!-- doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/watchface/CanvasWatchFaceService.Engine.html b/docs/html/reference/android/support/wearable/watchface/CanvasWatchFaceService.Engine.html index 541059d..bbae62a 100644 --- a/docs/html/reference/android/support/wearable/watchface/CanvasWatchFaceService.Engine.html +++ b/docs/html/reference/android/support/wearable/watchface/CanvasWatchFaceService.Engine.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>CanvasWatchFaceService.Engine | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> + - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">CanvasWatchFaceService.Engine</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">CanvasWatchFaceService.Engine</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -552,7 +484,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -851,13 +783,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/CanvasWatchFaceService.Engine.html#invalidate()">invalidate</a></span>()</nobr> - <div class="jd-descrdiv"> - Schedules a call to <code><a href="../../../../../reference/android/support/wearable/watchface/CanvasWatchFaceService.Engine.html#onDraw(android.graphics.Canvas, android.graphics.Rect)">onDraw(Canvas, Rect)</a></code> to draw the next frame. - + <div class="jd-descrdiv"> + Schedules a call to <code><a href="../../../../../reference/android/support/wearable/watchface/CanvasWatchFaceService.Engine.html#onDraw(android.graphics.Canvas, android.graphics.Rect)">onDraw(Canvas, Rect)</a></code> to draw the next frame. + - </div> - + </div> + </td></tr> @@ -890,13 +822,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/CanvasWatchFaceService.Engine.html#onDraw(android.graphics.Canvas, android.graphics.Rect)">onDraw</a></span>(Canvas canvas, Rect bounds)</nobr> - <div class="jd-descrdiv"> - Draws the watch face. - + <div class="jd-descrdiv"> + Draws the watch face. + - </div> - + </div> + </td></tr> @@ -961,13 +893,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/CanvasWatchFaceService.Engine.html#postInvalidate()">postInvalidate</a></span>()</nobr> - <div class="jd-descrdiv"> - Posts a message to schedule a call to <code><a href="../../../../../reference/android/support/wearable/watchface/CanvasWatchFaceService.Engine.html#onDraw(android.graphics.Canvas, android.graphics.Rect)">onDraw(Canvas, Rect)</a></code> to draw the next frame. - + <div class="jd-descrdiv"> + Posts a message to schedule a call to <code><a href="../../../../../reference/android/support/wearable/watchface/CanvasWatchFaceService.Engine.html#onDraw(android.graphics.Canvas, android.graphics.Rect)">onDraw(Canvas, Rect)</a></code> to draw the next frame. + - </div> - + </div> + </td></tr> @@ -1018,13 +950,13 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#getInterruptionFilter()">getInterruptionFilter</a></span>()</nobr> - <div class="jd-descrdiv"> - Returns interruption filter selected by the user. - + <div class="jd-descrdiv"> + Returns interruption filter selected by the user. + - </div> - + </div> + </td></tr> @@ -1041,13 +973,13 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#getPeekCardPosition()">getPeekCardPosition</a></span>()</nobr> - <div class="jd-descrdiv"> - Returns the location of the first peeking card. - + <div class="jd-descrdiv"> + Returns the location of the first peeking card. + - </div> - + </div> + </td></tr> @@ -1064,13 +996,13 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#getUnreadCount()">getUnreadCount</a></span>()</nobr> - <div class="jd-descrdiv"> - Returns the number of unread notification cards in the stream. - + <div class="jd-descrdiv"> + Returns the number of unread notification cards in the stream. + - </div> - + </div> + </td></tr> @@ -1087,13 +1019,13 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#isInAmbientMode()">isInAmbientMode</a></span>()</nobr> - <div class="jd-descrdiv"> - Returns whether the watch face is in ambient mode. - + <div class="jd-descrdiv"> + Returns whether the watch face is in ambient mode. + - </div> - + </div> + </td></tr> @@ -1110,13 +1042,13 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#onAmbientModeChanged(boolean)">onAmbientModeChanged</a></span>(boolean inAmbientMode)</nobr> - <div class="jd-descrdiv"> - Called when the device enters or exits ambient mode. - + <div class="jd-descrdiv"> + Called when the device enters or exits ambient mode. + - </div> - + </div> + </td></tr> @@ -1181,13 +1113,13 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#onInterruptionFilterChanged(int)">onInterruptionFilterChanged</a></span>(int interruptionFilter)</nobr> - <div class="jd-descrdiv"> - Called when the user changes interruption filter. - + <div class="jd-descrdiv"> + Called when the user changes interruption filter. + - </div> - + </div> + </td></tr> @@ -1204,13 +1136,13 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#onPeekCardPositionUpdate(android.graphics.Rect)">onPeekCardPositionUpdate</a></span>(Rect rect)</nobr> - <div class="jd-descrdiv"> - Called when the first, peeking card positions itself on the screen. - + <div class="jd-descrdiv"> + Called when the first, peeking card positions itself on the screen. + - </div> - + </div> + </td></tr> @@ -1227,13 +1159,13 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#onPropertiesChanged(android.os.Bundle)">onPropertiesChanged</a></span>(Bundle properties)</nobr> - <div class="jd-descrdiv"> - Called when the properties of the device are determined. - + <div class="jd-descrdiv"> + Called when the properties of the device are determined. + - </div> - + </div> + </td></tr> @@ -1250,13 +1182,13 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#onTimeTick()">onTimeTick</a></span>()</nobr> - <div class="jd-descrdiv"> - Called periodically to update the time shown by the watch face. - + <div class="jd-descrdiv"> + Called periodically to update the time shown by the watch face. + - </div> - + </div> + </td></tr> @@ -1273,13 +1205,13 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#onUnreadCountChanged(int)">onUnreadCountChanged</a></span>(int count)</nobr> - <div class="jd-descrdiv"> - Called when the number of unread notification cards in the stream has changed. - + <div class="jd-descrdiv"> + Called when the number of unread notification cards in the stream has changed. + - </div> - + </div> + </td></tr> @@ -1296,13 +1228,13 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#onVisibilityChanged(boolean)">onVisibilityChanged</a></span>(boolean visible)</nobr> - <div class="jd-descrdiv"> - Called to inform you of the watch face becoming visible or hidden. - + <div class="jd-descrdiv"> + Called to inform you of the watch face becoming visible or hidden. + - </div> - + </div> + </td></tr> @@ -1319,13 +1251,13 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#setWatchFaceStyle(android.support.wearable.watchface.WatchFaceStyle)">setWatchFaceStyle</a></span>(<a href="../../../../../reference/android/support/wearable/watchface/WatchFaceStyle.html">WatchFaceStyle</a> watchFaceStyle)</nobr> - <div class="jd-descrdiv"> - Sets the watch face style. - + <div class="jd-descrdiv"> + Sets the watch face style. + - </div> - + </div> + </td></tr> @@ -2215,40 +2147,187 @@ From class <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> - </div> - - - <div id="footerlinks"> + </p> - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> + </div> </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/watchface/CanvasWatchFaceService.html b/docs/html/reference/android/support/wearable/watchface/CanvasWatchFaceService.html index c7229d4..5dbd8ea 100644 --- a/docs/html/reference/android/support/wearable/watchface/CanvasWatchFaceService.html +++ b/docs/html/reference/android/support/wearable/watchface/CanvasWatchFaceService.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>CanvasWatchFaceService | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> + - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">CanvasWatchFaceService</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">CanvasWatchFaceService</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -552,7 +484,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -6252,40 +6184,187 @@ From interface <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> + </p> + + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> - - <div id="footerlinks"> - - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> </div> - </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/watchface/Gles2WatchFaceService.Engine.html b/docs/html/reference/android/support/wearable/watchface/Gles2WatchFaceService.Engine.html index 317576a..7619178 100644 --- a/docs/html/reference/android/support/wearable/watchface/Gles2WatchFaceService.Engine.html +++ b/docs/html/reference/android/support/wearable/watchface/Gles2WatchFaceService.Engine.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>Gles2WatchFaceService.Engine | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">Gles2WatchFaceService.Engine</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">Gles2WatchFaceService.Engine</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -552,7 +484,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -851,13 +783,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/Gles2WatchFaceService.Engine.html#chooseEglConfig(android.opengl.EGLDisplay)">chooseEglConfig</a></span>(EGLDisplay eglDisplay)</nobr> - <div class="jd-descrdiv"> - Returns the desired EGL config to use. - + <div class="jd-descrdiv"> + Returns the desired EGL config to use. + - </div> - + </div> + </td></tr> @@ -874,13 +806,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/Gles2WatchFaceService.Engine.html#createEglContext(android.opengl.EGLDisplay, android.opengl.EGLConfig)">createEglContext</a></span>(EGLDisplay eglDisplay, EGLConfig eglConfig)</nobr> - <div class="jd-descrdiv"> - Creates the EGL context and returns it. - + <div class="jd-descrdiv"> + Creates the EGL context and returns it. + - </div> - + </div> + </td></tr> @@ -897,13 +829,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/Gles2WatchFaceService.Engine.html#createWindowSurface(android.opengl.EGLDisplay, android.opengl.EGLConfig, android.view.SurfaceHolder)">createWindowSurface</a></span>(EGLDisplay eglDisplay, EGLConfig eglConfig, SurfaceHolder surfaceHolder)</nobr> - <div class="jd-descrdiv"> - Creates and returns a new EGL window surface for <code>surfaceHolder</code>. - + <div class="jd-descrdiv"> + Creates and returns a new EGL window surface for <code>surfaceHolder</code>. + - </div> - + </div> + </td></tr> @@ -920,13 +852,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/Gles2WatchFaceService.Engine.html#initializeEglDisplay()">initializeEglDisplay</a></span>()</nobr> - <div class="jd-descrdiv"> - Initializes the display. - + <div class="jd-descrdiv"> + Initializes the display. + - </div> - + </div> + </td></tr> @@ -943,13 +875,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/Gles2WatchFaceService.Engine.html#invalidate()">invalidate</a></span>()</nobr> - <div class="jd-descrdiv"> - Schedules a call to <code><a href="../../../../../reference/android/support/wearable/watchface/Gles2WatchFaceService.Engine.html#onDraw()">onDraw()</a></code> to draw the next frame. - + <div class="jd-descrdiv"> + Schedules a call to <code><a href="../../../../../reference/android/support/wearable/watchface/Gles2WatchFaceService.Engine.html#onDraw()">onDraw()</a></code> to draw the next frame. + - </div> - + </div> + </td></tr> @@ -1014,13 +946,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/Gles2WatchFaceService.Engine.html#onDraw()">onDraw</a></span>()</nobr> - <div class="jd-descrdiv"> - Draws the watch face. - + <div class="jd-descrdiv"> + Draws the watch face. + - </div> - + </div> + </td></tr> @@ -1037,13 +969,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/Gles2WatchFaceService.Engine.html#onGlContextCreated()">onGlContextCreated</a></span>()</nobr> - <div class="jd-descrdiv"> - Called when a new GL context is created. - + <div class="jd-descrdiv"> + Called when a new GL context is created. + - </div> - + </div> + </td></tr> @@ -1060,13 +992,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/Gles2WatchFaceService.Engine.html#onGlSurfaceCreated(int, int)">onGlSurfaceCreated</a></span>(int width, int height)</nobr> - <div class="jd-descrdiv"> - Called when a new GL surface is created. - + <div class="jd-descrdiv"> + Called when a new GL surface is created. + - </div> - + </div> + </td></tr> @@ -1131,13 +1063,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/Gles2WatchFaceService.Engine.html#postInvalidate()">postInvalidate</a></span>()</nobr> - <div class="jd-descrdiv"> - Posts a message to schedule a call to <code><a href="../../../../../reference/android/support/wearable/watchface/Gles2WatchFaceService.Engine.html#onDraw()">onDraw()</a></code> to draw the next frame. - + <div class="jd-descrdiv"> + Posts a message to schedule a call to <code><a href="../../../../../reference/android/support/wearable/watchface/Gles2WatchFaceService.Engine.html#onDraw()">onDraw()</a></code> to draw the next frame. + - </div> - + </div> + </td></tr> @@ -1188,13 +1120,13 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#getInterruptionFilter()">getInterruptionFilter</a></span>()</nobr> - <div class="jd-descrdiv"> - Returns interruption filter selected by the user. - + <div class="jd-descrdiv"> + Returns interruption filter selected by the user. + - </div> - + </div> + </td></tr> @@ -1211,13 +1143,13 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#getPeekCardPosition()">getPeekCardPosition</a></span>()</nobr> - <div class="jd-descrdiv"> - Returns the location of the first peeking card. - + <div class="jd-descrdiv"> + Returns the location of the first peeking card. + - </div> - + </div> + </td></tr> @@ -1234,13 +1166,13 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#getUnreadCount()">getUnreadCount</a></span>()</nobr> - <div class="jd-descrdiv"> - Returns the number of unread notification cards in the stream. - + <div class="jd-descrdiv"> + Returns the number of unread notification cards in the stream. + - </div> - + </div> + </td></tr> @@ -1257,13 +1189,13 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#isInAmbientMode()">isInAmbientMode</a></span>()</nobr> - <div class="jd-descrdiv"> - Returns whether the watch face is in ambient mode. - + <div class="jd-descrdiv"> + Returns whether the watch face is in ambient mode. + - </div> - + </div> + </td></tr> @@ -1280,13 +1212,13 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#onAmbientModeChanged(boolean)">onAmbientModeChanged</a></span>(boolean inAmbientMode)</nobr> - <div class="jd-descrdiv"> - Called when the device enters or exits ambient mode. - + <div class="jd-descrdiv"> + Called when the device enters or exits ambient mode. + - </div> - + </div> + </td></tr> @@ -1351,13 +1283,13 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#onInterruptionFilterChanged(int)">onInterruptionFilterChanged</a></span>(int interruptionFilter)</nobr> - <div class="jd-descrdiv"> - Called when the user changes interruption filter. - + <div class="jd-descrdiv"> + Called when the user changes interruption filter. + - </div> - + </div> + </td></tr> @@ -1374,13 +1306,13 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#onPeekCardPositionUpdate(android.graphics.Rect)">onPeekCardPositionUpdate</a></span>(Rect rect)</nobr> - <div class="jd-descrdiv"> - Called when the first, peeking card positions itself on the screen. - + <div class="jd-descrdiv"> + Called when the first, peeking card positions itself on the screen. + - </div> - + </div> + </td></tr> @@ -1397,13 +1329,13 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#onPropertiesChanged(android.os.Bundle)">onPropertiesChanged</a></span>(Bundle properties)</nobr> - <div class="jd-descrdiv"> - Called when the properties of the device are determined. - + <div class="jd-descrdiv"> + Called when the properties of the device are determined. + - </div> - + </div> + </td></tr> @@ -1420,13 +1352,13 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#onTimeTick()">onTimeTick</a></span>()</nobr> - <div class="jd-descrdiv"> - Called periodically to update the time shown by the watch face. - + <div class="jd-descrdiv"> + Called periodically to update the time shown by the watch face. + - </div> - + </div> + </td></tr> @@ -1443,13 +1375,13 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#onUnreadCountChanged(int)">onUnreadCountChanged</a></span>(int count)</nobr> - <div class="jd-descrdiv"> - Called when the number of unread notification cards in the stream has changed. - + <div class="jd-descrdiv"> + Called when the number of unread notification cards in the stream has changed. + - </div> - + </div> + </td></tr> @@ -1466,13 +1398,13 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#onVisibilityChanged(boolean)">onVisibilityChanged</a></span>(boolean visible)</nobr> - <div class="jd-descrdiv"> - Called to inform you of the watch face becoming visible or hidden. - + <div class="jd-descrdiv"> + Called to inform you of the watch face becoming visible or hidden. + - </div> - + </div> + </td></tr> @@ -1489,13 +1421,13 @@ From class <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#setWatchFaceStyle(android.support.wearable.watchface.WatchFaceStyle)">setWatchFaceStyle</a></span>(<a href="../../../../../reference/android/support/wearable/watchface/WatchFaceStyle.html">WatchFaceStyle</a> watchFaceStyle)</nobr> - <div class="jd-descrdiv"> - Sets the watch face style. - + <div class="jd-descrdiv"> + Sets the watch face style. + - </div> - + </div> + </td></tr> @@ -2682,40 +2614,187 @@ From class <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> - </div> - - - <div id="footerlinks"> + </p> - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> + </div> </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/watchface/Gles2WatchFaceService.html b/docs/html/reference/android/support/wearable/watchface/Gles2WatchFaceService.html index bfacbcd..6371290 100644 --- a/docs/html/reference/android/support/wearable/watchface/Gles2WatchFaceService.html +++ b/docs/html/reference/android/support/wearable/watchface/Gles2WatchFaceService.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>Gles2WatchFaceService | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> + - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">Gles2WatchFaceService</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">Gles2WatchFaceService</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -552,7 +484,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -6255,40 +6187,187 @@ From interface <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> + </p> + + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> - - <div id="footerlinks"> - - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> </div> - </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/watchface/WatchFaceService.Engine.html b/docs/html/reference/android/support/wearable/watchface/WatchFaceService.Engine.html index d69ca02..2326386 100644 --- a/docs/html/reference/android/support/wearable/watchface/WatchFaceService.Engine.html +++ b/docs/html/reference/android/support/wearable/watchface/WatchFaceService.Engine.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>WatchFaceService.Engine | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> + - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">WatchFaceService.Engine</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">WatchFaceService.Engine</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -552,7 +484,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -881,13 +813,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#getInterruptionFilter()">getInterruptionFilter</a></span>()</nobr> - <div class="jd-descrdiv"> - Returns interruption filter selected by the user. - + <div class="jd-descrdiv"> + Returns interruption filter selected by the user. + - </div> - + </div> + </td></tr> @@ -904,13 +836,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#getPeekCardPosition()">getPeekCardPosition</a></span>()</nobr> - <div class="jd-descrdiv"> - Returns the location of the first peeking card. - + <div class="jd-descrdiv"> + Returns the location of the first peeking card. + - </div> - + </div> + </td></tr> @@ -927,13 +859,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#getUnreadCount()">getUnreadCount</a></span>()</nobr> - <div class="jd-descrdiv"> - Returns the number of unread notification cards in the stream. - + <div class="jd-descrdiv"> + Returns the number of unread notification cards in the stream. + - </div> - + </div> + </td></tr> @@ -950,13 +882,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#isInAmbientMode()">isInAmbientMode</a></span>()</nobr> - <div class="jd-descrdiv"> - Returns whether the watch face is in ambient mode. - + <div class="jd-descrdiv"> + Returns whether the watch face is in ambient mode. + - </div> - + </div> + </td></tr> @@ -973,13 +905,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#onAmbientModeChanged(boolean)">onAmbientModeChanged</a></span>(boolean inAmbientMode)</nobr> - <div class="jd-descrdiv"> - Called when the device enters or exits ambient mode. - + <div class="jd-descrdiv"> + Called when the device enters or exits ambient mode. + - </div> - + </div> + </td></tr> @@ -1044,13 +976,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#onInterruptionFilterChanged(int)">onInterruptionFilterChanged</a></span>(int interruptionFilter)</nobr> - <div class="jd-descrdiv"> - Called when the user changes interruption filter. - + <div class="jd-descrdiv"> + Called when the user changes interruption filter. + - </div> - + </div> + </td></tr> @@ -1067,13 +999,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#onPeekCardPositionUpdate(android.graphics.Rect)">onPeekCardPositionUpdate</a></span>(Rect rect)</nobr> - <div class="jd-descrdiv"> - Called when the first, peeking card positions itself on the screen. - + <div class="jd-descrdiv"> + Called when the first, peeking card positions itself on the screen. + - </div> - + </div> + </td></tr> @@ -1090,13 +1022,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#onPropertiesChanged(android.os.Bundle)">onPropertiesChanged</a></span>(Bundle properties)</nobr> - <div class="jd-descrdiv"> - Called when the properties of the device are determined. - + <div class="jd-descrdiv"> + Called when the properties of the device are determined. + - </div> - + </div> + </td></tr> @@ -1113,13 +1045,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#onTimeTick()">onTimeTick</a></span>()</nobr> - <div class="jd-descrdiv"> - Called periodically to update the time shown by the watch face. - + <div class="jd-descrdiv"> + Called periodically to update the time shown by the watch face. + - </div> - + </div> + </td></tr> @@ -1136,13 +1068,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#onUnreadCountChanged(int)">onUnreadCountChanged</a></span>(int count)</nobr> - <div class="jd-descrdiv"> - Called when the number of unread notification cards in the stream has changed. - + <div class="jd-descrdiv"> + Called when the number of unread notification cards in the stream has changed. + - </div> - + </div> + </td></tr> @@ -1159,13 +1091,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#onVisibilityChanged(boolean)">onVisibilityChanged</a></span>(boolean visible)</nobr> - <div class="jd-descrdiv"> - Called to inform you of the watch face becoming visible or hidden. - + <div class="jd-descrdiv"> + Called to inform you of the watch face becoming visible or hidden. + - </div> - + </div> + </td></tr> @@ -1182,13 +1114,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceService.Engine.html#setWatchFaceStyle(android.support.wearable.watchface.WatchFaceStyle)">setWatchFaceStyle</a></span>(<a href="../../../../../reference/android/support/wearable/watchface/WatchFaceStyle.html">WatchFaceStyle</a> watchFaceStyle)</nobr> - <div class="jd-descrdiv"> - Sets the watch face style. - + <div class="jd-descrdiv"> + Sets the watch face style. + - </div> - + </div> + </td></tr> @@ -2383,40 +2315,187 @@ From class <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> - </div> - - - <div id="footerlinks"> + </p> - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> + </div> </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/watchface/WatchFaceService.html b/docs/html/reference/android/support/wearable/watchface/WatchFaceService.html index e30f129..f566e7e 100644 --- a/docs/html/reference/android/support/wearable/watchface/WatchFaceService.html +++ b/docs/html/reference/android/support/wearable/watchface/WatchFaceService.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>WatchFaceService | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> + - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">WatchFaceService</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">WatchFaceService</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -552,7 +484,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -6498,40 +6430,187 @@ From interface <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> + </p> + + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> - - <div id="footerlinks"> - - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> </div> - </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/watchface/WatchFaceStyle.Builder.html b/docs/html/reference/android/support/wearable/watchface/WatchFaceStyle.Builder.html index 1081ced..956e3a8 100644 --- a/docs/html/reference/android/support/wearable/watchface/WatchFaceStyle.Builder.html +++ b/docs/html/reference/android/support/wearable/watchface/WatchFaceStyle.Builder.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>WatchFaceStyle.Builder | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> + - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">WatchFaceStyle.Builder</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">WatchFaceStyle.Builder</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -552,7 +484,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -805,13 +737,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceStyle.Builder.html#build()">build</a></span>()</nobr> - <div class="jd-descrdiv"> - Constructs read only WatchFaceStyle object. - + <div class="jd-descrdiv"> + Constructs read only WatchFaceStyle object. + - </div> - + </div> + </td></tr> @@ -828,14 +760,14 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceStyle.Builder.html#setAmbientPeekMode(int)">setAmbientPeekMode</a></span>(int ambientPeekMode)</nobr> - <div class="jd-descrdiv"> - Sets how the first, peeking card will be displayed while the watch is in ambient, + <div class="jd-descrdiv"> + Sets how the first, peeking card will be displayed while the watch is in ambient, black & white mode. - + - </div> - + </div> + </td></tr> @@ -852,13 +784,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceStyle.Builder.html#setBackgroundVisibility(int)">setBackgroundVisibility</a></span>(int backgroundVisibility)</nobr> - <div class="jd-descrdiv"> - Set how to display background of the first, peeking card. - + <div class="jd-descrdiv"> + Set how to display background of the first, peeking card. + - </div> - + </div> + </td></tr> @@ -875,13 +807,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceStyle.Builder.html#setCardPeekMode(int)">setCardPeekMode</a></span>(int peekMode)</nobr> - <div class="jd-descrdiv"> - Sets how far into the screen the first card will peek while the watch face is displayed. - + <div class="jd-descrdiv"> + Sets how far into the screen the first card will peek while the watch face is displayed. + - </div> - + </div> + </td></tr> @@ -898,13 +830,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceStyle.Builder.html#setHotwordIndicatorGravity(int)">setHotwordIndicatorGravity</a></span>(int hotwordIndicatorGravity)</nobr> - <div class="jd-descrdiv"> - Sets position of hotword (OK Google) on the screen. - + <div class="jd-descrdiv"> + Sets position of hotword (OK Google) on the screen. + - </div> - + </div> + </td></tr> @@ -921,13 +853,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceStyle.Builder.html#setPeekOpacityMode(int)">setPeekOpacityMode</a></span>(int peekOpacityMode)</nobr> - <div class="jd-descrdiv"> - Sets whether the first, peeking card should be opaque when the watch face is displayed. - + <div class="jd-descrdiv"> + Sets whether the first, peeking card should be opaque when the watch face is displayed. + - </div> - + </div> + </td></tr> @@ -944,13 +876,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceStyle.Builder.html#setShowSystemUiTime(boolean)">setShowSystemUiTime</a></span>(boolean showSystemUiTime)</nobr> - <div class="jd-descrdiv"> - Sets if the system will draw the system-style time over the watch face. - + <div class="jd-descrdiv"> + Sets if the system will draw the system-style time over the watch face. + - </div> - + </div> + </td></tr> @@ -967,13 +899,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceStyle.Builder.html#setShowUnreadCountIndicator(boolean)">setShowUnreadCountIndicator</a></span>(boolean show)</nobr> - <div class="jd-descrdiv"> - Sets whether to add an indicator of how many unread cards there are in the stream. - + <div class="jd-descrdiv"> + Sets whether to add an indicator of how many unread cards there are in the stream. + - </div> - + </div> + </td></tr> @@ -990,13 +922,13 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceStyle.Builder.html#setStatusBarGravity(int)">setStatusBarGravity</a></span>(int statusBarGravity)</nobr> - <div class="jd-descrdiv"> - Sets position of status icons (battery state, lack of connection) on the screen. - + <div class="jd-descrdiv"> + Sets position of status icons (battery state, lack of connection) on the screen. + - </div> - + </div> + </td></tr> @@ -1013,16 +945,16 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceStyle.Builder.html#setViewProtection(int)">setViewProtection</a></span>(int viewProtection)</nobr> - <div class="jd-descrdiv"> - <em> + <div class="jd-descrdiv"> + <em> This method is deprecated. Use <code><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceStyle.Builder.html#setViewProtectionMode(int)">setViewProtectionMode(int)</a></code> instead. </em> - + - </div> - + </div> + </td></tr> @@ -1039,14 +971,14 @@ Summary: <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceStyle.Builder.html#setViewProtectionMode(int)">setViewProtectionMode</a></span>(int viewProtectionMode)</nobr> - <div class="jd-descrdiv"> - Adds background color to UI elements of the home screen, so they are readable on + <div class="jd-descrdiv"> + Adds background color to UI elements of the home screen, so they are readable on the watch face. - + - </div> - + </div> + </td></tr> @@ -1839,40 +1771,187 @@ From class <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> - </div> - - - <div id="footerlinks"> + </p> - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> + </div> </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/watchface/WatchFaceStyle.html b/docs/html/reference/android/support/wearable/watchface/WatchFaceStyle.html index a3ff847..e08608f 100644 --- a/docs/html/reference/android/support/wearable/watchface/WatchFaceStyle.html +++ b/docs/html/reference/android/support/wearable/watchface/WatchFaceStyle.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>WatchFaceStyle | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -152,10 +151,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -203,108 +201,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> + - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">WatchFaceStyle</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -324,165 +266,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">WatchFaceStyle</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -500,7 +432,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -552,7 +484,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -1095,14 +1027,14 @@ android.os.Parcelable <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceStyle.html#getAmbientPeekMode()">getAmbientPeekMode</a></span>()</nobr> - <div class="jd-descrdiv"> - Controls how the first, peeking card will be displayed while the watch is in ambient, + <div class="jd-descrdiv"> + Controls how the first, peeking card will be displayed while the watch is in ambient, black & white mode. - + - </div> - + </div> + </td></tr> @@ -1119,13 +1051,13 @@ android.os.Parcelable <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceStyle.html#getBackgroundVisibility()">getBackgroundVisibility</a></span>()</nobr> - <div class="jd-descrdiv"> - Controls displaying background of the first, peeking card. - + <div class="jd-descrdiv"> + Controls displaying background of the first, peeking card. + - </div> - + </div> + </td></tr> @@ -1142,13 +1074,13 @@ android.os.Parcelable <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceStyle.html#getCardPeekMode()">getCardPeekMode</a></span>()</nobr> - <div class="jd-descrdiv"> - Controls how far into the screen the first card will peek while the watch face is displayed. - + <div class="jd-descrdiv"> + Controls how far into the screen the first card will peek while the watch face is displayed. + - </div> - + </div> + </td></tr> @@ -1165,13 +1097,13 @@ android.os.Parcelable <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceStyle.html#getComponent()">getComponent</a></span>()</nobr> - <div class="jd-descrdiv"> - The component of the watch face activity whose style is being specified. - + <div class="jd-descrdiv"> + The component of the watch face activity whose style is being specified. + - </div> - + </div> + </td></tr> @@ -1188,13 +1120,13 @@ android.os.Parcelable <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceStyle.html#getHotwordIndicatorGravity()">getHotwordIndicatorGravity</a></span>()</nobr> - <div class="jd-descrdiv"> - Controls position of hotword (OK Google) on the screen. - + <div class="jd-descrdiv"> + Controls position of hotword (OK Google) on the screen. + - </div> - + </div> + </td></tr> @@ -1211,13 +1143,13 @@ android.os.Parcelable <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceStyle.html#getPeekOpacityMode()">getPeekOpacityMode</a></span>()</nobr> - <div class="jd-descrdiv"> - Controls whether the first, peeking card should be opaque when the watch face is displayed. - + <div class="jd-descrdiv"> + Controls whether the first, peeking card should be opaque when the watch face is displayed. + - </div> - + </div> + </td></tr> @@ -1234,13 +1166,13 @@ android.os.Parcelable <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceStyle.html#getShowSystemUiTime()">getShowSystemUiTime</a></span>()</nobr> - <div class="jd-descrdiv"> - If true, the system will draw the system-style time over the watch face. - + <div class="jd-descrdiv"> + If true, the system will draw the system-style time over the watch face. + - </div> - + </div> + </td></tr> @@ -1257,13 +1189,13 @@ android.os.Parcelable <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceStyle.html#getShowUnreadCountIndicator()">getShowUnreadCountIndicator</a></span>()</nobr> - <div class="jd-descrdiv"> - Whether to add an indicator of how many unread cards there are in the stream. - + <div class="jd-descrdiv"> + Whether to add an indicator of how many unread cards there are in the stream. + - </div> - + </div> + </td></tr> @@ -1280,13 +1212,13 @@ android.os.Parcelable <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceStyle.html#getStatusBarGravity()">getStatusBarGravity</a></span>()</nobr> - <div class="jd-descrdiv"> - Controls position of status icons (battery state, lack of connection) on the screen. - + <div class="jd-descrdiv"> + Controls position of status icons (battery state, lack of connection) on the screen. + - </div> - + </div> + </td></tr> @@ -1303,14 +1235,14 @@ android.os.Parcelable <td class="jd-linkcol" width="100%"><nobr> <span class="sympad"><a href="../../../../../reference/android/support/wearable/watchface/WatchFaceStyle.html#getViewProtectionMode()">getViewProtectionMode</a></span>()</nobr> - <div class="jd-descrdiv"> - Allows adding background color to UI elements of the home screen, so they are readable on + <div class="jd-descrdiv"> + Allows adding background color to UI elements of the home screen, so they are readable on the watch face. - + - </div> - + </div> + </td></tr> @@ -2719,40 +2651,187 @@ From interface <!-- ========= END OF CLASS DATA ========= --> <A NAME="navbar_top"></A> +</div> <!-- jd-content --> -<div id="footer" class="wrap" > - +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> + </p> + + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> - - <div id="footerlinks"> - - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> </div> - </div> <!-- end footer --> -</div> <!-- jd-content --> </div><!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/android/support/wearable/watchface/package-summary.html b/docs/html/reference/android/support/wearable/watchface/package-summary.html index 44b1164..6853fc4 100644 --- a/docs/html/reference/android/support/wearable/watchface/package-summary.html +++ b/docs/html/reference/android/support/wearable/watchface/package-summary.html @@ -95,15 +95,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../../../../../favicon.ico" /> <title>android.support.wearable.watchface | Android Developers</title> @@ -113,7 +111,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../../../../../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../../../../../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -129,7 +128,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../../../../../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../../../../../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -153,10 +152,9 @@ type="text/css"> <div id="doc-api-level" class="" style="display:none"></div> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -204,108 +202,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../../../../../index.html"> - <img src="../../../../../assets/images/dac_logo.png" - srcset="../../../../../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../../../../../index.html"> + <img class="dac-header-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../../../../../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../../../../../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../../../../../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">android.support.wearable.watchface</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../../../../../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../../../../../')" - onkeyup="return search_changed(event, false, '../../../../../')" /> + onkeyup="return search_changed(event, false, '../../../../../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -325,165 +267,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../../../../../about/index.html">About</a></li> - <li><a href="../../../../../wear/index.html">Wear</a></li> - <li><a href="../../../../../tv/index.html">TV</a></li> - <li><a href="../../../../../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../../../../../design/index.html">Get Started</a></li> - <li><a href="../../../../../design/devices.html">Devices</a></li> - <li><a href="../../../../../design/style/index.html">Style</a></li> - <li><a href="../../../../../design/patterns/index.html">Patterns</a></li> - <li><a href="../../../../../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../../../../../design/downloads/index.html">Downloads</a></li> - <li><a href="../../../../../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../../../../../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../../../../../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../../../../../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../../../../../distribute/users/index.html">Get Users</a></li> - <li><a href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../../../../../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../../../../../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../../../../../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../../../../../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../../../../../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../../../../../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../../../../../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../../../../../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../../../../../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">android.support.wearable.watchface</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../../../../../assets/images/android_logo.png" + srcset="../../../../../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../../../../../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../../../../../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../../../../../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../../../../../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../../../../../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../../../../../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../../../../../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../../../../../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../../../../../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../../../../../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../../../../../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../../../../../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../../../../../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../../../../../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../../../../../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../../../../../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../../../../../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../../../../../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../../../../../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../../../../../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -501,7 +433,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -553,7 +485,7 @@ type="text/css"> </ul><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -740,38 +672,187 @@ type="text/css"> -<div id="footer" class="wrap" > - +</div><!-- end jd-content --> + +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../../../../../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../../../../../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> - </div> - - - <div id="footerlinks"> + </p> - <p> - <a href="../../../../../about/index.html">About Android</a> | - <a href="../../../../../legal.html">Legal</a> | - <a href="../../../../../support.html">Support</a> - </p> + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> + </div> </div> <!-- end footer --> -</div><!-- end jd-content --> + </div><!-- doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/reference/packages-wearable-support.html b/docs/html/reference/packages-wearable-support.html index 5d2fdf1..19a785b 100644 --- a/docs/html/reference/packages-wearable-support.html +++ b/docs/html/reference/packages-wearable-support.html @@ -87,15 +87,13 @@ - - - <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> -<meta name="viewport" content="width=device-width" /> +<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" /> +<meta content="IE=edge" http-equiv="X-UA-Compatible"> <link rel="shortcut icon" type="image/x-icon" href="../favicon.ico" /> <title>Package Index | Android Developers</title> @@ -105,7 +103,8 @@ href="http://fonts.googleapis.com/css?family=Roboto+Condensed"> <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=Roboto:light,regular,medium,thin,italic,mediumitalic,bold" title="roboto"> -<link href="../assets/css/default.css?v=5" rel="stylesheet" type="text/css"> + +<link href="../assets/css/default.css?v=7" rel="stylesheet" type="text/css"> <!-- FULLSCREEN STYLESHEET --> @@ -121,7 +120,7 @@ type="text/css"> var metaTags = []; var devsite = false; </script> -<script src="../assets/js/docs.js?v=3" type="text/javascript"></script> +<script src="../assets/js/docs.js?v=5" type="text/javascript"></script> @@ -143,10 +142,9 @@ type="text/css"> develop reference"> <a name="top"></a> - <a name="top"></a> -<!-- dialog to prompt lang pref change when loaded from hardcoded URL +<!-- dialog to prompt lang pref change when loaded from hardcoded URL <div id="langMessage" style="display:none"> <div> <div class="lang en"> @@ -194,108 +192,52 @@ type="text/css"> <!-- Header --> <div id="header-wrapper"> - <div id="header"> + <div class="dac-header" id="header"> + - - <div class="wrap" id="header-wrap"> - <div class="col-3 logo"> - <a href="../index.html"> - <img src="../assets/images/dac_logo.png" - srcset="../assets/images/dac_logo@2x.png 2x" - width="123" height="25" alt="Android Developers" /> + <div class="dac-header-inner"> + <a class="dac-nav-toggle" data-dac-toggle-nav href="javascript:;" title="Open navigation"> + <span class="dac-nav-hamburger"> + <span class="dac-nav-hamburger-top"></span> + <span class="dac-nav-hamburger-mid"></span> + <span class="dac-nav-hamburger-bot"></span> + </span> + </a> + <a class="dac-header-logo" href="../index.html"> + <img class="dac-header-logo-image" src="../assets/images/android_logo.png" + srcset="../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers </a> - <div class="btn-quicknav" id="btn-quicknav"> - <a href="#" class="arrow-inactive">Quicknav</a> - <a href="#" class="arrow-active">Quicknav</a> - </div> - </div> - <ul class="nav-x col-9"> - <li class="design"> - <a href="../design/index.html" - zh-tw-lang="設計" - zh-cn-lang="设计" - ru-lang="Проектирование" - ko-lang="디자인" - ja-lang="設計" - es-lang="Diseñar" - >Design</a></li> - <li class="develop"><a href="../develop/index.html" - zh-tw-lang="開發" - zh-cn-lang="开发" - ru-lang="Разработка" - ko-lang="개발" - ja-lang="開発" - es-lang="Desarrollar" - >Develop</a></li> - <li class="distribute last"><a href="../distribute/googleplay/index.html" - zh-tw-lang="發佈" - zh-cn-lang="分发" - ru-lang="Распространение" - ko-lang="배포" - ja-lang="配布" - es-lang="Distribuir" - >Distribute</a></li> - </ul> + <ul class="dac-header-crumbs"> + + <li class="dac-header-crumbs-item"><span class="dac-header-crumbs-link current ">Package Index</a></li> + </ul> -<div class="menu-container"> - <div class="moremenu"> - <div id="more-btn"></div> - </div> - <div class="morehover" id="moremenu"> - <div class="top"></div> - <div class="mid"> - <div class="header">Links</div> - <ul> - <li><a href="https://play.google.com/apps/publish/" target="_googleplay">Google Play Developer Console</a></li> - <li><a href="http://android-developers.blogspot.com/">Android Developers Blog</a></li> - <li><a href="../about/index.html">About Android</a></li> - </ul> - <div class="header">Android Sites</div> - <ul> - <li><a href="http://www.android.com">Android.com</a></li> - <li class="active"><a>Android Developers</a></li> - <li><a href="http://source.android.com">Android Open Source Project</a></li> - </ul> - - - - - <br class="clearfix" /> - </div><!-- end 'mid' --> - <div class="bottom"></div> - </div><!-- end 'moremenu' --> - - <div class="search" id="search-container"> - <div class="search-inner"> - <div id="search-btn"></div> - <div class="left"></div> - <form onsubmit="return submit_search()"> + + <div class="dac-header-search" id="search-container"> + <div class="dac-header-search-inner"> + <div class="dac-sprite dac-search dac-header-search-btn" id="search-btn"></div> + <form class="dac-header-search-form" onsubmit="return submit_search()"> <input id="search_autocomplete" type="text" value="" autocomplete="off" name="q" onfocus="search_focus_changed(this, true)" onblur="search_focus_changed(this, false)" onkeydown="return search_changed(event, true, '../')" - onkeyup="return search_changed(event, false, '../')" /> + onkeyup="return search_changed(event, false, '../')" + class="dac-header-search-input" placeholder="Search" /> + <a class="dac-header-search-close hide" id="search-close">close</a> </form> - <div class="right"></div> - <a class="close hide">close</a> - <div class="left"></div> - <div class="right"></div> - </div><!-- end search-inner --> - </div><!-- end search-container --> - - <div class="search_filtered_wrapper reference"> + </div><!-- end dac-header-search-inner --> + </div><!-- end dac-header-search --> + + <div class="search_filtered_wrapper"> <div class="suggest-card reference no-display"> <ul class="search_filtered"> </ul> </div> - </div> - - <div class="search_filtered_wrapper docs"> - <div class="suggest-card dummy no-display"> </div> <div class="suggest-card develop no-display"> <ul class="search_filtered"> </ul> @@ -315,165 +257,155 @@ type="text/css"> </ul> </div> </div> -</div><!-- end menu-container (search and menu widget) --> + + <a class="dac-header-console-btn" href="https://play.google.com/apps/publish/"> + <span class="dac-sprite dac-google-play"></span> + <span class="dac-visible-desktop-inline">Developer</span> + Console + </a> - <!-- Expanded quicknav --> - <div id="quicknav" class="col-13"> - <ul> - <li class="about"> - <ul> - <li><a href="../about/index.html">About</a></li> - <li><a href="../wear/index.html">Wear</a></li> - <li><a href="../tv/index.html">TV</a></li> - <li><a href="../auto/index.html">Auto</a></li> - </ul> - </li> - <li class="design"> - <ul> - <li><a href="../design/index.html">Get Started</a></li> - <li><a href="../design/devices.html">Devices</a></li> - <li><a href="../design/style/index.html">Style</a></li> - <li><a href="../design/patterns/index.html">Patterns</a></li> - <li><a href="../design/building-blocks/index.html">Building Blocks</a></li> - <li><a href="../design/downloads/index.html">Downloads</a></li> - <li><a href="../design/videos/index.html">Videos</a></li> - </ul> - </li> - <li class="develop"> - <ul> - <li><a href="../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li><a href="../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li><a href="../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li><a href="../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a> - </li> - <li><a href="../google/index.html">Google Services</a> - </li> - - </ul> - </li> - <li class="distribute last"> - <ul> - <li><a href="../distribute/googleplay/index.html">Google Play</a></li> - <li><a href="../distribute/essentials/index.html">Essentials</a></li> - <li><a href="../distribute/users/index.html">Get Users</a></li> - <li><a href="../distribute/engage/index.html">Engage & Retain</a></li> - <li><a href="../distribute/monetize/index.html">Monetize</a></li> - <li><a href="../distribute/analyze/index.html">Analyze</a></li> - <li><a href="../distribute/tools/index.html">Tools & Reference</a></li> - <li><a href="../distribute/stories/index.html">Developer Stories</a></li> - </ul> - </li> - </ul> - </div><!-- /Expanded quicknav --> </div><!-- end header-wrap.wrap --> </div><!-- end header --> - - <!-- Secondary x-nav --> - <div id="nav-x"> - <div class="wrap" style="position:relative;z-index:1"> - - - - - - <ul class="nav-x col-9 develop" style="width:100%"> - <li class="training"><a href="../training/index.html" - zh-tw-lang="訓練課程" - zh-cn-lang="培训" - ru-lang="Курсы" - ko-lang="교육" - ja-lang="トレーニング" - es-lang="Capacitación" - >Training</a></li> - <li class="guide"><a href="../guide/index.html" - zh-tw-lang="API 指南" - zh-cn-lang="API 指南" - ru-lang="Руководства по API" - ko-lang="API 가이드" - ja-lang="API ガイド" - es-lang="Guías de la API" - >API Guides</a></li> - <li class="reference"><a href="../reference/packages.html" - zh-tw-lang="參考資源" - zh-cn-lang="参考" - ru-lang="Справочник" - ko-lang="참조문서" - ja-lang="リファレンス" - es-lang="Referencia" - >Reference</a></li> - <li class="tools"><a href="../sdk/index.html" - zh-tw-lang="相關工具" - zh-cn-lang="工具" - ru-lang="Инструменты" - ko-lang="도구" - ja-lang="ツール" - es-lang="Herramientas" - >Tools</a></li> - <li class="google"><a href="../google/index.html" - >Google Services</a> - </li> - - </ul> - </div> - </div> - <!-- /Sendondary x-nav DEVELOP --> - - - <div id="searchResults" class="wrap" style="display:none;"> <h2 id="searchTitle">Results</h2> <div id="leftSearchControl" class="search-control">Loading...</div> </div> </div> <!--end header-wrapper --> - <div id="sticky-header"> - <div> - <a class="logo" href="#top"></a> - <a class="top" href="#top"></a> - <ul class="breadcrumb"> - - <li class="current">Package Index</li> - </ul> - </div> - </div> + + <!-- Navigation--> + <nav class="dac-nav"> + <div class="dac-nav-dimmer" data-dac-toggle-nav></div> + + <ul class="dac-nav-list" data-dac-nav> + <li class="dac-nav-item dac-nav-head"> + <a class="dac-nav-link dac-nav-logo" data-dac-toggle-nav href="javascript:;" title="Close navigation"> + <img class="dac-logo-image" src="../assets/images/android_logo.png" + srcset="../assets/images/android_logo@2x.png 2x" + width="32" height="36" alt="Android" /> Developers + </a> + </li> + <li class="dac-nav-item home"> + <a class="dac-nav-link dac-visible-mobile-block" href="../index.html">Home</a> + <ul class="dac-nav-secondary about"> + <li class="dac-nav-item about"> + <a class="dac-nav-link" href="../about/index.html">Android</a> + </li> + <li class="dac-nav-item wear"> + <a class="dac-nav-link" href="../wear/index.html">Wear</a> + </li> + <li class="dac-nav-item tv"> + <a class="dac-nav-link" href="../tv/index.html">TV</a> + </li> + <li class="dac-nav-item auto"> + <a class="dac-nav-link" href="../auto/index.html">Auto</a> + </li> + </ul> + </li> + <li class="dac-nav-item design"> + <a class="dac-nav-link" href="../design/index.html" + zh-tw-lang="設計" + zh-cn-lang="设计" + ru-lang="Проектирование" + ko-lang="디자인" + ja-lang="設計" + es-lang="Diseñar">Design</a> + </li> + <li class="dac-nav-item develop"> + <a class="dac-nav-link" href="../develop/index.html" + zh-tw-lang="開發" + zh-cn-lang="开发" + ru-lang="Разработка" + ko-lang="개발" + ja-lang="開発" + es-lang="Desarrollar">Develop</a> + <ul class="dac-nav-secondary develop"> + <li class="dac-nav-item training"> + <a class="dac-nav-link" href="../training/index.html" + zh-tw-lang="訓練課程" + zh-cn-lang="培训" + ru-lang="Курсы" + ko-lang="교육" + ja-lang="トレーニング" + es-lang="Capacitación">Training</a> + </li> + <li class="dac-nav-item guide"> + <a class="dac-nav-link" href="../guide/index.html" + zh-tw-lang="API 指南" + zh-cn-lang="API 指南" + ru-lang="Руководства по API" + ko-lang="API 가이드" + ja-lang="API ガイド" + es-lang="Guías de la API">API Guides</a> + </li> + <li class="dac-nav-item reference"> + <a class="dac-nav-link" href="../reference/packages.html" + zh-tw-lang="參考資源" + zh-cn-lang="参考" + ru-lang="Справочник" + ko-lang="참조문서" + ja-lang="リファレンス" + es-lang="Referencia">Reference</a> + </li> + <li class="dac-nav-item tools"> + <a class="dac-nav-link" href="../sdk/index.html" + zh-tw-lang="相關工具" + zh-cn-lang="工具" + ru-lang="Инструменты" + ko-lang="도구" + ja-lang="ツール" + es-lang="Herramientas">Tools</a></li> + <li class="dac-nav-item google"> + <a class="dac-nav-link" href="../google/index.html">Google Services</a> + </li> + + <li class="dac-nav-item preview"> + <a class="dac-nav-link" href="../preview/index.html">Preview</a> + </li> + </ul> + </li> + <li class="dac-nav-item distribute"> + <a class="dac-nav-link" href="../distribute/googleplay/index.html" + zh-tw-lang="發佈" + zh-cn-lang="分发" + ru-lang="Распространение" + ko-lang="배포" + ja-lang="配布" + es-lang="Distribuir">Distribute</a> + <ul class="dac-nav-secondary distribute"> + <li class="dac-nav-item googleplay"> + <a class="dac-nav-link" href="../distribute/googleplay/index.html">Google Play</a></li> + <li class="dac-nav-item essentials"> + <a class="dac-nav-link" href="../distribute/essentials/index.html">Essentials</a></li> + <li class="dac-nav-item users"> + <a class="dac-nav-link" href="../distribute/users/index.html">Get Users</a></li> + <li class="dac-nav-item engage"> + <a class="dac-nav-link" href="../distribute/engage/index.html">Engage & Retain</a></li> + <li class="dac-nav-item monetize"> + <a class="dac-nav-link" href="../distribute/monetize/index.html">Earn</a> + </li> + <li class="dac-nav-item analyze"> + <a class="dac-nav-link" href="../distribute/analyze/index.html">Analyze</a> + </li> + <li class="dac-nav-item stories"> + <a class="dac-nav-link" href="../distribute/stories/index.html">Stories</a> + </li> + </ul> + </li> + </ul> + </nav> + <!-- end navigation--> + - <div class="wrap clearfix" id="body-content"> - <div class="col-4" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> + <div class="wrap clearfix" id="body-content"><div class="cols"> + <div class="col-4 dac-hidden-mobile" id="side-nav" itemscope itemtype="http://schema.org/SiteNavigationElement"> <div id="devdoc-nav"> <div id="api-nav-header"> <div id="api-level-toggle"> @@ -491,7 +423,7 @@ type="text/css"> var SINCE_DATA = [ ]; buildApiLevelSelector(); </script> - + <div id="swapper"> <div id="nav-panels"> <div id="resize-packages-nav"> @@ -524,7 +456,7 @@ type="text/css"> <p style="padding:10px">Select a package to view its members</p><br/> - + </div><!-- end classes --> </div><!-- end nav-panels --> @@ -642,38 +574,187 @@ type="text/css"> </table> -<div id="footer" class="wrap" > - +</div><!-- end jd-content --> + +<div class="wrap"> + <div class="dac-footer"> + <div class="cols dac-footer-main"> + <div class="col-1of2"> + <a class="dac-footer-getnews" data-modal-toggle="newsletter" href="javascript:;">Get news & tips <span + class="dac-fab dac-primary"><i class="dac-sprite dac-mail"></i></span></a> + </div> + <div class="col-1of2 dac-footer-reachout"> + <div class="dac-footer-contact"> + <a class="dac-footer-contact-link" href="http://android-developers.blogspot.com/">Blog</a> + <a class="dac-footer-contact-link" href="/support.html">Support</a> + </div> + <div class="dac-footer-social"> + <a class="dac-fab dac-footer-social-link" href="https://www.youtube.com/user/androiddevelopers"><i class="dac-sprite dac-youtube"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://plus.google.com/+AndroidDevelopers"><i class="dac-sprite dac-gplus"></i></a> + <a class="dac-fab dac-footer-social-link" href="https://twitter.com/AndroidDev"><i class="dac-sprite dac-twitter"></i></a> + </div> + </div> + </div> + + <hr class="dac-footer-separator"/> - <div id="copyright"> + <p class="dac-footer-copyright"> + Except as noted, this content is licensed under <a - href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. + href="http://www.apache.org/licenses/LICENSE-2.0">Apache 2.0</a>. For details and restrictions, see the <a href="../license.html"> Content License</a>. - </div> - <div id="build_info"> - + </p> + <p class="dac-footer-build"> + Android Wearable Support r — <script src="../timestamp.js" type="text/javascript"></script> <script>document.write(BUILD_TIMESTAMP)</script> - </div> - - - <div id="footerlinks"> + </p> - <p> - <a href="../about/index.html">About Android</a> | - <a href="../legal.html">Legal</a> | - <a href="../support.html">Support</a> - </p> + + <p class="dac-footer-links"> + <a href="/about/index.html">About Android</a> + <a href="/auto/index.html">Auto</a> + <a href="/tv/index.html">TV</a> + <a href="/wear/index.html">Wear</a> + <a href="/legal.html">Legal</a> + + <span id="language" class="locales"> + <select name="language" onchange="changeLangPref(this.value, true)"> + <option value="en" selected="selected">English</option> + <option value="es">Español</option> + <option value="ja">日本語</option> + <option value="ko">한국어</option> + <option value="ru">Русский</option> + <option value="zh-cn">中文(简体)</option> + <option value="zh-tw">中文(繁體)</option> + </select> + </span> + </p> </div> +</div> <!-- end footer --> +<div data-modal="newsletter" data-newsletter data-swap class="dac-modal newsletter"> + <div class="dac-modal-container"> + <div class="dac-modal-window"> + <header class="dac-modal-header"> + <button class="dac-modal-header-close" data-modal-toggle><i class="dac-sprite dac-close"></i></button> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-down"> + <h2 class="norule dac-modal-header-title">Get the latest Android developer news and tips that will help you find success on Google Play.</h2> + <p class="dac-modal-header-subtitle">* Required Fields</p> + </section> + <section class="dac-swap-section dac-up"> + <h2 class="norule dac-modal-header-title">Hooray!</h2> + </section> + </div> + </header> + <div class="dac-swap" data-swap-container> + <section class="dac-swap-section dac-active dac-left"> + <form action="https://docs.google.com/forms/d/1QgnkzbEJIDu9lMEea0mxqWrXUJu0oBCLD7ar23V0Yys/formResponse" class="dac-form" method="post" target="dac-newsletter-iframe"> + <section class="dac-modal-content"> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <div class="dac-form-input-group"> + <label for="newsletter-full-name" class="dac-form-floatlabel">Full name</label> + <input type="text" class="dac-form-input" name="entry.1357890476" id="newsletter-full-name" required> + <span class="dac-form-required">*</span> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-email" class="dac-form-floatlabel">Email address</label> + <input type="email" class="dac-form-input" name="entry.472100832" id="newsletter-email" required> + <span class="dac-form-required">*</span> + </div> + </div> + <div class="col-1of2 newsletter-rightCol"> + <div class="dac-form-input-group"> + <label for="newsletter-company" class="dac-form-floatlabel">Company / developer name</label> + <input type="text" class="dac-form-input" name="entry.1664780309" id="newsletter-company"> + </div> + <div class="dac-form-input-group"> + <label for="newsletter-play-store" class="dac-form-floatlabel">One of your Play Store app URLs</label> + <input type="url" class="dac-form-input" name="entry.47013838" id="newsletter-play-store" required> + <span class="dac-form-required">*</span> + </div> + </div> + </div> + </fieldset> + <fieldset class="dac-form-fieldset"> + <div class="cols"> + <div class="col-1of2 newsletter-leftCol"> + <legend class="dac-form-legend">Which best describes your business:<span class="dac-form-required">*</span> + </legend> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-app" required> + <label for="newsletter-business-type-app" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-app" class="dac-form-label">Apps</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-games" required> + <label for="newsletter-business-type-games" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-games" class="dac-form-label">Games</label> + </div> + <div class="dac-form-radio-group"> + <input type="radio" value="Apps and Games" class="dac-form-radio" name="entry.1796324055" id="newsletter-business-type-appsgames" required> + <label for="newsletter-business-type-appsgames" class="dac-form-radio-button"></label> + <label for="newsletter-business-type-appsgames" class="dac-form-label">Apps & Games</label> + </div> + </div> + <div class="col-1of2 newsletter-rightCol newsletter-checkboxes"> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.732309842" id="newsletter-add" required value="Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities."> + <label for="newsletter-add" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-add" class="dac-form-label dac-form-aside">Add me to the mailing list for the monthly newsletter and occasional emails about development and Google Play opportunities.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + <div class="dac-form-radio-group"> + <div class="dac-media"> + <div class="dac-media-figure"> + <input type="checkbox" class="dac-form-checkbox" name="entry.2045036090" id="newsletter-terms" required value="I acknowledge that the information provided in this form will be subject to Google's privacy policy (https://www.google.com/policies/privacy/)."> + <label for="newsletter-terms" class="dac-form-checkbox-button"></label> + </div> + <div class="dac-media-body"> + <label for="newsletter-terms" class="dac-form-label dac-form-aside">I acknowledge that the information provided in this form will be subject to <a href="https://www.google.com/policies/privacy/">Google's privacy policy</a>.<span class="dac-form-required">*</span></label> + </div> + </div> + </div> + </div> + </div> + </fieldset> + </section> + <footer class="dac-modal-footer"> + <div class="cols"> + <div class="col-2of5"> + </div> + </div> + <button type="submit" value="Submit" class="dac-fab dac-primary dac-large dac-modal-action"><i class="dac-sprite dac-arrow-right"></i></button> + </footer> + </form> + </section> + <section class="dac-swap-section dac-right"> + <div class="dac-modal-content"> + <p class="newsletter-success-message"> + You have successfully signed up for the latest Android developer news and tips. + </p> + </div> + </section> + </div> + </div> + </div> </div> <!-- end footer --> -</div><!-- end jd-content --> + </div> <!-- end doc-content --> +</div> <!-- end .cols --> </div> <!-- end body-content --> diff --git a/docs/html/tools/data-binding/guide.jd b/docs/html/tools/data-binding/guide.jd index 6a933d8..ec16c6b 100644 --- a/docs/html/tools/data-binding/guide.jd +++ b/docs/html/tools/data-binding/guide.jd @@ -2,15 +2,6 @@ page.title=Data Binding Guide page.tags="databinding", "layouts" @jd:body -<div class="wrap"> -<p class="caution" style="background-color:#fffdeb;"> -The <strong>Android Data Binding Library</strong> is available as a <strong>developer -preview</strong>. Expression syntax and behaviors may change prior to the full release -of the library, currently planned for Q3 2015. If you have feedback or want to report -issues, please use the <a href="https://code.google.com/p/android-developer-preview/">issue -tracker</a>. Stay tuned for more information about Data Binding and examples of how to use it. </a> -</p> -</div> <div id="qv-wrapper"> <div id="qv"> <h2> @@ -26,16 +17,16 @@ tracker</a>. Stay tuned for more information about Data Binding and examples of <a href="#data_binding_layout_files">Data Binding Layout Files</a> <ol> <li> - <a href="writing_expressions">Writing your first data binding + <a href="#writing_expressions">Writing your first data binding expressions</a> </li> <li> - <a href="data_object">Data Object</a> + <a href="#data_object">Data Object</a> </li> <li> - <a href="binding_data">Binding Data</a> + <a href="#binding_data">Binding Data</a> </li> </ol> </li> @@ -44,23 +35,23 @@ tracker</a>. Stay tuned for more information about Data Binding and examples of <a href="#layout_details">Layout Details</a> <ol> <li> - <a href="imports">Imports</a> + <a href="#imports">Imports</a> </li> <li> - <a href="variables">Variables</a> + <a href="#variables">Variables</a> </li> <li> - <a href="custom_binding_class_names">Custom Binding Class Names</a> + <a href="#custom_binding_class_names">Custom Binding Class Names</a> </li> <li> - <a href="includes">Includes</a> + <a href="#includes">Includes</a> </li> <li> - <a href="expression_language">Expression Language</a> + <a href="#expression_language">Expression Language</a> </li> </ol> </li> @@ -69,15 +60,15 @@ tracker</a>. Stay tuned for more information about Data Binding and examples of <a href="#data_objects">Data Objects</a> <ol> <li> - <a href="observable_objects">Observable Objects</a> + <a href="#observable_objects">Observable Objects</a> </li> <li> - <a href="observablefields">ObservableFields</a> + <a href="#observablefields">ObservableFields</a> </li> <li> - <a href="observable_collections">Observable Collections</a> + <a href="#observable_collections">Observable Collections</a> </li> </ol> </li> @@ -86,23 +77,23 @@ tracker</a>. Stay tuned for more information about Data Binding and examples of <a href="#generated_binding">Generated Binding</a> <ol> <li> - <a href="creating">Creating</a> + <a href="#creating">Creating</a> </li> <li> - <a href="views_with_ids">Views With IDs</a> + <a href="#views_with_ids">Views With IDs</a> </li> <li> - <a href="variables">Variables</a> + <a href="#variables">Variables</a> </li> <li> - <a href="viewstubs">ViewStubs</a> + <a href="#viewstubs">ViewStubs</a> </li> <li> - <a href="advanced_binding">Advanced Binding</a> + <a href="#advanced_binding">Advanced Binding</a> </li> </ol> </li> @@ -111,15 +102,15 @@ tracker</a>. Stay tuned for more information about Data Binding and examples of <a href="#attribute_setters">Attribute Setters</a> <ol> <li> - <a href="automatic_setters">Automatic Setters</a> + <a href="#automatic_setters">Automatic Setters</a> </li> <li> - <a href="renamed_setters">Renamed Setters</a> + <a href="#renamed_setters">Renamed Setters</a> </li> <li> - <a href="custom_setters">Custom Setters</a> + <a href="#custom_setters">Custom Setters</a> </li> </ol> </li> @@ -128,11 +119,11 @@ tracker</a>. Stay tuned for more information about Data Binding and examples of <a href="#converters">Converters</a> <ol> <li> - <a href="object_conversions">Object Conversions</a> + <a href="#object_conversions">Object Conversions</a> </li> <li> - <a href="custom_conversions">Custom Conversions</a> + <a href="#custom_conversions">Custom Conversions</a> </li> </ol> </li> @@ -140,17 +131,72 @@ tracker</a>. Stay tuned for more information about Data Binding and examples of </div><!-- qv --> </div><!-- qv-wrapper --> - <p> This document explains how to use the Data Binding Library to write declarative layouts and minimize the glue code necessary to bind your application logic and layouts. </p> +<p>The Data Binding Library offers both flexibility and broad comnpatibility +— it's a support library, so you can use it with all Android platform +versions back to <strong>Android 2.1</strong> (API level 7+).</p> + +<p>Android Studio <strong>1.3.0-beta1</strong> or higher is required.</p> + +<h4>Beta release</h4> + +<div class="caution"> + <p>Please note that the Data Binding library is a <strong>beta release</strong>. + While Data Binding is in beta, developers should be aware of the following + caveats:</p> + <ul> + <li> + This is a beta release of the feature intended to generate developer + feedback. It might contain bugs, and it might not work for your use case, + so use it at your own risk. That said, we do want your feedback! Please + let us know what is or isn’t working for you using the <a + href="https://code.google.com/p/android-developer-preview/">issue + tracker</a>. + </li> + <li> + The Data Binding library beta release is subject to significant changes, + including those which are not source code compatible with your app. That is, + significant rework may be required to take updates to the library in the future. + </li> + <li> + Developers should feel free to publish apps built with the Data Binding + library beta release, with the caveats that the standard Android SDK and + Google Play terms of service apply, and it’s always a great idea to test your + app thoroughly when adopting new libraries or tools. + </li> + <li> + We’re just getting started with Android Studio support at this time. + Further Android Studio support will come in the future. + </li> + <li> + By using the Data Binding library beta release, you acknowledge these + caveats.</li> + </ul> +</div> + +<h2 id="build_environment"> + Build Environment +</h2> + +<p>To get started with Data Binding, download the library from the Support +repository in the Android SDK manager. </p> + +<p>Make sure you are using a compatible version of Android Studio. +The Data Binding plugin for Android Studio requires Android Studio <strong>1.3.0-beta1 +or higher</strong>.</p> <h2 id="build_environment"> Build Environment </h2> +<p>To get started with Data Binding, download the library from the Support repository in the Android SDK manager. </p> + +<p>Make sure you are using a <strong>compatible version of Android Studio</strong>. The Data Binding plugin for Android Studio requires <strong>Android 1.3.0-beta1 or higher</strong>.</p> + <p> <strong>Setting Up Work Environment:</strong> </p> @@ -391,7 +437,7 @@ ListItemBinding binding = DataBindingUtil.<em>inflate</em>(layoutInflater, R.lay <<strong>variable name="userList" type="List&lt;User>"</strong>/> </<strong>data</strong>> </pre> -<p class="note"> +<p class="caution"> <strong>Note</strong>: Android Studio does not yet handle imports so the autocomplete for imported variables may not work in your IDE. Your application will still compile fine and you can work around the IDE issue by @@ -771,7 +817,7 @@ android:text="@{@plurals/banana(bananaCount)}"</strong> Have an orange Have %d oranges -android:text="<strong>&commat{&commatplurals/orange(orangeCount, orangeCount)}</strong>" +android:text="<strong>@{@plurals/orange(orangeCount, orangeCount)}</strong>" </pre> <p> Some resources require explicit type evaluation. diff --git a/docs/html/tools/data-binding/index.jd b/docs/html/tools/data-binding/index.jd deleted file mode 100644 index 4ad11b6..0000000 --- a/docs/html/tools/data-binding/index.jd +++ /dev/null @@ -1,18 +0,0 @@ -page.title=Android Data Binding Library -page.metaDescription= - -@jd:body - -<p> - Some text here. -</p> - - - -<!-- <h2>Related Resources</h2> - <div class="resource-widget resource-flow-layout col-16" - data-query="tag:engagement" - data-sortOrder="random" - data-cardSizes="6x2" - data-maxResults="3"> - </div> --> diff --git a/docs/html/tools/support-library/features.jd b/docs/html/tools/support-library/features.jd index 926578a..abe1c08 100644 --- a/docs/html/tools/support-library/features.jd +++ b/docs/html/tools/support-library/features.jd @@ -502,7 +502,7 @@ with resources</a>. </p> <p>The Gradle build script dependency identifier for this library is as follows:</p> <pre> -com.android.support:support-design:22.0.0 +com.android.support:design:22.2.0 </pre> diff --git a/docs/html/tools/tools_toc.cs b/docs/html/tools/tools_toc.cs index f46dcaa..9951330 100644 --- a/docs/html/tools/tools_toc.cs +++ b/docs/html/tools/tools_toc.cs @@ -295,11 +295,8 @@ class="en">Support Library</span></a></div> </li><!-- end of support library --> <li class="nav-section"> - <div class="nav-section-header"><a href="<?cs var:toroot ?>tools/data-binding/index.html"><span + <div class="nav-section-header empty"><a href="<?cs var:toroot ?>tools/data-binding/guide.html"><span class="en">Data Binding Library</span></a></div> - <ul> - <li><a href="<?cs var:toroot ?>tools/data-binding/guide.html">Guide</a></li> - </ul> </li><!-- end of support library --> diff --git a/docs/html/training/index.jd b/docs/html/training/index.jd index 3e0d593..1b0b1fe 100644 --- a/docs/html/training/index.jd +++ b/docs/html/training/index.jd @@ -37,6 +37,6 @@ Classes are organized into several groups you can see at the top-level of the le data-query="collection:develop/landing/courses" data-sortOrder="random" data-cardSizes="6x6" - data-maxResults="9" + data-maxResults="12" data-initial-results="3"></div> </div>
\ No newline at end of file diff --git a/docs/html/training/training_toc.cs b/docs/html/training/training_toc.cs index 535a87e..0baef14 100644 --- a/docs/html/training/training_toc.cs +++ b/docs/html/training/training_toc.cs @@ -1654,6 +1654,14 @@ results." </ul> </li> <!-- end of Background Jobs --> + <li class="nav-section"> + <div class="nav-section-header"> + <a href="<?cs var:toroot ?>training/best-performance.html"> + <span class="small">Best Practices for</span><br/> + Performance + </a> + </div> + <ul> <li> <a href="<?cs var:toroot ?>training/articles/memory.html" description= @@ -1661,7 +1669,6 @@ results." on a variety of mobile devices." >Managing Your App's Memory</a> </li> - <li> <a href="<?cs var:toroot ?>training/articles/perf-tips.html" description= @@ -1669,7 +1676,6 @@ results." responsiveness and battery efficiency." >Performance Tips</a> </li> - <li class="nav-section"> <div class="nav-section-header"> <a href="<?cs var:toroot ?>training/improving-layouts/index.html" @@ -1697,7 +1703,6 @@ results." </li> </ul> </li> - <li class="nav-section"> <div class="nav-section-header"> <a href="<?cs var:toroot ?>training/monitoring-device-state/index.html" @@ -1707,7 +1712,8 @@ results." description= "How to minimize the amount of power your app requires by adapting to current power conditions and performing power-hungry tasks at proper intervals." - >Optimizing Battery Life</a> + >Optimizing Battery Life + </a> </div> <ul> <li><a href="<?cs var:toroot ?>training/monitoring-device-state/battery-monitoring.html" @@ -1763,7 +1769,6 @@ results." </li> </ul> </li> - <li> <a href="<?cs var:toroot ?>training/articles/perf-anr.html" description= @@ -1771,7 +1776,6 @@ results." display an "Application Not Responding" dialog." >Keeping Your App Responsive</a> </li> - <li> <a href="<?cs var:toroot ?>training/articles/perf-jni.html" description= @@ -1787,8 +1791,6 @@ results." </ul> </li> <!-- end of Performance --> - - <li class="nav-section"> <div class="nav-section-header"> <a href="<?cs var:toroot ?>training/best-security.html"> diff --git a/docs/html/training/tv/index.jd b/docs/html/training/tv/index.jd index d52e1e8..ff9f111 100644 --- a/docs/html/training/tv/index.jd +++ b/docs/html/training/tv/index.jd @@ -8,4 +8,5 @@ page.image=design/tv/images/focus.png <p>These classes teach you how to build apps for TV devices.</p> -<p class="note"><strong>Note:</strong> For details on how to publish your TV apps in Google Play, see <a href="{docRoot}distribute/googleplay/tv.html">Distributing to Android TV</a>.</p>
\ No newline at end of file +<p class="note"><strong>Note:</strong> For details on how to publish your TV apps in Google Play, +see <a href="{@docRoot}distribute/googleplay/tv.html">Distribute to Android TV</a>.</p>
\ No newline at end of file diff --git a/docs/html/training/tv/playback/index.jd b/docs/html/training/tv/playback/index.jd index 0e9c5ec..e39e34a 100644 --- a/docs/html/training/tv/playback/index.jd +++ b/docs/html/training/tv/playback/index.jd @@ -42,7 +42,7 @@ startpage=true The Android framework provides classes for building user interfaces for these types of apps with the <a href="{@docRoot}tools/support-library/features.html#v17-leanback">v17 leanback support library</a>. This library provides a framework of classes for creating an efficient and familiar - interface for browsing and playing media files with minimal coding. The classes are designed + interface for browsing and playing media files with minimal coding. The classes are designed to be extended and customized so you can create an experience that is unique to your app. </p> diff --git a/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java b/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java index b8f64a4..100c2f4 100644 --- a/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java +++ b/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java @@ -19,12 +19,14 @@ import android.animation.AnimatorInflater; import android.animation.AnimatorSet; import android.animation.Animator.AnimatorListener; import android.annotation.NonNull; +import android.annotation.Nullable; import android.content.res.ColorStateList; import android.content.res.Resources; import android.content.res.Resources.Theme; import android.content.res.TypedArray; import android.graphics.Canvas; import android.graphics.ColorFilter; +import android.graphics.Insets; import android.graphics.Outline; import android.graphics.PorterDuff; import android.graphics.Rect; @@ -128,15 +130,27 @@ import java.util.List; * @attr ref android.R.styleable#AnimatedVectorDrawableTarget_animation */ public class AnimatedVectorDrawable extends Drawable implements Animatable { - private static final String LOGTAG = AnimatedVectorDrawable.class.getSimpleName(); + private static final String LOGTAG = "AnimatedVectorDrawable"; private static final String ANIMATED_VECTOR = "animated-vector"; private static final String TARGET = "target"; private static final boolean DBG_ANIMATION_VECTOR_DRAWABLE = false; + /** Local, mutable animator set. */ + private final AnimatorSet mAnimatorSet = new AnimatorSet(); + + /** + * The resources against which this drawable was created. Used to attempt + * to inflate animators if applyTheme() doesn't get called. + */ + private Resources mRes; + private AnimatedVectorDrawableState mAnimatedVectorState; + /** Whether the animator set has been prepared. */ + private boolean mHasAnimatorSet; + private boolean mMutated; public AnimatedVectorDrawable() { @@ -145,6 +159,7 @@ public class AnimatedVectorDrawable extends Drawable implements Animatable { private AnimatedVectorDrawable(AnimatedVectorDrawableState state, Resources res) { mAnimatedVectorState = new AnimatedVectorDrawableState(state, mCallback, res); + mRes = res; } @Override @@ -162,7 +177,9 @@ public class AnimatedVectorDrawable extends Drawable implements Animatable { */ public void clearMutated() { super.clearMutated(); - mAnimatedVectorState.mVectorDrawable.clearMutated(); + if (mAnimatedVectorState.mVectorDrawable != null) { + mAnimatedVectorState.mVectorDrawable.clearMutated(); + } mMutated = false; } @@ -271,9 +288,16 @@ public class AnimatedVectorDrawable extends Drawable implements Animatable { mAnimatedVectorState.mVectorDrawable.getOutline(outline); } + /** @hide */ + @Override + public Insets getOpticalInsets() { + return mAnimatedVectorState.mVectorDrawable.getOpticalInsets(); + } + @Override public void inflate(Resources res, XmlPullParser parser, AttributeSet attrs, Theme theme) throws XmlPullParserException, IOException { + final AnimatedVectorDrawableState state = mAnimatedVectorState; int eventType = parser.getEventType(); float pathErrorScale = 1; @@ -291,10 +315,10 @@ public class AnimatedVectorDrawable extends Drawable implements Animatable { vectorDrawable.setAllowCaching(false); vectorDrawable.setCallback(mCallback); pathErrorScale = vectorDrawable.getPixelSize(); - if (mAnimatedVectorState.mVectorDrawable != null) { - mAnimatedVectorState.mVectorDrawable.setCallback(null); + if (state.mVectorDrawable != null) { + state.mVectorDrawable.setCallback(null); } - mAnimatedVectorState.mVectorDrawable = vectorDrawable; + state.mVectorDrawable = vectorDrawable; } a.recycle(); } else if (TARGET.equals(tagName)) { @@ -302,13 +326,21 @@ public class AnimatedVectorDrawable extends Drawable implements Animatable { R.styleable.AnimatedVectorDrawableTarget); final String target = a.getString( R.styleable.AnimatedVectorDrawableTarget_name); - - int id = a.getResourceId( + final int animResId = a.getResourceId( R.styleable.AnimatedVectorDrawableTarget_animation, 0); - if (id != 0) { - Animator objectAnimator = AnimatorInflater.loadAnimator(res, theme, id, - pathErrorScale); - setupAnimatorsForTarget(target, objectAnimator); + if (animResId != 0) { + if (theme != null) { + final Animator objectAnimator = AnimatorInflater.loadAnimator( + res, theme, animResId, pathErrorScale); + state.addTargetAnimator(target, objectAnimator); + } else { + // The animation may be theme-dependent. As a + // workaround until Animator has full support for + // applyTheme(), postpone loading the animator + // until we have a theme in applyTheme(). + state.addPendingAnimator(animResId, pathErrorScale, target); + + } } a.recycle(); } @@ -316,15 +348,10 @@ public class AnimatedVectorDrawable extends Drawable implements Animatable { eventType = parser.next(); } - setupAnimatorSet(); - } - private void setupAnimatorSet() { - if (mAnimatedVectorState.mTempAnimators != null) { - mAnimatedVectorState.mAnimatorSet.playTogether(mAnimatedVectorState.mTempAnimators); - mAnimatedVectorState.mTempAnimators.clear(); - mAnimatedVectorState.mTempAnimators = null; - } + // If we don't have any pending animations, we don't need to hold a + // reference to the resources. + mRes = state.mPendingAnims == null ? null : res; } @Override @@ -341,6 +368,16 @@ public class AnimatedVectorDrawable extends Drawable implements Animatable { if (vectorDrawable != null && vectorDrawable.canApplyTheme()) { vectorDrawable.applyTheme(t); } + + if (t != null) { + mAnimatedVectorState.inflatePendingAnimators(t.getResources(), t); + } + + // If we don't have any pending animations, we don't need to hold a + // reference to the resources. + if (mAnimatedVectorState.mPendingAnims == null) { + mRes = null; + } } /** @@ -350,7 +387,7 @@ public class AnimatedVectorDrawable extends Drawable implements Animatable { * @param listener the listener to be added to the current set of listeners for this animation. */ public void addListener(AnimatorListener listener) { - mAnimatedVectorState.mAnimatorSet.addListener(listener); + mAnimatorSet.addListener(listener); } /** @@ -360,7 +397,7 @@ public class AnimatedVectorDrawable extends Drawable implements Animatable { * animation. */ public void removeListener(AnimatorListener listener) { - mAnimatedVectorState.mAnimatorSet.removeListener(listener); + mAnimatorSet.removeListener(listener); } /** @@ -370,23 +407,27 @@ public class AnimatedVectorDrawable extends Drawable implements Animatable { * @return List<AnimatorListener> The set of listeners. */ public List<AnimatorListener> getListeners() { - return mAnimatedVectorState.mAnimatorSet.getListeners(); + return mAnimatorSet.getListeners(); } private static class AnimatedVectorDrawableState extends ConstantState { int mChangingConfigurations; VectorDrawable mVectorDrawable; - // Always have a valid animatorSet to handle all the listeners call. - AnimatorSet mAnimatorSet = new AnimatorSet(); - // When parsing the XML, we build individual animator and store in this array. At the end, - // we add this array into the mAnimatorSet. - private ArrayList<Animator> mTempAnimators; + + /** Animators that require a theme before inflation. */ + ArrayList<PendingAnimator> mPendingAnims; + + /** Fully inflated animators awaiting cloning into an AnimatorSet. */ + ArrayList<Animator> mAnimators; + + /** Map of animators to their target object names */ ArrayMap<Animator, String> mTargetNameMap; public AnimatedVectorDrawableState(AnimatedVectorDrawableState copy, Callback owner, Resources res) { if (copy != null) { mChangingConfigurations = copy.mChangingConfigurations; + if (copy.mVectorDrawable != null) { final ConstantState cs = copy.mVectorDrawable.getConstantState(); if (res != null) { @@ -400,24 +441,17 @@ public class AnimatedVectorDrawable extends Drawable implements Animatable { mVectorDrawable.setBounds(copy.mVectorDrawable.getBounds()); mVectorDrawable.setAllowCaching(false); } - if (copy.mAnimatorSet != null) { - final int numAnimators = copy.mTargetNameMap.size(); - // Deep copy a animator set, and then setup the target map again. - mAnimatorSet = copy.mAnimatorSet.clone(); - mTargetNameMap = new ArrayMap<Animator, String>(numAnimators); - // Since the new AnimatorSet is cloned from the old one, the order must be the - // same inside the array. - ArrayList<Animator> oldAnim = copy.mAnimatorSet.getChildAnimations(); - ArrayList<Animator> newAnim = mAnimatorSet.getChildAnimations(); - - for (int i = 0; i < numAnimators; ++i) { - // Target name must be the same for new and old - String targetName = copy.mTargetNameMap.get(oldAnim.get(i)); - - Object newTargetObject = mVectorDrawable.getTargetByName(targetName); - newAnim.get(i).setTarget(newTargetObject); - mTargetNameMap.put(newAnim.get(i), targetName); - } + + if (copy.mAnimators != null) { + mAnimators = new ArrayList<>(copy.mAnimators); + } + + if (copy.mTargetNameMap != null) { + mTargetNameMap = new ArrayMap<>(copy.mTargetNameMap); + } + + if (copy.mPendingAnims != null) { + mPendingAnims = new ArrayList<>(copy.mPendingAnims); } } else { mVectorDrawable = new VectorDrawable(); @@ -427,7 +461,7 @@ public class AnimatedVectorDrawable extends Drawable implements Animatable { @Override public boolean canApplyTheme() { return (mVectorDrawable != null && mVectorDrawable.canApplyTheme()) - || super.canApplyTheme(); + || mPendingAnims != null || super.canApplyTheme(); } @Override @@ -444,44 +478,157 @@ public class AnimatedVectorDrawable extends Drawable implements Animatable { public int getChangingConfigurations() { return mChangingConfigurations; } - } - private void setupAnimatorsForTarget(String name, Animator animator) { - Object target = mAnimatedVectorState.mVectorDrawable.getTargetByName(name); - animator.setTarget(target); - if (mAnimatedVectorState.mTempAnimators == null) { - mAnimatedVectorState.mTempAnimators = new ArrayList<Animator>(); - mAnimatedVectorState.mTargetNameMap = new ArrayMap<Animator, String>(); + public void addPendingAnimator(int resId, float pathErrorScale, String target) { + if (mPendingAnims == null) { + mPendingAnims = new ArrayList<>(1); + } + mPendingAnims.add(new PendingAnimator(resId, pathErrorScale, target)); } - mAnimatedVectorState.mTempAnimators.add(animator); - mAnimatedVectorState.mTargetNameMap.put(animator, name); - if (DBG_ANIMATION_VECTOR_DRAWABLE) { - Log.v(LOGTAG, "add animator for target " + name + " " + animator); + + public void addTargetAnimator(String targetName, Animator animator) { + if (mAnimators == null) { + mAnimators = new ArrayList<>(1); + mTargetNameMap = new ArrayMap<>(1); + } + mAnimators.add(animator); + mTargetNameMap.put(animator, targetName); + + if (DBG_ANIMATION_VECTOR_DRAWABLE) { + Log.v(LOGTAG, "add animator for target " + targetName + " " + animator); + } + } + + /** + * Prepares a local set of mutable animators based on the constant + * state. + * <p> + * If there are any pending uninflated animators, attempts to inflate + * them immediately against the provided resources object. + * + * @param animatorSet the animator set to which the animators should + * be added + * @param res the resources against which to inflate any pending + * animators, or {@code null} if not available + */ + public void prepareLocalAnimators(@NonNull AnimatorSet animatorSet, + @Nullable Resources res) { + // Check for uninflated animators. We can remove this after we add + // support for Animator.applyTheme(). See comments in inflate(). + if (mPendingAnims != null) { + // Attempt to load animators without applying a theme. + if (res != null) { + inflatePendingAnimators(res, null); + } else { + Log.e(LOGTAG, "Failed to load animators. Either the AnimatedVectorDrawable" + + " must be created using a Resources object or applyTheme() must be" + + " called with a non-null Theme object."); + } + + mPendingAnims = null; + } + + // Perform a deep copy of the constant state's animators. + final int count = mAnimators == null ? 0 : mAnimators.size(); + if (count > 0) { + final Animator firstAnim = prepareLocalAnimator(0); + final AnimatorSet.Builder builder = animatorSet.play(firstAnim); + for (int i = 1; i < count; ++i) { + final Animator nextAnim = prepareLocalAnimator(i); + builder.with(nextAnim); + } + } + } + + /** + * Prepares a local animator for the given index within the constant + * state's list of animators. + * + * @param index the index of the animator within the constant state + */ + private Animator prepareLocalAnimator(int index) { + final Animator animator = mAnimators.get(index); + final Animator localAnimator = animator.clone(); + final String targetName = mTargetNameMap.get(animator); + final Object target = mVectorDrawable.getTargetByName(targetName); + localAnimator.setTarget(target); + return localAnimator; + } + + /** + * Inflates pending animators, if any, against a theme. Clears the list of + * pending animators. + * + * @param t the theme against which to inflate the animators + */ + public void inflatePendingAnimators(@NonNull Resources res, @Nullable Theme t) { + final ArrayList<PendingAnimator> pendingAnims = mPendingAnims; + if (pendingAnims != null) { + mPendingAnims = null; + + for (int i = 0, count = pendingAnims.size(); i < count; i++) { + final PendingAnimator pendingAnimator = pendingAnims.get(i); + final Animator objectAnimator = pendingAnimator.newInstance(res, t); + addTargetAnimator(pendingAnimator.target, objectAnimator); + } + } + } + + /** + * Basically a constant state for Animators until we actually implement + * constant states for Animators. + */ + private static class PendingAnimator { + public final int animResId; + public final float pathErrorScale; + public final String target; + + public PendingAnimator(int animResId, float pathErrorScale, String target) { + this.animResId = animResId; + this.pathErrorScale = pathErrorScale; + this.target = target; + } + + public Animator newInstance(Resources res, Theme theme) { + return AnimatorInflater.loadAnimator(res, theme, animResId, pathErrorScale); + } } } @Override public boolean isRunning() { - return mAnimatedVectorState.mAnimatorSet.isRunning(); + return mAnimatorSet.isRunning(); } private boolean isStarted() { - return mAnimatedVectorState.mAnimatorSet.isStarted(); + return mAnimatorSet.isStarted(); } @Override public void start() { + ensureAnimatorSet(); + // If any one of the animator has not ended, do nothing. if (isStarted()) { return; } - mAnimatedVectorState.mAnimatorSet.start(); + + mAnimatorSet.start(); invalidateSelf(); } + @NonNull + private void ensureAnimatorSet() { + if (!mHasAnimatorSet) { + mAnimatedVectorState.prepareLocalAnimators(mAnimatorSet, mRes); + mHasAnimatorSet = true; + mRes = null; + } + } + @Override public void stop() { - mAnimatedVectorState.mAnimatorSet.end(); + mAnimatorSet.end(); } /** @@ -492,20 +639,23 @@ public class AnimatedVectorDrawable extends Drawable implements Animatable { * @hide */ public void reverse() { - // Only reverse when all the animators can be reverse. Otherwise, partially - // reverse is confusing. + ensureAnimatorSet(); + + // Only reverse when all the animators can be reversed. if (!canReverse()) { Log.w(LOGTAG, "AnimatedVectorDrawable can't reverse()"); return; } - mAnimatedVectorState.mAnimatorSet.reverse(); + + mAnimatorSet.reverse(); + invalidateSelf(); } /** * @hide */ public boolean canReverse() { - return mAnimatedVectorState.mAnimatorSet.canReverse(); + return mAnimatorSet.canReverse(); } private final Callback mCallback = new Callback() { diff --git a/graphics/java/android/graphics/drawable/ClipDrawable.java b/graphics/java/android/graphics/drawable/ClipDrawable.java index 2acf602..31fccd0 100644 --- a/graphics/java/android/graphics/drawable/ClipDrawable.java +++ b/graphics/java/android/graphics/drawable/ClipDrawable.java @@ -150,6 +150,23 @@ public class ClipDrawable extends DrawableWrapper { } @Override + public int getOpacity() { + final Drawable dr = getDrawable(); + final int opacity = dr.getOpacity(); + if (opacity == PixelFormat.TRANSPARENT || dr.getLevel() == 0) { + return PixelFormat.TRANSPARENT; + } + + final int level = getLevel(); + if (level >= MAX_LEVEL) { + return dr.getOpacity(); + } + + // Some portion of non-transparent drawable is showing. + return PixelFormat.TRANSLUCENT; + } + + @Override public void draw(Canvas canvas) { final Drawable dr = getDrawable(); if (dr.getLevel() == 0) { diff --git a/graphics/java/android/graphics/drawable/DrawableWrapper.java b/graphics/java/android/graphics/drawable/DrawableWrapper.java index 58d43f9..9185e1a 100644 --- a/graphics/java/android/graphics/drawable/DrawableWrapper.java +++ b/graphics/java/android/graphics/drawable/DrawableWrapper.java @@ -180,7 +180,8 @@ public abstract class DrawableWrapper extends Drawable implements Drawable.Callb @Override public int getChangingConfigurations() { return super.getChangingConfigurations() - | (mState != null ? mState.getChangingConfigurations() : 0); + | (mState != null ? mState.getChangingConfigurations() : 0) + | mDrawable.getChangingConfigurations(); } @Override @@ -366,15 +367,12 @@ public abstract class DrawableWrapper extends Drawable implements Drawable.Callb } /** - * Called during inflation to inflate the child element. + * Called during inflation to inflate the child element. The last valid + * child element will take precedence over any other child elements or + * explicit drawable attribute. */ void inflateChildDrawable(Resources r, XmlPullParser parser, AttributeSet attrs, Resources.Theme theme) throws XmlPullParserException, IOException { - // Drawable specified on the root element takes precedence. - if (getDrawable() != null) { - return; - } - // Seek to the first child element. Drawable dr = null; int type; @@ -383,7 +381,6 @@ public abstract class DrawableWrapper extends Drawable implements Drawable.Callb && (type != XmlPullParser.END_TAG || parser.getDepth() > outerDepth)) { if (type == XmlPullParser.START_TAG) { dr = Drawable.createFromXmlInner(r, parser, attrs, theme); - break; } } diff --git a/graphics/java/android/graphics/drawable/GradientDrawable.java b/graphics/java/android/graphics/drawable/GradientDrawable.java index 4c2817c..ed47eed 100644 --- a/graphics/java/android/graphics/drawable/GradientDrawable.java +++ b/graphics/java/android/graphics/drawable/GradientDrawable.java @@ -25,6 +25,7 @@ import android.graphics.Canvas; import android.graphics.Color; import android.graphics.ColorFilter; import android.graphics.DashPathEffect; +import android.graphics.Insets; import android.graphics.LinearGradient; import android.graphics.Outline; import android.graphics.Paint; @@ -1107,6 +1108,16 @@ public class GradientDrawable extends Drawable { if (tint != null) { state.mTint = tint; } + + final int insetLeft = a.getDimensionPixelSize( + R.styleable.GradientDrawable_opticalInsetLeft, state.mOpticalInsets.left); + final int insetTop = a.getDimensionPixelSize( + R.styleable.GradientDrawable_opticalInsetTop, state.mOpticalInsets.top); + final int insetRight = a.getDimensionPixelSize( + R.styleable.GradientDrawable_opticalInsetRight, state.mOpticalInsets.right); + final int insetBottom = a.getDimensionPixelSize( + R.styleable.GradientDrawable_opticalInsetBottom, state.mOpticalInsets.bottom); + state.mOpticalInsets = Insets.of(insetLeft, insetTop, insetRight, insetBottom); } @Override @@ -1469,6 +1480,12 @@ public class GradientDrawable extends Drawable { return mGradientState.mHeight; } + /** @hide */ + @Override + public Insets getOpticalInsets() { + return mGradientState.mOpticalInsets; + } + @Override public ConstantState getConstantState() { mGradientState.mChangingConfigurations = getChangingConfigurations(); @@ -1573,6 +1590,7 @@ public class GradientDrawable extends Drawable { public int mInnerRadius = -1; public int mThickness = -1; public boolean mDither = false; + public Insets mOpticalInsets = Insets.NONE; float mCenterX = 0.5f; float mCenterY = 0.5f; @@ -1631,6 +1649,7 @@ public class GradientDrawable extends Drawable { mInnerRadius = state.mInnerRadius; mThickness = state.mThickness; mDither = state.mDither; + mOpticalInsets = state.mOpticalInsets; mCenterX = state.mCenterX; mCenterY = state.mCenterY; mGradientRadius = state.mGradientRadius; diff --git a/graphics/java/android/graphics/drawable/RippleComponent.java b/graphics/java/android/graphics/drawable/RippleComponent.java index 5ba2f93..aa2aa20 100644 --- a/graphics/java/android/graphics/drawable/RippleComponent.java +++ b/graphics/java/android/graphics/drawable/RippleComponent.java @@ -237,7 +237,7 @@ abstract class RippleComponent { } protected final void invalidateSelf() { - mOwner.invalidateSelf(); + mOwner.invalidateSelf(false); } protected final boolean isHardwareAnimating() { diff --git a/graphics/java/android/graphics/drawable/RippleDrawable.java b/graphics/java/android/graphics/drawable/RippleDrawable.java index f7e8ed0..1af48ca 100644 --- a/graphics/java/android/graphics/drawable/RippleDrawable.java +++ b/graphics/java/android/graphics/drawable/RippleDrawable.java @@ -229,7 +229,7 @@ public class RippleDrawable extends LayerDrawable { mExitingRipplesCount = 0; // Always draw an additional "clean" frame after canceling animations. - invalidateSelf(); + invalidateSelf(false); } @Override @@ -364,7 +364,7 @@ public class RippleDrawable extends LayerDrawable { */ public void setColor(ColorStateList color) { mState.mColor = color; - invalidateSelf(); + invalidateSelf(false); } /** @@ -376,7 +376,7 @@ public class RippleDrawable extends LayerDrawable { */ public void setRadius(int radius) { mState.mMaxRadius = radius; - invalidateSelf(); + invalidateSelf(false); } /** @@ -477,7 +477,7 @@ public class RippleDrawable extends LayerDrawable { private void setTargetDensity(DisplayMetrics metrics) { if (mDensity != metrics.density) { mDensity = metrics.density; - invalidateSelf(); + invalidateSelf(false); } } @@ -684,10 +684,17 @@ public class RippleDrawable extends LayerDrawable { @Override public void invalidateSelf() { + invalidateSelf(true); + } + + void invalidateSelf(boolean invalidateMask) { super.invalidateSelf(); - // Force the mask to update on the next draw(). - mHasValidMask = false; + if (invalidateMask) { + // Force the mask to update on the next draw(). + mHasValidMask = false; + } + } private void pruneRipples() { diff --git a/graphics/java/android/graphics/drawable/VectorDrawable.java b/graphics/java/android/graphics/drawable/VectorDrawable.java index f4df14e..b9f3f2a 100644 --- a/graphics/java/android/graphics/drawable/VectorDrawable.java +++ b/graphics/java/android/graphics/drawable/VectorDrawable.java @@ -23,6 +23,7 @@ import android.graphics.Bitmap; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.ColorFilter; +import android.graphics.Insets; import android.graphics.Matrix; import android.graphics.Paint; import android.graphics.Path; @@ -361,6 +362,12 @@ public class VectorDrawable extends Drawable { return (int) mVectorState.mVPathRenderer.mBaseHeight; } + /** @hide */ + @Override + public Insets getOpticalInsets() { + return mVectorState.mVPathRenderer.mOpticalInsets; + } + @Override public boolean canApplyTheme() { return (mVectorState != null && mVectorState.canApplyTheme()) || super.canApplyTheme(); @@ -524,6 +531,16 @@ public class VectorDrawable extends Drawable { "<vector> tag requires height > 0"); } + final int insetLeft = a.getDimensionPixelSize( + R.styleable.VectorDrawable_opticalInsetLeft, pathRenderer.mOpticalInsets.left); + final int insetTop = a.getDimensionPixelSize( + R.styleable.VectorDrawable_opticalInsetTop, pathRenderer.mOpticalInsets.top); + final int insetRight = a.getDimensionPixelSize( + R.styleable.VectorDrawable_opticalInsetRight, pathRenderer.mOpticalInsets.right); + final int insetBottom = a.getDimensionPixelSize( + R.styleable.VectorDrawable_opticalInsetBottom, pathRenderer.mOpticalInsets.bottom); + pathRenderer.mOpticalInsets = Insets.of(insetLeft, insetTop, insetRight, insetBottom); + final float alphaInFloat = a.getFloat(R.styleable.VectorDrawable_alpha, pathRenderer.getAlpha()); pathRenderer.setAlpha(alphaInFloat); @@ -821,6 +838,7 @@ public class VectorDrawable extends Drawable { float mBaseHeight = 0; float mViewportWidth = 0; float mViewportHeight = 0; + Insets mOpticalInsets = Insets.NONE; int mRootAlpha = 0xFF; String mRootName = null; @@ -859,6 +877,7 @@ public class VectorDrawable extends Drawable { mBaseHeight = copy.mBaseHeight; mViewportWidth = copy.mViewportWidth; mViewportHeight = copy.mViewportHeight; + mOpticalInsets = copy.mOpticalInsets; mChangingConfigurations = copy.mChangingConfigurations; mRootAlpha = copy.mRootAlpha; mRootName = copy.mRootName; diff --git a/keystore/java/android/security/keystore/AndroidKeyStoreBCWorkaroundProvider.java b/keystore/java/android/security/keystore/AndroidKeyStoreBCWorkaroundProvider.java index 3774e36..03be759 100644 --- a/keystore/java/android/security/keystore/AndroidKeyStoreBCWorkaroundProvider.java +++ b/keystore/java/android/security/keystore/AndroidKeyStoreBCWorkaroundProvider.java @@ -51,24 +51,43 @@ class AndroidKeyStoreBCWorkaroundProvider extends Provider { // javax.crypto.Mac putMacImpl("HmacSHA1", PACKAGE_NAME + ".AndroidKeyStoreHmacSpi$HmacSHA1"); + put("Alg.Alias.Mac.1.2.840.113549.2.7", "HmacSHA1"); + put("Alg.Alias.Mac.HMAC-SHA1", "HmacSHA1"); + put("Alg.Alias.Mac.HMAC/SHA1", "HmacSHA1"); + putMacImpl("HmacSHA224", PACKAGE_NAME + ".AndroidKeyStoreHmacSpi$HmacSHA224"); + put("Alg.Alias.Mac.1.2.840.113549.2.9", "HmacSHA224"); + put("Alg.Alias.Mac.HMAC-SHA224", "HmacSHA224"); + put("Alg.Alias.Mac.HMAC/SHA224", "HmacSHA224"); + putMacImpl("HmacSHA256", PACKAGE_NAME + ".AndroidKeyStoreHmacSpi$HmacSHA256"); + put("Alg.Alias.Mac.1.2.840.113549.2.9", "HmacSHA256"); + put("Alg.Alias.Mac.HMAC-SHA256", "HmacSHA256"); + put("Alg.Alias.Mac.HMAC/SHA256", "HmacSHA256"); + putMacImpl("HmacSHA384", PACKAGE_NAME + ".AndroidKeyStoreHmacSpi$HmacSHA384"); + put("Alg.Alias.Mac.1.2.840.113549.2.10", "HmacSHA384"); + put("Alg.Alias.Mac.HMAC-SHA384", "HmacSHA384"); + put("Alg.Alias.Mac.HMAC/SHA384", "HmacSHA384"); + putMacImpl("HmacSHA512", PACKAGE_NAME + ".AndroidKeyStoreHmacSpi$HmacSHA512"); + put("Alg.Alias.Mac.1.2.840.113549.2.11", "HmacSHA512"); + put("Alg.Alias.Mac.HMAC-SHA512", "HmacSHA512"); + put("Alg.Alias.Mac.HMAC/SHA512", "HmacSHA512"); // javax.crypto.Cipher putSymmetricCipherImpl("AES/ECB/NoPadding", - PACKAGE_NAME + ".AndroidKeyStoreCipherSpi$AES$ECB$NoPadding"); + PACKAGE_NAME + ".AndroidKeyStoreUnauthenticatedAESCipherSpi$ECB$NoPadding"); putSymmetricCipherImpl("AES/ECB/PKCS7Padding", - PACKAGE_NAME + ".AndroidKeyStoreCipherSpi$AES$ECB$PKCS7Padding"); + PACKAGE_NAME + ".AndroidKeyStoreUnauthenticatedAESCipherSpi$ECB$PKCS7Padding"); putSymmetricCipherImpl("AES/CBC/NoPadding", - PACKAGE_NAME + ".AndroidKeyStoreCipherSpi$AES$CBC$NoPadding"); + PACKAGE_NAME + ".AndroidKeyStoreUnauthenticatedAESCipherSpi$CBC$NoPadding"); putSymmetricCipherImpl("AES/CBC/PKCS7Padding", - PACKAGE_NAME + ".AndroidKeyStoreCipherSpi$AES$CBC$PKCS7Padding"); + PACKAGE_NAME + ".AndroidKeyStoreUnauthenticatedAESCipherSpi$CBC$PKCS7Padding"); putSymmetricCipherImpl("AES/CTR/NoPadding", - PACKAGE_NAME + ".AndroidKeyStoreCipherSpi$AES$CTR$NoPadding"); + PACKAGE_NAME + ".AndroidKeyStoreUnauthenticatedAESCipherSpi$CTR$NoPadding"); } private void putMacImpl(String algorithm, String implClass) { diff --git a/keystore/java/android/security/keystore/AndroidKeyStoreCipherSpi.java b/keystore/java/android/security/keystore/AndroidKeyStoreCipherSpi.java deleted file mode 100644 index 27df5e7..0000000 --- a/keystore/java/android/security/keystore/AndroidKeyStoreCipherSpi.java +++ /dev/null @@ -1,685 +0,0 @@ -/* - * Copyright (C) 2015 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.security.keystore; - -import android.os.IBinder; -import android.security.KeyStore; -import android.security.KeyStoreException; -import android.security.keymaster.KeymasterArguments; -import android.security.keymaster.KeymasterDefs; -import android.security.keymaster.OperationResult; -import android.security.keystore.KeyProperties; - -import java.security.AlgorithmParameters; -import java.security.GeneralSecurityException; -import java.security.InvalidAlgorithmParameterException; -import java.security.InvalidKeyException; -import java.security.Key; -import java.security.NoSuchAlgorithmException; -import java.security.ProviderException; -import java.security.SecureRandom; -import java.security.spec.AlgorithmParameterSpec; -import java.security.spec.InvalidParameterSpecException; -import java.util.Arrays; - -import javax.crypto.AEADBadTagException; -import javax.crypto.BadPaddingException; -import javax.crypto.Cipher; -import javax.crypto.CipherSpi; -import javax.crypto.IllegalBlockSizeException; -import javax.crypto.NoSuchPaddingException; -import javax.crypto.ShortBufferException; -import javax.crypto.spec.IvParameterSpec; - -/** - * Base class for {@link CipherSpi} providing Android KeyStore backed ciphers. - * - * @hide - */ -public abstract class AndroidKeyStoreCipherSpi extends CipherSpi - implements KeyStoreCryptoOperation { - - public abstract static class AES extends AndroidKeyStoreCipherSpi { - protected AES(int keymasterBlockMode, int keymasterPadding, boolean ivUsed) { - super(KeymasterDefs.KM_ALGORITHM_AES, - keymasterBlockMode, - keymasterPadding, - 16, - ivUsed); - } - - public abstract static class ECB extends AES { - protected ECB(int keymasterPadding) { - super(KeymasterDefs.KM_MODE_ECB, keymasterPadding, false); - } - - public static class NoPadding extends ECB { - public NoPadding() { - super(KeymasterDefs.KM_PAD_NONE); - } - } - - public static class PKCS7Padding extends ECB { - public PKCS7Padding() { - super(KeymasterDefs.KM_PAD_PKCS7); - } - } - } - - public abstract static class CBC extends AES { - protected CBC(int keymasterPadding) { - super(KeymasterDefs.KM_MODE_CBC, keymasterPadding, true); - } - - public static class NoPadding extends CBC { - public NoPadding() { - super(KeymasterDefs.KM_PAD_NONE); - } - } - - public static class PKCS7Padding extends CBC { - public PKCS7Padding() { - super(KeymasterDefs.KM_PAD_PKCS7); - } - } - } - - public abstract static class CTR extends AES { - protected CTR(int keymasterPadding) { - super(KeymasterDefs.KM_MODE_CTR, keymasterPadding, true); - } - - public static class NoPadding extends CTR { - public NoPadding() { - super(KeymasterDefs.KM_PAD_NONE); - } - } - } - } - - private final KeyStore mKeyStore; - private final int mKeymasterAlgorithm; - private final int mKeymasterBlockMode; - private final int mKeymasterPadding; - private final int mBlockSizeBytes; - - /** Whether this transformation requires an IV. */ - private final boolean mIvRequired; - - // Fields below are populated by Cipher.init and KeyStore.begin and should be preserved after - // doFinal finishes. - protected boolean mEncrypting; - private AndroidKeyStoreSecretKey mKey; - private SecureRandom mRng; - private boolean mFirstOperationInitiated; - private byte[] mIv; - /** Whether the current {@code #mIv} has been used by the underlying crypto operation. */ - private boolean mIvHasBeenUsed; - - // Fields below must be reset after doFinal - private byte[] mAdditionalEntropyForBegin; - - /** - * Token referencing this operation inside keystore service. It is initialized by - * {@code engineInit} and is invalidated when {@code engineDoFinal} succeeds and one some - * error conditions in between. - */ - private IBinder mOperationToken; - private long mOperationHandle; - private KeyStoreCryptoOperationChunkedStreamer mMainDataStreamer; - - /** - * Encountered exception which could not be immediately thrown because it was encountered inside - * a method that does not throw checked exception. This exception will be thrown from - * {@code engineDoFinal}. Once such an exception is encountered, {@code engineUpdate} and - * {@code engineDoFinal} start ignoring input data. - */ - private Exception mCachedException; - - protected AndroidKeyStoreCipherSpi( - int keymasterAlgorithm, - int keymasterBlockMode, - int keymasterPadding, - int blockSizeBytes, - boolean ivUsed) { - mKeyStore = KeyStore.getInstance(); - mKeymasterAlgorithm = keymasterAlgorithm; - mKeymasterBlockMode = keymasterBlockMode; - mKeymasterPadding = keymasterPadding; - mBlockSizeBytes = blockSizeBytes; - mIvRequired = ivUsed; - } - - @Override - protected void engineInit(int opmode, Key key, SecureRandom random) throws InvalidKeyException { - resetAll(); - - boolean success = false; - try { - init(opmode, key, random); - initAlgorithmSpecificParameters(); - try { - ensureKeystoreOperationInitialized(); - } catch (InvalidAlgorithmParameterException e) { - throw new InvalidKeyException(e); - } - success = true; - } finally { - if (!success) { - resetAll(); - } - } - } - - @Override - protected void engineInit(int opmode, Key key, AlgorithmParameters params, SecureRandom random) - throws InvalidKeyException, InvalidAlgorithmParameterException { - resetAll(); - - boolean success = false; - try { - init(opmode, key, random); - initAlgorithmSpecificParameters(params); - ensureKeystoreOperationInitialized(); - success = true; - } finally { - if (!success) { - resetAll(); - } - } - } - - @Override - protected void engineInit(int opmode, Key key, AlgorithmParameterSpec params, - SecureRandom random) throws InvalidKeyException, InvalidAlgorithmParameterException { - resetAll(); - - boolean success = false; - try { - init(opmode, key, random); - initAlgorithmSpecificParameters(params); - ensureKeystoreOperationInitialized(); - success = true; - } finally { - if (!success) { - resetAll(); - } - } - } - - private void init(int opmode, Key key, SecureRandom random) throws InvalidKeyException { - if (!(key instanceof AndroidKeyStoreSecretKey)) { - throw new InvalidKeyException( - "Unsupported key: " + ((key != null) ? key.getClass().getName() : "null")); - } - mKey = (AndroidKeyStoreSecretKey) key; - mRng = random; - mIv = null; - mFirstOperationInitiated = false; - - if ((opmode != Cipher.ENCRYPT_MODE) && (opmode != Cipher.DECRYPT_MODE)) { - throw new UnsupportedOperationException( - "Only ENCRYPT and DECRYPT modes supported. Mode: " + opmode); - } - mEncrypting = opmode == Cipher.ENCRYPT_MODE; - } - - private void resetAll() { - IBinder operationToken = mOperationToken; - if (operationToken != null) { - mOperationToken = null; - mKeyStore.abort(operationToken); - } - mEncrypting = false; - mKey = null; - mRng = null; - mFirstOperationInitiated = false; - mIv = null; - mIvHasBeenUsed = false; - mAdditionalEntropyForBegin = null; - mOperationToken = null; - mOperationHandle = 0; - mMainDataStreamer = null; - mCachedException = null; - } - - private void resetWhilePreservingInitState() { - IBinder operationToken = mOperationToken; - if (operationToken != null) { - mOperationToken = null; - mKeyStore.abort(operationToken); - } - mOperationHandle = 0; - mMainDataStreamer = null; - mAdditionalEntropyForBegin = null; - mCachedException = null; - } - - private void ensureKeystoreOperationInitialized() throws InvalidKeyException, - InvalidAlgorithmParameterException { - if (mMainDataStreamer != null) { - return; - } - if (mCachedException != null) { - return; - } - if (mKey == null) { - throw new IllegalStateException("Not initialized"); - } - if ((mEncrypting) && (mIvRequired) && (mIvHasBeenUsed)) { - // IV is being reused for encryption: this violates security best practices. - throw new IllegalStateException( - "IV has already been used. Reusing IV in encryption mode violates security best" - + " practices."); - } - - KeymasterArguments keymasterInputArgs = new KeymasterArguments(); - keymasterInputArgs.addInt(KeymasterDefs.KM_TAG_ALGORITHM, mKeymasterAlgorithm); - keymasterInputArgs.addInt(KeymasterDefs.KM_TAG_BLOCK_MODE, mKeymasterBlockMode); - keymasterInputArgs.addInt(KeymasterDefs.KM_TAG_PADDING, mKeymasterPadding); - addAlgorithmSpecificParametersToBegin(keymasterInputArgs); - - KeymasterArguments keymasterOutputArgs = new KeymasterArguments(); - OperationResult opResult = mKeyStore.begin( - mKey.getAlias(), - mEncrypting ? KeymasterDefs.KM_PURPOSE_ENCRYPT : KeymasterDefs.KM_PURPOSE_DECRYPT, - true, // permit aborting this operation if keystore runs out of resources - keymasterInputArgs, - mAdditionalEntropyForBegin, - keymasterOutputArgs); - mAdditionalEntropyForBegin = null; - if (opResult == null) { - throw new KeyStoreConnectException(); - } - - // Store operation token and handle regardless of the error code returned by KeyStore to - // ensure that the operation gets aborted immediately if the code below throws an exception. - mOperationToken = opResult.token; - mOperationHandle = opResult.operationHandle; - - // If necessary, throw an exception due to KeyStore operation having failed. - GeneralSecurityException e = KeyStoreCryptoOperationUtils.getExceptionForCipherInit( - mKeyStore, mKey, opResult.resultCode); - if (e != null) { - if (e instanceof InvalidKeyException) { - throw (InvalidKeyException) e; - } else if (e instanceof InvalidAlgorithmParameterException) { - throw (InvalidAlgorithmParameterException) e; - } else { - throw new ProviderException("Unexpected exception type", e); - } - } - - if (mOperationToken == null) { - throw new ProviderException("Keystore returned null operation token"); - } - if (mOperationHandle == 0) { - throw new ProviderException("Keystore returned invalid operation handle"); - } - - loadAlgorithmSpecificParametersFromBeginResult(keymasterOutputArgs); - mFirstOperationInitiated = true; - mIvHasBeenUsed = true; - mMainDataStreamer = new KeyStoreCryptoOperationChunkedStreamer( - new KeyStoreCryptoOperationChunkedStreamer.MainDataStream( - mKeyStore, opResult.token)); - } - - @Override - protected byte[] engineUpdate(byte[] input, int inputOffset, int inputLen) { - if (mCachedException != null) { - return null; - } - try { - ensureKeystoreOperationInitialized(); - } catch (InvalidKeyException | InvalidAlgorithmParameterException e) { - mCachedException = e; - return null; - } - - if (inputLen == 0) { - return null; - } - - byte[] output; - try { - output = mMainDataStreamer.update(input, inputOffset, inputLen); - } catch (KeyStoreException e) { - mCachedException = e; - return null; - } - - if (output.length == 0) { - return null; - } - - return output; - } - - @Override - protected int engineUpdate(byte[] input, int inputOffset, int inputLen, byte[] output, - int outputOffset) throws ShortBufferException { - byte[] outputCopy = engineUpdate(input, inputOffset, inputLen); - if (outputCopy == null) { - return 0; - } - int outputAvailable = output.length - outputOffset; - if (outputCopy.length > outputAvailable) { - throw new ShortBufferException("Output buffer too short. Produced: " - + outputCopy.length + ", available: " + outputAvailable); - } - System.arraycopy(outputCopy, 0, output, outputOffset, outputCopy.length); - return outputCopy.length; - } - - @Override - protected byte[] engineDoFinal(byte[] input, int inputOffset, int inputLen) - throws IllegalBlockSizeException, BadPaddingException { - if (mCachedException != null) { - throw (IllegalBlockSizeException) - new IllegalBlockSizeException().initCause(mCachedException); - } - - try { - ensureKeystoreOperationInitialized(); - } catch (InvalidKeyException | InvalidAlgorithmParameterException e) { - throw (IllegalBlockSizeException) new IllegalBlockSizeException().initCause(e); - } - - byte[] output; - try { - output = mMainDataStreamer.doFinal(input, inputOffset, inputLen); - } catch (KeyStoreException e) { - switch (e.getErrorCode()) { - case KeymasterDefs.KM_ERROR_INVALID_INPUT_LENGTH: - throw new IllegalBlockSizeException(); - case KeymasterDefs.KM_ERROR_INVALID_ARGUMENT: - throw new BadPaddingException(); - case KeymasterDefs.KM_ERROR_VERIFICATION_FAILED: - throw new AEADBadTagException(); - default: - throw (IllegalBlockSizeException) new IllegalBlockSizeException().initCause(e); - } - } - - resetWhilePreservingInitState(); - return output; - } - - @Override - protected int engineDoFinal(byte[] input, int inputOffset, int inputLen, byte[] output, - int outputOffset) throws ShortBufferException, IllegalBlockSizeException, - BadPaddingException { - byte[] outputCopy = engineDoFinal(input, inputOffset, inputLen); - if (outputCopy == null) { - return 0; - } - int outputAvailable = output.length - outputOffset; - if (outputCopy.length > outputAvailable) { - throw new ShortBufferException("Output buffer too short. Produced: " - + outputCopy.length + ", available: " + outputAvailable); - } - System.arraycopy(outputCopy, 0, output, outputOffset, outputCopy.length); - return outputCopy.length; - } - - @Override - protected int engineGetBlockSize() { - return mBlockSizeBytes; - } - - @Override - protected byte[] engineGetIV() { - return (mIv != null) ? mIv.clone() : null; - } - - @Override - protected int engineGetOutputSize(int inputLen) { - return inputLen + 3 * engineGetBlockSize(); - } - - @Override - protected void engineSetMode(String mode) throws NoSuchAlgorithmException { - // This should never be invoked because all algorithms registered with the AndroidKeyStore - // provide explicitly specify block mode. - throw new UnsupportedOperationException(); - } - - @Override - protected void engineSetPadding(String arg0) throws NoSuchPaddingException { - // This should never be invoked because all algorithms registered with the AndroidKeyStore - // provide explicitly specify padding mode. - throw new UnsupportedOperationException(); - } - - @Override - public void finalize() throws Throwable { - try { - IBinder operationToken = mOperationToken; - if (operationToken != null) { - mKeyStore.abort(operationToken); - } - } finally { - super.finalize(); - } - } - - @Override - public long getOperationHandle() { - return mOperationHandle; - } - - // The methods below may need to be overridden by subclasses that use algorithm-specific - // parameters. - - /** - * Returns algorithm-specific parameters used by this {@code CipherSpi} instance or {@code null} - * if no algorithm-specific parameters are used. - * - * <p>This implementation only handles the IV parameter. - */ - @Override - protected AlgorithmParameters engineGetParameters() { - if (!mIvRequired) { - return null; - } - if ((mIv != null) && (mIv.length > 0)) { - try { - AlgorithmParameters params = - AlgorithmParameters.getInstance(KeyProperties.KEY_ALGORITHM_AES); - params.init(new IvParameterSpec(mIv)); - return params; - } catch (NoSuchAlgorithmException e) { - throw new ProviderException("Failed to obtain AES AlgorithmParameters", e); - } catch (InvalidParameterSpecException e) { - throw new ProviderException( - "Failed to initialize AES AlgorithmParameters with an IV", e); - } - } - return null; - } - - /** - * Invoked by {@code engineInit} to initialize algorithm-specific parameters. These parameters - * may need to be stored to be reused after {@code doFinal}. - * - * <p>The default implementation only handles the IV parameters. - * - * @param params algorithm parameters. - * - * @throws InvalidAlgorithmParameterException if some/all of the parameters cannot be - * automatically configured and thus {@code Cipher.init} needs to be invoked with - * explicitly provided parameters. - */ - protected void initAlgorithmSpecificParameters(AlgorithmParameterSpec params) - throws InvalidAlgorithmParameterException { - if (!mIvRequired) { - if (params != null) { - throw new InvalidAlgorithmParameterException("Unsupported parameters: " + params); - } - return; - } - - // IV is used - if (params == null) { - if (!mEncrypting) { - // IV must be provided by the caller - throw new InvalidAlgorithmParameterException( - "IvParameterSpec must be provided when decrypting"); - } - return; - } - if (!(params instanceof IvParameterSpec)) { - throw new InvalidAlgorithmParameterException("Only IvParameterSpec supported"); - } - mIv = ((IvParameterSpec) params).getIV(); - if (mIv == null) { - throw new InvalidAlgorithmParameterException("Null IV in IvParameterSpec"); - } - } - - /** - * Invoked by {@code engineInit} to initialize algorithm-specific parameters. These parameters - * may need to be stored to be reused after {@code doFinal}. - * - * <p>The default implementation only handles the IV parameters. - * - * @param params algorithm parameters. - * - * @throws InvalidAlgorithmParameterException if some/all of the parameters cannot be - * automatically configured and thus {@code Cipher.init} needs to be invoked with - * explicitly provided parameters. - */ - protected void initAlgorithmSpecificParameters(AlgorithmParameters params) - throws InvalidAlgorithmParameterException { - if (!mIvRequired) { - if (params != null) { - throw new InvalidAlgorithmParameterException("Unsupported parameters: " + params); - } - return; - } - - // IV is used - if (params == null) { - if (!mEncrypting) { - // IV must be provided by the caller - throw new InvalidAlgorithmParameterException("IV required when decrypting" - + ". Use IvParameterSpec or AlgorithmParameters to provide it."); - } - return; - } - - IvParameterSpec ivSpec; - try { - ivSpec = params.getParameterSpec(IvParameterSpec.class); - } catch (InvalidParameterSpecException e) { - if (!mEncrypting) { - // IV must be provided by the caller - throw new InvalidAlgorithmParameterException("IV required when decrypting" - + ", but not found in parameters: " + params, e); - } - mIv = null; - return; - } - mIv = ivSpec.getIV(); - if (mIv == null) { - throw new InvalidAlgorithmParameterException("Null IV in AlgorithmParameters"); - } - } - - /** - * Invoked by {@code engineInit} to initialize algorithm-specific parameters. These parameters - * may need to be stored to be reused after {@code doFinal}. - * - * <p>The default implementation only handles the IV parameter. - * - * @throws InvalidKeyException if some/all of the parameters cannot be automatically configured - * and thus {@code Cipher.init} needs to be invoked with explicitly provided parameters. - */ - protected void initAlgorithmSpecificParameters() throws InvalidKeyException { - if (!mIvRequired) { - return; - } - - // IV is used - if (!mEncrypting) { - throw new InvalidKeyException("IV required when decrypting" - + ". Use IvParameterSpec or AlgorithmParameters to provide it."); - } - } - - /** - * Invoked to add algorithm-specific parameters for the KeyStore's {@code begin} operation. - * - * <p>The default implementation takes care of the IV. - * - * @param keymasterArgs keystore/keymaster arguments to be populated with algorithm-specific - * parameters. - */ - protected void addAlgorithmSpecificParametersToBegin(KeymasterArguments keymasterArgs) { - if (!mFirstOperationInitiated) { - // First begin operation -- see if we need to provide additional entropy for IV - // generation. - if (mIvRequired) { - // IV is needed - if ((mIv == null) && (mEncrypting)) { - // IV was not provided by the caller and thus will be generated by keymaster. - // Mix in some additional entropy from the provided SecureRandom. - mAdditionalEntropyForBegin = - KeyStoreCryptoOperationUtils.getRandomBytesToMixIntoKeystoreRng( - mRng, mBlockSizeBytes); - } - } - } - - if ((mIvRequired) && (mIv != null)) { - keymasterArgs.addBlob(KeymasterDefs.KM_TAG_NONCE, mIv); - } - } - - /** - * Invoked by {@code engineInit} to obtain algorithm-specific parameters from the result of the - * Keymaster's {@code begin} operation. Some of these parameters may need to be reused after - * {@code doFinal} by {@link #addAlgorithmSpecificParametersToBegin(KeymasterArguments)}. - * - * <p>The default implementation only takes care of the IV. - * - * @param keymasterArgs keystore/keymaster arguments returned by KeyStore {@code begin} - * operation. - */ - protected void loadAlgorithmSpecificParametersFromBeginResult( - KeymasterArguments keymasterArgs) { - // NOTE: Keymaster doesn't always return an IV, even if it's used. - byte[] returnedIv = keymasterArgs.getBlob(KeymasterDefs.KM_TAG_NONCE, null); - if ((returnedIv != null) && (returnedIv.length == 0)) { - returnedIv = null; - } - - if (mIvRequired) { - if (mIv == null) { - mIv = returnedIv; - } else if ((returnedIv != null) && (!Arrays.equals(returnedIv, mIv))) { - throw new ProviderException("IV in use differs from provided IV"); - } - } else { - if (returnedIv != null) { - throw new ProviderException( - "IV in use despite IV not being used by this transformation"); - } - } - } -} diff --git a/keystore/java/android/security/keystore/AndroidKeyStoreCipherSpiBase.java b/keystore/java/android/security/keystore/AndroidKeyStoreCipherSpiBase.java new file mode 100644 index 0000000..be935a9 --- /dev/null +++ b/keystore/java/android/security/keystore/AndroidKeyStoreCipherSpiBase.java @@ -0,0 +1,533 @@ +/* + * Copyright (C) 2015 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.security.keystore; + +import android.annotation.CallSuper; +import android.annotation.NonNull; +import android.annotation.Nullable; +import android.os.IBinder; +import android.security.KeyStore; +import android.security.KeyStoreException; +import android.security.keymaster.KeymasterArguments; +import android.security.keymaster.KeymasterDefs; +import android.security.keymaster.OperationResult; + +import java.nio.ByteBuffer; +import java.security.AlgorithmParameters; +import java.security.GeneralSecurityException; +import java.security.InvalidAlgorithmParameterException; +import java.security.InvalidKeyException; +import java.security.Key; +import java.security.NoSuchAlgorithmException; +import java.security.ProviderException; +import java.security.SecureRandom; +import java.security.spec.AlgorithmParameterSpec; + +import javax.crypto.AEADBadTagException; +import javax.crypto.BadPaddingException; +import javax.crypto.Cipher; +import javax.crypto.CipherSpi; +import javax.crypto.IllegalBlockSizeException; +import javax.crypto.NoSuchPaddingException; +import javax.crypto.ShortBufferException; + +/** + * Base class for {@link CipherSpi} implementations of Android KeyStore backed ciphers. + * + * @hide + */ +abstract class AndroidKeyStoreCipherSpiBase extends CipherSpi implements KeyStoreCryptoOperation { + private final KeyStore mKeyStore; + + // Fields below are populated by Cipher.init and KeyStore.begin and should be preserved after + // doFinal finishes. + private boolean mEncrypting; + private AndroidKeyStoreKey mKey; + private SecureRandom mRng; + + /** + * Token referencing this operation inside keystore service. It is initialized by + * {@code engineInit} and is invalidated when {@code engineDoFinal} succeeds and on some error + * conditions in between. + */ + private IBinder mOperationToken; + private long mOperationHandle; + private KeyStoreCryptoOperationChunkedStreamer mMainDataStreamer; + + /** + * Encountered exception which could not be immediately thrown because it was encountered inside + * a method that does not throw checked exception. This exception will be thrown from + * {@code engineDoFinal}. Once such an exception is encountered, {@code engineUpdate} and + * {@code engineDoFinal} start ignoring input data. + */ + private Exception mCachedException; + + AndroidKeyStoreCipherSpiBase() { + mKeyStore = KeyStore.getInstance(); + } + + @Override + protected final void engineInit(int opmode, Key key, SecureRandom random) + throws InvalidKeyException { + resetAll(); + + boolean success = false; + try { + init(opmode, key, random); + initAlgorithmSpecificParameters(); + try { + ensureKeystoreOperationInitialized(); + } catch (InvalidAlgorithmParameterException e) { + throw new InvalidKeyException(e); + } + success = true; + } finally { + if (!success) { + resetAll(); + } + } + } + + @Override + protected final void engineInit(int opmode, Key key, AlgorithmParameters params, + SecureRandom random) throws InvalidKeyException, InvalidAlgorithmParameterException { + resetAll(); + + boolean success = false; + try { + init(opmode, key, random); + initAlgorithmSpecificParameters(params); + ensureKeystoreOperationInitialized(); + success = true; + } finally { + if (!success) { + resetAll(); + } + } + } + + @Override + protected final void engineInit(int opmode, Key key, AlgorithmParameterSpec params, + SecureRandom random) throws InvalidKeyException, InvalidAlgorithmParameterException { + resetAll(); + + boolean success = false; + try { + init(opmode, key, random); + initAlgorithmSpecificParameters(params); + ensureKeystoreOperationInitialized(); + success = true; + } finally { + if (!success) { + resetAll(); + } + } + } + + private void init(int opmode, Key key, SecureRandom random) throws InvalidKeyException { + if ((opmode != Cipher.ENCRYPT_MODE) && (opmode != Cipher.DECRYPT_MODE)) { + throw new UnsupportedOperationException( + "Only ENCRYPT and DECRYPT modes supported. Mode: " + opmode); + } + mEncrypting = opmode == Cipher.ENCRYPT_MODE; + initKey(opmode, key); + if (mKey == null) { + throw new ProviderException("initKey did not initialize the key"); + } + mRng = random; + } + + /** + * Resets this cipher to its pristine pre-init state. This must be equivalent to obtaining a new + * cipher instance. + * + * <p>Subclasses storing additional state should override this method, reset the additional + * state, and then chain to superclass. + */ + @CallSuper + protected void resetAll() { + IBinder operationToken = mOperationToken; + if (operationToken != null) { + mKeyStore.abort(operationToken); + } + mEncrypting = false; + mKey = null; + mRng = null; + mOperationToken = null; + mOperationHandle = 0; + mMainDataStreamer = null; + mCachedException = null; + } + + /** + * Resets this cipher while preserving the initialized state. This must be equivalent to + * rolling back the cipher's state to just after the most recent {@code engineInit} completed + * successfully. + * + * <p>Subclasses storing additional post-init state should override this method, reset the + * additional state, and then chain to superclass. + */ + @CallSuper + protected void resetWhilePreservingInitState() { + IBinder operationToken = mOperationToken; + if (operationToken != null) { + mKeyStore.abort(operationToken); + } + mOperationToken = null; + mOperationHandle = 0; + mMainDataStreamer = null; + mCachedException = null; + } + + private void ensureKeystoreOperationInitialized() throws InvalidKeyException, + InvalidAlgorithmParameterException { + if (mMainDataStreamer != null) { + return; + } + if (mCachedException != null) { + return; + } + if (mKey == null) { + throw new IllegalStateException("Not initialized"); + } + + KeymasterArguments keymasterInputArgs = new KeymasterArguments(); + addAlgorithmSpecificParametersToBegin(keymasterInputArgs); + byte[] additionalEntropy = KeyStoreCryptoOperationUtils.getRandomBytesToMixIntoKeystoreRng( + mRng, getAdditionalEntropyAmountForBegin()); + + KeymasterArguments keymasterOutputArgs = new KeymasterArguments(); + OperationResult opResult = mKeyStore.begin( + mKey.getAlias(), + mEncrypting ? KeymasterDefs.KM_PURPOSE_ENCRYPT : KeymasterDefs.KM_PURPOSE_DECRYPT, + true, // permit aborting this operation if keystore runs out of resources + keymasterInputArgs, + additionalEntropy, + keymasterOutputArgs); + if (opResult == null) { + throw new KeyStoreConnectException(); + } + + // Store operation token and handle regardless of the error code returned by KeyStore to + // ensure that the operation gets aborted immediately if the code below throws an exception. + mOperationToken = opResult.token; + mOperationHandle = opResult.operationHandle; + + // If necessary, throw an exception due to KeyStore operation having failed. + GeneralSecurityException e = KeyStoreCryptoOperationUtils.getExceptionForCipherInit( + mKeyStore, mKey, opResult.resultCode); + if (e != null) { + if (e instanceof InvalidKeyException) { + throw (InvalidKeyException) e; + } else if (e instanceof InvalidAlgorithmParameterException) { + throw (InvalidAlgorithmParameterException) e; + } else { + throw new ProviderException("Unexpected exception type", e); + } + } + + if (mOperationToken == null) { + throw new ProviderException("Keystore returned null operation token"); + } + if (mOperationHandle == 0) { + throw new ProviderException("Keystore returned invalid operation handle"); + } + + loadAlgorithmSpecificParametersFromBeginResult(keymasterOutputArgs); + mMainDataStreamer = new KeyStoreCryptoOperationChunkedStreamer( + new KeyStoreCryptoOperationChunkedStreamer.MainDataStream( + mKeyStore, opResult.token)); + } + + @Override + protected final byte[] engineUpdate(byte[] input, int inputOffset, int inputLen) { + if (mCachedException != null) { + return null; + } + try { + ensureKeystoreOperationInitialized(); + } catch (InvalidKeyException | InvalidAlgorithmParameterException e) { + mCachedException = e; + return null; + } + + if (inputLen == 0) { + return null; + } + + byte[] output; + try { + output = mMainDataStreamer.update(input, inputOffset, inputLen); + } catch (KeyStoreException e) { + mCachedException = e; + return null; + } + + if (output.length == 0) { + return null; + } + + return output; + } + + @Override + protected final int engineUpdate(byte[] input, int inputOffset, int inputLen, byte[] output, + int outputOffset) throws ShortBufferException { + byte[] outputCopy = engineUpdate(input, inputOffset, inputLen); + if (outputCopy == null) { + return 0; + } + int outputAvailable = output.length - outputOffset; + if (outputCopy.length > outputAvailable) { + throw new ShortBufferException("Output buffer too short. Produced: " + + outputCopy.length + ", available: " + outputAvailable); + } + System.arraycopy(outputCopy, 0, output, outputOffset, outputCopy.length); + return outputCopy.length; + } + + @Override + protected final int engineUpdate(ByteBuffer input, ByteBuffer output) + throws ShortBufferException { + return super.engineUpdate(input, output); + } + + @Override + protected final void engineUpdateAAD(byte[] input, int inputOffset, int inputLen) { + super.engineUpdateAAD(input, inputOffset, inputLen); + } + + @Override + protected final void engineUpdateAAD(ByteBuffer src) { + super.engineUpdateAAD(src); + } + + @Override + protected final byte[] engineDoFinal(byte[] input, int inputOffset, int inputLen) + throws IllegalBlockSizeException, BadPaddingException { + if (mCachedException != null) { + throw (IllegalBlockSizeException) + new IllegalBlockSizeException().initCause(mCachedException); + } + + try { + ensureKeystoreOperationInitialized(); + } catch (InvalidKeyException | InvalidAlgorithmParameterException e) { + throw (IllegalBlockSizeException) new IllegalBlockSizeException().initCause(e); + } + + byte[] output; + try { + output = mMainDataStreamer.doFinal(input, inputOffset, inputLen); + } catch (KeyStoreException e) { + switch (e.getErrorCode()) { + case KeymasterDefs.KM_ERROR_INVALID_INPUT_LENGTH: + throw new IllegalBlockSizeException(); + case KeymasterDefs.KM_ERROR_INVALID_ARGUMENT: + throw new BadPaddingException(); + case KeymasterDefs.KM_ERROR_VERIFICATION_FAILED: + throw new AEADBadTagException(); + default: + throw (IllegalBlockSizeException) new IllegalBlockSizeException().initCause(e); + } + } + + resetWhilePreservingInitState(); + return output; + } + + @Override + protected final int engineDoFinal(byte[] input, int inputOffset, int inputLen, byte[] output, + int outputOffset) throws ShortBufferException, IllegalBlockSizeException, + BadPaddingException { + byte[] outputCopy = engineDoFinal(input, inputOffset, inputLen); + if (outputCopy == null) { + return 0; + } + int outputAvailable = output.length - outputOffset; + if (outputCopy.length > outputAvailable) { + throw new ShortBufferException("Output buffer too short. Produced: " + + outputCopy.length + ", available: " + outputAvailable); + } + System.arraycopy(outputCopy, 0, output, outputOffset, outputCopy.length); + return outputCopy.length; + } + + @Override + protected final int engineDoFinal(ByteBuffer input, ByteBuffer output) + throws ShortBufferException, IllegalBlockSizeException, BadPaddingException { + return super.engineDoFinal(input, output); + } + + @Override + protected final byte[] engineWrap(Key key) + throws IllegalBlockSizeException, InvalidKeyException { + return super.engineWrap(key); + } + + @Override + protected final Key engineUnwrap(byte[] wrappedKey, String wrappedKeyAlgorithm, + int wrappedKeyType) throws InvalidKeyException, NoSuchAlgorithmException { + return super.engineUnwrap(wrappedKey, wrappedKeyAlgorithm, wrappedKeyType); + } + + @Override + protected final void engineSetMode(String mode) throws NoSuchAlgorithmException { + // This should never be invoked because all algorithms registered with the AndroidKeyStore + // provide explicitly specify block mode. + throw new UnsupportedOperationException(); + } + + @Override + protected final void engineSetPadding(String arg0) throws NoSuchPaddingException { + // This should never be invoked because all algorithms registered with the AndroidKeyStore + // provide explicitly specify padding mode. + throw new UnsupportedOperationException(); + } + + @Override + protected final int engineGetKeySize(Key key) throws InvalidKeyException { + throw new UnsupportedOperationException(); + } + + @CallSuper + @Override + public void finalize() throws Throwable { + try { + IBinder operationToken = mOperationToken; + if (operationToken != null) { + mKeyStore.abort(operationToken); + } + } finally { + super.finalize(); + } + } + + @Override + public final long getOperationHandle() { + return mOperationHandle; + } + + protected final void setKey(@NonNull AndroidKeyStoreKey key) { + mKey = key; + } + + /** + * Returns {@code true} if this cipher is initialized for encryption, {@code false} if this + * cipher is initialized for decryption. + */ + protected final boolean isEncrypting() { + return mEncrypting; + } + + @NonNull + protected final KeyStore getKeyStore() { + return mKeyStore; + } + + // The methods below need to be implemented by subclasses. + + /** + * Initializes this cipher with the provided key. + * + * @throws InvalidKeyException if the {@code key} is not suitable for this cipher in the + * specified {@code opmode}. + * + * @see #setKey(AndroidKeyStoreKey) + */ + protected abstract void initKey(int opmode, @Nullable Key key) throws InvalidKeyException; + + /** + * Returns algorithm-specific parameters used by this cipher or {@code null} if no + * algorithm-specific parameters are used. + */ + @Nullable + @Override + protected abstract AlgorithmParameters engineGetParameters(); + + /** + * Invoked by {@code engineInit} to initialize algorithm-specific parameters when no additional + * initialization parameters were provided. + * + * @throws InvalidKeyException if this cipher cannot be configured based purely on the provided + * key and needs additional parameters to be provided to {@code Cipher.init}. + */ + protected abstract void initAlgorithmSpecificParameters() throws InvalidKeyException; + + /** + * Invoked by {@code engineInit} to initialize algorithm-specific parameters when additional + * parameters were provided. + * + * @param params additional algorithm parameters or {@code null} if not specified. + * + * @throws InvalidAlgorithmParameterException if there is insufficient information to configure + * this cipher or if the provided parameters are not suitable for this cipher. + */ + protected abstract void initAlgorithmSpecificParameters( + @Nullable AlgorithmParameterSpec params) throws InvalidAlgorithmParameterException; + + /** + * Invoked by {@code engineInit} to initialize algorithm-specific parameters when additional + * parameters were provided. + * + * @param params additional algorithm parameters or {@code null} if not specified. + * + * @throws InvalidAlgorithmParameterException if there is insufficient information to configure + * this cipher or if the provided parameters are not suitable for this cipher. + */ + protected abstract void initAlgorithmSpecificParameters(@Nullable AlgorithmParameters params) + throws InvalidAlgorithmParameterException; + + /** + * Returns the amount of additional entropy (in bytes) to be provided to the KeyStore's + * {@code begin} operation. + * + * <p>For decryption, this should be {@code 0} because decryption should not be consuming any + * entropy. For encryption, this value should match (or exceed) the amount of Shannon entropy of + * the ciphertext produced by this cipher assuming the key, the plaintext, and all explicitly + * provided parameters to {@code Cipher.init} are known. For example, for AES CBC encryption + * with an explicitly provided IV this should be {@code 0}, whereas for the case where IV is + * generated by the KeyStore's {@code begin} operation this should be {@code 16}. For RSA with + * OAEP this should be the size of the OAEP hash output. For RSA with PKCS#1 padding this should + * be the size of the padding string or could be raised (for simplicity) to the size of the + * modulus. + */ + protected abstract int getAdditionalEntropyAmountForBegin(); + + /** + * Invoked to add algorithm-specific parameters for the KeyStore's {@code begin} operation. + * + * @param keymasterArgs keystore/keymaster arguments to be populated with algorithm-specific + * parameters. + */ + protected abstract void addAlgorithmSpecificParametersToBegin( + @NonNull KeymasterArguments keymasterArgs); + + /** + * Invoked to obtain algorithm-specific parameters from the result of the KeyStore's + * {@code begin} operation. + * + * <p>Some parameters, such as IV, are not required to be provided to {@code Cipher.init}. Such + * parameters, if not provided, must be generated by KeyStore and returned to the user of + * {@code Cipher} and potentially reused after {@code doFinal}. + * + * @param keymasterArgs keystore/keymaster arguments returned by KeyStore {@code begin} + * operation. + */ + protected abstract void loadAlgorithmSpecificParametersFromBeginResult( + @NonNull KeymasterArguments keymasterArgs); +} diff --git a/keystore/java/android/security/keystore/AndroidKeyStoreHmacSpi.java b/keystore/java/android/security/keystore/AndroidKeyStoreHmacSpi.java index b82a7f5..6422374 100644 --- a/keystore/java/android/security/keystore/AndroidKeyStoreHmacSpi.java +++ b/keystore/java/android/security/keystore/AndroidKeyStoreHmacSpi.java @@ -128,9 +128,9 @@ public abstract class AndroidKeyStoreHmacSpi extends MacSpi implements KeyStoreC mKey = null; IBinder operationToken = mOperationToken; if (operationToken != null) { - mOperationToken = null; mKeyStore.abort(operationToken); } + mOperationToken = null; mOperationHandle = 0; mChunkedStreamer = null; } @@ -138,9 +138,9 @@ public abstract class AndroidKeyStoreHmacSpi extends MacSpi implements KeyStoreC private void resetWhilePreservingInitState() { IBinder operationToken = mOperationToken; if (operationToken != null) { - mOperationToken = null; mKeyStore.abort(operationToken); } + mOperationToken = null; mOperationHandle = 0; mChunkedStreamer = null; } diff --git a/keystore/java/android/security/keystore/AndroidKeyStoreSpi.java b/keystore/java/android/security/keystore/AndroidKeyStoreSpi.java index f159c30..701bd67 100644 --- a/keystore/java/android/security/keystore/AndroidKeyStoreSpi.java +++ b/keystore/java/android/security/keystore/AndroidKeyStoreSpi.java @@ -621,9 +621,6 @@ public class AndroidKeyStoreSpi extends KeyStoreSpi { (params.getKeyValidityForConsumptionEnd() != null) ? params.getKeyValidityForConsumptionEnd() : new Date(Long.MAX_VALUE)); - // TODO: Remove this once keymaster does not require us to specify the size of imported key. - args.addInt(KeymasterDefs.KM_TAG_KEY_SIZE, keyMaterial.length * 8); - if (((purposes & KeyProperties.PURPOSE_ENCRYPT) != 0) && (!params.isRandomizedEncryptionRequired())) { // Permit caller-provided IV when encrypting with this key diff --git a/keystore/java/android/security/keystore/AndroidKeyStoreUnauthenticatedAESCipherSpi.java b/keystore/java/android/security/keystore/AndroidKeyStoreUnauthenticatedAESCipherSpi.java new file mode 100644 index 0000000..47cd1d1 --- /dev/null +++ b/keystore/java/android/security/keystore/AndroidKeyStoreUnauthenticatedAESCipherSpi.java @@ -0,0 +1,292 @@ +package android.security.keystore; + +import android.annotation.NonNull; +import android.annotation.Nullable; +import android.security.keymaster.KeymasterArguments; +import android.security.keymaster.KeymasterDefs; + +import java.security.AlgorithmParameters; +import java.security.InvalidAlgorithmParameterException; +import java.security.InvalidKeyException; +import java.security.Key; +import java.security.NoSuchAlgorithmException; +import java.security.ProviderException; +import java.security.spec.AlgorithmParameterSpec; +import java.security.spec.InvalidParameterSpecException; +import java.util.Arrays; + +import javax.crypto.CipherSpi; +import javax.crypto.spec.IvParameterSpec; + +/** + * Base class for Android Keystore unauthenticated AES {@link CipherSpi} implementations. + * + * @hide + */ +class AndroidKeyStoreUnauthenticatedAESCipherSpi extends AndroidKeyStoreCipherSpiBase { + + abstract static class ECB extends AndroidKeyStoreUnauthenticatedAESCipherSpi { + protected ECB(int keymasterPadding) { + super(KeymasterDefs.KM_MODE_ECB, keymasterPadding, false); + } + + public static class NoPadding extends ECB { + public NoPadding() { + super(KeymasterDefs.KM_PAD_NONE); + } + } + + public static class PKCS7Padding extends ECB { + public PKCS7Padding() { + super(KeymasterDefs.KM_PAD_PKCS7); + } + } + } + + abstract static class CBC extends AndroidKeyStoreUnauthenticatedAESCipherSpi { + protected CBC(int keymasterPadding) { + super(KeymasterDefs.KM_MODE_CBC, keymasterPadding, true); + } + + public static class NoPadding extends CBC { + public NoPadding() { + super(KeymasterDefs.KM_PAD_NONE); + } + } + + public static class PKCS7Padding extends CBC { + public PKCS7Padding() { + super(KeymasterDefs.KM_PAD_PKCS7); + } + } + } + + abstract static class CTR extends AndroidKeyStoreUnauthenticatedAESCipherSpi { + protected CTR(int keymasterPadding) { + super(KeymasterDefs.KM_MODE_CTR, keymasterPadding, true); + } + + public static class NoPadding extends CTR { + public NoPadding() { + super(KeymasterDefs.KM_PAD_NONE); + } + } + } + + private static final int BLOCK_SIZE_BYTES = 16; + + private final int mKeymasterBlockMode; + private final int mKeymasterPadding; + /** Whether this transformation requires an IV. */ + private final boolean mIvRequired; + + private byte[] mIv; + + /** Whether the current {@code #mIv} has been used by the underlying crypto operation. */ + private boolean mIvHasBeenUsed; + + AndroidKeyStoreUnauthenticatedAESCipherSpi( + int keymasterBlockMode, + int keymasterPadding, + boolean ivRequired) { + mKeymasterBlockMode = keymasterBlockMode; + mKeymasterPadding = keymasterPadding; + mIvRequired = ivRequired; + } + + @Override + protected final void resetAll() { + mIv = null; + mIvHasBeenUsed = false; + super.resetAll(); + } + + @Override + protected final void resetWhilePreservingInitState() { + super.resetWhilePreservingInitState(); + } + + @Override + protected final void initKey(int opmode, Key key) throws InvalidKeyException { + if (!(key instanceof AndroidKeyStoreSecretKey)) { + throw new InvalidKeyException( + "Unsupported key: " + ((key != null) ? key.getClass().getName() : "null")); + } + if (!KeyProperties.KEY_ALGORITHM_AES.equalsIgnoreCase(key.getAlgorithm())) { + throw new InvalidKeyException( + "Unsupported key algorithm: " + key.getAlgorithm() + ". Only " + + KeyProperties.KEY_ALGORITHM_AES + " supported"); + } + setKey((AndroidKeyStoreSecretKey) key); + } + + @Override + protected final void initAlgorithmSpecificParameters() throws InvalidKeyException { + if (!mIvRequired) { + return; + } + + // IV is used + if (!isEncrypting()) { + throw new InvalidKeyException("IV required when decrypting" + + ". Use IvParameterSpec or AlgorithmParameters to provide it."); + } + } + + @Override + protected final void initAlgorithmSpecificParameters(AlgorithmParameterSpec params) + throws InvalidAlgorithmParameterException { + if (!mIvRequired) { + if (params != null) { + throw new InvalidAlgorithmParameterException("Unsupported parameters: " + params); + } + return; + } + + // IV is used + if (params == null) { + if (!isEncrypting()) { + // IV must be provided by the caller + throw new InvalidAlgorithmParameterException( + "IvParameterSpec must be provided when decrypting"); + } + return; + } + if (!(params instanceof IvParameterSpec)) { + throw new InvalidAlgorithmParameterException("Only IvParameterSpec supported"); + } + mIv = ((IvParameterSpec) params).getIV(); + if (mIv == null) { + throw new InvalidAlgorithmParameterException("Null IV in IvParameterSpec"); + } + } + + @Override + protected final void initAlgorithmSpecificParameters(AlgorithmParameters params) + throws InvalidAlgorithmParameterException { + if (!mIvRequired) { + if (params != null) { + throw new InvalidAlgorithmParameterException("Unsupported parameters: " + params); + } + return; + } + + // IV is used + if (params == null) { + if (!isEncrypting()) { + // IV must be provided by the caller + throw new InvalidAlgorithmParameterException("IV required when decrypting" + + ". Use IvParameterSpec or AlgorithmParameters to provide it."); + } + return; + } + + IvParameterSpec ivSpec; + try { + ivSpec = params.getParameterSpec(IvParameterSpec.class); + } catch (InvalidParameterSpecException e) { + if (!isEncrypting()) { + // IV must be provided by the caller + throw new InvalidAlgorithmParameterException("IV required when decrypting" + + ", but not found in parameters: " + params, e); + } + mIv = null; + return; + } + mIv = ivSpec.getIV(); + if (mIv == null) { + throw new InvalidAlgorithmParameterException("Null IV in AlgorithmParameters"); + } + } + + @Override + protected final int getAdditionalEntropyAmountForBegin() { + if ((mIvRequired) && (mIv == null) && (isEncrypting())) { + // IV will need to be generated + return BLOCK_SIZE_BYTES; + } + + return 0; + } + + @Override + protected final void addAlgorithmSpecificParametersToBegin( + @NonNull KeymasterArguments keymasterArgs) { + if ((isEncrypting()) && (mIvRequired) && (mIvHasBeenUsed)) { + // IV is being reused for encryption: this violates security best practices. + throw new IllegalStateException( + "IV has already been used. Reusing IV in encryption mode violates security best" + + " practices."); + } + + keymasterArgs.addInt(KeymasterDefs.KM_TAG_ALGORITHM, KeymasterDefs.KM_ALGORITHM_AES); + keymasterArgs.addInt(KeymasterDefs.KM_TAG_BLOCK_MODE, mKeymasterBlockMode); + keymasterArgs.addInt(KeymasterDefs.KM_TAG_PADDING, mKeymasterPadding); + if ((mIvRequired) && (mIv != null)) { + keymasterArgs.addBlob(KeymasterDefs.KM_TAG_NONCE, mIv); + } + } + + @Override + protected final void loadAlgorithmSpecificParametersFromBeginResult( + @NonNull KeymasterArguments keymasterArgs) { + mIvHasBeenUsed = true; + + // NOTE: Keymaster doesn't always return an IV, even if it's used. + byte[] returnedIv = keymasterArgs.getBlob(KeymasterDefs.KM_TAG_NONCE, null); + if ((returnedIv != null) && (returnedIv.length == 0)) { + returnedIv = null; + } + + if (mIvRequired) { + if (mIv == null) { + mIv = returnedIv; + } else if ((returnedIv != null) && (!Arrays.equals(returnedIv, mIv))) { + throw new ProviderException("IV in use differs from provided IV"); + } + } else { + if (returnedIv != null) { + throw new ProviderException( + "IV in use despite IV not being used by this transformation"); + } + } + } + + @Override + protected final int engineGetBlockSize() { + return BLOCK_SIZE_BYTES; + } + + @Override + protected final int engineGetOutputSize(int inputLen) { + return inputLen + 3 * BLOCK_SIZE_BYTES; + } + + @Override + protected final byte[] engineGetIV() { + return ArrayUtils.cloneIfNotEmpty(mIv); + } + + @Nullable + @Override + protected final AlgorithmParameters engineGetParameters() { + if (!mIvRequired) { + return null; + } + if ((mIv != null) && (mIv.length > 0)) { + try { + AlgorithmParameters params = AlgorithmParameters.getInstance("AES"); + params.init(new IvParameterSpec(mIv)); + return params; + } catch (NoSuchAlgorithmException e) { + throw new ProviderException( + "Failed to obtain AES AlgorithmParameters", e); + } catch (InvalidParameterSpecException e) { + throw new ProviderException( + "Failed to initialize AES AlgorithmParameters with an IV", + e); + } + } + return null; + } +} diff --git a/keystore/java/android/security/keystore/ArrayUtils.java b/keystore/java/android/security/keystore/ArrayUtils.java index 81be384..26172d2 100644 --- a/keystore/java/android/security/keystore/ArrayUtils.java +++ b/keystore/java/android/security/keystore/ArrayUtils.java @@ -32,6 +32,10 @@ public abstract class ArrayUtils { return ((array != null) && (array.length > 0)) ? array.clone() : array; } + public static byte[] cloneIfNotEmpty(byte[] array) { + return ((array != null) && (array.length > 0)) ? array.clone() : array; + } + public static byte[] concat(byte[] arr1, byte[] arr2) { return concat(arr1, 0, (arr1 != null) ? arr1.length : 0, arr2, 0, (arr2 != null) ? arr2.length : 0); diff --git a/keystore/java/android/security/keystore/KeyStoreCryptoOperationUtils.java b/keystore/java/android/security/keystore/KeyStoreCryptoOperationUtils.java index 6ae76f1..27c1b2a 100644 --- a/keystore/java/android/security/keystore/KeyStoreCryptoOperationUtils.java +++ b/keystore/java/android/security/keystore/KeyStoreCryptoOperationUtils.java @@ -19,6 +19,8 @@ package android.security.keystore; import android.security.KeyStore; import android.security.keymaster.KeymasterDefs; +import libcore.util.EmptyArray; + import java.security.GeneralSecurityException; import java.security.InvalidAlgorithmParameterException; import java.security.InvalidKeyException; @@ -94,6 +96,9 @@ abstract class KeyStoreCryptoOperationUtils { * RNG. */ static byte[] getRandomBytesToMixIntoKeystoreRng(SecureRandom rng, int sizeBytes) { + if (sizeBytes <= 0) { + return EmptyArray.BYTE; + } if (rng == null) { rng = getRng(); } diff --git a/libs/hwui/CanvasState.cpp b/libs/hwui/CanvasState.cpp index e88e9f6..e22b0d3 100644 --- a/libs/hwui/CanvasState.cpp +++ b/libs/hwui/CanvasState.cpp @@ -189,6 +189,9 @@ void CanvasState::setClippingRoundRect(LinearAllocator& allocator, mSnapshot->setClippingRoundRect(allocator, rect, radius, highPriority); } +void CanvasState::setProjectionPathMask(LinearAllocator& allocator, const SkPath* path) { + mSnapshot->setProjectionPathMask(allocator, path); +} /////////////////////////////////////////////////////////////////////////////// // Quick Rejection diff --git a/libs/hwui/CanvasState.h b/libs/hwui/CanvasState.h index 8e4a4d3..9354e94 100644 --- a/libs/hwui/CanvasState.h +++ b/libs/hwui/CanvasState.h @@ -130,6 +130,7 @@ public: void setClippingOutline(LinearAllocator& allocator, const Outline* outline); void setClippingRoundRect(LinearAllocator& allocator, const Rect& rect, float radius, bool highPriority = true); + void setProjectionPathMask(LinearAllocator& allocator, const SkPath* path); /** * Returns true if drawing in the rectangle (left, top, right, bottom) diff --git a/libs/hwui/DeferredDisplayList.cpp b/libs/hwui/DeferredDisplayList.cpp index 6fcf958..b077a85 100644 --- a/libs/hwui/DeferredDisplayList.cpp +++ b/libs/hwui/DeferredDisplayList.cpp @@ -195,6 +195,7 @@ public: // Identical round rect clip state means both ops will clip in the same way, or not at all. // As the state objects are const, we can compare their pointers to determine mergeability if (lhs->mRoundRectClipState != rhs->mRoundRectClipState) return false; + if (lhs->mProjectionPathMask != rhs->mProjectionPathMask) return false; /* Clipping compatibility check * diff --git a/libs/hwui/DeferredDisplayList.h b/libs/hwui/DeferredDisplayList.h index 3d0ca6d..160c1ad 100644 --- a/libs/hwui/DeferredDisplayList.h +++ b/libs/hwui/DeferredDisplayList.h @@ -63,6 +63,7 @@ public: mat4 mMatrix; float mAlpha; const RoundRectClipState* mRoundRectClipState; + const ProjectionPathMask* mProjectionPathMask; }; class OpStatePair { diff --git a/libs/hwui/Matrix.h b/libs/hwui/Matrix.h index a760135..c152789 100644 --- a/libs/hwui/Matrix.h +++ b/libs/hwui/Matrix.h @@ -134,6 +134,12 @@ public: uint8_t getType() const; + void multiplyInverse(const Matrix4& v) { + Matrix4 inv; + inv.loadInverse(v); + multiply(inv); + } + void multiply(const Matrix4& v) { Matrix4 u; u.loadMultiply(*this, v); diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp index b3fb7ef..8f91620 100644 --- a/libs/hwui/OpenGLRenderer.cpp +++ b/libs/hwui/OpenGLRenderer.cpp @@ -40,6 +40,7 @@ #include <SkCanvas.h> #include <SkColor.h> +#include <SkPathOps.h> #include <SkShader.h> #include <SkTypeface.h> @@ -1193,8 +1194,9 @@ bool OpenGLRenderer::storeDisplayState(DeferredDisplayState& state, int stateDef state.mMatrix.load(*currentMatrix); state.mAlpha = currentSnapshot()->alpha; - // always store/restore, since it's just a pointer + // always store/restore, since these are just pointers state.mRoundRectClipState = currentSnapshot()->roundRectClipState; + state.mProjectionPathMask = currentSnapshot()->projectionPathMask; return false; } @@ -1202,6 +1204,7 @@ void OpenGLRenderer::restoreDisplayState(const DeferredDisplayState& state, bool setMatrix(state.mMatrix); writableSnapshot()->alpha = state.mAlpha; writableSnapshot()->roundRectClipState = state.mRoundRectClipState; + writableSnapshot()->projectionPathMask = state.mProjectionPathMask; if (state.mClipValid && !skipClipRestore) { writableSnapshot()->setClip(state.mClip.left, state.mClip.top, @@ -1758,6 +1761,7 @@ void OpenGLRenderer::drawVertexBuffer(float translateX, float translateY, void OpenGLRenderer::drawConvexPath(const SkPath& path, const SkPaint* paint) { VertexBuffer vertexBuffer; // TODO: try clipping large paths to viewport + PathTessellator::tessellatePath(path, paint, *currentTransform(), vertexBuffer); drawVertexBuffer(vertexBuffer, paint); } @@ -1864,19 +1868,41 @@ void OpenGLRenderer::drawCircle(float x, float y, float radius, const SkPaint* p || PaintUtils::paintWillNotDraw(*p)) { return; } + if (p->getPathEffect() != nullptr) { mCaches.textureState().activateTexture(0); PathTexture* texture = mCaches.pathCache.getCircle(radius, p); drawShape(x - radius, y - radius, texture, p); + return; + } + + SkPath path; + if (p->getStyle() == SkPaint::kStrokeAndFill_Style) { + path.addCircle(x, y, radius + p->getStrokeWidth() / 2); } else { - SkPath path; - if (p->getStyle() == SkPaint::kStrokeAndFill_Style) { - path.addCircle(x, y, radius + p->getStrokeWidth() / 2); - } else { - path.addCircle(x, y, radius); - } - drawConvexPath(path, p); + path.addCircle(x, y, radius); + } + + if (CC_UNLIKELY(currentSnapshot()->projectionPathMask != nullptr)) { + // mask ripples with projection mask + SkPath maskPath = *(currentSnapshot()->projectionPathMask->projectionMask); + + Matrix4 screenSpaceTransform; + currentSnapshot()->buildScreenSpaceTransform(&screenSpaceTransform); + + Matrix4 totalTransform; + totalTransform.loadInverse(screenSpaceTransform); + totalTransform.multiply(currentSnapshot()->projectionPathMask->projectionMaskTransform); + + SkMatrix skTotalTransform; + totalTransform.copyTo(skTotalTransform); + maskPath.transform(skTotalTransform); + + // Mask the ripple path by the projection mask, now that it's + // in local space. Note that this can create CCW paths. + Op(path, maskPath, kIntersect_PathOp, &path); } + drawConvexPath(path, p); } void OpenGLRenderer::drawOval(float left, float top, float right, float bottom, @@ -2149,6 +2175,10 @@ void OpenGLRenderer::setClippingRoundRect(LinearAllocator& allocator, mState.setClippingRoundRect(allocator, rect, radius, highPriority); } +void OpenGLRenderer::setProjectionPathMask(LinearAllocator& allocator, const SkPath* path) { + mState.setProjectionPathMask(allocator, path); +} + void OpenGLRenderer::drawText(const char* text, int bytesCount, int count, float x, float y, const float* positions, const SkPaint* paint, float totalAdvance, const Rect& bounds, DrawOpMode drawOpMode) { diff --git a/libs/hwui/OpenGLRenderer.h b/libs/hwui/OpenGLRenderer.h index 218818d..8dae82c 100755 --- a/libs/hwui/OpenGLRenderer.h +++ b/libs/hwui/OpenGLRenderer.h @@ -399,6 +399,7 @@ public: void setClippingOutline(LinearAllocator& allocator, const Outline* outline); void setClippingRoundRect(LinearAllocator& allocator, const Rect& rect, float radius, bool highPriority = true); + void setProjectionPathMask(LinearAllocator& allocator, const SkPath* path); inline bool hasRectToRectTransform() const { return mState.hasRectToRectTransform(); } inline const mat4* currentTransform() const { return mState.currentTransform(); } diff --git a/libs/hwui/PathTessellator.cpp b/libs/hwui/PathTessellator.cpp index c1f61d6..38f214a 100644 --- a/libs/hwui/PathTessellator.cpp +++ b/libs/hwui/PathTessellator.cpp @@ -37,6 +37,7 @@ #include <SkPath.h> #include <SkPaint.h> +#include <SkPoint.h> #include <SkGeometry.h> // WARNING: Internal Skia Header #include <stdlib.h> @@ -55,7 +56,7 @@ namespace android { namespace uirenderer { -#define OUTLINE_REFINE_THRESHOLD_SQUARED (0.5f * 0.5f) +#define OUTLINE_REFINE_THRESHOLD 0.5f #define ROUND_CAP_THRESH 0.25f #define PI 3.1415926535897932f #define MAX_DEPTH 15 @@ -151,13 +152,11 @@ public: */ inline int capExtraDivisions() const { if (cap == SkPaint::kRound_Cap) { + // always use 2 points for hairline if (halfStrokeWidth == 0.0f) return 2; - // ROUND_CAP_THRESH is the maximum error for polygonal approximation of the round cap - const float errConst = (-ROUND_CAP_THRESH / halfStrokeWidth + 1); - const float targetCosVal = 2 * errConst * errConst - 1; - int neededDivisions = (int)(ceilf(PI / acos(targetCosVal)/2)) * 2; - return neededDivisions; + float threshold = MathUtils::min(inverseScaleX, inverseScaleY) * ROUND_CAP_THRESH; + return MathUtils::divisionsNeededToApproximateArc(halfStrokeWidth, PI, threshold); } return 0; } @@ -740,9 +739,10 @@ void PathTessellator::tessellatePath(const SkPath &path, const SkPaint* paint, // force close if we're filling the path, since fill path expects closed perimeter. bool forceClose = paintInfo.style != SkPaint::kStroke_Style; + PathApproximationInfo approximationInfo(threshInvScaleX, threshInvScaleY, + OUTLINE_REFINE_THRESHOLD); bool wasClosed = approximatePathOutlineVertices(path, forceClose, - threshInvScaleX * threshInvScaleX, threshInvScaleY * threshInvScaleY, - OUTLINE_REFINE_THRESHOLD_SQUARED, tempVertices); + approximationInfo, tempVertices); if (!tempVertices.size()) { // path was empty, return without allocating vertex buffer @@ -820,10 +820,9 @@ void PathTessellator::tessellatePoints(const float* points, int count, const SkP // calculate outline Vector<Vertex> outlineVertices; - approximatePathOutlineVertices(path, true, - paintInfo.inverseScaleX * paintInfo.inverseScaleX, - paintInfo.inverseScaleY * paintInfo.inverseScaleY, - OUTLINE_REFINE_THRESHOLD_SQUARED, outlineVertices); + PathApproximationInfo approximationInfo(paintInfo.inverseScaleX, paintInfo.inverseScaleY, + OUTLINE_REFINE_THRESHOLD); + approximatePathOutlineVertices(path, true, approximationInfo, outlineVertices); if (!outlineVertices.size()) return; @@ -900,9 +899,10 @@ void PathTessellator::tessellateLines(const float* points, int count, const SkPa // Simple path line approximation /////////////////////////////////////////////////////////////////////////////// -bool PathTessellator::approximatePathOutlineVertices(const SkPath& path, float thresholdSquared, +bool PathTessellator::approximatePathOutlineVertices(const SkPath& path, float threshold, Vector<Vertex>& outputVertices) { - return approximatePathOutlineVertices(path, true, 1.0f, 1.0f, thresholdSquared, outputVertices); + PathApproximationInfo approximationInfo(1.0f, 1.0f, threshold); + return approximatePathOutlineVertices(path, true, approximationInfo, outputVertices); } void pushToVector(Vector<Vertex>& vertices, float x, float y) { @@ -912,9 +912,42 @@ void pushToVector(Vector<Vertex>& vertices, float x, float y) { Vertex::set(newVertex, x, y); } +class ClockwiseEnforcer { +public: + void addPoint(const SkPoint& point) { + double x = point.x(); + double y = point.y(); + + if (initialized) { + sum += (x + lastX) * (y - lastY); + } else { + initialized = true; + } + + lastX = x; + lastY = y; + } + void reverseVectorIfNotClockwise(Vector<Vertex>& vertices) { + if (sum < 0) { + // negative sum implies CounterClockwise + const int size = vertices.size(); + for (int i = 0; i < size / 2; i++) { + Vertex tmp = vertices[i]; + int k = size - 1 - i; + vertices.replaceAt(vertices[k], i); + vertices.replaceAt(tmp, k); + } + } + } +private: + bool initialized = false; + double lastX = 0; + double lastY = 0; + double sum = 0; +}; + bool PathTessellator::approximatePathOutlineVertices(const SkPath& path, bool forceClose, - float sqrInvScaleX, float sqrInvScaleY, float thresholdSquared, - Vector<Vertex>& outputVertices) { + const PathApproximationInfo& approximationInfo, Vector<Vertex>& outputVertices) { ATRACE_CALL(); // TODO: to support joins other than sharp miter, join vertices should be labelled in the @@ -922,18 +955,22 @@ bool PathTessellator::approximatePathOutlineVertices(const SkPath& path, bool fo SkPath::Iter iter(path, forceClose); SkPoint pts[4]; SkPath::Verb v; + ClockwiseEnforcer clockwiseEnforcer; while (SkPath::kDone_Verb != (v = iter.next(pts))) { switch (v) { case SkPath::kMove_Verb: pushToVector(outputVertices, pts[0].x(), pts[0].y()); ALOGV("Move to pos %f %f", pts[0].x(), pts[0].y()); + clockwiseEnforcer.addPoint(pts[0]); break; case SkPath::kClose_Verb: ALOGV("Close at pos %f %f", pts[0].x(), pts[0].y()); + clockwiseEnforcer.addPoint(pts[0]); break; case SkPath::kLine_Verb: ALOGV("kLine_Verb %f %f -> %f %f", pts[0].x(), pts[0].y(), pts[1].x(), pts[1].y()); pushToVector(outputVertices, pts[1].x(), pts[1].y()); + clockwiseEnforcer.addPoint(pts[1]); break; case SkPath::kQuad_Verb: ALOGV("kQuad_Verb"); @@ -941,7 +978,9 @@ bool PathTessellator::approximatePathOutlineVertices(const SkPath& path, bool fo pts[0].x(), pts[0].y(), pts[2].x(), pts[2].y(), pts[1].x(), pts[1].y(), - sqrInvScaleX, sqrInvScaleY, thresholdSquared, outputVertices); + approximationInfo, outputVertices); + clockwiseEnforcer.addPoint(pts[1]); + clockwiseEnforcer.addPoint(pts[2]); break; case SkPath::kCubic_Verb: ALOGV("kCubic_Verb"); @@ -950,21 +989,26 @@ bool PathTessellator::approximatePathOutlineVertices(const SkPath& path, bool fo pts[1].x(), pts[1].y(), pts[3].x(), pts[3].y(), pts[2].x(), pts[2].y(), - sqrInvScaleX, sqrInvScaleY, thresholdSquared, outputVertices); + approximationInfo, outputVertices); + clockwiseEnforcer.addPoint(pts[1]); + clockwiseEnforcer.addPoint(pts[2]); + clockwiseEnforcer.addPoint(pts[3]); break; case SkPath::kConic_Verb: { ALOGV("kConic_Verb"); SkAutoConicToQuads converter; const SkPoint* quads = converter.computeQuads(pts, iter.conicWeight(), - thresholdSquared); + approximationInfo.thresholdForConicQuads); for (int i = 0; i < converter.countQuads(); ++i) { const int offset = 2 * i; recursiveQuadraticBezierVertices( quads[offset].x(), quads[offset].y(), quads[offset+2].x(), quads[offset+2].y(), quads[offset+1].x(), quads[offset+1].y(), - sqrInvScaleX, sqrInvScaleY, thresholdSquared, outputVertices); + approximationInfo, outputVertices); } + clockwiseEnforcer.addPoint(pts[1]); + clockwiseEnforcer.addPoint(pts[2]); break; } default: @@ -972,23 +1016,38 @@ bool PathTessellator::approximatePathOutlineVertices(const SkPath& path, bool fo } } + bool wasClosed = false; int size = outputVertices.size(); if (size >= 2 && outputVertices[0].x == outputVertices[size - 1].x && outputVertices[0].y == outputVertices[size - 1].y) { outputVertices.pop(); - return true; + wasClosed = true; } - return false; + + // ensure output vector is clockwise + clockwiseEnforcer.reverseVectorIfNotClockwise(outputVertices); + return wasClosed; } /////////////////////////////////////////////////////////////////////////////// // Bezier approximation +// +// All the inputs and outputs here are in path coordinates. +// We convert the error threshold from screen coordinates into path coordinates. /////////////////////////////////////////////////////////////////////////////// +// Get a threshold in path coordinates, by scaling the thresholdSquared from screen coordinates. +// TODO: Document the math behind this algorithm. +static inline float getThreshold(const PathApproximationInfo& info, float dx, float dy) { + // multiplying by sqrInvScaleY/X equivalent to multiplying in dimensional scale factors + float scale = (dx * dx * info.sqrInvScaleY + dy * dy * info.sqrInvScaleX); + return info.thresholdSquared * scale; +} + void PathTessellator::recursiveCubicBezierVertices( float p1x, float p1y, float c1x, float c1y, float p2x, float p2y, float c2x, float c2y, - float sqrInvScaleX, float sqrInvScaleY, float thresholdSquared, + const PathApproximationInfo& approximationInfo, Vector<Vertex>& outputVertices, int depth) { float dx = p2x - p1x; float dy = p2y - p1y; @@ -996,9 +1055,8 @@ void PathTessellator::recursiveCubicBezierVertices( float d2 = fabs((c2x - p2x) * dy - (c2y - p2y) * dx); float d = d1 + d2; - // multiplying by sqrInvScaleY/X equivalent to multiplying in dimensional scale factors if (depth >= MAX_DEPTH - || d * d <= thresholdSquared * (dx * dx * sqrInvScaleY + dy * dy * sqrInvScaleX)) { + || d * d <= getThreshold(approximationInfo, dx, dy)) { // below thresh, draw line by adding endpoint pushToVector(outputVertices, p2x, p2y); } else { @@ -1022,11 +1080,11 @@ void PathTessellator::recursiveCubicBezierVertices( recursiveCubicBezierVertices( p1x, p1y, p1c1x, p1c1y, mx, my, p1c1c2x, p1c1c2y, - sqrInvScaleX, sqrInvScaleY, thresholdSquared, outputVertices, depth + 1); + approximationInfo, outputVertices, depth + 1); recursiveCubicBezierVertices( mx, my, p2c1c2x, p2c1c2y, p2x, p2y, p2c2x, p2c2y, - sqrInvScaleX, sqrInvScaleY, thresholdSquared, outputVertices, depth + 1); + approximationInfo, outputVertices, depth + 1); } } @@ -1034,15 +1092,15 @@ void PathTessellator::recursiveQuadraticBezierVertices( float ax, float ay, float bx, float by, float cx, float cy, - float sqrInvScaleX, float sqrInvScaleY, float thresholdSquared, + const PathApproximationInfo& approximationInfo, Vector<Vertex>& outputVertices, int depth) { float dx = bx - ax; float dy = by - ay; + // d is the cross product of vector (B-A) and (C-B). float d = (cx - bx) * dy - (cy - by) * dx; - // multiplying by sqrInvScaleY/X equivalent to multiplying in dimensional scale factors if (depth >= MAX_DEPTH - || d * d <= thresholdSquared * (dx * dx * sqrInvScaleY + dy * dy * sqrInvScaleX)) { + || d * d <= getThreshold(approximationInfo, dx, dy)) { // below thresh, draw line by adding endpoint pushToVector(outputVertices, bx, by); } else { @@ -1056,9 +1114,9 @@ void PathTessellator::recursiveQuadraticBezierVertices( float my = (acy + bcy) * 0.5f; recursiveQuadraticBezierVertices(ax, ay, mx, my, acx, acy, - sqrInvScaleX, sqrInvScaleY, thresholdSquared, outputVertices, depth + 1); + approximationInfo, outputVertices, depth + 1); recursiveQuadraticBezierVertices(mx, my, bx, by, bcx, bcy, - sqrInvScaleX, sqrInvScaleY, thresholdSquared, outputVertices, depth + 1); + approximationInfo, outputVertices, depth + 1); } } diff --git a/libs/hwui/PathTessellator.h b/libs/hwui/PathTessellator.h index 8ac9a3b..16c8b36 100644 --- a/libs/hwui/PathTessellator.h +++ b/libs/hwui/PathTessellator.h @@ -27,6 +27,26 @@ namespace android { namespace uirenderer { +/** + * Structure used for threshold values in outline path tessellation. + * + * TODO: PaintInfo should store one of this object, and initialized all values in constructor + * depending on its type (point, line or path). + */ +struct PathApproximationInfo { + PathApproximationInfo(float invScaleX, float invScaleY, float pixelThreshold) + : thresholdSquared(pixelThreshold * pixelThreshold) + , sqrInvScaleX(invScaleX * invScaleX) + , sqrInvScaleY(invScaleY * invScaleY) + , thresholdForConicQuads(pixelThreshold * MathUtils::min(invScaleX, invScaleY) / 2.0f) { + }; + + const float thresholdSquared; + const float sqrInvScaleX; + const float sqrInvScaleY; + const float thresholdForConicQuads; +}; + class PathTessellator { public: /** @@ -82,19 +102,18 @@ public: const mat4& transform, VertexBuffer& vertexBuffer); /** - * Approximates a convex, CW outline into a Vector of 2d vertices. + * Approximates a convex outline into a clockwise Vector of 2d vertices. * * @param path The outline to be approximated - * @param thresholdSquared The threshold of acceptable error (in pixels) when approximating + * @param threshold The threshold of acceptable error (in pixels) when approximating * @param outputVertices An empty Vector which will be populated with the output */ - static bool approximatePathOutlineVertices(const SkPath &path, float thresholdSquared, + static bool approximatePathOutlineVertices(const SkPath &path, float threshold, Vector<Vertex> &outputVertices); private: static bool approximatePathOutlineVertices(const SkPath &path, bool forceClose, - float sqrInvScaleX, float sqrInvScaleY, float thresholdSquared, - Vector<Vertex> &outputVertices); + const PathApproximationInfo& approximationInfo, Vector<Vertex> &outputVertices); /* endpoints a & b, @@ -104,7 +123,7 @@ private: float ax, float ay, float bx, float by, float cx, float cy, - float sqrInvScaleX, float sqrInvScaleY, float thresholdSquared, + const PathApproximationInfo& approximationInfo, Vector<Vertex> &outputVertices, int depth = 0); /* @@ -116,7 +135,7 @@ private: float c1x, float c1y, float p2x, float p2y, float c2x, float c2y, - float sqrInvScaleX, float sqrInvScaleY, float thresholdSquared, + const PathApproximationInfo& approximationInfo, Vector<Vertex> &outputVertices, int depth = 0); }; diff --git a/libs/hwui/RenderNode.cpp b/libs/hwui/RenderNode.cpp index 9e5ec28..7d3b41e 100644 --- a/libs/hwui/RenderNode.cpp +++ b/libs/hwui/RenderNode.cpp @@ -769,31 +769,9 @@ void RenderNode::issueOperationsOfProjectedChildren(OpenGLRenderer& renderer, T& const RenderProperties& backgroundProps = backgroundOp->mRenderNode->properties(); renderer.translate(backgroundProps.getTranslationX(), backgroundProps.getTranslationY()); - // If the projection reciever has an outline, we mask each of the projected rendernodes to it - // Either with clipRect, or special saveLayer masking - if (projectionReceiverOutline != nullptr) { - const SkRect& outlineBounds = projectionReceiverOutline->getBounds(); - if (projectionReceiverOutline->isRect(nullptr)) { - // mask to the rect outline simply with clipRect - ClipRectOp* clipOp = new (alloc) ClipRectOp( - outlineBounds.left(), outlineBounds.top(), - outlineBounds.right(), outlineBounds.bottom(), SkRegion::kIntersect_Op); - handler(clipOp, PROPERTY_SAVECOUNT, properties().getClipToBounds()); - } else { - // wrap the projected RenderNodes with a SaveLayer that will mask to the outline - SaveLayerOp* op = new (alloc) SaveLayerOp( - outlineBounds.left(), outlineBounds.top(), - outlineBounds.right(), outlineBounds.bottom(), - 255, SkCanvas::kMatrix_SaveFlag | SkCanvas::kClip_SaveFlag | SkCanvas::kARGB_ClipLayer_SaveFlag); - op->setMask(projectionReceiverOutline); - handler(op, PROPERTY_SAVECOUNT, properties().getClipToBounds()); - - /* TODO: add optimizations here to take advantage of placement/size of projected - * children (which may shrink saveLayer area significantly). This is dependent on - * passing actual drawing/dirtying bounds of projected content down to native. - */ - } - } + // If the projection reciever has an outline, we mask projected content to it + // (which we know, apriori, are all tessellated paths) + renderer.setProjectionPathMask(alloc, projectionReceiverOutline); // draw projected nodes for (size_t i = 0; i < mProjectedNodes.size(); i++) { @@ -808,10 +786,8 @@ void RenderNode::issueOperationsOfProjectedChildren(OpenGLRenderer& renderer, T& renderer.restoreToCount(restoreTo); } - if (projectionReceiverOutline != nullptr) { - handler(new (alloc) RestoreToCountOp(restoreTo), - PROPERTY_SAVECOUNT, properties().getClipToBounds()); - } + handler(new (alloc) RestoreToCountOp(restoreTo), + PROPERTY_SAVECOUNT, properties().getClipToBounds()); } /** diff --git a/libs/hwui/ShadowTessellator.cpp b/libs/hwui/ShadowTessellator.cpp index fb28531..024ff10 100644 --- a/libs/hwui/ShadowTessellator.cpp +++ b/libs/hwui/ShadowTessellator.cpp @@ -158,71 +158,6 @@ Vector2 ShadowTessellator::calculateNormal(const Vector2& p1, const Vector2& p2) } return result; } -/** - * Test whether the polygon is order in clockwise. - * - * @param polygon the polygon as a Vector2 array - * @param len the number of points of the polygon - */ -bool ShadowTessellator::isClockwise(const Vector2* polygon, int len) { - if (len < 2 || polygon == nullptr) { - return true; - } - double sum = 0; - double p1x = polygon[len - 1].x; - double p1y = polygon[len - 1].y; - for (int i = 0; i < len; i++) { - - double p2x = polygon[i].x; - double p2y = polygon[i].y; - sum += p1x * p2y - p2x * p1y; - p1x = p2x; - p1y = p2y; - } - return sum < 0; -} - -bool ShadowTessellator::isClockwisePath(const SkPath& path) { - SkPath::Iter iter(path, false); - SkPoint pts[4]; - SkPath::Verb v; - - Vector<Vector2> arrayForDirection; - while (SkPath::kDone_Verb != (v = iter.next(pts))) { - switch (v) { - case SkPath::kMove_Verb: - arrayForDirection.add((Vector2){pts[0].x(), pts[0].y()}); - break; - case SkPath::kLine_Verb: - arrayForDirection.add((Vector2){pts[1].x(), pts[1].y()}); - break; - case SkPath::kConic_Verb: - case SkPath::kQuad_Verb: - arrayForDirection.add((Vector2){pts[1].x(), pts[1].y()}); - arrayForDirection.add((Vector2){pts[2].x(), pts[2].y()}); - break; - case SkPath::kCubic_Verb: - arrayForDirection.add((Vector2){pts[1].x(), pts[1].y()}); - arrayForDirection.add((Vector2){pts[2].x(), pts[2].y()}); - arrayForDirection.add((Vector2){pts[3].x(), pts[3].y()}); - break; - default: - break; - } - } - - return isClockwise(arrayForDirection.array(), arrayForDirection.size()); -} - -void ShadowTessellator::reverseVertexArray(Vertex* polygon, int len) { - int n = len / 2; - for (int i = 0; i < n; i++) { - Vertex tmp = polygon[i]; - int k = len - 1 - i; - polygon[i] = polygon[k]; - polygon[k] = tmp; - } -} int ShadowTessellator::getExtraVertexNumber(const Vector2& vector1, const Vector2& vector2, float divisor) { diff --git a/libs/hwui/ShadowTessellator.h b/libs/hwui/ShadowTessellator.h index c04d8ef..5f4c9c5 100644 --- a/libs/hwui/ShadowTessellator.h +++ b/libs/hwui/ShadowTessellator.h @@ -83,23 +83,6 @@ public: static bool isClockwise(const Vector2* polygon, int len); static Vector2 calculateNormal(const Vector2& p1, const Vector2& p2); - /** - * Determine whether the path is clockwise, using the control points. - * - * TODO: Given the skia is using inverted Y coordinate, shadow system needs - * to convert to the same coordinate to avoid the extra reverse. - * - * @param path The path to be examined. - */ - static bool isClockwisePath(const SkPath &path); - - /** - * Reverse the vertex array. - * - * @param polygon The vertex array to be reversed. - * @param len The length of the vertex array. - */ - static void reverseVertexArray(Vertex* polygon, int len); static int getExtraVertexNumber(const Vector2& vector1, const Vector2& vector2, float divisor); diff --git a/libs/hwui/Snapshot.cpp b/libs/hwui/Snapshot.cpp index 9e7faee..beb2e1d 100644 --- a/libs/hwui/Snapshot.cpp +++ b/libs/hwui/Snapshot.cpp @@ -36,6 +36,7 @@ Snapshot::Snapshot() , empty(false) , alpha(1.0f) , roundRectClipState(nullptr) + , projectionPathMask(nullptr) , mClipArea(&mClipAreaRoot) { transform = &mTransformRoot; region = nullptr; @@ -54,6 +55,7 @@ Snapshot::Snapshot(const sp<Snapshot>& s, int saveFlags) , empty(false) , alpha(s->alpha) , roundRectClipState(s->roundRectClipState) + , projectionPathMask(s->projectionPathMask) , mClipArea(nullptr) , mViewportData(s->mViewportData) , mRelativeLightCenter(s->mRelativeLightCenter) { @@ -141,6 +143,34 @@ void Snapshot::resetTransform(float x, float y, float z) { transform->loadTranslate(x, y, z); } +void Snapshot::buildScreenSpaceTransform(Matrix4* outTransform) const { + // build (reverse ordered) list of the stack of snapshots, terminated with a NULL + Vector<const Snapshot*> snapshotList; + snapshotList.push(nullptr); + const Snapshot* current = this; + do { + snapshotList.push(current); + current = current->previous.get(); + } while (current); + + // traverse the list, adding in each transform that contributes to the total transform + outTransform->loadIdentity(); + for (size_t i = snapshotList.size() - 1; i > 0; i--) { + // iterate down the stack + const Snapshot* current = snapshotList[i]; + const Snapshot* next = snapshotList[i - 1]; + if (current->flags & kFlagIsFboLayer) { + // if we've hit a layer, translate by the layer's draw offset + outTransform->translate(current->layer->layer.left, current->layer->layer.top); + } + if (!next || (next->flags & kFlagIsFboLayer)) { + // if this snapshot is last, or if this snapshot is last before an + // FBO layer (which reset the transform), apply it + outTransform->multiply(*(current->transform)); + } + } +} + /////////////////////////////////////////////////////////////////////////////// // Clipping round rect /////////////////////////////////////////////////////////////////////////////// @@ -191,6 +221,18 @@ void Snapshot::setClippingRoundRect(LinearAllocator& allocator, const Rect& boun roundRectClipState = state; } +void Snapshot::setProjectionPathMask(LinearAllocator& allocator, const SkPath* path) { + if (path) { + ProjectionPathMask* mask = new (allocator) ProjectionPathMask; + mask->projectionMask = path; + buildScreenSpaceTransform(&(mask->projectionMaskTransform)); + + projectionPathMask = mask; + } else { + projectionPathMask = nullptr; + } +} + /////////////////////////////////////////////////////////////////////////////// // Queries /////////////////////////////////////////////////////////////////////////////// diff --git a/libs/hwui/Snapshot.h b/libs/hwui/Snapshot.h index 4d704ab..af6ad72 100644 --- a/libs/hwui/Snapshot.h +++ b/libs/hwui/Snapshot.h @@ -63,6 +63,17 @@ public: float radius; }; +class ProjectionPathMask { +public: + /** static void* operator new(size_t size); PURPOSELY OMITTED, allocator only **/ + static void* operator new(size_t size, LinearAllocator& allocator) { + return allocator.alloc(size); + } + + const SkPath* projectionMask; + Matrix4 projectionMaskTransform; +}; + /** * A snapshot holds information about the current state of the rendering * surface. A snapshot is usually created whenever the user calls save() @@ -190,6 +201,11 @@ public: float radius, bool highPriority); /** + * Sets (and replaces) the current projection mask + */ + void setProjectionPathMask(LinearAllocator& allocator, const SkPath* path); + + /** * Indicates whether this snapshot should be ignored. A snapshot * is typically ignored if its layer is invisible or empty. */ @@ -201,6 +217,12 @@ public: bool hasPerspectiveTransform() const; /** + * Fills outTransform with the current, total transform to screen space, + * across layer boundaries. + */ + void buildScreenSpaceTransform(Matrix4* outTransform) const; + + /** * Dirty flags. */ int flags; @@ -272,6 +294,11 @@ public: */ const RoundRectClipState* roundRectClipState; + /** + * Current projection masking path - used exclusively to mask tessellated circles. + */ + const ProjectionPathMask* projectionPathMask; + void dump() const; private: diff --git a/libs/hwui/TessellationCache.cpp b/libs/hwui/TessellationCache.cpp index fc173f7..9df1f0d 100644 --- a/libs/hwui/TessellationCache.cpp +++ b/libs/hwui/TessellationCache.cpp @@ -207,6 +207,16 @@ static void mapPointFakeZ(Vector3& point, const mat4* transformXY, const mat4* t transformXY->mapPoint(point.x, point.y); } +static void reverseVertexArray(Vertex* polygon, int len) { + int n = len / 2; + for (int i = 0; i < n; i++) { + Vertex tmp = polygon[i]; + int k = len - 1 - i; + polygon[i] = polygon[k]; + polygon[k] = tmp; + } +} + static void tessellateShadows( const Matrix4* drawTransform, const Rect* localClip, bool isCasterOpaque, const SkPath* casterPerimeter, @@ -216,13 +226,12 @@ static void tessellateShadows( // tessellate caster outline into a 2d polygon Vector<Vertex> casterVertices2d; - const float casterRefinementThresholdSquared = 4.0f; + const float casterRefinementThreshold = 2.0f; PathTessellator::approximatePathOutlineVertices(*casterPerimeter, - casterRefinementThresholdSquared, casterVertices2d); - if (!ShadowTessellator::isClockwisePath(*casterPerimeter)) { - ShadowTessellator::reverseVertexArray(casterVertices2d.editArray(), - casterVertices2d.size()); - } + casterRefinementThreshold, casterVertices2d); + + // Shadow requires CCW for now. TODO: remove potential double-reverse + reverseVertexArray(casterVertices2d.editArray(), casterVertices2d.size()); if (casterVertices2d.size() == 0) return; diff --git a/libs/hwui/utils/MathUtils.h b/libs/hwui/utils/MathUtils.h index d89859b..9c3787c 100644 --- a/libs/hwui/utils/MathUtils.h +++ b/libs/hwui/utils/MathUtils.h @@ -16,6 +16,8 @@ #ifndef MATHUTILS_H #define MATHUTILS_H +#include <math.h> + namespace android { namespace uirenderer { @@ -62,6 +64,19 @@ public: return scale; } + /** + * Returns the number of points (beyond two, the start and end) needed to form a polygonal + * approximation of an arc, with a given threshold value. + */ + inline static int divisionsNeededToApproximateArc(float radius, + float angleInRads, float threshold) { + const float errConst = (-threshold / radius + 1); + const float targetCosVal = 2 * errConst * errConst - 1; + + // needed divisions are rounded up from approximation + return (int)(ceilf(angleInRads / acos(targetCosVal)/2)) * 2; + } + inline static bool areEqual(float valueA, float valueB) { return isZero(valueA - valueB); } diff --git a/location/java/android/location/CountryDetector.java b/location/java/android/location/CountryDetector.java index 0b780ce..ce3c56f 100644 --- a/location/java/android/location/CountryDetector.java +++ b/location/java/android/location/CountryDetector.java @@ -44,8 +44,6 @@ import android.util.Log; * You do not instantiate this class directly; instead, retrieve it through * {@link android.content.Context#getSystemService * Context.getSystemService(Context.COUNTRY_DETECTOR)}. - * <p> - * Both ACCESS_FINE_LOCATION and ACCESS_COARSE_LOCATION permissions are needed. * * @hide */ diff --git a/media/java/android/media/AudioFormat.java b/media/java/android/media/AudioFormat.java index ee6d661..c29ec0d 100644 --- a/media/java/android/media/AudioFormat.java +++ b/media/java/android/media/AudioFormat.java @@ -18,16 +18,19 @@ package android.media; import android.annotation.IntDef; import android.annotation.NonNull; + import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.util.Arrays; /** - * The <code>AudioFormat</code> class is used to access a number of audio format and + * The {@link AudioFormat} class is used to access a number of audio format and * channel configuration constants. They are for instance used * in {@link AudioTrack} and {@link AudioRecord}, as valid values in individual parameters of * constructors like {@link AudioTrack#AudioTrack(int, int, int, int, int, int)}, where the fourth * parameter is one of the <code>AudioFormat.ENCODING_*</code> constants. + * The <code>AudioFormat</code> constants are also used in {@link MediaFormat} to specify + * audio related values commonly used in media, such as for {@link MediaFormat#KEY_CHANNEL_MASK}. * <p>The {@link AudioFormat.Builder} class can be used to create instances of * the <code>AudioFormat</code> format class. * Refer to @@ -39,6 +42,9 @@ import java.util.Arrays; * <li><a href="#encoding">encoding</a> * <li><a href="#channelMask">channel masks</a> * </ol> + * <p>Closely associated with the <code>AudioFormat</code> is the notion of an + * <a href="#audioFrame">audio frame</a>, which is used throughout the documentation + * to represent the minimum size complete unit of audio data. * * <h4 id="sampleRate">Sample rate</h4> * <p>Expressed in Hz, the sample rate in an <code>AudioFormat</code> instance expresses the number @@ -48,10 +54,69 @@ import java.util.Arrays; * can be played on a device operating at a sample rate of 48000Hz; the sample rate conversion is * automatically handled by the platform, it will not play at 6x speed. * + * <p>As of API {@link android.os.Build.VERSION_CODES#MNC}, + * sample rates up to 192kHz are supported + * for <code>AudioRecord</code> and <code>AudioTrack</code>, with sample rate conversion + * performed as needed. + * To improve efficiency and avoid lossy conversions, it is recommended to match the sample rate + * for <code>AudioRecord</code> and <code>AudioTrack</code> to the endpoint device + * sample rate, and limit the sample rate to no more than 48kHz unless there are special + * device capabilities that warrant a higher rate. + * * <h4 id="encoding">Encoding</h4> - * <p>For PCM audio, audio encoding is used to describe the bit representation of an audio data - * sample; for example, the size as 8 bit, 16 bit, and the representation as integer or float. - * <br>For compressed formats, audio encoding is used to describe the compression scheme being used. + * <p>Audio encoding is used to describe the bit representation of audio data, which can be + * either linear PCM or compressed audio, such as AC3 or DTS. + * <p>For linear PCM, the audio encoding describes the sample size, 8 bits, 16 bits, or 32 bits, + * and the sample representation, integer or float. + * <ul> + * <li> {@link #ENCODING_PCM_8BIT}: The audio sample is a 8 bit unsigned integer in the + * range [0, 255], with a 128 offset for zero. This is typically stored as a Java byte in a + * byte array or ByteBuffer. Since the Java byte is <em>signed</em>, + * be careful with math operations and conversions as the most significant bit is inverted. + * </li> + * <li> {@link #ENCODING_PCM_16BIT}: The audio sample is a 16 bit signed integer + * typically stored as a Java short in a short array, but when the short + * is stored in a ByteBuffer, it is native endian (as compared to the default Java big endian). + * The short has full range from [-32768, 32767], + * and is sometimes interpreted as fixed point Q.15 data. + * </li> + * <li> {@link #ENCODING_PCM_FLOAT}: Introduced in + * API {@link android.os.Build.VERSION_CODES#LOLLIPOP}, this encoding specifies that + * the audio sample is a 32 bit IEEE single precision float. The sample can be + * manipulated as a Java float in a float array, though within a ByteBuffer + * it is stored in native endian byte order. + * The nominal range of <code>ENCODING_PCM_FLOAT</code> audio data is [-1.0, 1.0]. + * It is implementation dependent whether the positive maximum of 1.0 is included + * in the interval. Values outside of the nominal range are clamped before + * sending to the endpoint device. Beware that + * the handling of NaN is undefined; subnormals may be treated as zero; and + * infinities are generally clamped just like other values for <code>AudioTrack</code> + * – try to avoid infinities because they can easily generate a NaN. + * <br> + * To achieve higher audio bit depth than a signed 16 bit integer short, + * it is recommended to use <code>ENCODING_PCM_FLOAT</code> for audio capture, processing, + * and playback. + * Floats are efficiently manipulated by modern CPUs, + * have greater precision than 24 bit signed integers, + * and have greater dynamic range than 32 bit signed integers. + * <code>AudioRecord</code> as of API {@link android.os.Build.VERSION_CODES#MNC} and + * <code>AudioTrack</code> as of API {@link android.os.Build.VERSION_CODES#LOLLIPOP} + * support <code>ENCODING_PCM_FLOAT</code>. + * </li> + * </ul> + * <p>For compressed audio, the encoding specifies the method of compression, + * for example {@link #ENCODING_AC3} and {@link #ENCODING_DTS}. The compressed + * audio data is typically stored as bytes in + * a byte array or ByteBuffer. When a compressed audio encoding is specified + * for an <code>AudioTrack</code>, it creates a direct (non-mixed) track + * for output to an endpoint (such as HDMI) capable of decoding the compressed audio. + * For (most) other endpoints, which are not capable of decoding such compressed audio, + * you will need to decode the data first, typically by creating a {@link MediaCodec}. + * Alternatively, one may use {@link MediaPlayer} for playback of compressed + * audio files or streams. + * <p>When compressed audio is sent out through a direct <code>AudioTrack</code>, + * it need not be written in exact multiples of the audio access unit; + * this differs from <code>MediaCodec</code> input buffers. * * <h4 id="channelMask">Channel mask</h4> * <p>Channel masks are used in <code>AudioTrack</code> and <code>AudioRecord</code> to describe @@ -127,6 +192,22 @@ import java.util.Arrays; * about position it corresponds to, in which case the channel index mask is <code>0xC</code>. * Multichannel <code>AudioRecord</code> sessions should use channel index masks. * </ul> + * <h4 id="audioFrame">Audio Frame</h4> + * <p>For linear PCM, an audio frame consists of a set of samples captured at the same time, + * whose count and + * channel association are given by the <a href="#channelMask">channel mask</a>, + * and whose sample contents are specified by the <a href="#encoding">encoding</a>. + * For example, a stereo 16 bit PCM frame consists of + * two 16 bit linear PCM samples, with a frame size of 4 bytes. + * For compressed audio, an audio frame may alternately + * refer to an access unit of compressed data bytes that is logically grouped together for + * decoding and bitstream access (e.g. {@link MediaCodec}), + * or a single byte of compressed data (e.g. {@link AudioTrack#getBufferSizeInFrames() + * AudioTrack.getBufferSizeInFrames()}), + * or the linear PCM frame result from decoding the compressed data + * (e.g.{@link AudioTrack#getPlaybackHeadPosition() + * AudioTrack.getPlaybackHeadPosition()}), + * depending on the context where audio frame is used. */ public class AudioFormat { diff --git a/media/java/android/media/AudioTrack.java b/media/java/android/media/AudioTrack.java index f76189c..7293c6c 100644 --- a/media/java/android/media/AudioTrack.java +++ b/media/java/android/media/AudioTrack.java @@ -1990,9 +1990,24 @@ public class AudioTrack * The dead object error code is not returned if some data was successfully transferred. * In this case, the error is returned at the next write(). */ - public int write(ByteBuffer audioData, int sizeInBytes, + public int write(@NonNull ByteBuffer audioData, int sizeInBytes, @WriteMode int writeMode, long timestamp) { + if (mState == STATE_UNINITIALIZED) { + Log.e(TAG, "AudioTrack.write() called in invalid state STATE_UNINITIALIZED"); + return ERROR_INVALID_OPERATION; + } + + if ((writeMode != WRITE_BLOCKING) && (writeMode != WRITE_NON_BLOCKING)) { + Log.e(TAG, "AudioTrack.write() called with invalid blocking mode"); + return ERROR_BAD_VALUE; + } + + if (mDataLoadMode != MODE_STREAM) { + Log.e(TAG, "AudioTrack.write() with timestamp called for non-streaming mode track"); + return ERROR_INVALID_OPERATION; + } + if ((mAttributes.getFlags() & AudioAttributes.FLAG_HW_AV_SYNC) == 0) { Log.d(TAG, "AudioTrack.write() called on a regular AudioTrack. Ignoring pts..."); return write(audioData, sizeInBytes, writeMode); diff --git a/media/java/android/media/ExifInterface.java b/media/java/android/media/ExifInterface.java index 9db35fc..aa5d43a 100644 --- a/media/java/android/media/ExifInterface.java +++ b/media/java/android/media/ExifInterface.java @@ -59,6 +59,11 @@ public class ExifInterface { public static final String TAG_ISO = "ISOSpeedRatings"; /** + * @hide + */ + public static final String TAG_SUBSECTIME = "SubSecTime"; + + /** * The altitude (in meters) based on the reference in TAG_GPS_ALTITUDE_REF. * Type is rational. */ @@ -346,7 +351,7 @@ public class ExifInterface { } /** - * Returns number of milliseconds since Jan. 1, 1970, midnight. + * Returns number of milliseconds since Jan. 1, 1970, midnight local time. * Returns -1 if the date time information if not available. * @hide */ @@ -356,9 +361,24 @@ public class ExifInterface { ParsePosition pos = new ParsePosition(0); try { + // The exif field is in local time. Parsing it as if it is UTC will yield time + // since 1/1/1970 local time Date datetime = sFormatter.parse(dateTimeString, pos); if (datetime == null) return -1; - return datetime.getTime(); + long msecs = datetime.getTime(); + + String subSecs = mAttributes.get(TAG_SUBSECTIME); + if (subSecs != null) { + try { + long sub = Long.valueOf(subSecs); + while (sub > 1000) { + sub /= 10; + } + msecs += sub; + } catch (NumberFormatException e) { + } + } + return msecs; } catch (IllegalArgumentException ex) { return -1; } @@ -375,7 +395,6 @@ public class ExifInterface { if (date == null || time == null) return -1; String dateTimeString = date + ' ' + time; - if (dateTimeString == null) return -1; ParsePosition pos = new ParsePosition(0); try { diff --git a/media/java/android/media/session/MediaController.java b/media/java/android/media/session/MediaController.java index 2acee04..b1a51a5 100644 --- a/media/java/android/media/session/MediaController.java +++ b/media/java/android/media/session/MediaController.java @@ -1018,7 +1018,9 @@ public final class MediaController { } public void post(int what, Object obj, Bundle data) { - obtainMessage(what, obj).sendToTarget(); + Message msg = obtainMessage(what, obj); + msg.setData(data); + msg.sendToTarget(); } } diff --git a/media/jni/Android.mk b/media/jni/Android.mk index 51d0140..79557bc 100644 --- a/media/jni/Android.mk +++ b/media/jni/Android.mk @@ -69,7 +69,7 @@ LOCAL_C_INCLUDES += \ $(PV_INCLUDES) \ $(JNI_H_INCLUDE) -LOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code +LOCAL_CFLAGS += -Wall -Werror -Wno-error=deprecated-declarations -Wunused -Wunreachable-code LOCAL_MODULE:= libmedia_jni diff --git a/media/jni/soundpool/Android.mk b/media/jni/soundpool/Android.mk index 2476056..2bc41b5 100644 --- a/media/jni/soundpool/Android.mk +++ b/media/jni/soundpool/Android.mk @@ -18,6 +18,6 @@ LOCAL_SHARED_LIBRARIES := \ LOCAL_MODULE:= libsoundpool -LOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code +LOCAL_CFLAGS += -Wall -Werror -Wno-error=deprecated-declarations -Wunused -Wunreachable-code include $(BUILD_SHARED_LIBRARY) diff --git a/media/jni/soundpool/SoundPool.cpp b/media/jni/soundpool/SoundPool.cpp index 8038cdf..a705bcc 100644 --- a/media/jni/soundpool/SoundPool.cpp +++ b/media/jni/soundpool/SoundPool.cpp @@ -753,6 +753,7 @@ void SoundChannel::play(const sp<Sample>& sample, int nextChannelID, float leftV status = newTrack->initCheck(); if (status != NO_ERROR) { ALOGE("Error creating AudioTrack"); + // newTrack goes out of scope, so reference count drops to zero goto exit; } // From now on, AudioTrack callbacks received with previous toggle value will be ignored. diff --git a/media/tests/audiotests/Android.mk b/media/tests/audiotests/Android.mk index 794e7f22..3507434 100644 --- a/media/tests/audiotests/Android.mk +++ b/media/tests/audiotests/Android.mk @@ -18,6 +18,6 @@ LOCAL_SHARED_LIBRARIES := \ LOCAL_MODULE_TAGS := tests -LOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code +LOCAL_CFLAGS += -Wall -Werror -Wno-error=deprecated-declarations -Wunused -Wunreachable-code include $(BUILD_EXECUTABLE) diff --git a/packages/BackupRestoreConfirmation/res/values-az-rAZ/strings.xml b/packages/BackupRestoreConfirmation/res/values-az-rAZ/strings.xml index 1f9e6aa..3194bae 100644 --- a/packages/BackupRestoreConfirmation/res/values-az-rAZ/strings.xml +++ b/packages/BackupRestoreConfirmation/res/values-az-rAZ/strings.xml @@ -29,6 +29,7 @@ <string name="device_encryption_backup_text" msgid="5866590762672844664">"Lütfən, aşağıda cihaz şifrələmə parolunuzu daxil edin. Bu yedək arxivini şifrələmək üçün də istifadə olunacaq."</string> <string name="backup_enc_password_text" msgid="4981585714795233099">"Tam yedək data şifrələmədən istifadə üçün şifrə daxil edin. Əgər boş buraxılsa, cari yedək şifrə istifadə olunacaq:"</string> <string name="backup_enc_password_optional" msgid="1350137345907579306">"Bütün yedək datanı şifrələmək istəyirsinizsə, aşağıda parol daxil edin:"</string> + <string name="backup_enc_password_required" msgid="7889652203371654149">"Cihazınız şifrələndiyi üçün yedəyinizi şifrələmək tələb olunur. Aşağıda parolu daxil etməyiniz xahiş olunur:"</string> <string name="restore_enc_password_text" msgid="6140898525580710823">"Bərpa məlumatları şifrələnibsə, şifrəni aşağıda daxil edin:"</string> <string name="toast_backup_started" msgid="550354281452756121">"Rezerv edilir ..."</string> <string name="toast_backup_ended" msgid="3818080769548726424">"Yedəkləmə sona çatdı"</string> diff --git a/packages/CaptivePortalLogin/res/values-az-rAZ/strings.xml b/packages/CaptivePortalLogin/res/values-az-rAZ/strings.xml new file mode 100644 index 0000000..cc19351 --- /dev/null +++ b/packages/CaptivePortalLogin/res/values-az-rAZ/strings.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<resources xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="app_name" msgid="5934709770924185752">"CaptivePortalLogin"</string> + <string name="action_use_network" msgid="6076184727448466030">"Bu şəbəkəni olduğu kimi istifadə edin"</string> + <string name="action_do_not_use_network" msgid="4577366536956516683">"Bu şəbəkəni istifadə etməyin"</string> + <string name="action_bar_label" msgid="917235635415966620">"Şəbəkəyə daxil olun"</string> +</resources> diff --git a/packages/DefaultContainerService/res/values-kk-rKZ/strings.xml b/packages/DefaultContainerService/res/values-kk-rKZ/strings.xml index a29680e..216d715 100644 --- a/packages/DefaultContainerService/res/values-kk-rKZ/strings.xml +++ b/packages/DefaultContainerService/res/values-kk-rKZ/strings.xml @@ -20,5 +20,5 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="service_name" msgid="4841491635055379553">"Жинаққа қол жеткізу көмекшісі"</string> + <string name="service_name" msgid="4841491635055379553">"Package Access Helper"</string> </resources> diff --git a/packages/DocumentsUI/res/values-az-rAZ/strings.xml b/packages/DocumentsUI/res/values-az-rAZ/strings.xml index 1374982..573dce8 100644 --- a/packages/DocumentsUI/res/values-az-rAZ/strings.xml +++ b/packages/DocumentsUI/res/values-az-rAZ/strings.xml @@ -29,6 +29,16 @@ <string name="menu_save" msgid="2394743337684426338">"Yadda saxlayın"</string> <string name="menu_share" msgid="3075149983979628146">"Paylaşın"</string> <string name="menu_delete" msgid="8138799623850614177">"Sil"</string> + <string name="menu_select_all" msgid="4320518282375109902">"Hamısını Seçin"</string> + <string name="menu_copy" msgid="3612326052677229148">"Buraya kopyalayın:"</string> + <string name="menu_advanced_show" product="nosdcard" msgid="4693652895715631401">"Daxili yaddaşı göstərin"</string> + <string name="menu_advanced_show" product="default" msgid="5792182900084144261">"SD kartı göstərin"</string> + <string name="menu_advanced_hide" product="nosdcard" msgid="4218809952721972589">"Daxili yaddaşı gizlədin"</string> + <string name="menu_advanced_hide" product="default" msgid="4845869969015718848">"SD kartı gizlədin"</string> + <string name="menu_file_size_show" msgid="3240323619260823076">"Fayl ölçüsünü göstərin"</string> + <string name="menu_file_size_hide" msgid="8881975928502581042">"Fayl ölçüsünü gizlədin"</string> + <string name="button_select" msgid="527196987259139214">"Seçin"</string> + <string name="button_copy" msgid="8706475544635021302">"Kopyala"</string> <string name="mode_selected_count" msgid="459111894725594625">"<xliff:g id="COUNT">%1$d</xliff:g> seçilmiş"</string> <string name="sort_name" msgid="9183560467917256779">"Ad üzrə"</string> <string name="sort_date" msgid="586080032956151448">"Tarix üzrə dəyişmiş"</string> @@ -36,18 +46,30 @@ <string name="drawer_open" msgid="4545466532430226949">"Kökləri göstərin"</string> <string name="drawer_close" msgid="7602734368552123318">"Kökləri gizlədin"</string> <string name="save_error" msgid="6167009778003223664">"Sənədi yadda saxlaya bilmədi"</string> + <string name="create_error" msgid="3735649141335444215">"Qovluq yaradıla bilmədi"</string> + <string name="query_error" msgid="1222448261663503501">"Sənəd sorğusu alınmadı"</string> <string name="root_recent" msgid="4470053704320518133">"Son"</string> <string name="root_available_bytes" msgid="8568452858617033281">"<xliff:g id="SIZE">%1$s</xliff:g> ödənişsiz"</string> - <!-- no translation found for root_type_service (2178854894416775409) --> - <skip /> + <string name="root_type_service" msgid="2178854894416775409">"Saxlama xidmətləri"</string> <string name="root_type_shortcut" msgid="3318760609471618093">"Qısa yollar"</string> <string name="root_type_device" msgid="7121342474653483538">"Cihazlar"</string> <string name="root_type_apps" msgid="8838065367985945189">"Daha çox tətbiq"</string> - <string name="pref_advanced_devices" msgid="903257239609301276">"Qabaqcıl cihazları görüntüləyin"</string> - <string name="pref_file_size" msgid="2826879315743961459">"Fayl ölçüsünü görüntüləyin"</string> - <string name="pref_device_size" msgid="3542106883278997222">"Cihaz ölçüsünü görüntüləyin"</string> <string name="empty" msgid="7858882803708117596">"Element yoxdur"</string> <string name="toast_no_application" msgid="1339885974067891667">"Faylı aça bilmir"</string> <string name="toast_failed_delete" msgid="2180678019407244069">"Bəzi sənədləri silə bilmir"</string> <string name="share_via" msgid="8966594246261344259">"Bunun vasitəsilə paylaş:"</string> + <string name="copy_notification_title" msgid="6374299806748219777">"Fayllar kopyalanır"</string> + <string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> qalıb"</string> + <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> + <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> fayl kopyalanır.</item> + <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> fayl kopyalanır.</item> + </plurals> + <string name="copy_preparing" msgid="3896202461003039386">"Kopyalanmaq üçün hazırlanır ..."</string> + <plurals name="copy_error_notification_title" formatted="false" msgid="5267616889076217261"> + <item quantity="other"><xliff:g id="COUNT_1">%1$d</xliff:g> fayl kopyalanmadı</item> + <item quantity="one"><xliff:g id="COUNT_0">%1$d</xliff:g> fayl kopyalanmadı</item> + </plurals> + <string name="notification_touch_for_details" msgid="4483108577842961665">"Detallara baxmaq üçün toxunun"</string> + <string name="retry" msgid="7564024179122207376">"Yenidən cəhd edin"</string> + <string name="copy_failure_alert_content" msgid="3715575000297709082">"Bu fayllar kopyalanmadı: <xliff:g id="LIST">%1$s</xliff:g>"</string> </resources> diff --git a/packages/DocumentsUI/res/values-it/strings.xml b/packages/DocumentsUI/res/values-it/strings.xml index d0b2efd..7952d0f 100644 --- a/packages/DocumentsUI/res/values-it/strings.xml +++ b/packages/DocumentsUI/res/values-it/strings.xml @@ -54,7 +54,7 @@ <string name="root_type_shortcut" msgid="3318760609471618093">"Scorciatoie"</string> <string name="root_type_device" msgid="7121342474653483538">"Dispositivi"</string> <string name="root_type_apps" msgid="8838065367985945189">"Altre app"</string> - <string name="empty" msgid="7858882803708117596">"Nessun articolo"</string> + <string name="empty" msgid="7858882803708117596">"Nessun elemento"</string> <string name="toast_no_application" msgid="1339885974067891667">"Impossibile aprire il file"</string> <string name="toast_failed_delete" msgid="2180678019407244069">"Impossibile eliminare alcuni documenti"</string> <string name="share_via" msgid="8966594246261344259">"Condividi via"</string> diff --git a/packages/DocumentsUI/res/values-kk-rKZ/strings.xml b/packages/DocumentsUI/res/values-kk-rKZ/strings.xml index dd21bb8..9400ddc 100644 --- a/packages/DocumentsUI/res/values-kk-rKZ/strings.xml +++ b/packages/DocumentsUI/res/values-kk-rKZ/strings.xml @@ -57,7 +57,7 @@ <string name="empty" msgid="7858882803708117596">"Бос"</string> <string name="toast_no_application" msgid="1339885974067891667">"Файлды аша алмады"</string> <string name="toast_failed_delete" msgid="2180678019407244069">"Кейбір құжаттарды жою мүмкін болмады"</string> - <string name="share_via" msgid="8966594246261344259">"арқылы бөлісу"</string> + <string name="share_via" msgid="8966594246261344259">"Бөлісу"</string> <string name="copy_notification_title" msgid="6374299806748219777">"Файлдарды көшіру"</string> <string name="copy_remaining" msgid="6283790937387975095">"<xliff:g id="DURATION">%s</xliff:g> қалды"</string> <plurals name="copy_begin" formatted="false" msgid="9071199452634086365"> diff --git a/packages/DocumentsUI/res/xml/preferences.xml b/packages/DocumentsUI/res/xml/preferences.xml deleted file mode 100644 index 5589ff1..0000000 --- a/packages/DocumentsUI/res/xml/preferences.xml +++ /dev/null @@ -1,26 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<!-- Copyright (C) 2013 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. ---> - -<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> - <CheckBoxPreference - android:title="@string/pref_advanced_devices" - android:defaultValue="false" - android:key="advancedDevices" /> - <CheckBoxPreference - android:title="@string/pref_file_size" - android:defaultValue="false" - android:key="fileSize" /> -</PreferenceScreen> diff --git a/packages/ExternalStorageProvider/res/values-az-rAZ/strings.xml b/packages/ExternalStorageProvider/res/values-az-rAZ/strings.xml index a6a79ca8..cd5ba2f 100644 --- a/packages/ExternalStorageProvider/res/values-az-rAZ/strings.xml +++ b/packages/ExternalStorageProvider/res/values-az-rAZ/strings.xml @@ -18,4 +18,5 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="7123375275748530234">"Xarici Yaddaş"</string> <string name="root_internal_storage" msgid="827844243068584127">"Daxili yaddaş"</string> + <string name="root_documents" msgid="4051252304075469250">"Sənədlər"</string> </resources> diff --git a/packages/FusedLocation/res/values-az-rAZ/strings.xml b/packages/FusedLocation/res/values-az-rAZ/strings.xml new file mode 100644 index 0000000..31962e4 --- /dev/null +++ b/packages/FusedLocation/res/values-az-rAZ/strings.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<resources xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="app_label" msgid="5379477904423203699">"Qarışmış Yer"</string> +</resources> diff --git a/packages/FusedLocation/res/values-kk-rKZ/strings.xml b/packages/FusedLocation/res/values-kk-rKZ/strings.xml index c90831d..0d2cccc 100644 --- a/packages/FusedLocation/res/values-kk-rKZ/strings.xml +++ b/packages/FusedLocation/res/values-kk-rKZ/strings.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_label" msgid="5379477904423203699">"Аймақ табу құралдарының торабы"</string> + <string name="app_label" msgid="5379477904423203699">"Fused Location"</string> </resources> diff --git a/packages/InputDevices/res/values-az-rAZ/strings.xml b/packages/InputDevices/res/values-az-rAZ/strings.xml new file mode 100644 index 0000000..d69059c --- /dev/null +++ b/packages/InputDevices/res/values-az-rAZ/strings.xml @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="UTF-8"?> +<resources xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="app_label" msgid="8016145283189546017">"Daxiletmə Cihazları"</string> + <string name="keyboard_layouts_label" msgid="6688773268302087545">"Android klaviaturası"</string> + <string name="keyboard_layout_english_uk_label" msgid="6664258463319999632">"İngilis (BK)"</string> + <string name="keyboard_layout_english_us_label" msgid="8994890249649106291">"İngilis (ABŞ)"</string> + <string name="keyboard_layout_english_us_intl" msgid="3705168594034233583">"İngilis (ABŞ), Beynəlxalq üslub"</string> + <string name="keyboard_layout_english_us_colemak_label" msgid="4194969610343455380">"İngilis (ABŞ), Colemak üslubu"</string> + <string name="keyboard_layout_english_us_dvorak_label" msgid="793528923171145202">"İngilis (ABŞ), Dvorak üslubu"</string> + <string name="keyboard_layout_german_label" msgid="8451565865467909999">"Alman"</string> + <string name="keyboard_layout_french_label" msgid="813450119589383723">"Fransız"</string> + <string name="keyboard_layout_french_ca_label" msgid="365352601060604832">"Fransız dili (Kanada)"</string> + <string name="keyboard_layout_russian_label" msgid="8724879775815042968">"Rus"</string> + <string name="keyboard_layout_russian_mac_label" msgid="3795866869038264796">"Rus, Mac üslubu"</string> + <string name="keyboard_layout_spanish_label" msgid="7091555148131908240">"İspan"</string> + <string name="keyboard_layout_swiss_french_label" msgid="4659191025396371684">"İsverçə Fransızı"</string> + <string name="keyboard_layout_swiss_german_label" msgid="2305520941993314258">"İsveçrə Almanı"</string> + <string name="keyboard_layout_belgian" msgid="2011984572838651558">"Belçikalı"</string> + <string name="keyboard_layout_bulgarian" msgid="8951224309972028398">"Bolqar"</string> + <string name="keyboard_layout_italian" msgid="6497079660449781213">"İtalyan"</string> + <string name="keyboard_layout_danish" msgid="8036432066627127851">"Danimarkalı"</string> + <string name="keyboard_layout_norwegian" msgid="9090097917011040937">"Norveçli"</string> + <string name="keyboard_layout_swedish" msgid="732959109088479351">"İsveç"</string> + <string name="keyboard_layout_finnish" msgid="5585659438924315466">"Fin"</string> + <string name="keyboard_layout_croatian" msgid="4172229471079281138">"Xorvat"</string> + <string name="keyboard_layout_czech" msgid="1349256901452975343">"Çex"</string> + <string name="keyboard_layout_estonian" msgid="8775830985185665274">"Eston"</string> + <string name="keyboard_layout_hungarian" msgid="4154963661406035109">"Macar"</string> + <string name="keyboard_layout_icelandic" msgid="5836645650912489642">"İslandiyalı"</string> + <string name="keyboard_layout_brazilian" msgid="5117896443147781939">"Braziliyalı"</string> + <string name="keyboard_layout_portuguese" msgid="2888198587329660305">"Portuqal"</string> + <string name="keyboard_layout_slovak" msgid="2469379934672837296">"Slovak"</string> + <string name="keyboard_layout_slovenian" msgid="1735933028924982368">"Sloven"</string> + <string name="keyboard_layout_turkish" msgid="7736163250907964898">"Türk"</string> + <string name="keyboard_layout_ukrainian" msgid="8176637744389480417">"Ukrayna"</string> + <string name="keyboard_layout_arabic" msgid="5671970465174968712">"Ərəb"</string> + <string name="keyboard_layout_greek" msgid="7289253560162386040">"Yunan"</string> + <string name="keyboard_layout_hebrew" msgid="7241473985890173812">"İvrit"</string> + <string name="keyboard_layout_lithuanian" msgid="6943110873053106534">"Litva"</string> + <string name="keyboard_layout_spanish_latin" msgid="5690539836069535697">"İspan (Latın)"</string> + <string name="keyboard_layout_latvian" msgid="4405417142306250595">"Latış"</string> +</resources> diff --git a/packages/Keyguard/res/layout/keyguard_emergency_carrier_area.xml b/packages/Keyguard/res/layout/keyguard_emergency_carrier_area.xml index 9b55e5b..3ea22e9 100644 --- a/packages/Keyguard/res/layout/keyguard_emergency_carrier_area.xml +++ b/packages/Keyguard/res/layout/keyguard_emergency_carrier_area.xml @@ -26,8 +26,7 @@ android:orientation="vertical" android:gravity="center" android:layout_gravity="center_horizontal" - android:layout_alignParentBottom="true" - android:clickable="true"> + android:layout_alignParentBottom="true"> <com.android.keyguard.CarrierText android:id="@+id/carrier_text" diff --git a/packages/Keyguard/res/layout/keyguard_message_area.xml b/packages/Keyguard/res/layout/keyguard_message_area.xml index a709e98..46aa39d 100644 --- a/packages/Keyguard/res/layout/keyguard_message_area.xml +++ b/packages/Keyguard/res/layout/keyguard_message_area.xml @@ -29,5 +29,5 @@ android:textAppearance="?android:attr/textAppearance" android:textSize="@dimen/kg_status_line_font_size" android:textColor="?android:attr/textColorSecondary" - android:clickable="true" /> + android:focusable="true" /> diff --git a/packages/Keyguard/res/layout/keyguard_pattern_view.xml b/packages/Keyguard/res/layout/keyguard_pattern_view.xml index 6148065..0f5431e 100644 --- a/packages/Keyguard/res/layout/keyguard_pattern_view.xml +++ b/packages/Keyguard/res/layout/keyguard_pattern_view.xml @@ -65,6 +65,8 @@ android:layout_gravity="center_horizontal" android:gravity="center" android:contentDescription="@string/keyguard_accessibility_pattern_area" + android:focusable="true" + android:focusableInTouchMode="true" android:clipChildren="false" android:clipToPadding="false" /> diff --git a/packages/Keyguard/res/values-az-rAZ/strings.xml b/packages/Keyguard/res/values-az-rAZ/strings.xml index 5c8f6ac..978f811 100644 --- a/packages/Keyguard/res/values-az-rAZ/strings.xml +++ b/packages/Keyguard/res/values-az-rAZ/strings.xml @@ -20,18 +20,17 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="app_name" msgid="719438068451601849">"Klaviatura kilidi"</string> <string name="keyguard_password_enter_pin_code" msgid="3037685796058495017">"PİN kodu daxil edin"</string> - <string name="keyguard_password_enter_puk_code" msgid="4800725266925845333">"PUK və yeni PİN kod daxil edin"</string> - <string name="keyguard_password_enter_puk_prompt" msgid="1341112146710087048">"PUK kod"</string> - <string name="keyguard_password_enter_pin_prompt" msgid="8027680321614196258">"Yeni PIN kodu"</string> + <string name="keyguard_password_enter_puk_code" msgid="3035856550289724338">"SIM PUK və yeni PIN kodu yazın"</string> + <string name="keyguard_password_enter_puk_prompt" msgid="1801941051094974609">"SIM PUK kodu"</string> + <string name="keyguard_password_enter_pin_prompt" msgid="3201151840570492538">"Yeni SIM PIN kodu"</string> <string name="keyguard_password_entry_touch_hint" msgid="7858547464982981384"><font size="17">"Şifrə daxil etmək üçün toxunun"</font></string> <string name="keyguard_password_enter_password_code" msgid="1054721668279049780">"Kilidi açmaq üçün parol yazın"</string> <string name="keyguard_password_enter_pin_password_code" msgid="6391755146112503443">"Kilidi açmaq üçün PIN daxil edin"</string> <string name="keyguard_password_wrong_pin_code" msgid="2422225591006134936">"Yanlış PIN kodu."</string> - <string name="keyguard_label_text" msgid="861796461028298424">"Kilidi açmaq üçün Menyu, sonra 0 basın."</string> - <string name="faceunlock_multiple_failures" msgid="754137583022792429">"Sifət kilidi cəhdləriniz bitdi"</string> <string name="keyguard_charged" msgid="3272223906073492454">"Dolmuş"</string> - <string name="keyguard_plugged_in" msgid="8117572000639998388">"Dolur, <xliff:g id="NUMBER">%d</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string> + <string name="keyguard_plugged_in" msgid="9087497435553252863">"Enerji doldurulur"</string> <string name="keyguard_low_battery" msgid="8143808018719173859">"Elektrikə qoşun."</string> <string name="keyguard_instructions_when_pattern_disabled" msgid="1332288268600329841">"Kilidi açmaq üçün Menyu düyməsinə baxın."</string> <string name="keyguard_network_locked_message" msgid="9169717779058037168">"Şəbəkə kilidləndi"</string> @@ -45,53 +44,17 @@ <string name="keyguard_sim_locked_message" msgid="6875773413306380902">"SIM kart kilidlənib."</string> <string name="keyguard_sim_puk_locked_message" msgid="3747232467471801633">"SİM kart PUK ilə kilidlənib."</string> <string name="keyguard_sim_unlock_progress_dialog_message" msgid="7975221805033614426">"SİM kartın kilidi açılır..."</string> - <string name="keyguard_accessibility_widget_changed" msgid="5678624624681400191">"%1$s. Widget %2$d of %3$d."</string> - <string name="keyguard_accessibility_add_widget" msgid="8273277058724924654">"Widget əlavə edin."</string> - <string name="keyguard_accessibility_widget_empty_slot" msgid="1281505703307930757">"Boş"</string> - <string name="keyguard_accessibility_unlock_area_expanded" msgid="2278106022311170299">"Kilidi açma sahəsi genişləndi."</string> - <string name="keyguard_accessibility_unlock_area_collapsed" msgid="6366992066936076396">"Kilidi açma sahəsi çökdü."</string> - <string name="keyguard_accessibility_widget" msgid="6527131039741808240">"<xliff:g id="WIDGET_INDEX">%1$s</xliff:g> vidcet."</string> - <string name="keyguard_accessibility_user_selector" msgid="1226798370913698896">"İstifadəçi selektoru"</string> - <string name="keyguard_accessibility_status" msgid="8008264603935930611">"Status"</string> - <string name="keyguard_accessibility_camera" msgid="8904231194181114603">"Kamera"</string> - <string name="keygaurd_accessibility_media_controls" msgid="262209654292161806">"Media kontrolları"</string> - <string name="keyguard_accessibility_widget_reorder_start" msgid="8736853615588828197">"Yenidən sıralama vidceti başladıldı."</string> - <string name="keyguard_accessibility_widget_reorder_end" msgid="7170190950870468320">"Vidcetin təkrar sifarişi sona çatdı."</string> - <string name="keyguard_accessibility_widget_deleted" msgid="4426204263929224434">"Vidcet <xliff:g id="WIDGET_INDEX">%1$s</xliff:g> silindi."</string> - <string name="keyguard_accessibility_expand_lock_area" msgid="519859720934178024">"Kilidi açma sahəsini genişləndir."</string> - <string name="keyguard_accessibility_slide_unlock" msgid="2959928478764697254">"Sürüşdürmə kilidi."</string> <string name="keyguard_accessibility_pattern_unlock" msgid="1490840706075246612">"Kild açma modeli."</string> - <string name="keyguard_accessibility_face_unlock" msgid="4817282543351718535">"Sifət Kilidi"</string> <string name="keyguard_accessibility_pin_unlock" msgid="2469687111784035046">"Pin kilid açması."</string> <string name="keyguard_accessibility_password_unlock" msgid="7675777623912155089">"Şifrə kilidi."</string> <string name="keyguard_accessibility_pattern_area" msgid="7679891324509597904">"Model sahəsi."</string> <string name="keyguard_accessibility_slide_area" msgid="6736064494019979544">"Sürüşdürmə sahəsi."</string> - <string name="keyguard_accessibility_transport_prev_description" msgid="1337286538318543555">"Əvvəlki izləmə düyməsi"</string> - <string name="keyguard_accessibility_transport_next_description" msgid="7073928300444909320">"Növbəti izləmə düyməsi"</string> - <string name="keyguard_accessibility_transport_pause_description" msgid="8455979545295224302">"Pauza düyməsi"</string> - <string name="keyguard_accessibility_transport_play_description" msgid="8146417789511154044">"Oxutma düyməsi"</string> - <string name="keyguard_accessibility_transport_stop_description" msgid="7656358482980912216">"Dayandırma düyməsi"</string> - <string name="password_keyboard_label_symbol_key" msgid="992280756256536042">"?123"</string> - <string name="password_keyboard_label_alpha_key" msgid="8001096175167485649">"ABC"</string> - <string name="password_keyboard_label_alt_key" msgid="1284820942620288678">"ALT"</string> - <string name="keyboardview_keycode_alt" msgid="4856868820040051939">"Alt"</string> - <string name="keyboardview_keycode_cancel" msgid="1203984017245783244">"Ləğv et"</string> + <string name="keyguard_accessibility_pin_area" msgid="7903959476607833485">"PIN sahəsi"</string> + <string name="keyguard_accessibility_sim_pin_area" msgid="3887780775111719336">"SIM PIN sahəsi"</string> + <string name="keyguard_accessibility_sim_puk_area" msgid="1880823406954996207">"SIM PUK sahəsi"</string> + <string name="keyguard_accessibility_next_alarm" msgid="7269583073750518672">"Növbəti alarm vaxtı: <xliff:g id="ALARM">%1$s</xliff:g>"</string> <string name="keyboardview_keycode_delete" msgid="3337914833206635744">"Sil"</string> - <string name="keyboardview_keycode_done" msgid="1992571118466679775">"Hazırdır"</string> - <string name="keyboardview_keycode_mode_change" msgid="4547387741906537519">"Rejim dəyişikliyi"</string> - <string name="keyboardview_keycode_shift" msgid="2270748814315147690">"Shift"</string> <string name="keyboardview_keycode_enter" msgid="2985864015076059467">"Daxil olun"</string> - <string name="description_target_unlock" msgid="2228524900439801453">"Kilidi aç"</string> - <string name="description_target_camera" msgid="969071997552486814">"Kamera"</string> - <string name="description_target_silent" msgid="893551287746522182">"Səssiz"</string> - <string name="description_target_soundon" msgid="30052466675500172">"Səs açıqdır"</string> - <string name="description_target_search" msgid="3091587249776033139">"Axtar"</string> - <string name="description_direction_up" msgid="7169032478259485180">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> üçün yuxarı sürüşdürün."</string> - <string name="description_direction_down" msgid="5087739728639014595">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> üçün aşağı sürüşdürün."</string> - <string name="description_direction_left" msgid="7207478719805562165">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> üçün sola sürüşdür."</string> - <string name="description_direction_right" msgid="8034433242579600980">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> üçün sağa sürüşdür."</string> - <string name="user_switched" msgid="3768006783166984410">"Cari istifadəçi <xliff:g id="NAME">%1$s</xliff:g>."</string> - <string name="kg_emergency_call_label" msgid="684946192523830531">"Təcili zəng"</string> <string name="kg_forgot_pattern_button_text" msgid="8852021467868220608">"Şablonu unutmuşam"</string> <string name="kg_wrong_pattern" msgid="1850806070801358830">"Yanlış Model"</string> <string name="kg_wrong_password" msgid="2333281762128113157">"Yanlış Şifrə"</string> @@ -99,40 +62,51 @@ <string name="kg_too_many_failed_attempts_countdown" msgid="6358110221603297548">"<xliff:g id="NUMBER">%d</xliff:g> saniyə sonra yenidən cəhd edin."</string> <string name="kg_pattern_instructions" msgid="398978611683075868">"Şablonunuzu çəkin"</string> <string name="kg_sim_pin_instructions" msgid="2319508550934557331">"SIM PIN kodu daxil edin"</string> + <string name="kg_sim_pin_instructions_multi" msgid="7818515973197201434">"\"<xliff:g id="CARRIER">%1$s</xliff:g>\" üçün SIM PIN daxil edin"</string> <string name="kg_pin_instructions" msgid="2377242233495111557">"PİN kodu daxil edin"</string> <string name="kg_password_instructions" msgid="5753646556186936819">"Parol daxil edin"</string> <string name="kg_puk_enter_puk_hint" msgid="453227143861735537">"SIM indi deaktivdir. Davam etmək üçün PUK kodu daxil edin. Əlavə məlumat üçün operatora müraciət edin."</string> + <string name="kg_puk_enter_puk_hint_multi" msgid="363822494559783025">"SIM \"<xliff:g id="CARRIER">%1$s</xliff:g>\" indi qeyri-aktiv edilib. Davam etmək üçün PUK kodu daxil edin. Təfərrüatlar üçün operatorunuzla əlaqə saxlayın."</string> <string name="kg_puk_enter_pin_hint" msgid="7871604527429602024">"İstədiyiniz PİN kodu daxil edin"</string> <string name="kg_enter_confirm_pin_hint" msgid="325676184762529976">"İstədiyiniz PIN kodu təsdiqləyin"</string> <string name="kg_sim_unlock_progress_dialog_message" msgid="8950398016976865762">"SİM kartın kilidi açılır..."</string> - <string name="kg_password_wrong_pin_code" msgid="1139324887413846912">"Yanlış PİN kod."</string> <string name="kg_invalid_sim_pin_hint" msgid="8795159358110620001">"4-dən 8-ə qədər rəqəmi olan PIN yazın."</string> <string name="kg_invalid_sim_puk_hint" msgid="7553388325654369575">"PUK kod 8 rəqəm və ya daha çox olmalıdır."</string> <string name="kg_invalid_puk" msgid="3638289409676051243">"Düzgün PUK kodu yenidən daxil edin. Təkrarlanan cəhdlər SIM\'i birdəfəlik sıradan çıxaracaq."</string> <string name="kg_invalid_confirm_pin_hint" product="default" msgid="7003469261464593516">"PIN kodları uyğun deyil"</string> <string name="kg_login_too_many_attempts" msgid="6486842094005698475">"Həddindən çox cəhd edildi!"</string> - <string name="kg_login_instructions" msgid="1100551261265506448">"Kilidi açmaq üçün Google hesabınız ilə daxil olun."</string> - <string name="kg_login_username_hint" msgid="5718534272070920364">"İstifadəçi adı (e-poçt)"</string> - <string name="kg_login_password_hint" msgid="9057289103827298549">"Şifrə"</string> - <string name="kg_login_submit_button" msgid="5355904582674054702">"Daxil ol"</string> - <string name="kg_login_invalid_input" msgid="5754664119319872197">"Yanlış istifadəçi adı və ya parol."</string> - <string name="kg_login_account_recovery_hint" msgid="5690709132841752974">"İstifadəçi adınızı və ya parolunuzu unutmusunuz?\n "<b>"google.com/accounts/recovery"</b>" linkinə daxil olun."</string> - <string name="kg_login_checking_password" msgid="1052685197710252395">"Hesab yoxlanılır..."</string> <string name="kg_too_many_failed_pin_attempts_dialog_message" msgid="8276745642049502550">"PIN kodunuzu <xliff:g id="NUMBER_0">%d</xliff:g> dəfə yanlış daxil etdiniz.\n\n <xliff:g id="NUMBER_1">%d</xliff:g> saniyə ərzində yenidən yoxlayın"</string> <string name="kg_too_many_failed_password_attempts_dialog_message" msgid="7813713389422226531">"Şifrənizi <xliff:g id="NUMBER_0">%d</xliff:g> dəfə yanlış daxil etdiniz. \n\n <xliff:g id="NUMBER_1">%d</xliff:g> saniyə ərzində yenidən yoxlayın."</string> <string name="kg_too_many_failed_pattern_attempts_dialog_message" msgid="74089475965050805">"Modelinizi <xliff:g id="NUMBER_0">%d</xliff:g> dəfə yanlış çəkmisiniz.\n\n <xliff:g id="NUMBER_1">%d</xliff:g> saniyə ərzində yenidən yoxlayın"</string> - <string name="kg_failed_attempts_almost_at_wipe" product="tablet" msgid="1575557200627128949">"Siz planşet kilidini açmaq üçün <xliff:g id="NUMBER_0">%d</xliff:g> dəfə uğursuz cəhd etmisiniz. <xliff:g id="NUMBER_1">%d</xliff:g> dəfə də uğursuz cəhd etsəniz, planşet fabrik ayarlarına sıfırlanacaq və bütün məlumatlarınız itəcək."</string> - <string name="kg_failed_attempts_almost_at_wipe" product="default" msgid="4051015943038199910">"Siz telefon kilidini açmaq üçün <xliff:g id="NUMBER_0">%d</xliff:g> dəfə uğursuz cəhd etmisiniz. <xliff:g id="NUMBER_1">%d</xliff:g> dəfə də uğursuz cəhd etsəniz, telefon fabrik ayarlarına sıfırlanacaq və bütün məlumatlarınız itəcək."</string> - <string name="kg_failed_attempts_now_wiping" product="tablet" msgid="2072996269148483637">"Siz planşet kilidini açmaq üçün <xliff:g id="NUMBER">%d</xliff:g> dəfə uğursuz cəhd etmisiniz. Planşet fabrik ayarlarına sıfırlanacaq."</string> - <string name="kg_failed_attempts_now_wiping" product="default" msgid="4817627474419471518">"Siz telefonun kilidini açmaq üçün <xliff:g id="NUMBER">%d</xliff:g> yanlış cəhd etmisiniz. Telefon artıq defolt zavod halına sıfırlanacaq."</string> + <string name="kg_failed_attempts_almost_at_wipe" product="tablet" msgid="8774056606869646621">"Siz <xliff:g id="NUMBER_0">%d</xliff:g> dəfə planşetinizin kilidini açmaq üçün yanlış cəhdlər etdiniz. Daha <xliff:g id="NUMBER_1">%d</xliff:g> uğursuz cəhddən sonra bu planşet ilkin vəziyyətinə bərpa olunacaq və ondakı bütün məlumatlar silinəcəkdir."</string> + <string name="kg_failed_attempts_almost_at_wipe" product="default" msgid="1843331751334128428">"Siz <xliff:g id="NUMBER_0">%d</xliff:g> dəfə telefonunuzun kilidini açmaq üçün yanlış cəhdlər etdiniz. Daha <xliff:g id="NUMBER_1">%d</xliff:g> uğursuz cəhddən sonra bu telefon ilkin vəziyyətinə bərpa olunacaq və ondakı bütün məlumatlar silinəcəkdir."</string> + <string name="kg_failed_attempts_now_wiping" product="tablet" msgid="258925501999698032">"Siz <xliff:g id="NUMBER">%d</xliff:g> dəfə planşetinizin kilidini açmaq üçün yanlış cəhdlər etdiniz. Bu planşet ilkin vəziyyətinə bərpa olunacaq və ondakı bütün məlumatlar silinəcəkdir."</string> + <string name="kg_failed_attempts_now_wiping" product="default" msgid="7154028908459817066">"Siz <xliff:g id="NUMBER">%d</xliff:g> dəfə telefonunuzun kilidini açmaq üçün yanlış cəhdlər etdiniz. Bu telefon ilkin vəziyyətinə bərpa olunacaq və ondakı bütün məlumatlar silinəcəkdir."</string> + <string name="kg_failed_attempts_almost_at_erase_user" product="tablet" msgid="6159955099372112688">"Siz <xliff:g id="NUMBER_0">%d</xliff:g> dəfə planşetinizin kilidini açmaq üçün yanlış cəhdlər etdiniz. Daha <xliff:g id="NUMBER_1">%d</xliff:g> uğursuz cəhddən sonra bütün istifadəçi məlumatlarını siləcək bu istifadəçi silinəcəkdir."</string> + <string name="kg_failed_attempts_almost_at_erase_user" product="default" msgid="6945823186629369880">"Siz <xliff:g id="NUMBER_0">%d</xliff:g> dəfə telefonunuzun kilidini açmaq üçün yanlış cəhdlər etdiniz. Daha <xliff:g id="NUMBER_1">%d</xliff:g> uğursuz cəhddən sonra bütün istifadəçi məlumatlarını siləcək bu istifadəçi silinəcəkdir."</string> + <string name="kg_failed_attempts_now_erasing_user" product="tablet" msgid="3963486905355778734">"Siz <xliff:g id="NUMBER">%d</xliff:g> dəfə planşetinizin kilidini açmaq üçün yanlış cəhdlər etdiniz. Bu istifadəçi və istifadəçi ilə bağlı bütün məlumatlar silinəcəkdir."</string> + <string name="kg_failed_attempts_now_erasing_user" product="default" msgid="7729009752252111673">"Siz <xliff:g id="NUMBER">%d</xliff:g> dəfə telefonunuzun kilidini açmaq üçün yanlış cəhdlər etdiniz. Bu istifadəçi və istifadəçi ilə bağlı bütün məlumatlar silinəcəkdir."</string> + <string name="kg_failed_attempts_almost_at_erase_profile" product="tablet" msgid="4621778507387853694">"Siz <xliff:g id="NUMBER_0">%d</xliff:g> dəfə planşetinizin kilidini açmaq üçün yanlış cəhdlər etdiniz. <xliff:g id="NUMBER_1">%d</xliff:g> uğursuz cəhddən sonra bütün profil məlumatlarını siləcək iş profili silinəcəkdir."</string> + <string name="kg_failed_attempts_almost_at_erase_profile" product="default" msgid="6853071165802933545">"Siz <xliff:g id="NUMBER_0">%d</xliff:g> dəfə telefonunuzun kilidini açmaq üçün yanlış cəhdlər etdiniz. <xliff:g id="NUMBER_1">%d</xliff:g> uğursuz cəhddən sonra bütün profil məlumatlarını siləcək iş profili silinəcəkdir."</string> + <string name="kg_failed_attempts_now_erasing_profile" product="tablet" msgid="4686386497449912146">"Siz <xliff:g id="NUMBER">%d</xliff:g> dəfə planşetinizin kilidini açmaq üçün yanlış cəhdlər etdiniz. Bütün profil məlumatlarınızı siləcək iş profili silinəcəkdir."</string> + <string name="kg_failed_attempts_now_erasing_profile" product="default" msgid="4951507352869831265">"Siz <xliff:g id="NUMBER">%d</xliff:g> dəfə telefonunuzun kilidini açmaq üçün yanlış cəhdlər etdiniz. Bütün profil məlumatlarınızı siləcək iş profili silinəcəkdir."</string> <string name="kg_failed_attempts_almost_at_login" product="tablet" msgid="3253575572118914370">"Siz kilidi açmaq üçün şablonu <xliff:g id="NUMBER_0">%d</xliff:g> dəfə səhv çəkdiniz. <xliff:g id="NUMBER_1">%d</xliff:g> daha uğursuz cəhddən sonra planşetinizin kilidini e-poçt hesabınızla açmaq tələb olunacaq.\n\n <xliff:g id="NUMBER_2">%d</xliff:g> saniyə ərzində bir daha yoxlayın."</string> <string name="kg_failed_attempts_almost_at_login" product="default" msgid="1437638152015574839">"Siz artıq modeli <xliff:g id="NUMBER_0">%d</xliff:g> dəfə yanlış daxil etmisiniz.<xliff:g id="NUMBER_1">%d</xliff:g> dəfə də yanlış daxil etsəniz, telefonun kilidinin açılması üçün elektron poçt ünvanınız tələb olunacaq.\n\n <xliff:g id="NUMBER_2">%d</xliff:g> saniyə ərzində yenidən cəhd edin."</string> - <string name="kg_text_message_separator" product="default" msgid="4160700433287233771">" - "</string> - <string name="kg_reordering_delete_drop_target_text" msgid="7899202978204438708">"Yığışdır"</string> - <string name="keyguard_transport_prev_description" msgid="8229108430245669854">"Əvvəlki izləmə düyməsi"</string> - <string name="keyguard_transport_next_description" msgid="4299258300283778305">"Növbəti izləmə düyməsi"</string> - <string name="keyguard_transport_pause_description" msgid="5093073338238310224">"Pauza düyməsi"</string> - <string name="keyguard_transport_play_description" msgid="2924628863741150956">"Oxutma düyməsi"</string> - <string name="keyguard_transport_stop_description" msgid="3084179324810575787">"Dayandırma düyməsi"</string> + <string name="kg_password_wrong_pin_code_pukked" msgid="30531039455764924">"Yanlış SIM PIN kodu cihazınızın açılması üçün operatorunuzla indi əlaqə saxlamalısınız."</string> + <plurals name="kg_password_wrong_pin_code" formatted="false" msgid="6721575017538162249"> + <item quantity="other">Yanlış SIM PIN kodu, <xliff:g id="NUMBER_1">%d</xliff:g> cəhdiniz qalır.</item> + <item quantity="one">Yanlış SIM PIN kodu, cihazınızı kiliddən çıxarmaq üçün operatorunuzla əlaqə saxlamadan öncə <xliff:g id="NUMBER_0">%d</xliff:g> cəhdiniz qalır.</item> + </plurals> + <string name="kg_password_wrong_puk_code_dead" msgid="7077536808291316208">"SIM yararsızdır. Operatorunuzla əlaqə saxlayın."</string> + <plurals name="kg_password_wrong_puk_code" formatted="false" msgid="7576227366999858780"> + <item quantity="other">Yanlış SIM PUK kodu, SIM kartınızın daimi olaraq yararsız olmasından öncə <xliff:g id="NUMBER_1">%d</xliff:g> cəhdiniz qalır.</item> + <item quantity="one">Yanlış SIM PUK kodu, SIM kartınızın daimi olaraq yararsız olmasından öncə <xliff:g id="NUMBER_0">%d</xliff:g> cəhdiniz qalır.</item> + </plurals> + <string name="kg_password_pin_failed" msgid="6268288093558031564">"SIM PIN əməliyyatı alınmadı!"</string> + <string name="kg_password_puk_failed" msgid="2838824369502455984">"SIM PUK əməliyyatı alınmadı!"</string> + <string name="kg_pin_accepted" msgid="1448241673570020097">"Kod Qəbul Edildi!"</string> <string name="keyguard_carrier_default" msgid="8700650403054042153">"Xidmət yoxdur."</string> + <string name="accessibility_ime_switch_button" msgid="5032926134740456424">"Daxiletmə metodu düyməsinə keç"</string> + <string name="airplane_mode" msgid="3122107900897202805">"Təyyarə rejimi"</string> + <string name="fingerprint_not_recognized" msgid="2690661881608146617">"Tanınmır"</string> </resources> diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardAbsKeyInputView.java b/packages/Keyguard/src/com/android/keyguard/KeyguardAbsKeyInputView.java index 4edc1c9..aa99a7b 100644 --- a/packages/Keyguard/src/com/android/keyguard/KeyguardAbsKeyInputView.java +++ b/packages/Keyguard/src/com/android/keyguard/KeyguardAbsKeyInputView.java @@ -86,7 +86,7 @@ public abstract class KeyguardAbsKeyInputView extends LinearLayout @Override protected void onFinishInflate() { mLockPatternUtils = new LockPatternUtils(mContext); - mSecurityMessageDisplay = new KeyguardMessageArea.Helper(this); + mSecurityMessageDisplay = KeyguardMessageArea.findSecurityMessageDisplay(this); mEcaView = findViewById(R.id.keyguard_selector_fade_container); EmergencyButton button = (EmergencyButton) findViewById(R.id.emergency_call_button); diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardConstants.java b/packages/Keyguard/src/com/android/keyguard/KeyguardConstants.java index 05a5f66..10baf23 100644 --- a/packages/Keyguard/src/com/android/keyguard/KeyguardConstants.java +++ b/packages/Keyguard/src/com/android/keyguard/KeyguardConstants.java @@ -25,6 +25,6 @@ public class KeyguardConstants { * Turns on debugging information for the whole Keyguard. This is very verbose and should only * be used temporarily for debugging. */ - public static final boolean DEBUG = false; + public static final boolean DEBUG = true; public static final boolean DEBUG_SIM_STATES = true; } diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardMessageArea.java b/packages/Keyguard/src/com/android/keyguard/KeyguardMessageArea.java index 40fd920..301b171 100644 --- a/packages/Keyguard/src/com/android/keyguard/KeyguardMessageArea.java +++ b/packages/Keyguard/src/com/android/keyguard/KeyguardMessageArea.java @@ -16,27 +16,21 @@ package com.android.keyguard; -import android.animation.Animator; -import android.animation.AnimatorListenerAdapter; -import android.animation.ObjectAnimator; import android.content.Context; import android.os.Handler; import android.os.Looper; import android.os.SystemClock; import android.text.TextUtils; import android.util.AttributeSet; -import android.util.MutableInt; import android.view.View; import android.widget.TextView; import java.lang.ref.WeakReference; -import com.android.internal.widget.LockPatternUtils; - /*** * Manages a number of views inside of the given layout. See below for a list of widgets. */ -class KeyguardMessageArea extends TextView { +class KeyguardMessageArea extends TextView implements SecurityMessageDisplay { /** Handler token posted with accessibility announcement runnables. */ private static final Object ANNOUNCE_TOKEN = new Object(); @@ -46,96 +40,23 @@ class KeyguardMessageArea extends TextView { */ private static final long ANNOUNCEMENT_DELAY = 250; - static final int SECURITY_MESSAGE_DURATION = 5000; - protected static final int FADE_DURATION = 750; - - private static final String TAG = "KeyguardMessageArea"; - - // is the bouncer up? - boolean mShowingBouncer = false; + private static final int SECURITY_MESSAGE_DURATION = 5000; - KeyguardUpdateMonitor mUpdateMonitor; + private final KeyguardUpdateMonitor mUpdateMonitor; + private final Handler mHandler; // Timeout before we reset the message to show charging/owner info long mTimeout = SECURITY_MESSAGE_DURATION; - - private Handler mHandler; - CharSequence mMessage; - boolean mShowingMessage; - private CharSequence mSeparator; - private LockPatternUtils mLockPatternUtils; - Runnable mClearMessageRunnable = new Runnable() { + private final Runnable mClearMessageRunnable = new Runnable() { @Override public void run() { mMessage = null; - mShowingMessage = false; - if (mShowingBouncer) { - hideMessage(FADE_DURATION, true); - } else { - update(); - } + update(); } }; - public static class Helper implements SecurityMessageDisplay { - KeyguardMessageArea mMessageArea; - Helper(View v) { - mMessageArea = (KeyguardMessageArea) v.findViewById(R.id.keyguard_message_area); - if (mMessageArea == null) { - throw new RuntimeException("Can't find keyguard_message_area in " + v.getClass()); - } - } - - @Override - public void setMessage(CharSequence msg, boolean important) { - if (!TextUtils.isEmpty(msg) && important) { - mMessageArea.mMessage = msg; - mMessageArea.securityMessageChanged(); - } else { - mMessageArea.clearMessage(); - } - } - - @Override - public void setMessage(int resId, boolean important) { - if (resId != 0 && important) { - mMessageArea.mMessage = mMessageArea.getContext().getResources().getText(resId); - mMessageArea.securityMessageChanged(); - } else { - mMessageArea.clearMessage(); - } - } - - @Override - public void setMessage(int resId, boolean important, Object... formatArgs) { - if (resId != 0 && important) { - mMessageArea.mMessage = mMessageArea.getContext().getString(resId, formatArgs); - mMessageArea.securityMessageChanged(); - } else { - mMessageArea.clearMessage(); - } - } - - @Override - public void showBouncer(int duration) { - mMessageArea.hideMessage(duration, false); - mMessageArea.mShowingBouncer = true; - } - - @Override - public void hideBouncer(int duration) { - mMessageArea.showMessage(duration); - mMessageArea.mShowingBouncer = false; - } - - @Override - public void setTimeout(int timeoutMs) { - mMessageArea.mTimeout = timeoutMs; - } - } - private KeyguardUpdateMonitorCallback mInfoCallback = new KeyguardUpdateMonitorCallback() { public void onScreenTurnedOff(int why) { setSelected(false); @@ -153,28 +74,64 @@ class KeyguardMessageArea extends TextView { super(context, attrs); setLayerType(LAYER_TYPE_HARDWARE, null); // work around nested unclipped SaveLayer bug - mLockPatternUtils = new LockPatternUtils(context); - - // Registering this callback immediately updates the battery state, among other things. mUpdateMonitor = KeyguardUpdateMonitor.getInstance(getContext()); mUpdateMonitor.registerCallback(mInfoCallback); mHandler = new Handler(Looper.myLooper()); - mSeparator = getResources().getString( - com.android.internal.R.string.kg_text_message_separator); - update(); } @Override + public void setMessage(CharSequence msg, boolean important) { + if (!TextUtils.isEmpty(msg) && important) { + securityMessageChanged(msg); + } else { + clearMessage(); + } + } + + @Override + public void setMessage(int resId, boolean important) { + if (resId != 0 && important) { + CharSequence message = getContext().getResources().getText(resId); + securityMessageChanged(message); + } else { + clearMessage(); + } + } + + @Override + public void setMessage(int resId, boolean important, Object... formatArgs) { + if (resId != 0 && important) { + String message = getContext().getString(resId, formatArgs); + securityMessageChanged(message); + } else { + clearMessage(); + } + } + + @Override + public void setTimeout(int timeoutMs) { + mTimeout = timeoutMs; + } + + public static SecurityMessageDisplay findSecurityMessageDisplay(View v) { + KeyguardMessageArea messageArea = (KeyguardMessageArea) v.findViewById( + R.id.keyguard_message_area); + if (messageArea == null) { + throw new RuntimeException("Can't find keyguard_message_area in " + v.getClass()); + } + return messageArea; + } + + @Override protected void onFinishInflate() { final boolean screenOn = KeyguardUpdateMonitor.getInstance(mContext).isScreenOn(); setSelected(screenOn); // This is required to ensure marquee works } - public void securityMessageChanged() { - setAlpha(1f); - mShowingMessage = true; + private void securityMessageChanged(CharSequence message) { + mMessage = message; update(); mHandler.removeCallbacks(mClearMessageRunnable); if (mTimeout > 0) { @@ -185,61 +142,18 @@ class KeyguardMessageArea extends TextView { (SystemClock.uptimeMillis() + ANNOUNCEMENT_DELAY)); } - public void clearMessage() { + private void clearMessage() { mHandler.removeCallbacks(mClearMessageRunnable); mHandler.post(mClearMessageRunnable); } - /** - * Update the status lines based on these rules: - * AlarmStatus: Alarm state always gets it's own line. - * Status1 is shared between help, battery status and generic unlock instructions, - * prioritized in that order. - * @param showStatusLines status lines are shown if true - */ - void update() { - MutableInt icon = new MutableInt(0); - CharSequence status = getCurrentMessage(); - setCompoundDrawablesWithIntrinsicBounds(icon.value, 0, 0, 0); + private void update() { + CharSequence status = mMessage; + setVisibility(TextUtils.isEmpty(status) ? INVISIBLE : VISIBLE); setText(status); } - CharSequence getCurrentMessage() { - return mShowingMessage ? mMessage : null; - } - - private void hideMessage(int duration, boolean thenUpdate) { - if (duration > 0) { - Animator anim = ObjectAnimator.ofFloat(this, "alpha", 0f); - anim.setDuration(duration); - if (thenUpdate) { - anim.addListener(new AnimatorListenerAdapter() { - @Override - public void onAnimationEnd(Animator animation) { - update(); - } - }); - } - anim.start(); - } else { - setAlpha(0f); - if (thenUpdate) { - update(); - } - } - } - - private void showMessage(int duration) { - if (duration > 0) { - Animator anim = ObjectAnimator.ofFloat(this, "alpha", 1f); - anim.setDuration(duration); - anim.start(); - } else { - setAlpha(1f); - } - } - /** * Runnable used to delay accessibility announcements. */ @@ -247,7 +161,7 @@ class KeyguardMessageArea extends TextView { private final WeakReference<View> mHost; private final CharSequence mTextToAnnounce; - public AnnounceRunnable(View host, CharSequence textToAnnounce) { + AnnounceRunnable(View host, CharSequence textToAnnounce) { mHost = new WeakReference<View>(host); mTextToAnnounce = textToAnnounce; } diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardPatternView.java b/packages/Keyguard/src/com/android/keyguard/KeyguardPatternView.java index ed595c0..a9b2978 100644 --- a/packages/Keyguard/src/com/android/keyguard/KeyguardPatternView.java +++ b/packages/Keyguard/src/com/android/keyguard/KeyguardPatternView.java @@ -129,7 +129,6 @@ public class KeyguardPatternView extends LinearLayout implements KeyguardSecurit mLockPatternView = (LockPatternView) findViewById(R.id.lockPatternView); mLockPatternView.setSaveEnabled(false); - mLockPatternView.setFocusable(false); mLockPatternView.setOnPatternListener(new UnlockPatternListener()); // stealth mode will be the same for the life of this screen @@ -139,9 +138,7 @@ public class KeyguardPatternView extends LinearLayout implements KeyguardSecurit // vibrate mode will be the same for the life of this screen mLockPatternView.setTactileFeedbackEnabled(mLockPatternUtils.isTactileFeedbackEnabled()); - setFocusableInTouchMode(true); - - mSecurityMessageDisplay = new KeyguardMessageArea.Helper(this); + mSecurityMessageDisplay = KeyguardMessageArea.findSecurityMessageDisplay(this); mEcaView = findViewById(R.id.keyguard_selector_fade_container); mContainer = (ViewGroup) findViewById(R.id.container); mHelpMessage = (KeyguardMessageArea) findViewById(R.id.keyguard_message_area); diff --git a/packages/Keyguard/src/com/android/keyguard/KeyguardSecurityViewFlipper.java b/packages/Keyguard/src/com/android/keyguard/KeyguardSecurityViewFlipper.java index 1c4b963..54467f3 100644 --- a/packages/Keyguard/src/com/android/keyguard/KeyguardSecurityViewFlipper.java +++ b/packages/Keyguard/src/com/android/keyguard/KeyguardSecurityViewFlipper.java @@ -203,8 +203,8 @@ public class KeyguardSecurityViewFlipper extends ViewFlipper implements Keyguard final int wPadding = getPaddingLeft() + getPaddingRight(); final int hPadding = getPaddingTop() + getPaddingBottom(); - maxWidth -= wPadding; - maxHeight -= hPadding; + maxWidth = Math.max(0, maxWidth - wPadding); + maxHeight = Math.max(0, maxHeight - hPadding); int width = widthMode == MeasureSpec.EXACTLY ? widthSize : 0; int height = heightMode == MeasureSpec.EXACTLY ? heightSize : 0; diff --git a/packages/Keyguard/src/com/android/keyguard/SecurityMessageDisplay.java b/packages/Keyguard/src/com/android/keyguard/SecurityMessageDisplay.java index e2f91e3..b38cfd5 100644 --- a/packages/Keyguard/src/com/android/keyguard/SecurityMessageDisplay.java +++ b/packages/Keyguard/src/com/android/keyguard/SecurityMessageDisplay.java @@ -24,8 +24,4 @@ public interface SecurityMessageDisplay { public void setMessage(int resId, boolean important, Object... formatArgs); public void setTimeout(int timeout_ms); - - public void showBouncer(int animationDuration); - - public void hideBouncer(int animationDuration); } diff --git a/packages/PrintSpooler/res/values-az-rAZ/strings.xml b/packages/PrintSpooler/res/values-az-rAZ/strings.xml new file mode 100644 index 0000000..939097c --- /dev/null +++ b/packages/PrintSpooler/res/values-az-rAZ/strings.xml @@ -0,0 +1,95 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- Copyright (C) 2013 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. + --> + +<resources xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="app_label" msgid="4469836075319831821">"Çap Spuler"</string> + <string name="more_options_button" msgid="2243228396432556771">"Daha çox seçim"</string> + <string name="label_destination" msgid="9132510997381599275">"Hədəf"</string> + <string name="label_copies" msgid="3634531042822968308">"Surətlər"</string> + <string name="label_copies_summary" msgid="3861966063536529540">"Nüsxələr:"</string> + <string name="label_paper_size" msgid="908654383827777759">"Kağız ölçüsü"</string> + <string name="label_paper_size_summary" msgid="5668204981332138168">"Kağız ölçüsü:"</string> + <string name="label_color" msgid="1108690305218188969">"Rəng"</string> + <string name="label_duplex" msgid="1263181386446435253">"İkitərəfli"</string> + <string name="label_orientation" msgid="2853142581990496477">"Oriyentasiya"</string> + <string name="label_pages" msgid="7768589729282182230">"Səhifələr"</string> + <string name="template_all_pages" msgid="3322235982020148762">"Bütün <xliff:g id="PAGE_COUNT">%1$s</xliff:g>"</string> + <string name="template_page_range" msgid="428638530038286328">"<xliff:g id="PAGE_COUNT">%1$s</xliff:g> diapazonu"</string> + <string name="pages_range_example" msgid="8558694453556945172">"məsələn, 1—5,8,11—13"</string> + <string name="print_preview" msgid="8010217796057763343">"Çap önizləmə"</string> + <string name="install_for_print_preview" msgid="6366303997385509332">"Önizləmə üçün PDF izləyici quraşdırın"</string> + <string name="printing_app_crashed" msgid="854477616686566398">"Çap tətbiqi sındı"</string> + <string name="generating_print_job" msgid="3119608742651698916">"Çap işi generasiya edilir"</string> + <string name="save_as_pdf" msgid="5718454119847596853">"PDF olaraq yadda saxla"</string> + <string name="all_printers" msgid="5018829726861876202">"Bütün printerlər..."</string> + <string name="print_dialog" msgid="32628687461331979">"Dialoqu çap edin"</string> + <string name="current_page_template" msgid="1386638343571771292">"<xliff:g id="CURRENT_PAGE">%1$d</xliff:g> /<xliff:g id="PAGE_COUNT">%2$d</xliff:g>"</string> + <string name="page_description_template" msgid="6831239682256197161">"<xliff:g id="PAGE_COUNT">%2$d</xliff:g> səhifədən <xliff:g id="CURRENT_PAGE">%1$d</xliff:g> səhifə"</string> + <string name="summary_template" msgid="8899734908625669193">"Cəm, nüsxə <xliff:g id="COPIES">%1$s</xliff:g>, kağız ölçüsü <xliff:g id="PAPER_SIZE">%2$s</xliff:g>"</string> + <string name="expand_handle" msgid="7282974448109280522">"Dəstəyi genişləndirin"</string> + <string name="collapse_handle" msgid="6886637989442507451">"Dəstəyi yığcamlaşdırın"</string> + <string name="print_button" msgid="645164566271246268">"Çap"</string> + <string name="savetopdf_button" msgid="2976186791686924743">"PDF-də saxlayın"</string> + <string name="print_options_expanded" msgid="6944679157471691859">"Çap seçimləri genişləndi"</string> + <string name="print_options_collapsed" msgid="7455930445670414332">"Çap seçimləri yığcamlaşdı"</string> + <string name="search" msgid="5421724265322228497">"Axtarış"</string> + <string name="all_printers_label" msgid="3178848870161526399">"Bütün printerlər"</string> + <string name="add_print_service_label" msgid="5356702546188981940">"Xidmət əlavə edin"</string> + <string name="print_search_box_shown_utterance" msgid="7967404953901376090">"Axtarış sahəsi görünür"</string> + <string name="print_search_box_hidden_utterance" msgid="5727755169343113351">"Axtarış sahəsi gizlidir"</string> + <string name="print_add_printer" msgid="1088656468360653455">"Printer əlavə edin"</string> + <string name="print_select_printer" msgid="7388760939873368698">"Printer seçin"</string> + <string name="print_forget_printer" msgid="5035287497291910766">"Printeri unudun"</string> + <plurals name="print_search_result_count_utterance" formatted="false" msgid="6997663738361080868"> + <item quantity="other"><xliff:g id="COUNT_1">%1$s</xliff:g> printer tapıldı</item> + <item quantity="one"><xliff:g id="COUNT_0">%1$s</xliff:g> printer tapıldı</item> + </plurals> + <string name="choose_print_service" msgid="3740309762324459694">"Çap xidmətini seçin"</string> + <string name="print_searching_for_printers" msgid="6550424555079932867">"Printer axtarılır"</string> + <string name="print_no_printers" msgid="4869403323900054866">"Heç bir printer tapılmadı"</string> + <string name="printing_notification_title_template" msgid="295903957762447362">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> çap edilir"</string> + <string name="cancelling_notification_title_template" msgid="1821759594704703197">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> ləğv edilir"</string> + <string name="failed_notification_title_template" msgid="2256217208186530973">"Printer xətası <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string> + <string name="blocked_notification_title_template" msgid="1175435827331588646">"Printer <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> işini blokladı"</string> + <plurals name="composite_notification_title_template" formatted="false" msgid="6940956968211733780"> + <item quantity="other"><xliff:g id="PRINT_JOB_NAME_1">%1$d</xliff:g> çap işi</item> + <item quantity="one"><xliff:g id="PRINT_JOB_NAME_0">%1$d</xliff:g> çap işi</item> + </plurals> + <string name="cancel" msgid="4373674107267141885">"Ləğv et"</string> + <string name="restart" msgid="2472034227037808749">"Yenidən başlat"</string> + <string name="no_connection_to_printer" msgid="2159246915977282728">"Printerə heç bir bağlantı yoxdur"</string> + <string name="reason_unknown" msgid="5507940196503246139">"naməlum"</string> + <string name="printer_unavailable" msgid="2434170617003315690">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>– əlçatmaz"</string> + <string-array name="color_mode_labels"> + <item msgid="7602948745415174937">"Qara & Ağ"</item> + <item msgid="2762241247228983754">"Rəng"</item> + </string-array> + <string-array name="duplex_mode_labels"> + <item msgid="3882302912790928315">"Heç biri"</item> + <item msgid="7296563835355641719">"Uzun kənar"</item> + <item msgid="79513688117503758">"Qısa kənar"</item> + </string-array> + <string-array name="orientation_labels"> + <item msgid="4061931020926489228">"Portret"</item> + <item msgid="3199660090246166812">"Peyzaj"</item> + </string-array> + <string name="print_write_error_message" msgid="5787642615179572543">"Fayla yazmaq alınmadı"</string> + <string name="print_error_default_message" msgid="8602678405502922346">"Üzr istəyirik, alınmadı. Yenidən cəhd edin."</string> + <string name="print_error_retry" msgid="1426421728784259538">"Yenidən yoxla"</string> + <string name="print_error_printer_unavailable" msgid="8985614415253203381">"Bu printer hazırda əlçatan deyil."</string> + <string name="print_preparing_preview" msgid="3939930735671364712">"Önizləməyə hazırlıq gedir..."</string> +</resources> diff --git a/packages/SettingsLib/res/xml/timezones.xml b/packages/SettingsLib/res/xml/timezones.xml new file mode 100644 index 0000000..4426495 --- /dev/null +++ b/packages/SettingsLib/res/xml/timezones.xml @@ -0,0 +1,91 @@ +<timezones> + <timezone id="Pacific/Midway"></timezone> + <timezone id="Pacific/Honolulu"></timezone> + <timezone id="America/Anchorage"></timezone> + <timezone id="America/Los_Angeles"></timezone> + <timezone id="America/Tijuana"></timezone> + <timezone id="America/Phoenix"></timezone> + <timezone id="America/Chihuahua"></timezone> + <timezone id="America/Denver"></timezone> + <timezone id="America/Costa_Rica"></timezone> + <timezone id="America/Chicago"></timezone> + <timezone id="America/Mexico_City"></timezone> + <timezone id="America/Regina"></timezone> + <timezone id="America/Bogota"></timezone> + <timezone id="America/New_York"></timezone> + <timezone id="America/Caracas"></timezone> + <timezone id="America/Barbados"></timezone> + <timezone id="America/Halifax"></timezone> + <timezone id="America/Manaus"></timezone> + <timezone id="America/Santiago"></timezone> + <timezone id="America/St_Johns"></timezone> + <timezone id="America/Recife"></timezone> + <timezone id="America/Sao_Paulo"></timezone> + <timezone id="America/Buenos_Aires"></timezone> + <timezone id="America/Godthab"></timezone> + <timezone id="America/Montevideo"></timezone> + <timezone id="Atlantic/South_Georgia"></timezone> + <timezone id="Atlantic/Azores"></timezone> + <timezone id="Atlantic/Cape_Verde"></timezone> + <timezone id="Africa/Casablanca"></timezone> + <timezone id="Europe/London"></timezone> + <timezone id="Europe/Amsterdam"></timezone> + <timezone id="Europe/Belgrade"></timezone> + <timezone id="Europe/Brussels"></timezone> + <timezone id="Europe/Madrid"></timezone> + <timezone id="Europe/Sarajevo"></timezone> + <timezone id="Africa/Windhoek"></timezone> + <timezone id="Africa/Brazzaville"></timezone> + <timezone id="Asia/Amman"></timezone> + <timezone id="Europe/Athens"></timezone> + <timezone id="Europe/Istanbul"></timezone> + <timezone id="Asia/Beirut"></timezone> + <timezone id="Africa/Cairo"></timezone> + <timezone id="Europe/Helsinki"></timezone> + <timezone id="Asia/Jerusalem"></timezone> + <timezone id="Europe/Minsk"></timezone> + <timezone id="Africa/Harare"></timezone> + <timezone id="Asia/Baghdad"></timezone> + <timezone id="Europe/Moscow"></timezone> + <timezone id="Asia/Kuwait"></timezone> + <timezone id="Africa/Nairobi"></timezone> + <timezone id="Asia/Tehran"></timezone> + <timezone id="Asia/Baku"></timezone> + <timezone id="Asia/Tbilisi"></timezone> + <timezone id="Asia/Yerevan"></timezone> + <timezone id="Asia/Dubai"></timezone> + <timezone id="Asia/Kabul"></timezone> + <timezone id="Asia/Karachi"></timezone> + <timezone id="Asia/Oral"></timezone> + <timezone id="Asia/Yekaterinburg"></timezone> + <timezone id="Asia/Calcutta"></timezone> + <timezone id="Asia/Colombo"></timezone> + <timezone id="Asia/Katmandu"></timezone> + <timezone id="Asia/Almaty"></timezone> + <timezone id="Asia/Rangoon"></timezone> + <timezone id="Asia/Krasnoyarsk"></timezone> + <timezone id="Asia/Bangkok"></timezone> + <timezone id="Asia/Jakarta"></timezone> + <timezone id="Asia/Shanghai"></timezone> + <timezone id="Asia/Hong_Kong"></timezone> + <timezone id="Asia/Irkutsk"></timezone> + <timezone id="Asia/Kuala_Lumpur"></timezone> + <timezone id="Australia/Perth"></timezone> + <timezone id="Asia/Taipei"></timezone> + <timezone id="Asia/Seoul"></timezone> + <timezone id="Asia/Tokyo"></timezone> + <timezone id="Asia/Yakutsk"></timezone> + <timezone id="Australia/Adelaide"></timezone> + <timezone id="Australia/Darwin"></timezone> + <timezone id="Australia/Brisbane"></timezone> + <timezone id="Australia/Hobart"></timezone> + <timezone id="Australia/Sydney"></timezone> + <timezone id="Asia/Vladivostok"></timezone> + <timezone id="Pacific/Guam"></timezone> + <timezone id="Asia/Magadan"></timezone> + <timezone id="Pacific/Noumea"></timezone> + <timezone id="Pacific/Majuro"></timezone> + <timezone id="Pacific/Auckland"></timezone> + <timezone id="Pacific/Fiji"></timezone> + <timezone id="Pacific/Tongatapu"></timezone> +</timezones> diff --git a/packages/SettingsLib/src/com/android/settingslib/datetime/ZoneGetter.java b/packages/SettingsLib/src/com/android/settingslib/datetime/ZoneGetter.java new file mode 100644 index 0000000..12ead4e --- /dev/null +++ b/packages/SettingsLib/src/com/android/settingslib/datetime/ZoneGetter.java @@ -0,0 +1,147 @@ +/* + * Copyright (C) 2015 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 com.android.settingslib.datetime; + +import android.content.Context; +import android.content.res.XmlResourceParser; +import android.text.BidiFormatter; +import android.text.TextDirectionHeuristics; +import android.text.TextUtils; +import android.util.Log; +import android.view.View; + +import com.android.settingslib.R; + +import libcore.icu.TimeZoneNames; + +import org.xmlpull.v1.XmlPullParserException; + +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Calendar; +import java.util.Date; +import java.util.HashMap; +import java.util.HashSet; +import java.util.List; +import java.util.Locale; +import java.util.TimeZone; + +public class ZoneGetter { + private static final String TAG = "ZoneGetter"; + + private static final String XMLTAG_TIMEZONE = "timezone"; + + public static final String KEY_ID = "id"; // value: String + public static final String KEY_DISPLAYNAME = "name"; // value: String + public static final String KEY_GMT = "gmt"; // value: String + public static final String KEY_OFFSET = "offset"; // value: int (Integer) + + private final List<HashMap<String, Object>> mZones = new ArrayList<>(); + private final HashSet<String> mLocalZones = new HashSet<>(); + private final Date mNow = Calendar.getInstance().getTime(); + private final SimpleDateFormat mZoneNameFormatter = new SimpleDateFormat("zzzz"); + + public List<HashMap<String, Object>> getZones(Context context) { + for (String olsonId : TimeZoneNames.forLocale(Locale.getDefault())) { + mLocalZones.add(olsonId); + } + try { + XmlResourceParser xrp = context.getResources().getXml(R.xml.timezones); + while (xrp.next() != XmlResourceParser.START_TAG) { + continue; + } + xrp.next(); + while (xrp.getEventType() != XmlResourceParser.END_TAG) { + while (xrp.getEventType() != XmlResourceParser.START_TAG) { + if (xrp.getEventType() == XmlResourceParser.END_DOCUMENT) { + return mZones; + } + xrp.next(); + } + if (xrp.getName().equals(XMLTAG_TIMEZONE)) { + String olsonId = xrp.getAttributeValue(0); + addTimeZone(olsonId); + } + while (xrp.getEventType() != XmlResourceParser.END_TAG) { + xrp.next(); + } + xrp.next(); + } + xrp.close(); + } catch (XmlPullParserException xppe) { + Log.e(TAG, "Ill-formatted timezones.xml file"); + } catch (java.io.IOException ioe) { + Log.e(TAG, "Unable to read timezones.xml file"); + } + return mZones; + } + + private void addTimeZone(String olsonId) { + // We always need the "GMT-07:00" string. + final TimeZone tz = TimeZone.getTimeZone(olsonId); + + // For the display name, we treat time zones within the country differently + // from other countries' time zones. So in en_US you'd get "Pacific Daylight Time" + // but in de_DE you'd get "Los Angeles" for the same time zone. + String displayName; + if (mLocalZones.contains(olsonId)) { + // Within a country, we just use the local name for the time zone. + mZoneNameFormatter.setTimeZone(tz); + displayName = mZoneNameFormatter.format(mNow); + } else { + // For other countries' time zones, we use the exemplar location. + final String localeName = Locale.getDefault().toString(); + displayName = TimeZoneNames.getExemplarLocation(localeName, olsonId); + } + + final HashMap<String, Object> map = new HashMap<>(); + map.put(KEY_ID, olsonId); + map.put(KEY_DISPLAYNAME, displayName); + map.put(KEY_GMT, getTimeZoneText(tz, false)); + map.put(KEY_OFFSET, tz.getOffset(mNow.getTime())); + + mZones.add(map); + } + + public static String getTimeZoneText(TimeZone tz, boolean includeName) { + Date now = new Date(); + + // Use SimpleDateFormat to format the GMT+00:00 string. + SimpleDateFormat gmtFormatter = new SimpleDateFormat("ZZZZ"); + gmtFormatter.setTimeZone(tz); + String gmtString = gmtFormatter.format(now); + + // Ensure that the "GMT+" stays with the "00:00" even if the digits are RTL. + BidiFormatter bidiFormatter = BidiFormatter.getInstance(); + Locale l = Locale.getDefault(); + boolean isRtl = TextUtils.getLayoutDirectionFromLocale(l) == View.LAYOUT_DIRECTION_RTL; + gmtString = bidiFormatter.unicodeWrap(gmtString, + isRtl ? TextDirectionHeuristics.RTL : TextDirectionHeuristics.LTR); + + if (!includeName) { + return gmtString; + } + + // Optionally append the time zone name. + SimpleDateFormat zoneNameFormatter = new SimpleDateFormat("zzzz"); + zoneNameFormatter.setTimeZone(tz); + String zoneNameString = zoneNameFormatter.format(now); + + // We don't use punctuation here to avoid having to worry about localizing that too! + return gmtString + " " + zoneNameString; + } +} diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java b/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java index 7049d6a..3130875 100644 --- a/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java +++ b/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java @@ -755,7 +755,7 @@ public class AccessPoint implements Comparable<AccessPoint> { int index = state.ordinal(); if (index >= formats.length || formats[index].length() == 0) { - return null; + return ""; } return String.format(formats[index], ssid); } diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java index 68803b3..f324933 100644 --- a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java +++ b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java @@ -205,7 +205,9 @@ public class WifiTracker { * Gets the current list of access points. */ public List<AccessPoint> getAccessPoints() { - return mAccessPoints; + synchronized (mAccessPoints) { + return new ArrayList<>(mAccessPoints); + } } public WifiManager getManager() { @@ -230,14 +232,14 @@ public class WifiTracker { public void dump(PrintWriter pw) { pw.println(" - wifi tracker ------"); - for (AccessPoint accessPoint : mAccessPoints) { + for (AccessPoint accessPoint : getAccessPoints()) { pw.println(" " + accessPoint); } } private void updateAccessPoints() { // Swap the current access points into a cached list. - ArrayList<AccessPoint> cachedAccessPoints = new ArrayList<>(mAccessPoints); + List<AccessPoint> cachedAccessPoints = getAccessPoints(); ArrayList<AccessPoint> accessPoints = new ArrayList<>(); // Clear out the configs so we don't think something is saved when it isn't. @@ -330,7 +332,7 @@ public class WifiTracker { mMainHandler.sendEmptyMessage(MainHandler.MSG_ACCESS_POINT_CHANGED); } - private AccessPoint getCachedOrCreate(ScanResult result, ArrayList<AccessPoint> cache) { + private AccessPoint getCachedOrCreate(ScanResult result, List<AccessPoint> cache) { final int N = cache.size(); for (int i = 0; i < N; i++) { if (cache.get(i).matches(result)) { @@ -342,7 +344,7 @@ public class WifiTracker { return new AccessPoint(mContext, result); } - private AccessPoint getCachedOrCreate(WifiConfiguration config, ArrayList<AccessPoint> cache) { + private AccessPoint getCachedOrCreate(WifiConfiguration config, List<AccessPoint> cache) { final int N = cache.size(); for (int i = 0; i < N; i++) { if (cache.get(i).matches(config)) { @@ -380,7 +382,9 @@ public class WifiTracker { } } if (reorder) { - Collections.sort(mAccessPoints); + synchronized (mAccessPoints) { + Collections.sort(mAccessPoints); + } mMainHandler.sendEmptyMessage(MainHandler.MSG_ACCESS_POINT_CHANGED); } } diff --git a/packages/SettingsProvider/res/values-az-rAZ/defaults.xml b/packages/SettingsProvider/res/values-az-rAZ/defaults.xml new file mode 100644 index 0000000..22443a5 --- /dev/null +++ b/packages/SettingsProvider/res/values-az-rAZ/defaults.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- +/** + * Copyright (c) 2009, 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. + */ + --> + +<resources xmlns:android="http://schemas.android.com/apk/res/android" + xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> + <string name="def_device_name" msgid="6309317409634339402">"%1$s %2$s"</string> + <string name="def_device_name_simple" msgid="9037785625140748221">"%1$s"</string> +</resources> diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java index 9209c26..a2adb15 100644 --- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java +++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsState.java @@ -400,7 +400,7 @@ final class SettingsState { return; } try { - in = new FileInputStream(mStatePersistFile); + in = new AtomicFile(mStatePersistFile).openRead(); } catch (FileNotFoundException fnfe) { Slog.i(LOG_TAG, "No settings state"); return; diff --git a/packages/Shell/res/values-az-rAZ/strings.xml b/packages/Shell/res/values-az-rAZ/strings.xml index da08e38..e235eb8 100644 --- a/packages/Shell/res/values-az-rAZ/strings.xml +++ b/packages/Shell/res/values-az-rAZ/strings.xml @@ -18,7 +18,9 @@ xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="app_label" msgid="3701846017049540910">"Shell"</string> <string name="bugreport_finished_title" msgid="2293711546892863898">"Baq raport alındı"</string> - <string name="bugreport_finished_text" msgid="3559904746859400732">"Xətanı şikayətini paylaşmaq üçün toxunun"</string> + <string name="bugreport_finished_text" product="watch" msgid="8389172248433597683">"Baq raportunu paylaşmaq üçün sola sürüşdürün"</string> + <string name="bugreport_finished_text" product="default" msgid="3559904746859400732">"Xətanı şikayətini paylaşmaq üçün toxunun"</string> <string name="bugreport_confirm" msgid="5130698467795669780">"Baq raportları sistemin müxtəlif jurnal fayllarından data içərir ki, buna şəxsi və konfidensial məlumatlar da aiddir. Yalnız inandığınız adamlarla baq raportlarını paylaşın."</string> <string name="bugreport_confirm_repeat" msgid="4926842460688645058">"Bu mesajı növbəti dəfə göstər"</string> + <string name="bugreport_storage_title" msgid="5332488144740527109">"Baq hesabatları"</string> </resources> diff --git a/packages/SystemUI/res/anim/ic_signal_blink_1.xml b/packages/SystemUI/res/anim/ic_signal_blink_1.xml index ab1905a..64580d1 100644 --- a/packages/SystemUI/res/anim/ic_signal_blink_1.xml +++ b/packages/SystemUI/res/anim/ic_signal_blink_1.xml @@ -23,16 +23,16 @@ android:valueType="colorType"> <keyframe android:fraction="0.0" - android:value="@color/light_mode_icon_color_dual_tone_fill"/> + android:value="?attr/fillColor"/> <keyframe android:fraction="0.32" - android:value="@color/light_mode_icon_color_dual_tone_fill"/> + android:value="?attr/fillColor"/> <keyframe android:fraction="0.33" - android:value="@color/light_mode_icon_color_dual_tone_background"/> + android:value="?attr/backgroundColor"/> <keyframe android:fraction="1.0" - android:value="@color/light_mode_icon_color_dual_tone_background"/> + android:value="?attr/backgroundColor"/> </propertyValuesHolder> </objectAnimator> diff --git a/packages/SystemUI/res/anim/ic_signal_blink_2.xml b/packages/SystemUI/res/anim/ic_signal_blink_2.xml index 1b7ace2..f055cd0 100644 --- a/packages/SystemUI/res/anim/ic_signal_blink_2.xml +++ b/packages/SystemUI/res/anim/ic_signal_blink_2.xml @@ -23,22 +23,22 @@ android:valueType="colorType"> <keyframe android:fraction="0.0" - android:value="@color/light_mode_icon_color_dual_tone_background"/> + android:value="?attr/backgroundColor"/> <keyframe android:fraction="0.32" - android:value="@color/light_mode_icon_color_dual_tone_background"/> + android:value="?attr/backgroundColor"/> <keyframe android:fraction="0.33" - android:value="@color/light_mode_icon_color_dual_tone_fill"/> + android:value="?attr/fillColor"/> <keyframe android:fraction="0.66" - android:value="@color/light_mode_icon_color_dual_tone_fill"/> + android:value="?attr/fillColor"/> <keyframe android:fraction="0.67" - android:value="@color/light_mode_icon_color_dual_tone_background"/> + android:value="?attr/backgroundColor"/> <keyframe android:fraction="1.0" - android:value="@color/light_mode_icon_color_dual_tone_background"/> + android:value="?attr/backgroundColor"/> </propertyValuesHolder> </objectAnimator> diff --git a/packages/SystemUI/res/anim/ic_signal_blink_3.xml b/packages/SystemUI/res/anim/ic_signal_blink_3.xml index cee831c..abcd774 100644 --- a/packages/SystemUI/res/anim/ic_signal_blink_3.xml +++ b/packages/SystemUI/res/anim/ic_signal_blink_3.xml @@ -23,16 +23,16 @@ android:valueType="colorType"> <keyframe android:fraction="0.0" - android:value="@color/light_mode_icon_color_dual_tone_background"/> + android:value="?attr/backgroundColor"/> <keyframe android:fraction="0.66" - android:value="@color/light_mode_icon_color_dual_tone_background"/> + android:value="?attr/backgroundColor"/> <keyframe android:fraction="0.67" - android:value="@color/light_mode_icon_color_dual_tone_fill"/> + android:value="?attr/fillColor"/> <keyframe android:fraction="1.0" - android:value="@color/light_mode_icon_color_dual_tone_fill"/> + android:value="?attr/fillColor"/> </propertyValuesHolder> </objectAnimator> diff --git a/packages/SystemUI/res/anim/ic_signal_dark_blink_1.xml b/packages/SystemUI/res/anim/ic_signal_dark_blink_1.xml deleted file mode 100644 index 9d398fa..0000000 --- a/packages/SystemUI/res/anim/ic_signal_dark_blink_1.xml +++ /dev/null @@ -1,38 +0,0 @@ -<!-- - Copyright (C) 2015 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. ---> -<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android" - android:interpolator="@android:anim/linear_interpolator" - android:duration="@integer/carrier_network_change_anim_time" - android:repeatCount="-1"> - - <propertyValuesHolder - android:propertyName="fillColor" - android:valueType="colorType"> - <keyframe - android:fraction="0.0" - android:value="@color/dark_mode_icon_color_dual_tone_fill"/> - <keyframe - android:fraction="0.32" - android:value="@color/dark_mode_icon_color_dual_tone_fill"/> - <keyframe - android:fraction="0.33" - android:value="@color/dark_mode_icon_color_dual_tone_background"/> - <keyframe - android:fraction="1.0" - android:value="@color/dark_mode_icon_color_dual_tone_background"/> - </propertyValuesHolder> - -</objectAnimator> diff --git a/packages/SystemUI/res/anim/ic_signal_dark_blink_2.xml b/packages/SystemUI/res/anim/ic_signal_dark_blink_2.xml deleted file mode 100644 index c6e213d..0000000 --- a/packages/SystemUI/res/anim/ic_signal_dark_blink_2.xml +++ /dev/null @@ -1,44 +0,0 @@ -<!-- - Copyright (C) 2015 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. ---> -<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android" - android:interpolator="@android:anim/linear_interpolator" - android:duration="@integer/carrier_network_change_anim_time" - android:repeatCount="-1"> - - <propertyValuesHolder - android:propertyName="fillColor" - android:valueType="colorType"> - <keyframe - android:fraction="0.0" - android:value="@color/dark_mode_icon_color_dual_tone_background"/> - <keyframe - android:fraction="0.32" - android:value="@color/dark_mode_icon_color_dual_tone_background"/> - <keyframe - android:fraction="0.33" - android:value="@color/dark_mode_icon_color_dual_tone_fill"/> - <keyframe - android:fraction="0.66" - android:value="@color/dark_mode_icon_color_dual_tone_fill"/> - <keyframe - android:fraction="0.67" - android:value="@color/dark_mode_icon_color_dual_tone_background"/> - <keyframe - android:fraction="1.0" - android:value="@color/dark_mode_icon_color_dual_tone_background"/> - </propertyValuesHolder> - -</objectAnimator> diff --git a/packages/SystemUI/res/anim/ic_signal_dark_blink_3.xml b/packages/SystemUI/res/anim/ic_signal_dark_blink_3.xml deleted file mode 100644 index dce148c..0000000 --- a/packages/SystemUI/res/anim/ic_signal_dark_blink_3.xml +++ /dev/null @@ -1,38 +0,0 @@ -<!-- - Copyright (C) 2015 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. ---> -<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android" - android:interpolator="@android:anim/linear_interpolator" - android:duration="@integer/carrier_network_change_anim_time" - android:repeatCount="-1"> - - <propertyValuesHolder - android:propertyName="fillColor" - android:valueType="colorType"> - <keyframe - android:fraction="0.0" - android:value="@color/dark_mode_icon_color_dual_tone_background"/> - <keyframe - android:fraction="0.66" - android:value="@color/dark_mode_icon_color_dual_tone_background"/> - <keyframe - android:fraction="0.67" - android:value="@color/dark_mode_icon_color_dual_tone_fill"/> - <keyframe - android:fraction="1.0" - android:value="@color/dark_mode_icon_color_dual_tone_fill"/> - </propertyValuesHolder> - -</objectAnimator> diff --git a/packages/SystemUI/res/drawable/stat_sys_alarm_dim.xml b/packages/SystemUI/res/drawable/stat_sys_alarm_dim.xml new file mode 100644 index 0000000..c8e2ac1 --- /dev/null +++ b/packages/SystemUI/res/drawable/stat_sys_alarm_dim.xml @@ -0,0 +1,32 @@ +<!-- + Copyright (C) 2015 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. +--> +<inset xmlns:android="http://schemas.android.com/apk/res/android" + android:insetLeft="2.5dp" + android:insetRight="2.5dp"> + + <vector + android:width="17dp" + android:height="17dp" + android:viewportWidth="24.0" + android:viewportHeight="24.0"> + + <path + android:fillColor="#4dffffff" + android:pathData="M22.0,5.7l-4.6,-3.9l-1.3,1.5l4.6,3.9L22.0,5.7zM7.9,3.4L6.6,1.9L2.0,5.7l1.3,1.5L7.9,3.4zM12.5,8.0L11.0,8.0l0.0,6.0l4.7,2.9l0.8,-1.2l-4.0,-2.4L12.5,8.0zM12.0,4.0c-5.0,0.0 -9.0,4.0 -9.0,9.0c0.0,5.0 4.0,9.0 9.0,9.0s9.0,-4.0 9.0,-9.0C21.0,8.0 17.0,4.0 12.0,4.0zM12.0,20.0c-3.9,0.0 -7.0,-3.1 -7.0,-7.0c0.0,-3.9 3.1,-7.0 7.0,-7.0c3.9,0.0 7.0,3.1 7.0,7.0C19.0,16.9 15.9,20.0 12.0,20.0z"/> + + </vector> + +</inset>
\ No newline at end of file diff --git a/packages/SystemUI/res/drawable/stat_sys_signal_dark_carrier_network_change_animation.xml b/packages/SystemUI/res/drawable/stat_sys_signal_dark_carrier_network_change_animation.xml deleted file mode 100644 index ff49d4c..0000000 --- a/packages/SystemUI/res/drawable/stat_sys_signal_dark_carrier_network_change_animation.xml +++ /dev/null @@ -1,27 +0,0 @@ -<!-- - Copyright (C) 2015 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. ---> -<animated-vector xmlns:android="http://schemas.android.com/apk/res/android" - android:drawable="@drawable/stat_sys_signal_carrier_network_change" > - <target - android:name="dot1" - android:animation="@anim/ic_signal_dark_blink_1"/> - <target - android:name="dot2" - android:animation="@anim/ic_signal_dark_blink_2"/> - <target - android:name="dot3" - android:animation="@anim/ic_signal_dark_blink_3"/> -</animated-vector> diff --git a/packages/SystemUI/res/layout/zen_mode_panel.xml b/packages/SystemUI/res/layout/zen_mode_panel.xml index 731d4c1..43ab4bb 100644 --- a/packages/SystemUI/res/layout/zen_mode_panel.xml +++ b/packages/SystemUI/res/layout/zen_mode_panel.xml @@ -97,4 +97,15 @@ android:orientation="vertical" android:paddingBottom="@dimen/zen_mode_condition_detail_bottom_padding" /> + + <TextView + android:id="@+id/zen_alarm_warning" + android:layout_width="match_parent" + android:layout_height="wrap_content" + android:layout_marginStart="18dp" + android:layout_marginEnd="16dp" + android:textDirection="locale" + android:lineSpacingMultiplier="1.20029" + android:textAppearance="@style/TextAppearance.QS.Warning" /> + </com.android.systemui.volume.ZenModePanel> diff --git a/packages/SystemUI/res/values-af/strings.xml b/packages/SystemUI/res/values-af/strings.xml index ed45b80..a955c54 100644 --- a/packages/SystemUI/res/values-af/strings.xml +++ b/packages/SystemUI/res/values-af/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Raak om die oorspronklike terug te stel."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Jy is in die Work-profiel"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"Stelsel-UI-ontvanger"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Kitsinstellings"</string> <string name="add_tile" msgid="2995389510240786221">"Voeg teël by"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Uitsaaiteël"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-am/strings.xml b/packages/SystemUI/res/values-am/strings.xml index db35e23..295898c 100644 --- a/packages/SystemUI/res/values-am/strings.xml +++ b/packages/SystemUI/res/values-am/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"የመጀመሪያውን ወደነበረበት ለመመለስ ይንኩ።"</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"እርስዎ በስራ መገለጫ ውስጥ ነዎት"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"የስርዓት በይነገጽ መቃኛ"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"ፈጣን ቅንብሮች"</string> <string name="add_tile" msgid="2995389510240786221">"ሰቅ ያክሉ"</string> <string name="broadcast_tile" msgid="3894036511763289383">"ሰቅ አሰራጭ"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-ar/strings.xml b/packages/SystemUI/res/values-ar/strings.xml index 1adaf3b..d71d58f 100644 --- a/packages/SystemUI/res/values-ar/strings.xml +++ b/packages/SystemUI/res/values-ar/strings.xml @@ -401,7 +401,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"المس لاستعادة الإعداد الأصلي."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"أنت في الملف الشخصي للعمل"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"أداة ضبط واجهة مستخدم النظام"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"الإعدادات السريعة"</string> <string name="add_tile" msgid="2995389510240786221">"إضافة فئة"</string> <string name="broadcast_tile" msgid="3894036511763289383">"إرسال فئة"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-az-rAZ/strings.xml b/packages/SystemUI/res/values-az-rAZ/strings.xml index 9565eee..7fa5d8d 100644 --- a/packages/SystemUI/res/values-az-rAZ/strings.xml +++ b/packages/SystemUI/res/values-az-rAZ/strings.xml @@ -23,23 +23,27 @@ <string name="status_bar_clear_all_button" msgid="7774721344716731603">"Təmizlə"</string> <string name="status_bar_recent_remove_item_title" msgid="6026395868129852968">"Siyahıdan sil"</string> <string name="status_bar_recent_inspect_item_title" msgid="7793624864528818569">"Tətbiq infosu"</string> - <string name="status_bar_no_recent_apps" msgid="6576392951053994640">"Yeni tətbiq yoxdur"</string> + <string name="status_bar_no_recent_apps" msgid="7374907845131203189">"Your recent screens appear here"</string> <string name="status_bar_accessibility_dismiss_recents" msgid="4576076075226540105">"Son tətbiqləri kənarlaşdır"</string> - <plurals name="status_bar_accessibility_recent_apps"> - <item quantity="one" msgid="5854176083865845541">"1 son tətbiq"</item> - <item quantity="other" msgid="1040784359794890744">"%d son tətbiq"</item> - </plurals> + <plurals name="status_bar_accessibility_recent_apps" formatted="false" msgid="9138535907802238759"> + <item quantity="other"> İcmalda %d ekran</item> + <item quantity="one">İcmalda 1 ekran</item> + </plurals> <string name="status_bar_no_notifications_title" msgid="4755261167193833213">"Bildiriş yoxdu"</string> <string name="status_bar_ongoing_events_title" msgid="1682504513316879202">"Davam edir"</string> <string name="status_bar_latest_events_title" msgid="6594767438577593172">"Bildirişlər"</string> - <string name="battery_low_title" msgid="2783104807551211639">"Adapteri qoşun"</string> - <string name="battery_low_subtitle" msgid="1752040062087829196">"Batareya azalır."</string> - <string name="battery_low_percent_format" msgid="1077244949318261761">"<xliff:g id="NUMBER">%d%%</xliff:g> qalıb"</string> + <string name="battery_low_title" msgid="6456385927409742437">"Enerji azdır"</string> + <string name="battery_low_percent_format" msgid="2900940511201380775">"<xliff:g id="PERCENTAGE">%s</xliff:g> qalır"</string> + <string name="battery_low_percent_format_saver_started" msgid="6859235584035338833">"<xliff:g id="PERCENTAGE">%s</xliff:g> qalır. Enerjiyə qənaət aktivdir."</string> <string name="invalid_charger" msgid="4549105996740522523">"USB ilə elektrik doldurma dəstəklənmir.\nYalnız adapter istifadə edin."</string> - <string name="battery_low_why" msgid="7279169609518386372">"Batareya istifadəsi"</string> + <string name="invalid_charger_title" msgid="3515740382572798460">"USB qidalandırıcı dəstəklənmir."</string> + <string name="invalid_charger_text" msgid="5474997287953892710">"Yalnız uyğun qidalandırıcı işlədin."</string> + <string name="battery_low_why" msgid="4553600287639198111">"Ayarlar"</string> + <string name="battery_saver_confirmation_title" msgid="5299585433050361634">"Enerjiyə qənaət aktivləşdirilsin?"</string> + <string name="battery_saver_confirmation_ok" msgid="7507968430447930257">"Aktivləşdirin"</string> + <string name="battery_saver_start_action" msgid="5576697451677486320">"Enerjiyə qənaət rejimini aktivləşdirin"</string> <string name="status_bar_settings_settings_button" msgid="3023889916699270224">"Ayarlar"</string> <string name="status_bar_settings_wifi_button" msgid="1733928151698311923">"Wi-Fi"</string> - <string name="status_bar_settings_airplane" msgid="4879879698500955300">"Təyyarə rejimi"</string> <string name="status_bar_settings_auto_rotation" msgid="3790482541357798421">"Ekranın avto-dönüşü"</string> <string name="status_bar_settings_mute_label" msgid="554682549917429396">"SUSDUR"</string> <string name="status_bar_settings_auto_brightness_label" msgid="511453614962324674">"AVTO"</string> @@ -67,7 +71,7 @@ <string name="screenshot_saved_title" msgid="6461865960961414961">"Skrinşot çəkildi."</string> <string name="screenshot_saved_text" msgid="1152839647677558815">"Skrinşotunuza baxmaq üçün toxunun"</string> <string name="screenshot_failed_title" msgid="705781116746922771">"Skrinşot götürülə bilinmədi."</string> - <string name="screenshot_failed_text" msgid="8134011269572415402">"Skrinşotu yadda saxlamaq alınmadı, yəqin yaddaş istifadə olunur."</string> + <string name="screenshot_failed_text" msgid="1260203058661337274">"Yaddaş ehtiyatının az olması səbəbindən skrinşot çəkmək olmur və ya bunu etmək ya tətbiq, ya da şirkət tərəfindən qadağan olunub."</string> <string name="usb_preference_title" msgid="6551050377388882787">"USB fayl transferi seçimləri"</string> <string name="use_mtp_button_title" msgid="4333504413563023626">"Media pleyer (MTP) kimi montaj edin"</string> <string name="use_ptp_button_title" msgid="7517127540301625751">"Kamera kimi birləşdir (PTP)"</string> @@ -75,8 +79,18 @@ <string name="accessibility_back" msgid="567011538994429120">"Geri"</string> <string name="accessibility_home" msgid="8217216074895377641">"Ana səhifə"</string> <string name="accessibility_menu" msgid="316839303324695949">"Menyu"</string> - <string name="accessibility_recent" msgid="8571350598987952883">"Son tətbiqlər"</string> - <string name="accessibility_ime_switch_button" msgid="5032926134740456424">"Daxiletmə metodu düyməsinə keç"</string> + <string name="accessibility_recent" msgid="5208608566793607626">"İcmal"</string> + <string name="accessibility_search_light" msgid="1103867596330271848">"Axtar"</string> + <string name="accessibility_camera_button" msgid="8064671582820358152">"Kamera"</string> + <string name="accessibility_phone_button" msgid="6738112589538563574">"Telefon"</string> + <string name="accessibility_voice_assist_button" msgid="487611083884852965">"Səs Yardımçısı"</string> + <string name="accessibility_unlock_button" msgid="128158454631118828">"Kiliddən çıxarın"</string> + <string name="unlock_label" msgid="8779712358041029439">"kiliddən çıxarın"</string> + <string name="phone_label" msgid="2320074140205331708">"telefonu açın"</string> + <string name="voice_assist_label" msgid="3956854378310019854">"səs yardımçısını açın"</string> + <string name="camera_label" msgid="7261107956054836961">"kemaranı açın"</string> + <string name="recents_caption_resize" msgid="3517056471774958200">"Yeni tapşırıq sxemi seçin"</string> + <string name="cancel" msgid="6442560571259935130">"Ləğv et"</string> <string name="accessibility_compatibility_zoom_button" msgid="8461115318742350699">"Uyğunluq zoom düyməsi."</string> <string name="accessibility_compatibility_zoom_example" msgid="4220687294564945780">"Daha böyük ekranda uzaqlaşdır."</string> <string name="accessibility_bluetooth_connected" msgid="2707027633242983370">"Bluetooth qoşulub."</string> @@ -102,11 +116,15 @@ <string name="accessibility_wifi_two_bars" msgid="4994274250497262434">"Wifi iki xətdir."</string> <string name="accessibility_wifi_three_bars" msgid="3495755044276588384">"Wifi üç xətdir."</string> <string name="accessibility_wifi_signal_full" msgid="6853561303586480376">"Wifi siqnalı tamdır."</string> + <string name="accessibility_wifi_name" msgid="7202151365171148501">"<xliff:g id="WIFI">%s</xliff:g> üzərindən qoşuldu."</string> + <string name="accessibility_bluetooth_name" msgid="8441517146585531676">"<xliff:g id="BLUETOOTH">%s</xliff:g> üzərindən qoşuldu."</string> <string name="accessibility_no_wimax" msgid="4329180129727630368">"WiMAX yoxdur."</string> <string name="accessibility_wimax_one_bar" msgid="4170994299011863648">"WiMAX bir xətt."</string> <string name="accessibility_wimax_two_bars" msgid="9176236858336502288">"WiMAX iki xətdir."</string> <string name="accessibility_wimax_three_bars" msgid="6116551636752103927">"WiMAX üç xətdir."</string> <string name="accessibility_wimax_signal_full" msgid="2768089986795579558">"WiMAX siqnalı tamdır."</string> + <string name="accessibility_ethernet_disconnected" msgid="5896059303377589469">"Ethernet bağlantısı kəsilib."</string> + <string name="accessibility_ethernet_connected" msgid="2692130313069182636">"Ethernet qoşuludur."</string> <string name="accessibility_no_signal" msgid="7064645320782585167">"Siqnal yoxdur."</string> <string name="accessibility_not_connected" msgid="6395326276213402883">"Qoşulu deyil."</string> <string name="accessibility_zero_bars" msgid="3806060224467027887">"Sıfır xətt."</string> @@ -117,6 +135,7 @@ <string name="accessibility_desc_on" msgid="2385254693624345265">"Aktiv."</string> <string name="accessibility_desc_off" msgid="6475508157786853157">"Deaktiv"</string> <string name="accessibility_desc_connected" msgid="8366256693719499665">"Qoşuludur."</string> + <string name="accessibility_desc_connecting" msgid="3812924520316280149">"Birləşdirilir."</string> <string name="accessibility_data_connection_gprs" msgid="1606477224486747751">"GPRS"</string> <string name="accessibility_data_connection_1x" msgid="994133468120244018">"1 X"</string> <string name="accessibility_data_connection_hspa" msgid="2032328855462645198">"HSPA"</string> @@ -131,6 +150,7 @@ <string name="accessibility_no_sim" msgid="8274017118472455155">"SIM yoxdur"</string> <string name="accessibility_bluetooth_tether" msgid="4102784498140271969">"Bluetooth tezering."</string> <string name="accessibility_airplane_mode" msgid="834748999790763092">"Uçuş rejimi"</string> + <string name="accessibility_carrier_network_change_mode" msgid="4017301580441304305">"Carrier şəbəkə dəyişir."</string> <string name="accessibility_battery_level" msgid="7451474187113371965">"Batareya <xliff:g id="NUMBER">%d</xliff:g> faizdir."</string> <string name="accessibility_settings_button" msgid="799583911231893380">"Sistem parametrləri"</string> <string name="accessibility_notifications_button" msgid="4498000369779421892">"Bildirişlər."</string> @@ -140,46 +160,96 @@ <string name="accessibility_tty_enabled" msgid="4613200365379426561">"TeleTypewriter aktivləşdirilib."</string> <string name="accessibility_ringer_vibrate" msgid="666585363364155055">"Zəng vibrasiyası"</string> <string name="accessibility_ringer_silent" msgid="9061243307939135383">"Zəngvuran səssiz."</string> + <!-- no translation found for accessibility_casting (6887382141726543668) --> + <skip /> + <string name="accessibility_recents_item_will_be_dismissed" msgid="395770242498031481">"<xliff:g id="APP">%s</xliff:g> kənarlaşdırın."</string> <string name="accessibility_recents_item_dismissed" msgid="6803574935084867070">"<xliff:g id="APP">%s</xliff:g> çıxarıldı."</string> + <string name="accessibility_recents_all_items_dismissed" msgid="4464697366179168836">"Bütün son tətbiqlər kənarlaşdırıldı."</string> + <string name="accessibility_recents_item_launched" msgid="7616039892382525203">"<xliff:g id="APP">%s</xliff:g> başlanır."</string> + <string name="accessibility_recents_task_header" msgid="1437183540924535457">"<xliff:g id="APP">%1$s</xliff:g> <xliff:g id="ACTIVITY_LABEL">%2$s</xliff:g>"</string> <string name="accessibility_notification_dismissed" msgid="854211387186306927">"Bildiriş uzaqlaşdırıldı."</string> <string name="accessibility_desc_notification_shade" msgid="4690274844447504208">"Bildiriş kölgəsi."</string> <string name="accessibility_desc_quick_settings" msgid="6186378411582437046">"Tez ayarlar."</string> - <string name="accessibility_desc_recent_apps" msgid="9014032916410590027">"Axırıncı tətbiqlər."</string> + <string name="accessibility_desc_lock_screen" msgid="5625143713611759164">"Ekranı kilidləyin."</string> + <string name="accessibility_desc_settings" msgid="3417884241751434521">"Ayarlar"</string> + <string name="accessibility_desc_recent_apps" msgid="4876900986661819788">"İcmal"</string> + <string name="accessibility_desc_close" msgid="7479755364962766729">"Qapadın"</string> <string name="accessibility_quick_settings_user" msgid="1104846699869476855">"İstifadəçi <xliff:g id="USER">%s</xliff:g>."</string> - <string name="accessibility_quick_settings_wifi" msgid="6099781031669728709">"<xliff:g id="SIGNAL">%1$s</xliff:g>. <xliff:g id="NETWORK">%2$s</xliff:g>"</string> + <string name="accessibility_quick_settings_wifi" msgid="5518210213118181692">"<xliff:g id="SIGNAL">%1$s</xliff:g>."</string> + <string name="accessibility_quick_settings_wifi_changed_off" msgid="8716484460897819400">"Wifi deaktivdir."</string> + <string name="accessibility_quick_settings_wifi_changed_on" msgid="6440117170789528622">"Wifi aktivdir."</string> <string name="accessibility_quick_settings_mobile" msgid="4876806564086241341">"Mobil <xliff:g id="SIGNAL">%1$s</xliff:g>. <xliff:g id="TYPE">%2$s</xliff:g>. <xliff:g id="NETWORK">%3$s</xliff:g>."</string> <string name="accessibility_quick_settings_battery" msgid="1480931583381408972">"Batareya <xliff:g id="STATE">%s</xliff:g>."</string> - <string name="accessibility_quick_settings_airplane" msgid="4196876722090224753">"Təyyarə Rejimi <xliff:g id="STATE">%s</xliff:g>."</string> - <string name="accessibility_quick_settings_bluetooth" msgid="5749054971341882340">"Bluetooth <xliff:g id="STATE">%s</xliff:g>."</string> + <string name="accessibility_quick_settings_airplane_off" msgid="7786329360056634412">"Təyyatə rejimi deaktivdir."</string> + <string name="accessibility_quick_settings_airplane_on" msgid="6406141469157599296">"Təyyarə rejimi aktivdir."</string> + <string name="accessibility_quick_settings_airplane_changed_off" msgid="66846307818850664">"Təyyarə rejimi deaktiv edildi."</string> + <string name="accessibility_quick_settings_airplane_changed_on" msgid="8983005603505087728">"Təyyarə rejimi aktiv edildi."</string> + <string name="accessibility_quick_settings_dnd_priority_on" msgid="1448402297221249355">"\"Narahat etməyin\" aktivdir, yalnız prioritet."</string> + <string name="accessibility_quick_settings_dnd_none_on" msgid="6882582132662613537">"Tak sakitlik vaxtı narahat etməyin."</string> + <string name="accessibility_quick_settings_dnd_alarms_on" msgid="9152834845587554157">"Narahat etməmək rejimi aktivdir, yalnız alarmlara icazə var."</string> + <string name="accessibility_quick_settings_dnd_off" msgid="2371832603753738581">"\"Narahat etməyin\" qeyri-aktivdir."</string> + <string name="accessibility_quick_settings_dnd_changed_off" msgid="898107593453022935">"\"Narahat etməyin\" qeyri-aktivdir."</string> + <string name="accessibility_quick_settings_dnd_changed_on" msgid="4483780856613561039">"\"Narahat etməyin\" aktivdir."</string> + <string name="accessibility_quick_settings_bluetooth_off" msgid="2133631372372064339">"Bluetooth deaktiv."</string> + <string name="accessibility_quick_settings_bluetooth_on" msgid="7681999166216621838">"Bluetooth aktiv."</string> + <string name="accessibility_quick_settings_bluetooth_connecting" msgid="6953242966685343855">"Bluetooth qoşulur."</string> + <string name="accessibility_quick_settings_bluetooth_connected" msgid="4306637793614573659">"Bluetooth qoşulub."</string> + <string name="accessibility_quick_settings_bluetooth_changed_off" msgid="2730003763480934529">"Bluetooth deaktivdir."</string> + <string name="accessibility_quick_settings_bluetooth_changed_on" msgid="8722351798763206577">"Bluetooth aktivdir."</string> + <string name="accessibility_quick_settings_location_off" msgid="5119080556976115520">"Məkan xəbərdarlığı deaktiv."</string> + <string name="accessibility_quick_settings_location_on" msgid="5809937096590102036">"Məkan xəbərdarlığı aktiv."</string> + <string name="accessibility_quick_settings_location_changed_off" msgid="8526845571503387376">"Məkan xəbərdarlığı deaktivdir."</string> + <string name="accessibility_quick_settings_location_changed_on" msgid="339403053079338468">"Məkan xəbərdarlığı aktivdir."</string> <string name="accessibility_quick_settings_alarm" msgid="3959908972897295660">"Alarm <xliff:g id="TIME">%s</xliff:g> üçün qurulub."</string> - <string name="data_usage_disabled_dialog_3g_title" msgid="5257833881698644687">"2G-3G data qeyri-aktivdir"</string> - <string name="data_usage_disabled_dialog_4g_title" msgid="4789143363492682629">"4G data deaktiv edildi"</string> - <string name="data_usage_disabled_dialog_mobile_title" msgid="1046047248844821202">"Mobil data qeyri-aktivdir"</string> - <string name="data_usage_disabled_dialog_title" msgid="2086815304858964954">"Data qeyri-aktivdir"</string> - <string name="data_usage_disabled_dialog" msgid="3853117269051806280">"Göstərilmiş data istifadə limitinə çatdınız.\n\nƏgər datanı yenidən aktivləşdirsəniz, operator tərəfindən əlavə tariflər tətbiq oluna bilər."</string> - <string name="data_usage_disabled_dialog_enable" msgid="7729772039208664606">"Datanı yenidən aktiv et"</string> + <string name="accessibility_quick_settings_close" msgid="3115847794692516306">"Paneli qapadın."</string> + <string name="accessibility_quick_settings_more_time" msgid="3659274935356197708">"Daha çox vaxt."</string> + <string name="accessibility_quick_settings_less_time" msgid="2404728746293515623">"Daha az vaxt."</string> + <string name="accessibility_quick_settings_flashlight_off" msgid="4936432000069786988">"Fənər deaktiv."</string> + <string name="accessibility_quick_settings_flashlight_on" msgid="2003479320007841077">"Fənər aktiv."</string> + <string name="accessibility_quick_settings_flashlight_changed_off" msgid="3303701786768224304">"Fənər deaktivdir."</string> + <string name="accessibility_quick_settings_flashlight_changed_on" msgid="6531793301533894686">"Fənər aktivdir."</string> + <string name="accessibility_quick_settings_color_inversion_changed_off" msgid="4406577213290173911">"Rəng inversiyası deaktivdir."</string> + <string name="accessibility_quick_settings_color_inversion_changed_on" msgid="6897462320184911126">"Rəng inversiyası aktivdir."</string> + <string name="accessibility_quick_settings_hotspot_changed_off" msgid="5004708003447561394">"Mobil hotspot deaktivdir."</string> + <string name="accessibility_quick_settings_hotspot_changed_on" msgid="2890951609226476206">"Mobil hotspot aktivdir."</string> + <string name="accessibility_casting_turned_off" msgid="1430668982271976172">"Ekran yayımı dayandırıldı."</string> + <string name="accessibility_brightness" msgid="8003681285547803095">"Display brightness"</string> + <string name="data_usage_disabled_dialog_3g_title" msgid="5281770593459841889">"2G-3G məlumatlarına fasilə verildi"</string> + <string name="data_usage_disabled_dialog_4g_title" msgid="1601769736881078016">"4G məlumatlarına fasilə verildi"</string> + <string name="data_usage_disabled_dialog_mobile_title" msgid="4651001290947318931">"Mobil məlumatlara fasilə verildi"</string> + <string name="data_usage_disabled_dialog_title" msgid="3932437232199671967">"Məlumatlara fasilə verildi"</string> + <string name="data_usage_disabled_dialog" msgid="8453242888903772524">"Məlumatlar dəsti limitinizi keçdiyiniz üçün cihaz bu dövrənin qalan hissəsi üçün məlumatların istifadəsinə fasilə verib.\n\nDavam etmək operaturunuzdan xərclərə səbəb ola bilər."</string> + <string name="data_usage_disabled_dialog_enable" msgid="1412395410306390593">"Davam et"</string> <string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"İnternet bağlantısı yoxdur"</string> <string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi qoşulub"</string> <string name="gps_notification_searching_text" msgid="8574247005642736060">"GPS Axtarışı"</string> <string name="gps_notification_found_text" msgid="4619274244146446464">"Yer GPS tərəfindən müəyyən edildi"</string> <string name="accessibility_location_active" msgid="2427290146138169014">"Məkan sorğuları arxivi"</string> <string name="accessibility_clear_all" msgid="5235938559247164925">"Bütün bildirişləri sil."</string> - <string name="status_bar_notification_inspect_item_title" msgid="1163547729015390250">"Tətbiq infosu"</string> + <string name="status_bar_notification_inspect_item_title" msgid="5668348142410115323">"Bildiriş ayarları"</string> + <string name="status_bar_notification_app_settings_title" msgid="5525260160341558869">"<xliff:g id="APP_NAME">%s</xliff:g> ayarları"</string> <string name="accessibility_rotation_lock_off" msgid="4062780228931590069">"Ekran avtomatik döndəriləcək."</string> <string name="accessibility_rotation_lock_on_landscape" msgid="6731197337665366273">"Ekran landşaft orientasiyasında kilidlənib."</string> <string name="accessibility_rotation_lock_on_portrait" msgid="5809367521644012115">"Ekran portret orientasiyasında kilidlənib."</string> - <string name="jelly_bean_dream_name" msgid="5992026543636816792">"BeanFlinger"</string> + <string name="accessibility_rotation_lock_off_changed" msgid="8134601071026305153">"İndi ekran avtomatik çevriləcək."</string> + <string name="accessibility_rotation_lock_on_landscape_changed" msgid="3135965553707519743">"Hazırda ekran landşaft orientasiyasında kilidlənib."</string> + <string name="accessibility_rotation_lock_on_portrait_changed" msgid="8922481981834012126">"Hazırda ekran portret orientasiyasında kilidlənib."</string> + <string name="dessert_case" msgid="1295161776223959221">"Desert Qabı"</string> <string name="start_dreams" msgid="7219575858348719790">"Xəyal"</string> <string name="ethernet_label" msgid="7967563676324087464">"Ethernet"</string> - <string name="quick_settings_airplane_mode_label" msgid="5510520633448831350">"Uçuş rejimi"</string> - <string name="quick_settings_battery_charging_label" msgid="490074774465309209">"Dolur, <xliff:g id="NUMBER">%d</xliff:g><xliff:g id="PERCENT">%%</xliff:g>"</string> - <string name="quick_settings_battery_charged_label" msgid="8865413079414246081">"Dolub"</string> + <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Narahat etməyin"</string> + <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Yalnız prioritet"</string> + <string name="quick_settings_dnd_alarms_label" msgid="2559229444312445858">"Yalnız alarmlar"</string> + <string name="quick_settings_dnd_none_label" msgid="5025477807123029478">"Tam sakitlik"</string> <string name="quick_settings_bluetooth_label" msgid="6304190285170721401">"Bluetooth"</string> <string name="quick_settings_bluetooth_multiple_devices_label" msgid="3912245565613684735">"Bluetooth (<xliff:g id="NUMBER">%d</xliff:g> Cihaz)"</string> <string name="quick_settings_bluetooth_off_label" msgid="8159652146149219937">"Bluetooth bağlıdır"</string> + <string name="quick_settings_bluetooth_detail_empty_text" msgid="4910015762433302860">"Heç bir cütlənmiş cihaz əlçatan deyil"</string> <string name="quick_settings_brightness_label" msgid="6968372297018755815">"Parlaqlıq"</string> - <string name="quick_settings_rotation_unlocked_label" msgid="336054930362580584">"Avtofırlanma"</string> - <string name="quick_settings_rotation_locked_label" msgid="8058646447242565486">"Fırlatma kilidlidir"</string> + <string name="quick_settings_rotation_unlocked_label" msgid="7305323031808150099">"Avto-fırlanma"</string> + <string name="quick_settings_rotation_locked_label" msgid="6359205706154282377">"Fırlanma kilidlidir"</string> + <string name="quick_settings_rotation_locked_portrait_label" msgid="5102691921442135053">"Portret"</string> + <string name="quick_settings_rotation_locked_landscape_label" msgid="8553157770061178719">"Peyzaj"</string> <string name="quick_settings_ime_label" msgid="7073463064369468429">"Daxiletmə metodu"</string> <string name="quick_settings_location_label" msgid="5011327048748762257">"Yer"</string> <string name="quick_settings_location_off_label" msgid="7464544086507331459">"Yer Deaktiv"</string> @@ -189,18 +259,157 @@ <string name="quick_settings_settings_label" msgid="5326556592578065401">"Nizamlar"</string> <string name="quick_settings_time_label" msgid="4635969182239736408">"Vaxt"</string> <string name="quick_settings_user_label" msgid="5238995632130897840">"Mən"</string> + <string name="quick_settings_user_title" msgid="4467690427642392403">"İstifadəçi"</string> + <string name="quick_settings_user_new_user" msgid="9030521362023479778">"Yeni istifadəçi"</string> <string name="quick_settings_wifi_label" msgid="9135344704899546041">"Wi-Fi"</string> <string name="quick_settings_wifi_not_connected" msgid="7171904845345573431">"Bağlantı yoxdur"</string> <string name="quick_settings_wifi_no_network" msgid="2221993077220856376">"Şəbəkə yoxdur"</string> <string name="quick_settings_wifi_off_label" msgid="7558778100843885864">"Wi-Fi sönülüdür"</string> - <string name="quick_settings_wifi_display_label" msgid="6893592964463624333">"Wi-Fi Ekran"</string> - <string name="quick_settings_wifi_display_no_connection_label" msgid="2355298740765736918">"Simsiz Ekran"</string> + <string name="quick_settings_wifi_detail_empty_text" msgid="2831702993995222755">"Heç bir saxlanmış şəbəkə əlçatımlı deyil"</string> + <string name="quick_settings_cast_title" msgid="7709016546426454729">"Yayım"</string> + <string name="quick_settings_casting" msgid="6601710681033353316">"Yayım"</string> + <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Adsız cihaz"</string> + <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Yayıma hazırdır"</string> + <string name="quick_settings_cast_detail_empty_text" msgid="311785821261640623">"Heç bir cihaz əlçatan deyil"</string> <string name="quick_settings_brightness_dialog_title" msgid="8599674057673605368">"Parlaqlıq"</string> <string name="quick_settings_brightness_dialog_auto_brightness_label" msgid="5064982743784071218">"AVTO"</string> - <string name="ssl_ca_cert_warning" msgid="5848402127455021714">"Şəbəkə monitor edilə bilər"</string> - <string name="done_button" msgid="1759387181766603361">"Hazırdır"</string> - <string name="ssl_ca_cert_dialog_title" msgid="1273796967092027291">"Şəbəkə Monitorinqi"</string> - <string name="ssl_ca_cert_info_message" msgid="5430320539555358452">"Bu cihaz <xliff:g id="MANAGING_DOMAIN">%s</xliff:g> tərəfindən idarə edilir . \n \n Sizin administrator şəbəkə fəaliyyətinizin, həmçinin e-poçt, tətbiqlər və təhlükəsiz veb saytlarınızın monitorinqini etməyə qadirdir. \n \n Ətraflı məlumat üçün administrator ilə əlaqə saxlayın."</string> - <string name="ssl_ca_cert_warning_message" msgid="2033091656129963669">"Üçüncü tərəf \n şəbəkə fəaliyyətinizin, həmçinin e-poçt, tətbiqlər və təhlükəsiz veb saytlarınızın monitorinqini etməyə qadirdir. . \n \nCihanzınıza yüklənmiş etibarlı etimad bunu mümkün edir."</string> - <string name="ssl_ca_cert_settings_button" msgid="7946956977377166709">"Etibarlı etimadları yoxlayın"</string> + <string name="quick_settings_inversion_label" msgid="8790919884718619648">"Rəngləri çevirin"</string> + <string name="quick_settings_color_space_label" msgid="853443689745584770">"Rəng korreksiyası rejimi"</string> + <string name="quick_settings_more_settings" msgid="326112621462813682">"Daha çox ayar"</string> + <string name="quick_settings_done" msgid="3402999958839153376">"Hazır"</string> + <string name="quick_settings_connected" msgid="1722253542984847487">"Qoşulu"</string> + <string name="quick_settings_connecting" msgid="47623027419264404">"Qoşulur..."</string> + <string name="quick_settings_tethering_label" msgid="7153452060448575549">"Birləşmə"</string> + <string name="quick_settings_hotspot_label" msgid="6046917934974004879">"Hotspot"</string> + <string name="quick_settings_notifications_label" msgid="4818156442169154523">"Bildirişlər"</string> + <string name="quick_settings_flashlight_label" msgid="2133093497691661546">"İşartı"</string> + <string name="quick_settings_cellular_detail_title" msgid="8575062783675171695">"Şəbəkə datası"</string> + <string name="quick_settings_cellular_detail_data_usage" msgid="1964260360259312002">"Data istifadəsi"</string> + <string name="quick_settings_cellular_detail_remaining_data" msgid="722715415543541249">"Qalan data"</string> + <string name="quick_settings_cellular_detail_over_limit" msgid="967669665390990427">"Limit aşılıb"</string> + <string name="quick_settings_cellular_detail_data_used" msgid="1476810587475761478">"<xliff:g id="DATA_USED">%s</xliff:g> işlənib"</string> + <string name="quick_settings_cellular_detail_data_limit" msgid="56011158504994128">"<xliff:g id="DATA_LIMIT">%s</xliff:g> limit"</string> + <string name="quick_settings_cellular_detail_data_warning" msgid="2440098045692399009">"<xliff:g id="DATA_LIMIT">%s</xliff:g> xəbərdarlığı"</string> + <string name="recents_empty_message" msgid="8682129509540827999">"Your recent screens appear here"</string> + <string name="recents_app_info_button_label" msgid="2890317189376000030">"Tətbiq haqqında"</string> + <string name="recents_lock_to_app_button_label" msgid="6942899049072506044">"ekran sancağı"</string> + <string name="recents_search_bar_label" msgid="8074997400187836677">"axtarış"</string> + <string name="recents_launch_error_message" msgid="2969287838120550506">"<xliff:g id="APP">%s</xliff:g> başlana bilmir."</string> + <string name="recents_dismiss_all_message" msgid="8495275386693095768">"Bütün tətbiqləri kənarlaşdırın"</string> + <string name="recents_multistack_add_stack_dialog_split_horizontal" msgid="8848514474543427332">"Üfüqi Böl"</string> + <string name="recents_multistack_add_stack_dialog_split_vertical" msgid="9075292233696180813">"Şaquli Böl"</string> + <string name="recents_multistack_add_stack_dialog_split_custom" msgid="4177837597513701943">"Fərdi Böl"</string> + <string name="expanded_header_battery_charged" msgid="5945855970267657951">"Dolub"</string> + <string name="expanded_header_battery_charging" msgid="205623198487189724">"Enerji doldurulur"</string> + <string name="expanded_header_battery_charging_with_time" msgid="457559884275395376">"<xliff:g id="CHARGING_TIME">%s</xliff:g> dolana kimi"</string> + <string name="expanded_header_battery_not_charging" msgid="4798147152367049732">"Doldurulmur"</string> + <string name="ssl_ca_cert_warning" msgid="9005954106902053641">"Şəbəkə nəzarətdə\nola bilər"</string> + <string name="description_target_search" msgid="3091587249776033139">"Axtar"</string> + <string name="description_direction_up" msgid="7169032478259485180">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> üçün yuxarı sürüşdürün."</string> + <string name="description_direction_left" msgid="7207478719805562165">"<xliff:g id="TARGET_DESCRIPTION">%s</xliff:g> üçün sola sürüşdür."</string> + <string name="zen_priority_introduction" msgid="3070506961866919502">"Zəng, xatırlatma, hadisə və seçdiyiniz zəng edənlər istisna olmaqla səs və vibrasiya Sizi narahat etməyəcək."</string> + <string name="zen_priority_customize_button" msgid="7948043278226955063">"Fərdiləşdirin"</string> + <string name="zen_silence_introduction" msgid="575422795504098868">"Bu, zəng, musiqi, video və oyunlar daxil olmaqla BÜTÜN səs və vibrasiyanı bloklayır."</string> + <string name="keyguard_more_overflow_text" msgid="9195222469041601365">"+<xliff:g id="NUMBER_OF_NOTIFICATIONS">%d</xliff:g>"</string> + <string name="speed_bump_explanation" msgid="1288875699658819755">"Daha az təcili bildirişlər aşağıdadır"</string> + <string name="notification_tap_again" msgid="8524949573675922138">"Touch again to open"</string> + <string name="keyguard_unlock" msgid="8043466894212841998">"Kiliddən çıxarmaq üçün yuxarı çəkin"</string> + <string name="phone_hint" msgid="4872890986869209950">"Telefon üçün ikonadan sürüşdürün"</string> + <string name="voice_hint" msgid="8939888732119726665">"Səs yardımçısı üçün ikonadan sürüşdürün"</string> + <string name="camera_hint" msgid="7939688436797157483">"Kamera üçün ikonadan sürüşdürün"</string> + <string name="interruption_level_none" msgid="6000083681244492992">"Tam sakitlik"</string> + <string name="interruption_level_priority" msgid="6426766465363855505">"Yalnız prioritet"</string> + <string name="interruption_level_alarms" msgid="5226306993448328896">"Yalnız alarmlar"</string> + <string name="interruption_level_none_twoline" msgid="3957581548190765889">"Tam\nsakitlik"</string> + <string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Yalnız\nprioritet"</string> + <string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"Yalnız\nalarmlar"</string> + <string name="keyguard_indication_charging_time" msgid="1757251776872835768">"Qidalanır (<xliff:g id="CHARGING_TIME_LEFT">%s</xliff:g> dolana kimi)"</string> + <string name="accessibility_multi_user_switch_switcher" msgid="7305948938141024937">"Switch user"</string> + <string name="accessibility_multi_user_switch_switcher_with_current" msgid="8434880595284601601">"İstifadəçiləri dəyişin, indiki istifadəçi: <xliff:g id="CURRENT_USER_NAME">%s</xliff:g>"</string> + <string name="accessibility_multi_user_switch_quick_contact" msgid="3020367729287990475">"Show profile"</string> + <string name="user_add_user" msgid="5110251524486079492">"İstifadəçi əlavə edin"</string> + <string name="user_new_user_name" msgid="426540612051178753">"Yeni istifadəçi"</string> + <string name="guest_nickname" msgid="8059989128963789678">"Qonaq"</string> + <string name="guest_new_guest" msgid="600537543078847803">"Qonaq əlavə et"</string> + <string name="guest_exit_guest" msgid="7187359342030096885">"Qonağı silin"</string> + <string name="guest_exit_guest_dialog_title" msgid="8480693520521766688">"Qonaq silinsin?"</string> + <string name="guest_exit_guest_dialog_message" msgid="4155503224769676625">"Bu sessiyada bütün tətbiqlər və data silinəcək."</string> + <string name="guest_exit_guest_dialog_remove" msgid="7402231963862520531">"Yığışdır"</string> + <string name="guest_wipe_session_title" msgid="6419439912885956132">"Xoş gəlmisiniz!"</string> + <string name="guest_wipe_session_message" msgid="8476238178270112811">"Sessiya davam etsin?"</string> + <string name="guest_wipe_session_wipe" msgid="5065558566939858884">"Yenidən başlayın"</string> + <string name="guest_wipe_session_dontwipe" msgid="1401113462524894716">"Bəli, davam edin"</string> + <string name="guest_notification_title" msgid="1585278533840603063">"Qonaq istifadəçi"</string> + <string name="guest_notification_text" msgid="7513706222848825467">"Tətbiqləri və datanı silmək üçün qonağı çıxarın"</string> + <string name="guest_notification_remove_action" msgid="8820670703892101990">"QONAĞI ÇIXARIN"</string> + <string name="user_add_user_title" msgid="4553596395824132638">"Yeni istifadəçi əlavə edilsin?"</string> + <string name="user_add_user_message_short" msgid="2161624834066214559">"Yeni istifadəçi əlavə etdiyiniz zaman həmin şəxs öz yerini quraşdırmalıdır. \n\n İstənilən istifadəçi bütün digər istifadəçilərdən olan tətbiqləri güncəlləşdirə bilər."</string> + <string name="battery_saver_notification_title" msgid="237918726750955859">"Enerji qənaəti aktivdir"</string> + <string name="battery_saver_notification_text" msgid="820318788126672692">"Performansı azaldır və arxa fon datasını məhdudlaşdırır"</string> + <string name="battery_saver_notification_action_text" msgid="109158658238110382">"Enerjiyə qənaət rejimini deaktiv edin"</string> + <string name="notification_hidden_text" msgid="1135169301897151909">"Məzmun gizlidir"</string> + <string name="media_projection_dialog_text" msgid="3071431025448218928">"<xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g> ekranınızda olan hər şeyin şəklini çəkəcək."</string> + <string name="media_projection_remember_text" msgid="3103510882172746752">"Daha göstərmə"</string> + <string name="clear_all_notifications_text" msgid="814192889771462828">"Hamısını silin"</string> + <string name="media_projection_action_text" msgid="8470872969457985954">"İndi başlayın"</string> + <string name="empty_shade_text" msgid="708135716272867002">"Heç bir bildiriş yoxdur"</string> + <string name="device_owned_footer" msgid="3802752663326030053">"Cihaz nəzarət altında ola bilər"</string> + <string name="profile_owned_footer" msgid="8021888108553696069">"Profil izlənə bilər"</string> + <string name="vpn_footer" msgid="2388611096129106812">"Şəbəkə nəzərdən keçirilə bilər"</string> + <string name="monitoring_title_device_owned" msgid="7121079311903859610">"Cihaza nəzarət"</string> + <string name="monitoring_title_profile_owned" msgid="6790109874733501487">"Profil izlənməsi"</string> + <string name="monitoring_title" msgid="169206259253048106">"Şəbəkə monitorinqi"</string> + <string name="disable_vpn" msgid="4435534311510272506">"VPN-i deaktiv edin"</string> + <string name="disconnect_vpn" msgid="1324915059568548655">"VPN-i bağlantıdan ayırın"</string> + <string name="monitoring_description_device_owned" msgid="5780988291898461883">"Cihazınız <xliff:g id="ORGANIZATION">%1$s</xliff:g> tərəfindən idarə olunur.\n\nAdministratorunuz cihazınız ilə əlaqədar ayarlar, korporativ giriş, tətbiqlər, data və cihaz yeri məlumatına nəzarət və idarə edə bilər. Ətraflı məlumat üçün, administratorunuz ilə əlaqə saxlayın."</string> + <string name="monitoring_description_vpn" msgid="996222259035614736">"Siz VPN bağlantısı qurmaq üçün bir app icazə verdi. \n\n Bu app e-poçt, apps və web o cümlədən, sizin cihaz və şəbəkə fəaliyyətinə nəzarət edə bilərsiniz."</string> + <string name="monitoring_description_vpn_device_owned" msgid="3090670777499161246">"Cihazınız <xliff:g id="ORGANIZATION">%1$s</xliff:g> tərəfindən idarə olunur.\n\nAdministratorunuz cihazınız ilə əlaqədar ayarlar, korporativ giriş, tətbiqlər, data və cihaz yeri məlumatına nəzarət və idarə edə bilər.\n\nSiz, həmçinin, e-poçt, tətbiq və veb saytlar daxil olmaqla şəbəkə fəaliyyətinizi yoxlaya bilən VPN şəbəkəsinə qoşulmusunuz..\n\nƏtraflı məlumat üçün, administratorunuz ilə əlaqə saxlayın."</string> + <string name="monitoring_description_vpn_profile_owned" msgid="2054949132145039290">"Sizin iş profile tərəfindən idarə olunur <xliff:g id="ORGANIZATION">%1$s</xliff:g> . \n\n Sizin administrator e-poçt, apps, və web o cümlədən şəbəkə fəaliyyəti monitorinq qadirdir. \n\n Daha ətraflı məlumat üçün, administratora müraciət. \n\n Siz həmçinin şəbəkə fəaliyyətinə nəzarət edə bilərsiniz bir VPN, bağlı olduğunuz."</string> + <string name="legacy_vpn_name" msgid="6604123105765737830">"VPN (Virtual Şəxsi Şəbəkələr)"</string> + <string name="monitoring_description_app" msgid="6947928635272782570">"Siz bağlı olduğunuz <xliff:g id="APPLICATION">%1$s</xliff:g> , E-poçt, apps və web o cümlədən şəbəkə fəaliyyətinə nəzarət edə bilər."</string> + <string name="monitoring_description_app_personal" msgid="8506133233655324426">"Siz bağlı olduğunuz <xliff:g id="APPLICATION">%1$s</xliff:g> , E-poçt, apps və web daxil olmaqla, şəxsi şəbəkə fəaliyyətinə nəzarət edə bilər."</string> + <string name="monitoring_description_app_work" msgid="808687576155832307">"Sizin iş profile tərəfindən idarə olunur <xliff:g id="ORGANIZATION">%1$s</xliff:g> . Bu bağlıdır <xliff:g id="APPLICATION">%2$s</xliff:g> , E-poçt, apps və web daxil olmaqla, iş şəbəkə fəaliyyəti, nəzarət edə bilərsiniz olan. \n\n Daha ətraflı məlumat üçün, administratora müraciət."</string> + <string name="monitoring_description_app_personal_work" msgid="7711690793960304868">"Sizin iş profile tərəfindən idarə olunur <xliff:g id="ORGANIZATION">%1$s</xliff:g> . Bu bağlıdır <xliff:g id="APPLICATION_WORK">%2$s</xliff:g> , E-poçt, apps və web daxil olmaqla, iş şəbəkə fəaliyyəti, nəzarət edə bilərsiniz olan. \n\n Siz həmçinin bağlı olduğunuz <xliff:g id="APPLICATION_PERSONAL">%3$s</xliff:g> Sizin şəxsi şəbəkə fəaliyyətinə nəzarət edə bilər."</string> + <string name="monitoring_description_vpn_app_device_owned" msgid="4970443827043261703">"Sizin cihaz tərəfindən idarə olunur <xliff:g id="ORGANIZATION">%1$s</xliff:g> . \n\n Sizin administrator nəzarət və parametrləri, korporativ giriş, apps, sizin cihaz ilə bağlı məlumat və cihaz yer məlumat idarə edə bilərsiniz. \n\n Siz bağlı olduğunuz <xliff:g id="APPLICATION">%2$s</xliff:g> , E-poçt, apps, və web o cümlədən, şəbəkə fəaliyyətinə nəzarət edə bilər. \n\n Daha ətraflı məlumat üçün, administratora müraciət."</string> + <string name="keyguard_indication_trust_disabled" msgid="7412534203633528135">"Device will stay locked until you manually unlock"</string> + <string name="hidden_notifications_title" msgid="7139628534207443290">"Bildirişləri daha sürətlə əldə edin"</string> + <string name="hidden_notifications_text" msgid="2326409389088668981">"Kiliddən çıxarmadan öncə onları görün"</string> + <string name="hidden_notifications_cancel" msgid="3690709735122344913">"Yox, çox sağ olun"</string> + <string name="hidden_notifications_setup" msgid="41079514801976810">"Quraşdırın"</string> + <string name="notification_expand_button_text" msgid="1037425494153780718">"Hamısına baxın"</string> + <string name="notification_collapse_button_text" msgid="6883253262134328057">"Hamısını gizlədin"</string> + <string name="zen_mode_and_condition" msgid="4462471036429759903">"<xliff:g id="ZEN_MODE">%1$s</xliff:g>. <xliff:g id="EXIT_CONDITION">%2$s</xliff:g>"</string> + <string name="volume_zen_end_now" msgid="3179845345429841822">"İndi qurtarın"</string> + <string name="accessibility_volume_expand" msgid="5946812790999244205">"Genişləndirin"</string> + <string name="accessibility_volume_collapse" msgid="3609549593031810875">"Yığcamlaşdırın"</string> + <string name="screen_pinning_title" msgid="3273740381976175811">"Ekrana sancaq taxıldı"</string> + <string name="screen_pinning_description" msgid="1346522416878235405">"Sancaq götürülənə qədər bu, görünəcək. Sancağı götürmək üçün Geri və İcmal düymələrinə eyni vaxtda toxunun və saxlayın."</string> + <string name="screen_pinning_description_accessible" msgid="8518446209564202557">"Sancaq götürülənə qədər bu, görünəcək. Sancağı götürmək üçün Geri və İcmal düymələrinə toxunun və saxlayın."</string> + <string name="screen_pinning_positive" msgid="3783985798366751226">"Anladım!"</string> + <string name="screen_pinning_negative" msgid="3741602308343880268">"Yox, çox sağ olun"</string> + <string name="quick_settings_reset_confirmation_title" msgid="748792586749897883">"<xliff:g id="TILE_LABEL">%1$s</xliff:g> gizlədilsin?"</string> + <string name="quick_settings_reset_confirmation_message" msgid="2235970126803317374">"Ayarlarda onu aktivləşdirəcəyiniz vaxta qədər o, yenidən görünəcək."</string> + <string name="quick_settings_reset_confirmation_button" msgid="2660339101868367515">"Gizlədin"</string> + <string name="volumeui_prompt_message" msgid="918680947433389110">"<xliff:g id="APP_NAME">%1$s</xliff:g> proqramı səs səviyyəsi dialoqu olmaq istəyir."</string> + <string name="volumeui_prompt_allow" msgid="7954396902482228786">"İcazə ver"</string> + <string name="volumeui_prompt_deny" msgid="5720663643411696731">"Rədd et"</string> + <string name="volumeui_notification_title" msgid="4906770126345910955">"<xliff:g id="APP_NAME">%1$s</xliff:g> proqramı səs səviyyəsi dialoqudur"</string> + <string name="volumeui_notification_text" msgid="1826889705095768656">"Orijinalı bərpa etmək üçün toxun."</string> + <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"İş profilindəsiniz"</string> + <string name="system_ui_tuner" msgid="3442596010150119600">"Sistem UI tuner"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> + <string name="quick_settings" msgid="10042998191725428">"Sürətli Ayarlar"</string> + <string name="add_tile" msgid="2995389510240786221">"Xana əlavə edin"</string> + <string name="broadcast_tile" msgid="3894036511763289383">"Yayım Xanası"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-bg/strings.xml b/packages/SystemUI/res/values-bg/strings.xml index 44b95bc..543008b 100644 --- a/packages/SystemUI/res/values-bg/strings.xml +++ b/packages/SystemUI/res/values-bg/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Докоснете, за да възстановите оригинала."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Влезли сте в потребителски профил в Work"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"Тунер на системния ПИ"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Бързи настройки"</string> <string name="add_tile" msgid="2995389510240786221">"Добавяне на плочка"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Плочка за излъчване"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-bn-rBD/strings.xml b/packages/SystemUI/res/values-bn-rBD/strings.xml index 4f17fdf..e4e69fc 100644 --- a/packages/SystemUI/res/values-bn-rBD/strings.xml +++ b/packages/SystemUI/res/values-bn-rBD/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"আসলটি পুনঃস্থাপন করতে স্পর্শ করুন৷"</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"আপনি কাজের প্রোফাইলে রয়েছেন"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"সিস্টেম UI টিউনার"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"দ্রুত সেটিংস"</string> <string name="add_tile" msgid="2995389510240786221">"টাইল যোগ করুন"</string> <string name="broadcast_tile" msgid="3894036511763289383">"সম্প্রচার টাইল"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-ca/strings.xml b/packages/SystemUI/res/values-ca/strings.xml index 904edb9..adfe0ef 100644 --- a/packages/SystemUI/res/values-ca/strings.xml +++ b/packages/SystemUI/res/values-ca/strings.xml @@ -399,7 +399,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Toca per restaurar l\'original."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Estàs utilitzant el perfil professional"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"Configurador de la IU del sistema"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Configuració ràpida"</string> <string name="add_tile" msgid="2995389510240786221">"Afegeix un mosaic"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Mosaic d\'emissió"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-cs/strings.xml b/packages/SystemUI/res/values-cs/strings.xml index c19f6e2..77c1daa 100644 --- a/packages/SystemUI/res/values-cs/strings.xml +++ b/packages/SystemUI/res/values-cs/strings.xml @@ -401,7 +401,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Klepnutím obnovíte originál."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Nacházíte se v pracovním profilu"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"Nástroj na ladění uživatelského rozhraní systému"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Rychlé nastavení"</string> <string name="add_tile" msgid="2995389510240786221">"Přidat dlaždici"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Dlaždice s vysíláním"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-da/strings.xml b/packages/SystemUI/res/values-da/strings.xml index 3fa988e..ebed916 100644 --- a/packages/SystemUI/res/values-da/strings.xml +++ b/packages/SystemUI/res/values-da/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Tryk for at gendanne originalen."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Du er i arbejdsprofilen"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"System UI tuner"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Hurtige indstillinger"</string> <string name="add_tile" msgid="2995389510240786221">"Tilføj et felt"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Felt for udsendelser"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-de/strings.xml b/packages/SystemUI/res/values-de/strings.xml index 51b15b1..c2b6303 100644 --- a/packages/SystemUI/res/values-de/strings.xml +++ b/packages/SystemUI/res/values-de/strings.xml @@ -399,7 +399,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Zum Wiederherstellen des Originals hier tippen"</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Sie befinden sich im Arbeitsprofil."</string> <string name="system_ui_tuner" msgid="3442596010150119600">"SystemUI-Tuner"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Schnelleinstellungen"</string> <string name="add_tile" msgid="2995389510240786221">"Kachel hinzufügen"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Broadcast-Kachel"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-el/strings.xml b/packages/SystemUI/res/values-el/strings.xml index a97e954..92b843b 100644 --- a/packages/SystemUI/res/values-el/strings.xml +++ b/packages/SystemUI/res/values-el/strings.xml @@ -399,7 +399,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Αγγίξτε για επαναφορά αρχικού."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Χρησιμοποιείτε προφίλ εργασίας"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"Δέκτης διεπαφής συστήματος"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Γρήγορες ρυθμίσεις"</string> <string name="add_tile" msgid="2995389510240786221">"Προσθήκη πλακιδίου"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Μετάδοση πλακιδίου"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-en-rAU/strings.xml b/packages/SystemUI/res/values-en-rAU/strings.xml index 8360bd7..5997dbd 100644 --- a/packages/SystemUI/res/values-en-rAU/strings.xml +++ b/packages/SystemUI/res/values-en-rAU/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Touch to restore the original."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"You are in the Work profile"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"System UI tuner"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Quick Settings"</string> <string name="add_tile" msgid="2995389510240786221">"Add tile"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Broadcast Tile"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-en-rGB/strings.xml b/packages/SystemUI/res/values-en-rGB/strings.xml index 8360bd7..5997dbd 100644 --- a/packages/SystemUI/res/values-en-rGB/strings.xml +++ b/packages/SystemUI/res/values-en-rGB/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Touch to restore the original."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"You are in the Work profile"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"System UI tuner"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Quick Settings"</string> <string name="add_tile" msgid="2995389510240786221">"Add tile"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Broadcast Tile"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-en-rIN/strings.xml b/packages/SystemUI/res/values-en-rIN/strings.xml index 8360bd7..5997dbd 100644 --- a/packages/SystemUI/res/values-en-rIN/strings.xml +++ b/packages/SystemUI/res/values-en-rIN/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Touch to restore the original."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"You are in the Work profile"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"System UI tuner"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Quick Settings"</string> <string name="add_tile" msgid="2995389510240786221">"Add tile"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Broadcast Tile"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-es-rUS/strings.xml b/packages/SystemUI/res/values-es-rUS/strings.xml index c738a34..a6508ea 100644 --- a/packages/SystemUI/res/values-es-rUS/strings.xml +++ b/packages/SystemUI/res/values-es-rUS/strings.xml @@ -399,7 +399,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Toca para restaurar el original."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Estás usando el perfil de Work."</string> <string name="system_ui_tuner" msgid="3442596010150119600">"System UI tuner"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Configuración rápida"</string> <string name="add_tile" msgid="2995389510240786221">"Agregar mosaico"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Mosaico de transmisión"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-es/strings.xml b/packages/SystemUI/res/values-es/strings.xml index 49e43eb..438aa78 100644 --- a/packages/SystemUI/res/values-es/strings.xml +++ b/packages/SystemUI/res/values-es/strings.xml @@ -19,7 +19,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="app_label" msgid="7164937344850004466">"Interfaz de usuario del sistema"</string> + <string name="app_label" msgid="7164937344850004466">"IU del sistema"</string> <string name="status_bar_clear_all_button" msgid="7774721344716731603">"Borrar"</string> <string name="status_bar_recent_remove_item_title" msgid="6026395868129852968">"Eliminar de la lista"</string> <string name="status_bar_recent_inspect_item_title" msgid="7793624864528818569">"Información de la aplicación"</string> @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Toca para restaurar la versión original."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Estás en el perfil de trabajo"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"Configurador de IU del sistema"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Ajustes rápidos"</string> <string name="add_tile" msgid="2995389510240786221">"Añadir mosaico"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Mosaico de emisión"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-et-rEE/strings.xml b/packages/SystemUI/res/values-et-rEE/strings.xml index d76b08d..38654d9 100644 --- a/packages/SystemUI/res/values-et-rEE/strings.xml +++ b/packages/SystemUI/res/values-et-rEE/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Originaali taastamiseks puudutage."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Olete tööprofiilil"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"Süsteemi kasutajaliidese tuuner"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Kiirseaded"</string> <string name="add_tile" msgid="2995389510240786221">"Paani lisamine"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Paani ülekandmine"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-eu-rES/strings.xml b/packages/SystemUI/res/values-eu-rES/strings.xml index e16e1f9..a84cf325 100644 --- a/packages/SystemUI/res/values-eu-rES/strings.xml +++ b/packages/SystemUI/res/values-eu-rES/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Ukitu jatorrizkora leheneratzeko"</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Work profil bat erabiltzen ari zara"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"Sistemako erabiltzaile-interfazearen konfiguratzailea"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Ezarpen bizkorrak"</string> <string name="add_tile" msgid="2995389510240786221">"Gehitu lauza"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Igorpen-lauza"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-fa/strings.xml b/packages/SystemUI/res/values-fa/strings.xml index c3b4caa..8acd21b 100644 --- a/packages/SystemUI/res/values-fa/strings.xml +++ b/packages/SystemUI/res/values-fa/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"برای بازیابی کنترلکننده اصلی، لمس کنید."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"در نمایه کاری هستید"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"تنظیمکننده واسط کاربری سیستم"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"تنظیمات سریع"</string> <string name="add_tile" msgid="2995389510240786221">"افزودن کاشی"</string> <string name="broadcast_tile" msgid="3894036511763289383">"کاشی پخش عمومی"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-fi/strings.xml b/packages/SystemUI/res/values-fi/strings.xml index ba91972..0dffce2 100644 --- a/packages/SystemUI/res/values-fi/strings.xml +++ b/packages/SystemUI/res/values-fi/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Palauta alkuperäinen koskettamalla."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Olet Work-profiilissa"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"SystemUI-viritin"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Pika-asetukset"</string> <string name="add_tile" msgid="2995389510240786221">"Lisää ruutu"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Lähetysruutu"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-fr-rCA/strings.xml b/packages/SystemUI/res/values-fr-rCA/strings.xml index b243dc70..8bb6ae1 100644 --- a/packages/SystemUI/res/values-fr-rCA/strings.xml +++ b/packages/SystemUI/res/values-fr-rCA/strings.xml @@ -399,7 +399,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Touchez pour restaurer l\'original."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Vous avez activé le profil professionnel"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"Paramètres SystemUI"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Paramètres rapides"</string> <string name="add_tile" msgid="2995389510240786221">"Ajouter la tuile"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Diffuser la tuile"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-fr/strings.xml b/packages/SystemUI/res/values-fr/strings.xml index 2e986ca..a079531 100644 --- a/packages/SystemUI/res/values-fr/strings.xml +++ b/packages/SystemUI/res/values-fr/strings.xml @@ -399,7 +399,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Appuyez pour restaurer l\'interface d\'origine."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Vous consultez le profil professionnel."</string> <string name="system_ui_tuner" msgid="3442596010150119600">"System UI tuner"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Configuration rapide"</string> <string name="add_tile" msgid="2995389510240786221">"Ajouter une tuile"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Tuile de diffusion"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-gl-rES/strings.xml b/packages/SystemUI/res/values-gl-rES/strings.xml index 88d79a2..55a246c 100644 --- a/packages/SystemUI/res/values-gl-rES/strings.xml +++ b/packages/SystemUI/res/values-gl-rES/strings.xml @@ -399,7 +399,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Toca para restaurar o orixinal."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Está no perfil de traballo"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"Sintonizador da interface de usuario do sistema"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Configuración rápida"</string> <string name="add_tile" msgid="2995389510240786221">"Engade un mosaico"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Mosaico controlado pola emisión"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-gu-rIN/strings.xml b/packages/SystemUI/res/values-gu-rIN/strings.xml index a2a793c..69ace9e 100644 --- a/packages/SystemUI/res/values-gu-rIN/strings.xml +++ b/packages/SystemUI/res/values-gu-rIN/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"મૂળને પુનઃસ્થાપિત કરવા માટે ટચ કરો."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"તમે કાર્ય પ્રોફાઇલમાં છો"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"સિસ્ટમ UI ટ્યૂનર"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"ઝડપી સેટિંગ્સ"</string> <string name="add_tile" msgid="2995389510240786221">"ટાઇલ ઉમેરો"</string> <string name="broadcast_tile" msgid="3894036511763289383">"બ્રોડકાસ્ટ ટાઇલ"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-hi/strings.xml b/packages/SystemUI/res/values-hi/strings.xml index 77d0bf6..1b9444f 100644 --- a/packages/SystemUI/res/values-hi/strings.xml +++ b/packages/SystemUI/res/values-hi/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"मूल वॉल्यूम को फिर से लाने के लिए स्पर्श करें."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"आप कार्य प्रोफ़ाइल में हैं"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"System UI ट्यूनर"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"तेज़ सेटिंग"</string> <string name="add_tile" msgid="2995389510240786221">"टाइल जोड़ें"</string> <string name="broadcast_tile" msgid="3894036511763289383">"टाइल प्रसारित करें"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-hr/strings.xml b/packages/SystemUI/res/values-hr/strings.xml index 43d5fcb..ba873cb 100644 --- a/packages/SystemUI/res/values-hr/strings.xml +++ b/packages/SystemUI/res/values-hr/strings.xml @@ -398,7 +398,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Dodirnite da biste vratili izvorno."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Nalazite se na profilu Worka"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"Prijamnik korisničkog sučelja sustava"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Brze postavke"</string> <string name="add_tile" msgid="2995389510240786221">"Dodavanje pločice"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Emitiranje pločice"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-hu/strings.xml b/packages/SystemUI/res/values-hu/strings.xml index e14c077..7ed53c2 100644 --- a/packages/SystemUI/res/values-hu/strings.xml +++ b/packages/SystemUI/res/values-hu/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Érintse meg az eredeti érték visszaállításához."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"A munkaprofilt használja"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"Kezelőfelület-hangoló"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Gyorsbeállítások"</string> <string name="add_tile" msgid="2995389510240786221">"Mozaik hozzáadása"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Közvetített mozaik"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-hy-rAM/strings.xml b/packages/SystemUI/res/values-hy-rAM/strings.xml index 8b78acc..b7f69f3 100644 --- a/packages/SystemUI/res/values-hy-rAM/strings.xml +++ b/packages/SystemUI/res/values-hy-rAM/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Դիպչեք՝ սկզբնօրինակը վերականգնելու համար:"</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Դուք աշխատանքային պրոֆիլում եք"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"Համակարգի ՕՄ-ի կարգավորիչ"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Արագ կարգավորումներ"</string> <string name="add_tile" msgid="2995389510240786221">"Սալիկի ավելացում"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Սալիկի հեռարձակում"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-in/strings.xml b/packages/SystemUI/res/values-in/strings.xml index a66d199..358abee 100644 --- a/packages/SystemUI/res/values-in/strings.xml +++ b/packages/SystemUI/res/values-in/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Sentuh untuk memulihkan aslinya."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Anda berada di Profil kerja"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"Penyetel Antarmuka Sistem"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Setelan Cepat"</string> <string name="add_tile" msgid="2995389510240786221">"Tambahkan ubin"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Ubin Siaran"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-is-rIS/strings.xml b/packages/SystemUI/res/values-is-rIS/strings.xml index 0e5c6d1..684017e 100644 --- a/packages/SystemUI/res/values-is-rIS/strings.xml +++ b/packages/SystemUI/res/values-is-rIS/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Snertu til að færa í upprunalegt horf."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Þú ert í vinnusniðinu"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"Fínstillingar kerfisviðmóts"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Flýtistillingar"</string> <string name="add_tile" msgid="2995389510240786221">"Bæta reit við"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Útsendingarreitur"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-it/strings.xml b/packages/SystemUI/res/values-it/strings.xml index 1524350..cb9d3e3 100644 --- a/packages/SystemUI/res/values-it/strings.xml +++ b/packages/SystemUI/res/values-it/strings.xml @@ -316,7 +316,7 @@ <string name="speed_bump_explanation" msgid="1288875699658819755">"Notifiche meno urgenti in basso"</string> <string name="notification_tap_again" msgid="8524949573675922138">"Tocca di nuovo per aprire"</string> <string name="keyguard_unlock" msgid="8043466894212841998">"Scorri verso l\'alto per sbloccare"</string> - <string name="phone_hint" msgid="4872890986869209950">"Scorri dall\'icona per accedere al telefono"</string> + <string name="phone_hint" msgid="4872890986869209950">"Scorri per accedere al telefono"</string> <string name="voice_hint" msgid="8939888732119726665">"Scorri dall\'icona per accedere a Voice Assist"</string> <string name="camera_hint" msgid="7939688436797157483">"Scorri dall\'icona per accedere alla fotocamera"</string> <string name="interruption_level_none" msgid="6000083681244492992">"Silenzio totale"</string> @@ -399,7 +399,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Tocca per ripristinare l\'originale."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Hai attivato il profilo di lavoro"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"Sintonizzatore UI sistema"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Impostazioni rapide"</string> <string name="add_tile" msgid="2995389510240786221">"Aggiungi riquadro"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Riquadro di trasmissione"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-iw/strings.xml b/packages/SystemUI/res/values-iw/strings.xml index 8ab02b9..957a81d 100644 --- a/packages/SystemUI/res/values-iw/strings.xml +++ b/packages/SystemUI/res/values-iw/strings.xml @@ -399,7 +399,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"גע כדי לשחזר את עוצמת הקול המקורית."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"אתה נמצא בפרופיל העבודה"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"SystemUI Tuner"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"הגדרות מהירות"</string> <string name="add_tile" msgid="2995389510240786221">"הוסף אריח"</string> <string name="broadcast_tile" msgid="3894036511763289383">"אריח שידור"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-ja/strings.xml b/packages/SystemUI/res/values-ja/strings.xml index 1e5a31d..e50bf3b 100644 --- a/packages/SystemUI/res/values-ja/strings.xml +++ b/packages/SystemUI/res/values-ja/strings.xml @@ -399,7 +399,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"タップすると元の音量ダイアログが復元されます。"</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"仕事用プロファイルを使用しています"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"System UI tuner"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"クイック設定"</string> <string name="add_tile" msgid="2995389510240786221">"タイルを追加"</string> <string name="broadcast_tile" msgid="3894036511763289383">"ブロードキャストタイル"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-ka-rGE/strings.xml b/packages/SystemUI/res/values-ka-rGE/strings.xml index 46fb60d..e0c5d0f 100644 --- a/packages/SystemUI/res/values-ka-rGE/strings.xml +++ b/packages/SystemUI/res/values-ka-rGE/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"ორიგინალის აღდგენისათვის, შეეხეთ."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"თქვენ სამუშაო პროფილში ხართ"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"System UI ტუნერი"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"სწრაფი პარამეტრები"</string> <string name="add_tile" msgid="2995389510240786221">"მოზაიკის დამატება"</string> <string name="broadcast_tile" msgid="3894036511763289383">"მაუწყებლობის მოზაიკა"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-kk-rKZ/strings.xml b/packages/SystemUI/res/values-kk-rKZ/strings.xml index d12c6a4..729cb6d 100644 --- a/packages/SystemUI/res/values-kk-rKZ/strings.xml +++ b/packages/SystemUI/res/values-kk-rKZ/strings.xml @@ -223,8 +223,8 @@ <string name="status_bar_settings_signal_meter_disconnected" msgid="1940231521274147771">"Интернет байланысы жоқ"</string> <string name="status_bar_settings_signal_meter_wifi_nossid" msgid="6557486452774597820">"Wi-Fi қосулы"</string> <string name="gps_notification_searching_text" msgid="8574247005642736060">"GPS қызметін іздеуде"</string> - <string name="gps_notification_found_text" msgid="4619274244146446464">"Аймақ GPS арқылы орнатылған"</string> - <string name="accessibility_location_active" msgid="2427290146138169014">"Аймақ өтініштері қосылған"</string> + <string name="gps_notification_found_text" msgid="4619274244146446464">"Орын GPS арқылы орнатылған"</string> + <string name="accessibility_location_active" msgid="2427290146138169014">"Орын өтініштері қосылған"</string> <string name="accessibility_clear_all" msgid="5235938559247164925">"Барлық хабарларды жойыңыз."</string> <string name="status_bar_notification_inspect_item_title" msgid="5668348142410115323">"Хабарландыру параметрлері"</string> <string name="status_bar_notification_app_settings_title" msgid="5525260160341558869">"<xliff:g id="APP_NAME">%s</xliff:g> параметрлері"</string> @@ -238,7 +238,7 @@ <string name="start_dreams" msgid="7219575858348719790">"Қалғу"</string> <string name="ethernet_label" msgid="7967563676324087464">"Этернет"</string> <string name="quick_settings_dnd_label" msgid="8735855737575028208">"Мазаламау"</string> - <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Тек басымдық"</string> + <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"Маңыздылары ғана"</string> <string name="quick_settings_dnd_alarms_label" msgid="2559229444312445858">"Тек дабылдар"</string> <string name="quick_settings_dnd_none_label" msgid="5025477807123029478">"Толық тыныштық"</string> <string name="quick_settings_bluetooth_label" msgid="6304190285170721401">"Bluetooth"</string> @@ -251,8 +251,8 @@ <string name="quick_settings_rotation_locked_portrait_label" msgid="5102691921442135053">"Портрет"</string> <string name="quick_settings_rotation_locked_landscape_label" msgid="8553157770061178719">"Пейзаж"</string> <string name="quick_settings_ime_label" msgid="7073463064369468429">"Енгізу әдісі"</string> - <string name="quick_settings_location_label" msgid="5011327048748762257">"Аймақ"</string> - <string name="quick_settings_location_off_label" msgid="7464544086507331459">"Аймақ өшірулі"</string> + <string name="quick_settings_location_label" msgid="5011327048748762257">"Орын"</string> + <string name="quick_settings_location_off_label" msgid="7464544086507331459">"Орын өшірулі"</string> <string name="quick_settings_media_device_label" msgid="1302906836372603762">"Meдиа құрылғысы"</string> <string name="quick_settings_rssi_label" msgid="7725671335550695589">"RSSI (алынған сигнал қуатының көрсеткіші)"</string> <string name="quick_settings_rssi_emergency_only" msgid="2713774041672886750">"Тек қана төтенше қоңыраулар"</string> @@ -318,7 +318,7 @@ <string name="voice_hint" msgid="8939888732119726665">"Дауыс көмекшісін ашу үшін белгішеден әрі қарай сырғытыңыз"</string> <string name="camera_hint" msgid="7939688436797157483">"Камераны ашу үшін белгішеден әрі қарай сырғытыңыз"</string> <string name="interruption_level_none" msgid="6000083681244492992">"Толық тыныштық"</string> - <string name="interruption_level_priority" msgid="6426766465363855505">"Тек басымдық"</string> + <string name="interruption_level_priority" msgid="6426766465363855505">"Маңыздылары ғана"</string> <string name="interruption_level_alarms" msgid="5226306993448328896">"Тек дабылдар"</string> <string name="interruption_level_none_twoline" msgid="3957581548190765889">"Толық\nтыныштық"</string> <string name="interruption_level_priority_twoline" msgid="1564715335217164124">"Тек\nбасымдық"</string> @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Түпнұсқаны қалпына келтіру үшін түртіңіз."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Жұмыс профиліндесіз"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"Жүйе интерфейсінің тюнері"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Жылдам параметрлер"</string> <string name="add_tile" msgid="2995389510240786221">"Тақтайша қосу"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Трансляция тақтайшасы"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-km-rKH/strings.xml b/packages/SystemUI/res/values-km-rKH/strings.xml index e8bd57c..4ec1e4c 100644 --- a/packages/SystemUI/res/values-km-rKH/strings.xml +++ b/packages/SystemUI/res/values-km-rKH/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"ប៉ះដើម្បីស្តារច្បាប់ដើម។"</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"អ្នកកំពុងនៅក្នុងប្រវត្តិរូបការងារ"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"ឧបករណ៍ចាប់ SystemUI"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"ការកំណត់រហ័ស"</string> <string name="add_tile" msgid="2995389510240786221">"បន្ថែមក្រឡាល្អិត"</string> <string name="broadcast_tile" msgid="3894036511763289383">"ការផ្សាយជាក្រឡាល្អិត"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-kn-rIN/strings.xml b/packages/SystemUI/res/values-kn-rIN/strings.xml index 03028c9..0100b5d 100644 --- a/packages/SystemUI/res/values-kn-rIN/strings.xml +++ b/packages/SystemUI/res/values-kn-rIN/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"ಮೂಲ ಮರುಸ್ಥಾಪಿಸಲು ಸ್ಪರ್ಶಿಸಿ."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"ನೀವು ಕೆಲಸದ ಪ್ರೊಫೈಲ್ನಲ್ಲಿರುವಿರಿ"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"ಸಿಸ್ಟಮ್ UI ಟ್ಯೂನರ್"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"ತ್ವರಿತ ಸೆಟ್ಟಿಂಗ್ಗಳು"</string> <string name="add_tile" msgid="2995389510240786221">"ಟೈಲ್ ಸೇರಿಸಿ"</string> <string name="broadcast_tile" msgid="3894036511763289383">"ಟೈಲ್ ಅನ್ನು ಪ್ರಸಾರ ಮಾಡಿ"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-ko/strings.xml b/packages/SystemUI/res/values-ko/strings.xml index 4b526ee..87f0cbc 100644 --- a/packages/SystemUI/res/values-ko/strings.xml +++ b/packages/SystemUI/res/values-ko/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"원본을 복원하려면 터치하세요."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"현재 직장 프로필에 있음"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"시스템 UI 튜너"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"빠른 설정"</string> <string name="add_tile" msgid="2995389510240786221">"타일 추가"</string> <string name="broadcast_tile" msgid="3894036511763289383">"브로드캐스트 타일"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-ky-rKG/strings.xml b/packages/SystemUI/res/values-ky-rKG/strings.xml index 850ea2a..3e96674 100644 --- a/packages/SystemUI/res/values-ky-rKG/strings.xml +++ b/packages/SystemUI/res/values-ky-rKG/strings.xml @@ -422,7 +422,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Түпнусканы калыбына келтирүү үчүн тийип коюңуз."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Сиз Жумуш профилиндесиз"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"SystemUI tuner"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Ыкчам жөндөөлөр"</string> <string name="add_tile" msgid="2995389510240786221">"Тайл кошуу"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Тайлды жайылтуу"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-lo-rLA/strings.xml b/packages/SystemUI/res/values-lo-rLA/strings.xml index 45204e0..9509408 100644 --- a/packages/SystemUI/res/values-lo-rLA/strings.xml +++ b/packages/SystemUI/res/values-lo-rLA/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"ສໍາຜັດເພື່ອກູ້ຄືນຕົ້ນສະບັບ."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"ທ່ານຢູ່ໃນໂປຣໄຟລ໌ບ່ອນເຮັດວຽກ"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"ຕົວປັບ UI ລະບົບ"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"ການຕັ້ງຄ່າດ່ວນ"</string> <string name="add_tile" msgid="2995389510240786221">"ເພີ່ມລາຍຕາກະໂລ່"</string> <string name="broadcast_tile" msgid="3894036511763289383">"ເຜີຍແຜ່ລາຍຕາກະໂລ່"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-lt/strings.xml b/packages/SystemUI/res/values-lt/strings.xml index 8f0985d..f84ce33 100644 --- a/packages/SystemUI/res/values-lt/strings.xml +++ b/packages/SystemUI/res/values-lt/strings.xml @@ -399,7 +399,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Palieskite, kad atkurtumėte originalą."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Naudojate „Work“ profilį"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"Sistemos naudotojo sąsajos derinimo priemonė"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Spartieji nustatymai"</string> <string name="add_tile" msgid="2995389510240786221">"Pridėti išklotinės elementą"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Perduoti išklotinės elementą"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-lv/strings.xml b/packages/SystemUI/res/values-lv/strings.xml index 0c6a5e4..e49fa09 100644 --- a/packages/SystemUI/res/values-lv/strings.xml +++ b/packages/SystemUI/res/values-lv/strings.xml @@ -398,7 +398,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Pieskarieties, lai atjaunotu sākotnējo."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Jūs esat pierakstījies darba profilā."</string> <string name="system_ui_tuner" msgid="3442596010150119600">"Sistēmas saskarnes regulators"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Ātrie iestatījumi"</string> <string name="add_tile" msgid="2995389510240786221">"Pievienot elementu"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Apraides elements"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-mk-rMK/strings.xml b/packages/SystemUI/res/values-mk-rMK/strings.xml index 8c81b83..1d26e31 100644 --- a/packages/SystemUI/res/values-mk-rMK/strings.xml +++ b/packages/SystemUI/res/values-mk-rMK/strings.xml @@ -399,7 +399,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Допрете за да го вратите оригиналот."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Вие сте во работен профил"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"Дотерување на кориснички интерфејс"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Брзи поставки"</string> <string name="add_tile" msgid="2995389510240786221">"Додај плочка"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Емитувај плочка"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-ml-rIN/strings.xml b/packages/SystemUI/res/values-ml-rIN/strings.xml index 2ca8dd4..d3cef37 100644 --- a/packages/SystemUI/res/values-ml-rIN/strings.xml +++ b/packages/SystemUI/res/values-ml-rIN/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"ആദ്യത്തേത് പുനഃസ്ഥാപിക്കാൻ സ്പർശിക്കുക."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"നിങ്ങൾ ഔദ്യോഗിക പ്രൊഫൈലിൽ ആണ്"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"System UI ട്യൂണർ"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"ദ്രുത ക്രമീകരണം"</string> <string name="add_tile" msgid="2995389510240786221">"ടൈൽ ചേർക്കുക"</string> <string name="broadcast_tile" msgid="3894036511763289383">"പ്രക്ഷേപണ ടൈൽ"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-mn-rMN/strings.xml b/packages/SystemUI/res/values-mn-rMN/strings.xml index 21422f5..d266c6b 100644 --- a/packages/SystemUI/res/values-mn-rMN/strings.xml +++ b/packages/SystemUI/res/values-mn-rMN/strings.xml @@ -395,7 +395,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Анхны хувилбарыг эргүүлэн хадгалахыг хүсвэл хүрнэ үү."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Та Work профайлд байна"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"System UI tuner"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Түргэвчилсэн Tохиргоо"</string> <string name="add_tile" msgid="2995389510240786221">"Вэбсайтын цонх нэмэх"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Вэбсайтын цонх дамжуулах"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-mr-rIN/strings.xml b/packages/SystemUI/res/values-mr-rIN/strings.xml index d4051c6..d5e55ba 100644 --- a/packages/SystemUI/res/values-mr-rIN/strings.xml +++ b/packages/SystemUI/res/values-mr-rIN/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"मूळ पुनर्संचयित करण्यासाठी स्पर्श करा."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"आपण कार्य प्रोफाईल मध्ये आहात"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"सिस्टीम UI ट्यूनर"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"दृत सेटिंग्ज"</string> <string name="add_tile" msgid="2995389510240786221">"टाइल जोडा"</string> <string name="broadcast_tile" msgid="3894036511763289383">"प्रसारण टाइल"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-ms-rMY/strings.xml b/packages/SystemUI/res/values-ms-rMY/strings.xml index e11e17e..3e93aa6 100644 --- a/packages/SystemUI/res/values-ms-rMY/strings.xml +++ b/packages/SystemUI/res/values-ms-rMY/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Sentuh untuk memulihkan yang asal."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Anda berada dalam profil Kerja"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"Penala Sistem UI"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Tetapan Pantas"</string> <string name="add_tile" msgid="2995389510240786221">"Tambahkan jubin"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Jubin Siaran"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-my-rMM/strings.xml b/packages/SystemUI/res/values-my-rMM/strings.xml index 8267376..b6a63ed 100644 --- a/packages/SystemUI/res/values-my-rMM/strings.xml +++ b/packages/SystemUI/res/values-my-rMM/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"မူရင်းအားပြန်လည်သိမ်းဆည်းရန် ထိပါ။"</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"သင်သည် အလုပ်ပရိုဖိုင်တွင် ဖြစ်သည်"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"System UI tuner"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"အမြန် ဆက်တင်များ"</string> <string name="add_tile" msgid="2995389510240786221">"လေးထောင့်ကွက် ထည့်ရန်"</string> <string name="broadcast_tile" msgid="3894036511763289383">"လေးထောင့်ကွက် ထုတ်လွှင့်ရန်"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-nb/strings.xml b/packages/SystemUI/res/values-nb/strings.xml index 4293938..1351e17 100644 --- a/packages/SystemUI/res/values-nb/strings.xml +++ b/packages/SystemUI/res/values-nb/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Trykk for å gå tilbake til den opprinnelige volumdialogen."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Du er i Work-profilen"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"SystemUI Tuner"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Hurtiginnstillinger"</string> <string name="add_tile" msgid="2995389510240786221">"Legg til felt"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Publiser feltet"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-ne-rNP/strings.xml b/packages/SystemUI/res/values-ne-rNP/strings.xml index 84cce48..2cfeedc 100644 --- a/packages/SystemUI/res/values-ne-rNP/strings.xml +++ b/packages/SystemUI/res/values-ne-rNP/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"मूल पुनर्स्थापना गर्न छुनुहोस्।"</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"तपाईँ कार्य प्रोफाइलमा हुनुहुन्छ"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"प्रणाली UI ट्युनर"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"द्रुत सेटिङहरू"</string> <string name="add_tile" msgid="2995389510240786221">"टाइल थप्नुहोस्"</string> <string name="broadcast_tile" msgid="3894036511763289383">"प्रसारण टाइल"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-nl/strings.xml b/packages/SystemUI/res/values-nl/strings.xml index 3c79378..f1b71b9 100644 --- a/packages/SystemUI/res/values-nl/strings.xml +++ b/packages/SystemUI/res/values-nl/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Tik hierop om het origineel te herstellen."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"U bevindt zich in het werkprofiel"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"Systeem-UI-tuner"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Snelle instellingen"</string> <string name="add_tile" msgid="2995389510240786221">"Tegel toevoegen"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Tegel \'Uitzenden\'"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-pa-rIN/strings.xml b/packages/SystemUI/res/values-pa-rIN/strings.xml index 9fed2ce..e2527f6 100644 --- a/packages/SystemUI/res/values-pa-rIN/strings.xml +++ b/packages/SystemUI/res/values-pa-rIN/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"ਅਸਲੀ ਨੂੰ ਰੀਸਟੋਰ ਕਰਨ ਲਈ ਛੋਹਵੋ।"</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"ਤੁਸੀਂ ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ ਵਿੱਚ ਹੋ"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"SystemUI ਟਿਊਨਰ"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"ਤਤਕਾਲ ਸੈੱਟਿੰਗਜ਼"</string> <string name="add_tile" msgid="2995389510240786221">"ਟਾਇਲ ਜੋੜੋ"</string> <string name="broadcast_tile" msgid="3894036511763289383">"ਪ੍ਰਸਾਰਨ ਟਾਇਲ"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-pl/strings.xml b/packages/SystemUI/res/values-pl/strings.xml index 2eddf6f..d09aee9 100644 --- a/packages/SystemUI/res/values-pl/strings.xml +++ b/packages/SystemUI/res/values-pl/strings.xml @@ -399,7 +399,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Dotknij, by przywrócić pierwotną."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Korzystasz z profilu do pracy"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"Kalibrator System UI"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Szybkie ustawienia"</string> <string name="add_tile" msgid="2995389510240786221">"Dodaj nazwę"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Rozgłaszana nazwa"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-pt-rPT/strings.xml b/packages/SystemUI/res/values-pt-rPT/strings.xml index 111a593..6918d90 100644 --- a/packages/SystemUI/res/values-pt-rPT/strings.xml +++ b/packages/SystemUI/res/values-pt-rPT/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Toque para restaurar o original."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Está no Perfil de trabalho"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"Sintonizador da IU do sistema"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Definições rápidas"</string> <string name="add_tile" msgid="2995389510240786221">"Adicionar mosaico"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Mosaico de transmissão"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-pt/strings.xml b/packages/SystemUI/res/values-pt/strings.xml index 4a001a2..04705c1 100644 --- a/packages/SystemUI/res/values-pt/strings.xml +++ b/packages/SystemUI/res/values-pt/strings.xml @@ -399,7 +399,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Toque para restaurar o original."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Você está no Perfil de trabalho"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"Sintonizador System UI"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Configurações rápidas"</string> <string name="add_tile" msgid="2995389510240786221">"Adicionar bloco"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Transmitir bloco"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-ro/strings.xml b/packages/SystemUI/res/values-ro/strings.xml index 7a27346..6f58bb5 100644 --- a/packages/SystemUI/res/values-ro/strings.xml +++ b/packages/SystemUI/res/values-ro/strings.xml @@ -398,7 +398,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Atingeți pentru a reveni la setarea inițială."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Vă aflați în profilul de serviciu"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"System UI tuner"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Setări rapide"</string> <string name="add_tile" msgid="2995389510240786221">"Adăugați o casetă"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Caseta mesajului difuzat"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-ru/strings.xml b/packages/SystemUI/res/values-ru/strings.xml index 2a1d311..05f78c3 100644 --- a/packages/SystemUI/res/values-ru/strings.xml +++ b/packages/SystemUI/res/values-ru/strings.xml @@ -401,7 +401,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Нажмите, чтобы восстановить приложение по умолчанию."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Вы вошли в профиль Android for Work"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"SystemUI Tuner"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Быстрые настройки"</string> <string name="add_tile" msgid="2995389510240786221">"Добавить кнопку быстрого доступа"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Кнопка трансляции"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-si-rLK/strings.xml b/packages/SystemUI/res/values-si-rLK/strings.xml index 03896e7..f94f9da 100644 --- a/packages/SystemUI/res/values-si-rLK/strings.xml +++ b/packages/SystemUI/res/values-si-rLK/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"මුල් තත්ත්වය නැවත ප්රතිසාධනය කිරීමට ස්පර්ශ කරන්න."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"ඔබ කාර්යාල පැතිකඩේ සිටියි"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"පද්ධති UI Tuner"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"ඉක්මන් සැකසීම්"</string> <string name="add_tile" msgid="2995389510240786221">"ටයිල් එක් කරන්න"</string> <string name="broadcast_tile" msgid="3894036511763289383">"විකාශන ටයිල්"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-sk/strings.xml b/packages/SystemUI/res/values-sk/strings.xml index 5ea4e9c..34d0cdc 100644 --- a/packages/SystemUI/res/values-sk/strings.xml +++ b/packages/SystemUI/res/values-sk/strings.xml @@ -401,7 +401,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Klepnutím obnovíte originál."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Nachádzate sa v pracovnom profile"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"Tuner používateľského rozhrania systému"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Rýchle nastavenia"</string> <string name="add_tile" msgid="2995389510240786221">"Pridať dlaždicu"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Dlaždica Vysielanie"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-sl/strings.xml b/packages/SystemUI/res/values-sl/strings.xml index 976451f..9baf723 100644 --- a/packages/SystemUI/res/values-sl/strings.xml +++ b/packages/SystemUI/res/values-sl/strings.xml @@ -399,7 +399,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Dotaknite se, če želite obnoviti izvirnik."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Ste v profilu za Android Work"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"Uglaševalnik uporabniškega vmesnika sistema"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Hitre nastavitve"</string> <string name="add_tile" msgid="2995389510240786221">"Dodajanje ploščice"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Ploščica za oddajanje"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-sq-rAL/strings.xml b/packages/SystemUI/res/values-sq-rAL/strings.xml index 87503ac..5470e80 100644 --- a/packages/SystemUI/res/values-sq-rAL/strings.xml +++ b/packages/SystemUI/res/values-sq-rAL/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Prek për të restauruar origjinalin."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Ndodhesh në profilin e Punës"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"Sintonizuesi SystemUI"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Cilësimet e shpejta"</string> <string name="add_tile" msgid="2995389510240786221">"Shto një pllakëz"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Pllakëza e transmetimit"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-sr/strings.xml b/packages/SystemUI/res/values-sr/strings.xml index 697fc73..216c3d3 100644 --- a/packages/SystemUI/res/values-sr/strings.xml +++ b/packages/SystemUI/res/values-sr/strings.xml @@ -398,7 +398,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Додирните да бисте вратили оригинал."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Налазите се на профилу за Work"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"Тјунер за кориснички интерфејс система"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Брза подешавања"</string> <string name="add_tile" msgid="2995389510240786221">"Додај плочицу"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Плочица за емитовање"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-sv/strings.xml b/packages/SystemUI/res/values-sv/strings.xml index 7034f5e..ae1d953 100644 --- a/packages/SystemUI/res/values-sv/strings.xml +++ b/packages/SystemUI/res/values-sv/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Tryck här om du vill återställa den ursprungliga appen."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Du använder Work-profilen"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"Inställningar för systemgränssnitt"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Snabbinställningar"</string> <string name="add_tile" msgid="2995389510240786221">"Lägg till en ruta"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Skicka ruta"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-sw/strings.xml b/packages/SystemUI/res/values-sw/strings.xml index 25384c2..5757ba1 100644 --- a/packages/SystemUI/res/values-sw/strings.xml +++ b/packages/SystemUI/res/values-sw/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Gusa ili urejeshe ya awali."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Uko katika wasifu wa Kazi"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"Kipokea ishara cha SystemUI"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Mipangilio ya Haraka"</string> <string name="add_tile" msgid="2995389510240786221">"Ongeza kigae"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Kigae cha Tangazo"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-ta-rIN/strings.xml b/packages/SystemUI/res/values-ta-rIN/strings.xml index 900b495..e145175 100644 --- a/packages/SystemUI/res/values-ta-rIN/strings.xml +++ b/packages/SystemUI/res/values-ta-rIN/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"அசலை மீட்டமைக்கத் தொடவும்."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"பணி சுயவிவரத்தில் இருக்கிறீர்கள்"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"System UI ட்யூனர்"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"உடனடி அமைப்புகள்"</string> <string name="add_tile" msgid="2995389510240786221">"டைலைச் சேர்க்கும்"</string> <string name="broadcast_tile" msgid="3894036511763289383">"வலைபரப்பு டைல்"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-te-rIN/strings.xml b/packages/SystemUI/res/values-te-rIN/strings.xml index e00000f..9d17cb3 100644 --- a/packages/SystemUI/res/values-te-rIN/strings.xml +++ b/packages/SystemUI/res/values-te-rIN/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"అసలుదాన్ని పునరుద్ధరించడానికి తాకండి."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"మీరు కార్యాలయ ప్రొఫైల్లో ఉన్నారు"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"సిస్టమ్ UI ట్యూనర్"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"శీఘ్ర సెట్టింగ్లు"</string> <string name="add_tile" msgid="2995389510240786221">"టైల్ను జోడించండి"</string> <string name="broadcast_tile" msgid="3894036511763289383">"ప్రసార టైల్"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-th/strings.xml b/packages/SystemUI/res/values-th/strings.xml index 59b2fb6..9651b5f 100644 --- a/packages/SystemUI/res/values-th/strings.xml +++ b/packages/SystemUI/res/values-th/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"แตะเพื่อคืนค่าดั้งเดิม"</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"คุณกำลังอยู่ในโปรไฟล์งาน"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"ตัวปรับ UI ระบบ"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"การตั้งค่าด่วน"</string> <string name="add_tile" msgid="2995389510240786221">"เพิ่มไทล์"</string> <string name="broadcast_tile" msgid="3894036511763289383">"ไทล์การออกอากาศ"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-tl/strings.xml b/packages/SystemUI/res/values-tl/strings.xml index 77710ec..9fee4da 100644 --- a/packages/SystemUI/res/values-tl/strings.xml +++ b/packages/SystemUI/res/values-tl/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Pindutin upang ibalik ang orihinal."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Nandito ka sa profile sa Trabaho"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"Tuner ng System UI"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Mga Maikling Setting"</string> <string name="add_tile" msgid="2995389510240786221">"Magdagdag ng tile"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Broadcast na Tile"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-tr/strings.xml b/packages/SystemUI/res/values-tr/strings.xml index 26dbd56..0fd860d 100644 --- a/packages/SystemUI/res/values-tr/strings.xml +++ b/packages/SystemUI/res/values-tr/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Orijinali geri yüklemek için dokunun."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"İş profilindesiniz"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"Sistem Arayüzü ayarlayıcısı"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Hızlı Ayarlar"</string> <string name="add_tile" msgid="2995389510240786221">"Blok ekle"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Yayın Bloku"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-uk/strings.xml b/packages/SystemUI/res/values-uk/strings.xml index dbafd7f..af1ca32 100644 --- a/packages/SystemUI/res/values-uk/strings.xml +++ b/packages/SystemUI/res/values-uk/strings.xml @@ -399,7 +399,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Торкніться, щоб відновити оригінал."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Ви в робочому профілі"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"Тюнер System UI"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Швидкі налаштування"</string> <string name="add_tile" msgid="2995389510240786221">"Додавання опції"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Опція трансляції"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-ur-rPK/strings.xml b/packages/SystemUI/res/values-ur-rPK/strings.xml index 488d411..99c49e0 100644 --- a/packages/SystemUI/res/values-ur-rPK/strings.xml +++ b/packages/SystemUI/res/values-ur-rPK/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"اصل کو بحال کرنے کیلئے ٹچ کریں۔"</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"آپ دفتری پروفائل میں ہیں"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"سسٹم UI ٹیونر"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"فوری ترتیبات"</string> <string name="add_tile" msgid="2995389510240786221">"ٹائل شامل کریں"</string> <string name="broadcast_tile" msgid="3894036511763289383">"ٹائل براڈکاسٹ کریں"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-uz-rUZ/strings.xml b/packages/SystemUI/res/values-uz-rUZ/strings.xml index 4fae8f1..b1d633e 100644 --- a/packages/SystemUI/res/values-uz-rUZ/strings.xml +++ b/packages/SystemUI/res/values-uz-rUZ/strings.xml @@ -87,7 +87,7 @@ <string name="accessibility_unlock_button" msgid="128158454631118828">"Qulfdan chiqarish"</string> <string name="unlock_label" msgid="8779712358041029439">"qulfdan chiqarish"</string> <string name="phone_label" msgid="2320074140205331708">"telefonni ochish"</string> - <string name="voice_assist_label" msgid="3956854378310019854">"ovozli yordamni ochish"</string> + <string name="voice_assist_label" msgid="3956854378310019854">"ovozli yordamni yoqish"</string> <string name="camera_label" msgid="7261107956054836961">"kamerani ochish"</string> <string name="recents_caption_resize" msgid="3517056471774958200">"Yangi vazifa tartibini tanlash"</string> <string name="cancel" msgid="6442560571259935130">"Bekor qilish"</string> @@ -315,7 +315,7 @@ <string name="notification_tap_again" msgid="8524949573675922138">"Ochish uchun yana bosing"</string> <string name="keyguard_unlock" msgid="8043466894212841998">"Qulfdan chiqarish uchun tepaga suring"</string> <string name="phone_hint" msgid="4872890986869209950">"Telefon: ekranni ikonkadan boshlab istalgan tomonga suring"</string> - <string name="voice_hint" msgid="8939888732119726665">"Ovozli yordam: ikonkadan boshlab istalgan tomonga suring"</string> + <string name="voice_hint" msgid="8939888732119726665">"Ovozli yordam: belgidan boshlab suring"</string> <string name="camera_hint" msgid="7939688436797157483">"Kamera: ekranni ikonkadan boshlab istalgan tomonga suring"</string> <string name="interruption_level_none" msgid="6000083681244492992">"Tinchlik saqlansin"</string> <string name="interruption_level_priority" msgid="6426766465363855505">"Faqat muhimlari"</string> @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Aslini tiklash uchun bosing."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Siz Android for Work profiliga kirgansiz"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"SystemUI Tuner"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Tezkor sozlamalar"</string> <string name="add_tile" msgid="2995389510240786221">"Tezkor sozlamalar tugmasini qo‘shish"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Translatsiya tugmasi"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-vi/strings.xml b/packages/SystemUI/res/values-vi/strings.xml index 4dfcac3..cbb7f65 100644 --- a/packages/SystemUI/res/values-vi/strings.xml +++ b/packages/SystemUI/res/values-vi/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Chạm để khôi phục bản gốc."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Bạn đang trên hồ sơ công việc"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"Bộ điều hướng giao diện người dùng hệ thống"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Cài đặt nhanh"</string> <string name="add_tile" msgid="2995389510240786221">"Thêm ô"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Ô chương trình phát"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-zh-rCN/strings.xml b/packages/SystemUI/res/values-zh-rCN/strings.xml index 0876ff9..72d81e2 100644 --- a/packages/SystemUI/res/values-zh-rCN/strings.xml +++ b/packages/SystemUI/res/values-zh-rCN/strings.xml @@ -399,7 +399,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"触摸即可恢复原始设置。"</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"您正在使用工作资料"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"系统界面调谐器"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"快速设置"</string> <string name="add_tile" msgid="2995389510240786221">"添加图块"</string> <string name="broadcast_tile" msgid="3894036511763289383">"播送图块"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-zh-rHK/strings.xml b/packages/SystemUI/res/values-zh-rHK/strings.xml index 50c0b5b..708dca5 100644 --- a/packages/SystemUI/res/values-zh-rHK/strings.xml +++ b/packages/SystemUI/res/values-zh-rHK/strings.xml @@ -399,7 +399,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"輕觸即可復原。"</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"您正在「工作設定檔」頁面"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"系統使用者介面調諧器"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"快速設定"</string> <string name="add_tile" msgid="2995389510240786221">"加入圖塊"</string> <string name="broadcast_tile" msgid="3894036511763289383">"廣播圖塊"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-zh-rTW/strings.xml b/packages/SystemUI/res/values-zh-rTW/strings.xml index 8fcbe16..5e7a95d 100644 --- a/packages/SystemUI/res/values-zh-rTW/strings.xml +++ b/packages/SystemUI/res/values-zh-rTW/strings.xml @@ -240,7 +240,7 @@ <string name="start_dreams" msgid="7219575858348719790">"休眠模式"</string> <string name="ethernet_label" msgid="7967563676324087464">"乙太網路"</string> <string name="quick_settings_dnd_label" msgid="8735855737575028208">"零打擾"</string> - <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"僅顯示優先通知"</string> + <string name="quick_settings_dnd_priority_label" msgid="483232950670692036">"僅限優先通知"</string> <string name="quick_settings_dnd_alarms_label" msgid="2559229444312445858">"僅允許鬧鐘"</string> <string name="quick_settings_dnd_none_label" msgid="5025477807123029478">"完全靜音"</string> <string name="quick_settings_bluetooth_label" msgid="6304190285170721401">"藍牙"</string> @@ -320,7 +320,7 @@ <string name="voice_hint" msgid="8939888732119726665">"滑動語音小幫手圖示即可啟用"</string> <string name="camera_hint" msgid="7939688436797157483">"滑動相機圖示即可啟用"</string> <string name="interruption_level_none" msgid="6000083681244492992">"完全靜音"</string> - <string name="interruption_level_priority" msgid="6426766465363855505">"僅顯示優先通知"</string> + <string name="interruption_level_priority" msgid="6426766465363855505">"僅限優先通知"</string> <string name="interruption_level_alarms" msgid="5226306993448328896">"僅允許鬧鐘"</string> <string name="interruption_level_none_twoline" msgid="3957581548190765889">"完全\n靜音"</string> <string name="interruption_level_priority_twoline" msgid="1564715335217164124">"僅允許\n優先通知"</string> @@ -399,7 +399,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"輕觸這裡即可恢復原始設定。"</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"您目前在 Work 設定檔"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"系統使用者介面調整精靈"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"快速設定"</string> <string name="add_tile" msgid="2995389510240786221">"新增圖塊"</string> <string name="broadcast_tile" msgid="3894036511763289383">"播送圖塊"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values-zu/strings.xml b/packages/SystemUI/res/values-zu/strings.xml index 4325b17..20d1ae5 100644 --- a/packages/SystemUI/res/values-zu/strings.xml +++ b/packages/SystemUI/res/values-zu/strings.xml @@ -397,7 +397,19 @@ <string name="volumeui_notification_text" msgid="1826889705095768656">"Thinta ukuze ubuyisele kokwangempela."</string> <string name="managed_profile_foreground_toast" msgid="3199278359979281097">"Ukuphrofayela yomsebenzi"</string> <string name="system_ui_tuner" msgid="3442596010150119600">"Isishuni se-UI yesistimu"</string> + <!-- no translation found for show_battery_percentage (5444136600512968798) --> + <skip /> + <!-- no translation found for show_battery_percentage_summary (3215025775576786037) --> + <skip /> <string name="quick_settings" msgid="10042998191725428">"Izilungiselelo ezisheshayo"</string> <string name="add_tile" msgid="2995389510240786221">"Engeza ithayili"</string> <string name="broadcast_tile" msgid="3894036511763289383">"Sakaza ithayili"</string> + <!-- no translation found for zen_alarm_warning_indef (3482966345578319605) --> + <skip /> + <!-- no translation found for zen_alarm_warning (444533119582244293) --> + <skip /> + <!-- no translation found for alarm_template (3980063409350522735) --> + <skip /> + <!-- no translation found for alarm_template_far (4242179982586714810) --> + <skip /> </resources> diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml index 139462d..de5639b 100644 --- a/packages/SystemUI/res/values/config.xml +++ b/packages/SystemUI/res/values/config.xml @@ -141,7 +141,7 @@ <bool name="config_show4GForLTE">true</bool> <!-- milliseconds before the heads up notification auto-dismisses. --> - <integer name="heads_up_notification_decay">10000</integer> + <integer name="heads_up_notification_decay">5000</integer> <!-- milliseconds after a heads up notification is pushed back before the app can interrupt again. --> diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml index 62e0f3d..18a19cb 100644 --- a/packages/SystemUI/res/values/dimens.xml +++ b/packages/SystemUI/res/values/dimens.xml @@ -307,7 +307,7 @@ <dimen name="unlock_falsing_threshold">80dp</dimen> <!-- Lockscreen falsing threshold for quick settings. --> - <dimen name="qs_falsing_threshold">40dp</dimen> + <dimen name="qs_falsing_threshold">60dp</dimen> <!-- Falsing threshold used when dismissing notifications from the lockscreen. --> <dimen name="swipe_helper_falsing_threshold">70dp</dimen> diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml index f1bbb0d..d96ed96 100644 --- a/packages/SystemUI/res/values/strings.xml +++ b/packages/SystemUI/res/values/strings.xml @@ -1025,6 +1025,12 @@ <!-- Name of special SystemUI debug settings --> <string name="system_ui_tuner">System UI tuner</string> + <!-- Preference to show/hide embedded battery percentage [CHAR LIMIT=50] --> + <string name="show_battery_percentage">Show embedded battery percentage</string> + + <!-- Summary for battery percentage preference [CHAR LIMIT=NONE] --> + <string name="show_battery_percentage_summary">Show battery level percentage inside the status bar icon when not charging</string> + <!-- Name of quick settings --> <string name="quick_settings">Quick Settings</string> @@ -1038,4 +1044,17 @@ <string name="regrettable_lack_of_easter_egg"> ¯\\_(ツ)_/¯ </string> + + <!-- Warning text when an alarm might be silenced by Do Not Disturb [CHAR LIMIT=NONE] --> + <string name="zen_alarm_warning_indef">You won\'t hear your next alarm <xliff:g id="when" example="at 7:00 AM">%1$s</xliff:g> unless you turn this off before then</string> + + <!-- Warning text when an alarm might be silenced by Do Not Disturb due to a time-based condition [CHAR LIMIT=NONE] --> + <string name="zen_alarm_warning">You won\'t hear your next alarm <xliff:g id="when" example="at 7:00 AM">%1$s</xliff:g></string> + + <!-- Alarm template for near alarms [CHAR LIMIT=25] --> + <string name="alarm_template">at <xliff:g id="when" example="7:00 AM">%1$s</xliff:g></string> + + <!-- Alarm template for far alarms [CHAR LIMIT=25] --> + <string name="alarm_template_far">on <xliff:g id="when" example="Fri 7:00 AM">%1$s</xliff:g></string> + </resources> diff --git a/packages/SystemUI/res/values/styles.xml b/packages/SystemUI/res/values/styles.xml index 6709095..bda39b1 100644 --- a/packages/SystemUI/res/values/styles.xml +++ b/packages/SystemUI/res/values/styles.xml @@ -142,6 +142,11 @@ <item name="android:textSize">14sp</item> </style> + <style name="TextAppearance.QS.Warning"> + <item name="android:textSize">14sp</item> + <item name="android:textColor">@color/system_warning_color</item> + </style> + <style name="TextAppearance.QS.DetailButton"> <item name="android:textSize">@dimen/qs_detail_button_text_size</item> <item name="android:textColor">@color/qs_detail_button</item> diff --git a/packages/SystemUI/res/xml/tuner_prefs.xml b/packages/SystemUI/res/xml/tuner_prefs.xml index deb3f4f..135cc82 100644 --- a/packages/SystemUI/res/xml/tuner_prefs.xml +++ b/packages/SystemUI/res/xml/tuner_prefs.xml @@ -17,10 +17,14 @@ <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" android:title="@string/system_ui_tuner"> - <!-- Tuner prefs go here --> - <Preference android:key="qs_tuner" android:title="@string/quick_settings" /> + <SwitchPreference + android:key="battery_pct" + android:title="@string/show_battery_percentage" + android:summary="@string/show_battery_percentage_summary" + android:persistent="false" /> + </PreferenceScreen> diff --git a/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java b/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java index 0d331d1..95b58e5 100755 --- a/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java +++ b/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java @@ -23,16 +23,17 @@ import android.content.Intent; import android.content.IntentFilter; import android.content.res.Resources; import android.content.res.TypedArray; +import android.database.ContentObserver; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.graphics.Path; -import android.graphics.PorterDuff; -import android.graphics.PorterDuffColorFilter; import android.graphics.RectF; import android.graphics.Typeface; +import android.net.Uri; import android.os.BatteryManager; import android.os.Bundle; +import android.os.Handler; import android.provider.Settings; import android.util.AttributeSet; import android.view.View; @@ -43,10 +44,9 @@ public class BatteryMeterView extends View implements DemoMode, BatteryController.BatteryStateChangeCallback { public static final String TAG = BatteryMeterView.class.getSimpleName(); public static final String ACTION_LEVEL_TEST = "com.android.systemui.BATTERY_LEVEL_TEST"; + public static final String SHOW_PERCENT_SETTING = "status_bar_show_battery_percent"; - private static final boolean ENABLE_PERCENT = true; private static final boolean SINGLE_DIGIT_PERCENT = false; - private static final boolean SHOW_100_PERCENT = false; private static final int FULL = 96; @@ -54,7 +54,7 @@ public class BatteryMeterView extends View implements DemoMode, private final int[] mColors; - boolean mShowPercent = true; + private boolean mShowPercent; private float mButtonHeightFraction; private float mSubpixelSmoothingLeft; private float mSubpixelSmoothingRight; @@ -87,103 +87,8 @@ public class BatteryMeterView extends View implements DemoMode, private int mLightModeBackgroundColor; private int mLightModeFillColor; - private class BatteryTracker extends BroadcastReceiver { - public static final int UNKNOWN_LEVEL = -1; - - // current battery status - int level = UNKNOWN_LEVEL; - String percentStr; - int plugType; - boolean plugged; - int health; - int status; - String technology; - int voltage; - int temperature; - boolean testmode = false; - - @Override - public void onReceive(Context context, Intent intent) { - final String action = intent.getAction(); - if (action.equals(Intent.ACTION_BATTERY_CHANGED)) { - if (testmode && ! intent.getBooleanExtra("testmode", false)) return; - - level = (int)(100f - * intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0) - / intent.getIntExtra(BatteryManager.EXTRA_SCALE, 100)); - - plugType = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, 0); - plugged = plugType != 0; - health = intent.getIntExtra(BatteryManager.EXTRA_HEALTH, - BatteryManager.BATTERY_HEALTH_UNKNOWN); - status = intent.getIntExtra(BatteryManager.EXTRA_STATUS, - BatteryManager.BATTERY_STATUS_UNKNOWN); - technology = intent.getStringExtra(BatteryManager.EXTRA_TECHNOLOGY); - voltage = intent.getIntExtra(BatteryManager.EXTRA_VOLTAGE, 0); - temperature = intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE, 0); - - setContentDescription( - context.getString(R.string.accessibility_battery_level, level)); - postInvalidate(); - } else if (action.equals(ACTION_LEVEL_TEST)) { - testmode = true; - post(new Runnable() { - int curLevel = 0; - int incr = 1; - int saveLevel = level; - int savePlugged = plugType; - Intent dummy = new Intent(Intent.ACTION_BATTERY_CHANGED); - @Override - public void run() { - if (curLevel < 0) { - testmode = false; - dummy.putExtra("level", saveLevel); - dummy.putExtra("plugged", savePlugged); - dummy.putExtra("testmode", false); - } else { - dummy.putExtra("level", curLevel); - dummy.putExtra("plugged", incr > 0 ? BatteryManager.BATTERY_PLUGGED_AC : 0); - dummy.putExtra("testmode", true); - } - getContext().sendBroadcast(dummy); - - if (!testmode) return; - - curLevel += incr; - if (curLevel == 100) { - incr *= -1; - } - postDelayed(this, 200); - } - }); - } - } - } - - BatteryTracker mTracker = new BatteryTracker(); - - @Override - public void onAttachedToWindow() { - super.onAttachedToWindow(); - - IntentFilter filter = new IntentFilter(); - filter.addAction(Intent.ACTION_BATTERY_CHANGED); - filter.addAction(ACTION_LEVEL_TEST); - final Intent sticky = getContext().registerReceiver(mTracker, filter); - if (sticky != null) { - // preload the battery level - mTracker.onReceive(getContext(), sticky); - } - mBatteryController.addStateChangedCallback(this); - } - - @Override - public void onDetachedFromWindow() { - super.onDetachedFromWindow(); - - getContext().unregisterReceiver(mTracker); - mBatteryController.removeStateChangedCallback(this); - } + private BatteryTracker mTracker = new BatteryTracker(); + private final SettingObserver mSettingObserver = new SettingObserver(); public BatteryMeterView(Context context) { this(context, null, 0); @@ -213,8 +118,7 @@ public class BatteryMeterView extends View implements DemoMode, levels.recycle(); colors.recycle(); atts.recycle(); - mShowPercent = ENABLE_PERCENT && 0 != Settings.System.getInt( - context.getContentResolver(), "status_bar_show_battery_percent", 0); + updateShowPercent(); mWarningString = context.getString(R.string.battery_meter_very_low_overlay_symbol); mCriticalLevel = mContext.getResources().getInteger( com.android.internal.R.integer.config_criticalBatteryWarningLevel); @@ -261,6 +165,32 @@ public class BatteryMeterView extends View implements DemoMode, mLightModeFillColor = context.getColor(R.color.light_mode_icon_color_dual_tone_fill); } + @Override + public void onAttachedToWindow() { + super.onAttachedToWindow(); + + IntentFilter filter = new IntentFilter(); + filter.addAction(Intent.ACTION_BATTERY_CHANGED); + filter.addAction(ACTION_LEVEL_TEST); + final Intent sticky = getContext().registerReceiver(mTracker, filter); + if (sticky != null) { + // preload the battery level + mTracker.onReceive(getContext(), sticky); + } + mBatteryController.addStateChangedCallback(this); + getContext().getContentResolver().registerContentObserver( + Settings.System.getUriFor(SHOW_PERCENT_SETTING), false, mSettingObserver); + } + + @Override + public void onDetachedFromWindow() { + super.onDetachedFromWindow(); + + getContext().unregisterReceiver(mTracker); + mBatteryController.removeStateChangedCallback(this); + getContext().getContentResolver().unregisterContentObserver(mSettingObserver); + } + public void setBatteryController(BatteryController batteryController) { mBatteryController = batteryController; mPowerSaveEnabled = mBatteryController.isPowerSave(); @@ -300,6 +230,11 @@ public class BatteryMeterView extends View implements DemoMode, mWarningTextHeight = -mWarningTextPaint.getFontMetrics().ascent; } + private void updateShowPercent() { + mShowPercent = 0 != Settings.System.getInt(getContext().getContentResolver(), + SHOW_PERCENT_SETTING, 0); + } + private int getColorForLevel(int percent) { // If we are in power save mode, always use the normal color. @@ -447,8 +382,7 @@ public class BatteryMeterView extends View implements DemoMode, boolean pctOpaque = false; float pctX = 0, pctY = 0; String pctText = null; - if (!tracker.plugged && level > mCriticalLevel && mShowPercent - && !(tracker.level == 100 && !SHOW_100_PERCENT)) { + if (!tracker.plugged && level > mCriticalLevel && mShowPercent) { mTextPaint.setColor(getColorForLevel(level)); mTextPaint.setTextSize(height * (SINGLE_DIGIT_PERCENT ? 0.75f @@ -518,4 +452,92 @@ public class BatteryMeterView extends View implements DemoMode, postInvalidate(); } } + + private final class BatteryTracker extends BroadcastReceiver { + public static final int UNKNOWN_LEVEL = -1; + + // current battery status + int level = UNKNOWN_LEVEL; + String percentStr; + int plugType; + boolean plugged; + int health; + int status; + String technology; + int voltage; + int temperature; + boolean testmode = false; + + @Override + public void onReceive(Context context, Intent intent) { + final String action = intent.getAction(); + if (action.equals(Intent.ACTION_BATTERY_CHANGED)) { + if (testmode && ! intent.getBooleanExtra("testmode", false)) return; + + level = (int)(100f + * intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0) + / intent.getIntExtra(BatteryManager.EXTRA_SCALE, 100)); + + plugType = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, 0); + plugged = plugType != 0; + health = intent.getIntExtra(BatteryManager.EXTRA_HEALTH, + BatteryManager.BATTERY_HEALTH_UNKNOWN); + status = intent.getIntExtra(BatteryManager.EXTRA_STATUS, + BatteryManager.BATTERY_STATUS_UNKNOWN); + technology = intent.getStringExtra(BatteryManager.EXTRA_TECHNOLOGY); + voltage = intent.getIntExtra(BatteryManager.EXTRA_VOLTAGE, 0); + temperature = intent.getIntExtra(BatteryManager.EXTRA_TEMPERATURE, 0); + + setContentDescription( + context.getString(R.string.accessibility_battery_level, level)); + postInvalidate(); + } else if (action.equals(ACTION_LEVEL_TEST)) { + testmode = true; + post(new Runnable() { + int curLevel = 0; + int incr = 1; + int saveLevel = level; + int savePlugged = plugType; + Intent dummy = new Intent(Intent.ACTION_BATTERY_CHANGED); + @Override + public void run() { + if (curLevel < 0) { + testmode = false; + dummy.putExtra("level", saveLevel); + dummy.putExtra("plugged", savePlugged); + dummy.putExtra("testmode", false); + } else { + dummy.putExtra("level", curLevel); + dummy.putExtra("plugged", incr > 0 ? BatteryManager.BATTERY_PLUGGED_AC + : 0); + dummy.putExtra("testmode", true); + } + getContext().sendBroadcast(dummy); + + if (!testmode) return; + + curLevel += incr; + if (curLevel == 100) { + incr *= -1; + } + postDelayed(this, 200); + } + }); + } + } + } + + private final class SettingObserver extends ContentObserver { + public SettingObserver() { + super(new Handler()); + } + + @Override + public void onChange(boolean selfChange, Uri uri) { + super.onChange(selfChange, uri); + updateShowPercent(); + postInvalidate(); + } + } + } diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardService.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardService.java index 73fa2ed..98558b4 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardService.java +++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardService.java @@ -108,15 +108,21 @@ public class KeyguardService extends Service { } @Override // Binder interface - public void onScreenTurnedOff(int reason) { + public void onStartedGoingToSleep(int reason) { checkPermission(); - mKeyguardViewMediator.onScreenTurnedOff(reason); + mKeyguardViewMediator.onStartedGoingToSleep(reason); } @Override // Binder interface - public void onScreenTurnedOn(IKeyguardShowCallback callback) { + public void onFinishedGoingToSleep(int reason) { checkPermission(); - mKeyguardViewMediator.onScreenTurnedOn(callback); + mKeyguardViewMediator.onFinishedGoingToSleep(reason); + } + + @Override // Binder interface + public void onStartedWakingUp(IKeyguardShowCallback callback) { + checkPermission(); + mKeyguardViewMediator.onStartedWakingUp(callback); } @Override // Binder interface diff --git a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java index 74962ec..bc42105 100644 --- a/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java +++ b/packages/SystemUI/src/com/android/systemui/keyguard/KeyguardViewMediator.java @@ -188,11 +188,6 @@ public class KeyguardViewMediator extends SystemUI { private boolean mBootCompleted; private boolean mBootSendUserPresent; - // Whether the next call to playSounds() should be skipped. Defaults to - // true because the first lock (on boot) should be silent. - private boolean mSuppressNextLockSound = true; - - /** High level access to the power manager for WakeLocks */ private PowerManager mPM; @@ -255,7 +250,7 @@ public class KeyguardViewMediator extends SystemUI { private KeyguardUpdateMonitor mUpdateMonitor; - private boolean mScreenOn; + private boolean mDeviceInteractive; // last known state of the cellular connection private String mPhoneState = TelephonyManager.EXTRA_STATE_IDLE; @@ -306,6 +301,18 @@ public class KeyguardViewMediator extends SystemUI { private final ArrayList<IKeyguardStateCallback> mKeyguardStateCallbacks = new ArrayList<>(); + /** + * When starting going to sleep, we figured out that we need to reset Keyguard state and this + * should be committed when finished going to sleep. + */ + private boolean mPendingReset; + + /** + * When starting goign to sleep, we figured out that we need to lock Keyguard and this should be + * committed when finished going to sleep. + */ + private boolean mPendingLock; + KeyguardUpdateMonitorCallback mUpdateCallback = new KeyguardUpdateMonitorCallback() { @Override @@ -341,7 +348,7 @@ public class KeyguardViewMediator extends SystemUI { public void onPhoneStateChanged(int phoneState) { synchronized (KeyguardViewMediator.this) { if (TelephonyManager.CALL_STATE_IDLE == phoneState // call ending - && !mScreenOn // screen off + && !mDeviceInteractive // screen off && mExternallyEnabled) { // not disabled by any app // note: this is a way to gracefully reenable the keyguard when the call @@ -514,7 +521,7 @@ public class KeyguardViewMediator extends SystemUI { @Override public boolean isScreenOn() { - return mScreenOn; + return mDeviceInteractive; } }; @@ -550,7 +557,7 @@ public class KeyguardViewMediator extends SystemUI { mViewMediatorCallback, mLockPatternUtils); final ContentResolver cr = mContext.getContentResolver(); - mScreenOn = mPM.isScreenOn(); + mDeviceInteractive = mPM.isInteractive(); mLockSounds = new SoundPool(1, AudioManager.STREAM_SYSTEM, 0); String soundPath = Settings.Global.getString(cr, Settings.Global.LOCK_SOUND); @@ -613,23 +620,18 @@ public class KeyguardViewMediator extends SystemUI { * @param why either {@link android.view.WindowManagerPolicy#OFF_BECAUSE_OF_USER} or * {@link android.view.WindowManagerPolicy#OFF_BECAUSE_OF_TIMEOUT}. */ - public void onScreenTurnedOff(int why) { + public void onStartedGoingToSleep(int why) { + if (DEBUG) Log.d(TAG, "onStartedGoingToSleep(" + why + ")"); synchronized (this) { - mScreenOn = false; - if (DEBUG) Log.d(TAG, "onScreenTurnedOff(" + why + ")"); - - resetKeyguardDonePendingLocked(); - mHideAnimationRun = false; + mDeviceInteractive = false; // Lock immediately based on setting if secure (user has a pin/pattern/password). // This also "locks" the device when not secure to provide easy access to the // camera while preventing unwanted input. int currentUser = KeyguardUpdateMonitor.getCurrentUser(); final boolean lockImmediately = - mLockPatternUtils.getPowerButtonInstantlyLocks(currentUser) - || !mLockPatternUtils.isSecure(currentUser); - - notifyScreenOffLocked(); + mLockPatternUtils.getPowerButtonInstantlyLocks(currentUser) + || !mLockPatternUtils.isSecure(currentUser); if (mExitSecureCallback != null) { if (DEBUG) Log.d(TAG, "pending exit secure callback cancelled"); @@ -643,12 +645,37 @@ public class KeyguardViewMediator extends SystemUI { hideLocked(); } } else if (mShowing) { - resetStateLocked(); + mPendingReset = true; } else if (why == WindowManagerPolicy.OFF_BECAUSE_OF_TIMEOUT - || (why == WindowManagerPolicy.OFF_BECAUSE_OF_USER && !lockImmediately)) { + || (why == WindowManagerPolicy.OFF_BECAUSE_OF_USER && !lockImmediately)) { doKeyguardLaterLocked(); - } else { + } else if (!mLockPatternUtils.isLockScreenDisabled(currentUser)) { + mPendingLock = true; + } + + if (mPendingLock || mPendingReset) { + playSounds(true); + } + } + } + + public void onFinishedGoingToSleep(int why) { + if (DEBUG) Log.d(TAG, "onFinishedGoingToSleep(" + why + ")"); + synchronized (this) { + mDeviceInteractive = false; + + resetKeyguardDonePendingLocked(); + mHideAnimationRun = false; + + notifyScreenOffLocked(); + + if (mPendingReset) { + resetStateLocked(); + mPendingReset = false; + } + if (mPendingLock) { doKeyguardLocked(null); + mPendingLock = false; } } KeyguardUpdateMonitor.getInstance(mContext).dispatchScreenTurnedOff(why); @@ -686,7 +713,6 @@ public class KeyguardViewMediator extends SystemUI { if (timeout <= 0) { // Lock now - mSuppressNextLockSound = true; doKeyguardLocked(null); } else { // Lock in the future @@ -706,13 +732,15 @@ public class KeyguardViewMediator extends SystemUI { } /** - * Let's us know the screen was turned on. + * Let's us know when the device is waking up. */ - public void onScreenTurnedOn(IKeyguardShowCallback callback) { + public void onStartedWakingUp(IKeyguardShowCallback callback) { + + // TODO: Rename all screen off/on references to interactive/sleeping synchronized (this) { - mScreenOn = true; + mDeviceInteractive = true; cancelDoKeyguardLaterLocked(); - if (DEBUG) Log.d(TAG, "onScreenTurnedOn, seq = " + mDelayedShowingSequence); + if (DEBUG) Log.d(TAG, "onStartedWakingUp, seq = " + mDelayedShowingSequence); if (callback != null) { notifyScreenOnLocked(callback); } @@ -737,7 +765,8 @@ public class KeyguardViewMediator extends SystemUI { */ public void onDreamingStarted() { synchronized (this) { - if (mScreenOn && mLockPatternUtils.isSecure(KeyguardUpdateMonitor.getCurrentUser())) { + if (mDeviceInteractive + && mLockPatternUtils.isSecure(KeyguardUpdateMonitor.getCurrentUser())) { doKeyguardLaterLocked(); } } @@ -748,7 +777,7 @@ public class KeyguardViewMediator extends SystemUI { */ public void onDreamingStopped() { synchronized (this) { - if (mScreenOn) { + if (mDeviceInteractive) { cancelDoKeyguardLaterLocked(); } } @@ -1100,8 +1129,6 @@ public class KeyguardViewMediator extends SystemUI { + sequence + ", mDelayedShowingSequence = " + mDelayedShowingSequence); synchronized (KeyguardViewMediator.this) { if (mDelayedShowingSequence == sequence) { - // Don't play lockscreen SFX if the screen went off due to timeout. - mSuppressNextLockSound = true; doKeyguardLocked(null); } } @@ -1252,13 +1279,6 @@ public class KeyguardViewMediator extends SystemUI { } private void playSounds(boolean locked) { - // User feedback for keyguard. - - if (mSuppressNextLockSound) { - mSuppressNextLockSound = false; - return; - } - playSound(locked ? mLockSoundId : mUnlockSoundId); } @@ -1283,9 +1303,6 @@ public class KeyguardViewMediator extends SystemUI { } private void playTrustedSound() { - if (mSuppressNextLockSound) { - return; - } playSound(mTrustedSoundId); } @@ -1318,9 +1335,6 @@ public class KeyguardViewMediator extends SystemUI { adjustStatusBarLocked(); userActivity(); - // Do this at the end to not slow down display of the keyguard. - playSounds(true); - mShowKeyguardWakeLock.release(); } mKeyguardDisplayManager.show(); diff --git a/packages/SystemUI/src/com/android/systemui/power/PowerNotificationWarnings.java b/packages/SystemUI/src/com/android/systemui/power/PowerNotificationWarnings.java index af1f795..a12a3f1 100644 --- a/packages/SystemUI/src/com/android/systemui/power/PowerNotificationWarnings.java +++ b/packages/SystemUI/src/com/android/systemui/power/PowerNotificationWarnings.java @@ -376,7 +376,8 @@ public class PowerNotificationWarnings implements PowerUI.WarningsUI { filter.addAction(ACTION_START_SAVER); filter.addAction(ACTION_STOP_SAVER); filter.addAction(ACTION_DISMISSED_WARNING); - mContext.registerReceiverAsUser(this, UserHandle.ALL, filter, null, mHandler); + mContext.registerReceiverAsUser(this, UserHandle.ALL, filter, + android.Manifest.permission.STATUS_BAR_SERVICE, mHandler); } @Override diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java index ed954bb..abce31f 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/BluetoothTile.java @@ -149,9 +149,10 @@ public class BluetoothTile extends QSTile<QSTile.BooleanState> { private final BluetoothController.Callback mCallback = new BluetoothController.Callback() { @Override - public void onBluetoothStateChange(boolean enabled, boolean connecting) { + public void onBluetoothStateChange(boolean enabled) { refreshState(); } + @Override public void onBluetoothDevicesChanged() { mUiHandler.post(new Runnable() { diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java index dcf0438..a9e8b38 100644 --- a/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java +++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/CellularTile.java @@ -162,10 +162,9 @@ public class CellularTile extends QSTile<QSTile.SignalState> { } @Override - public void setMobileDataIndicators(IconState statusIcon, IconState qsIcon, - int darkStatusIcon, int statusType, int qsType, boolean activityIn, - boolean activityOut, String typeContentDescription, String description, - boolean isWide, int subId) { + public void setMobileDataIndicators(IconState statusIcon, IconState qsIcon, int statusType, + int qsType, boolean activityIn, boolean activityOut, String typeContentDescription, + String description, boolean isWide, int subId) { if (qsIcon == null) { // Not data sim, don't display. return; diff --git a/packages/SystemUI/src/com/android/systemui/recents/Constants.java b/packages/SystemUI/src/com/android/systemui/recents/Constants.java index c7f8919..18c213d 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/Constants.java +++ b/packages/SystemUI/src/com/android/systemui/recents/Constants.java @@ -29,8 +29,6 @@ public class Constants { public static final boolean EnableTransitionThumbnailDebugMode = false; // Enables the filtering of tasks according to their grouping public static final boolean EnableTaskFiltering = false; - // Enables app-info pane on long-pressing the icon - public static final boolean EnableDevAppInfoOnLongPress = true; // Enables dismiss-all public static final boolean EnableDismissAll = false; // Enables debug mode diff --git a/packages/SystemUI/src/com/android/systemui/recents/views/TaskView.java b/packages/SystemUI/src/com/android/systemui/recents/views/TaskView.java index 682775b..01ed08a 100644 --- a/packages/SystemUI/src/com/android/systemui/recents/views/TaskView.java +++ b/packages/SystemUI/src/com/android/systemui/recents/views/TaskView.java @@ -678,11 +678,7 @@ public class TaskView extends FrameLayout implements Task.TaskCallbacks, mHeaderView.mMoveTaskButton.setOnClickListener(this); } mActionButtonView.setOnClickListener(this); - if (Constants.DebugFlags.App.EnableDevAppInfoOnLongPress) { - if (mConfig.developerOptionsEnabled) { - mHeaderView.mApplicationIcon.setOnLongClickListener(this); - } - } + mHeaderView.mApplicationIcon.setOnLongClickListener(this); } mTaskDataLoaded = true; } @@ -701,9 +697,7 @@ public class TaskView extends FrameLayout implements Task.TaskCallbacks, mHeaderView.mMoveTaskButton.setOnClickListener(null); } mActionButtonView.setOnClickListener(null); - if (Constants.DebugFlags.App.EnableDevAppInfoOnLongPress) { - mHeaderView.mApplicationIcon.setOnLongClickListener(null); - } + mHeaderView.mApplicationIcon.setOnLongClickListener(null); } mTaskDataLoaded = false; } diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java b/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java index 7e32c3a..6d02365 100644 --- a/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java +++ b/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java @@ -60,6 +60,7 @@ import android.widget.ImageView; import com.android.systemui.R; import java.io.File; +import java.io.FileOutputStream; import java.io.OutputStream; import java.text.DateFormat; import java.text.SimpleDateFormat; @@ -232,6 +233,12 @@ class SaveImageInBackgroundTask extends AsyncTask<SaveImageInBackgroundData, Voi // for DATE_TAKEN long dateSeconds = mImageTime / 1000; + // Save + OutputStream out = new FileOutputStream(mImageFilePath); + image.compress(Bitmap.CompressFormat.PNG, 100, out); + out.flush(); + out.close(); + // Save the screenshot to the MediaStore ContentValues values = new ContentValues(); ContentResolver resolver = context.getContentResolver(); @@ -244,8 +251,10 @@ class SaveImageInBackgroundTask extends AsyncTask<SaveImageInBackgroundData, Voi values.put(MediaStore.Images.ImageColumns.MIME_TYPE, "image/png"); values.put(MediaStore.Images.ImageColumns.WIDTH, mImageWidth); values.put(MediaStore.Images.ImageColumns.HEIGHT, mImageHeight); + values.put(MediaStore.Images.ImageColumns.SIZE, new File(mImageFilePath).length()); Uri uri = resolver.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values); + // Create a share intent String subjectDate = DateFormat.getDateTimeInstance().format(new Date(mImageTime)); String subject = String.format(SCREENSHOT_SHARE_SUBJECT_TEMPLATE, subjectDate); Intent sharingIntent = new Intent(Intent.ACTION_SEND); @@ -253,16 +262,6 @@ class SaveImageInBackgroundTask extends AsyncTask<SaveImageInBackgroundData, Voi sharingIntent.putExtra(Intent.EXTRA_STREAM, uri); sharingIntent.putExtra(Intent.EXTRA_SUBJECT, subject); - OutputStream out = resolver.openOutputStream(uri); - image.compress(Bitmap.CompressFormat.PNG, 100, out); - out.flush(); - out.close(); - - // Update file size in the database - values.clear(); - values.put(MediaStore.Images.ImageColumns.SIZE, new File(mImageFilePath).length()); - resolver.update(uri, values, null, null); - // Create a share action for the notification final PendingIntent callback = PendingIntent.getBroadcast(context, 0, new Intent(context, GlobalScreenshot.TargetChosenReceiver.class) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java b/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java index 991bde5..a66f8ec 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java @@ -180,13 +180,12 @@ public class SignalClusterView } @Override - public void setMobileDataIndicators(IconState statusIcon, IconState qsIcon, int darkStatusIcon, - int statusType, int qsType, boolean activityIn, boolean activityOut, - String typeContentDescription, String description, boolean isWide, int subId) { + public void setMobileDataIndicators(IconState statusIcon, IconState qsIcon, int statusType, + int qsType, boolean activityIn, boolean activityOut, String typeContentDescription, + String description, boolean isWide, int subId) { PhoneState state = getOrInflateState(subId); state.mMobileVisible = statusIcon.visible; state.mMobileStrengthId = statusIcon.icon; - state.mMobileDarkStrengthId = darkStatusIcon; state.mMobileTypeId = statusType; state.mMobileDescription = statusIcon.contentDescription; state.mMobileTypeDescription = typeContentDescription; @@ -426,7 +425,7 @@ public class SignalClusterView private class PhoneState { private final int mSubId; private boolean mMobileVisible = false; - private int mMobileStrengthId = 0, mMobileDarkStrengthId = 0, mMobileTypeId = 0; + private int mMobileStrengthId = 0, mMobileTypeId = 0; private boolean mIsMobileTypeIconWide; private String mMobileDescription, mMobileTypeDescription; @@ -483,9 +482,8 @@ public class SignalClusterView mMobileDark.setPaddingRelative(mIsMobileTypeIconWide ? mWideTypeIconStartPadding : 0, 0, 0, 0); - if (DEBUG) Log.d(TAG, String.format("mobile: %s sig=%d dark=%d typ=%d", - (mMobileVisible ? "VISIBLE" : "GONE"), mMobileStrengthId, - mMobileDarkStrengthId, mMobileTypeId)); + if (DEBUG) Log.d(TAG, String.format("mobile: %s sig=%d typ=%d", + (mMobileVisible ? "VISIBLE" : "GONE"), mMobileStrengthId, mMobileTypeId)); mMobileType.setVisibility(mMobileTypeId != 0 ? View.VISIBLE : View.GONE); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java index 1e4aa61..5ff4ddb 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -349,6 +349,9 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, if (!mUserSetup && mStatusBarView != null) animateCollapseQuickSettings(); } + if (mIconPolicy != null) { + mIconPolicy.setCurrentUserSetup(mUserSetup); + } } }; @@ -554,6 +557,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, // Lastly, call to the icon policy to install/update all the icons. mIconPolicy = new PhoneStatusBarPolicy(mContext, mCastController, mHotspotController); + mIconPolicy.setCurrentUserSetup(mUserSetup); mSettingsObserver.onChange(false); // set up mHeadsUpObserver.onChange(true); // set up diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java index 5942b46..0872e06 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java @@ -18,6 +18,7 @@ package com.android.systemui.statusbar.phone; import android.app.ActivityManagerNative; import android.app.AlarmManager; +import android.app.AlarmManager.AlarmClockInfo; import android.app.IUserSwitchObserver; import android.app.StatusBarManager; import android.bluetooth.BluetoothAdapter; @@ -67,6 +68,7 @@ public class PhoneStatusBarPolicy { private final Handler mHandler = new Handler(); private final CastController mCast; private final HotspotController mHotspot; + private final AlarmManager mAlarmManager; // Assume it's all good unless we hear otherwise. We don't always seem // to get broadcasts that it *is* there. @@ -74,6 +76,7 @@ public class PhoneStatusBarPolicy { private boolean mZenVisible; private boolean mVolumeVisible; + private boolean mCurrentUserSetup; private int mZen; @@ -112,7 +115,8 @@ public class PhoneStatusBarPolicy { mContext = context; mCast = cast; mHotspot = hotspot; - mService = (StatusBarManager)context.getSystemService(Context.STATUS_BAR_SERVICE); + mService = (StatusBarManager) context.getSystemService(Context.STATUS_BAR_SERVICE); + mAlarmManager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE); // listen for broadcasts IntentFilter filter = new IntentFilter(); @@ -173,9 +177,12 @@ public class PhoneStatusBarPolicy { } private void updateAlarm() { - AlarmManager alarmManager = (AlarmManager) mContext.getSystemService(Context.ALARM_SERVICE); - boolean alarmSet = alarmManager.getNextAlarmClock(UserHandle.USER_CURRENT) != null; - mService.setIconVisibility(SLOT_ALARM_CLOCK, alarmSet); + final AlarmClockInfo alarm = mAlarmManager.getNextAlarmClock(UserHandle.USER_CURRENT); + final boolean hasAlarm = alarm != null && alarm.getTriggerTime() > 0; + final boolean zenNone = mZen == Global.ZEN_MODE_NO_INTERRUPTIONS; + mService.setIcon(SLOT_ALARM_CLOCK, zenNone ? R.drawable.stat_sys_alarm_dim + : R.drawable.stat_sys_alarm, 0, null); + mService.setIconVisibility(SLOT_ALARM_CLOCK, mCurrentUserSetup && hasAlarm); } private final void updateSimState(Intent intent) { @@ -259,6 +266,7 @@ public class PhoneStatusBarPolicy { mService.setIconVisibility(SLOT_VOLUME, volumeVisible); mVolumeVisible = volumeVisible; } + updateAlarm(); } private final void updateBluetooth() { @@ -386,4 +394,10 @@ public class PhoneStatusBarPolicy { mKeyguardVisible = visible; updateManagedProfile(); } + + public void setCurrentUserSetup(boolean userSetup) { + if (mCurrentUserSetup == userSetup) return; + mCurrentUserSetup = userSetup; + updateAlarm(); + } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothController.java index cbe4c4d..8fa9c7e 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothController.java @@ -35,7 +35,7 @@ public interface BluetoothController { void disconnect(CachedBluetoothDevice device); public interface Callback { - void onBluetoothStateChange(boolean enabled, boolean connecting); + void onBluetoothStateChange(boolean enabled); void onBluetoothDevicesChanged(); } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothControllerImpl.java index ed98a15..3cc9297 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BluetoothControllerImpl.java @@ -41,7 +41,7 @@ public class BluetoothControllerImpl implements BluetoothController, BluetoothCa private final LocalBluetoothManager mLocalBluetoothManager; private boolean mEnabled; - private boolean mConnecting; + private int mConnectionState = BluetoothAdapter.STATE_DISCONNECTED; private CachedBluetoothDevice mLastDevice; private final H mHandler = new H(); @@ -63,7 +63,7 @@ public class BluetoothControllerImpl implements BluetoothController, BluetoothCa return; } pw.print(" mEnabled="); pw.println(mEnabled); - pw.print(" mConnecting="); pw.println(mConnecting); + pw.print(" mConnectionState="); pw.println(stateToString(mConnectionState)); pw.print(" mLastDevice="); pw.println(mLastDevice); pw.print(" mCallbacks.size="); pw.println(mCallbacks.size()); pw.println(" Bluetooth Devices:"); @@ -73,10 +73,25 @@ public class BluetoothControllerImpl implements BluetoothController, BluetoothCa } } + private static String stateToString(int state) { + switch (state) { + case BluetoothAdapter.STATE_CONNECTED: + return "CONNECTED"; + case BluetoothAdapter.STATE_CONNECTING: + return "CONNECTING"; + case BluetoothAdapter.STATE_DISCONNECTED: + return "DISCONNECTED"; + case BluetoothAdapter.STATE_DISCONNECTING: + return "DISCONNECTING"; + } + return "UNKNOWN(" + state + ")"; + } + private String getDeviceString(CachedBluetoothDevice device) { return device.getName() + " " + device.getBondState() + " " + device.isConnected(); } + @Override public void addStateChangedCallback(Callback cb) { mCallbacks.add(cb); mHandler.sendEmptyMessage(H.MSG_STATE_CHANGED); @@ -94,14 +109,12 @@ public class BluetoothControllerImpl implements BluetoothController, BluetoothCa @Override public boolean isBluetoothConnected() { - return mLocalBluetoothManager != null - && mLocalBluetoothManager.getBluetoothAdapter().getConnectionState() - == BluetoothAdapter.STATE_CONNECTED; + return mConnectionState == BluetoothAdapter.STATE_CONNECTED; } @Override public boolean isBluetoothConnecting() { - return mConnecting; + return mConnectionState == BluetoothAdapter.STATE_CONNECTING; } @Override @@ -190,7 +203,7 @@ public class BluetoothControllerImpl implements BluetoothController, BluetoothCa @Override public void onConnectionStateChanged(CachedBluetoothDevice cachedDevice, int state) { - mConnecting = state == BluetoothAdapter.STATE_CONNECTING; + mConnectionState = state; mLastDevice = cachedDevice; updateConnected(); mHandler.sendEmptyMessage(H.MSG_STATE_CHANGED); @@ -225,7 +238,7 @@ public class BluetoothControllerImpl implements BluetoothController, BluetoothCa } private void fireStateChange(BluetoothController.Callback cb) { - cb.onBluetoothStateChange(mEnabled, mConnecting); + cb.onBluetoothStateChange(mEnabled); } } } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/CallbackHandler.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/CallbackHandler.java index 7f52191..e618cb8 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/CallbackHandler.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/CallbackHandler.java @@ -124,17 +124,16 @@ public class CallbackHandler extends Handler implements EmergencyListener, Signa @Override public void setMobileDataIndicators(final IconState statusIcon, final IconState qsIcon, - final int darkStatusIcon, final int statusType, final int qsType, - final boolean activityIn, final boolean activityOut, - final String typeContentDescription, final String description, final boolean isWide, - final int subId) { + final int statusType, final int qsType,final boolean activityIn, + final boolean activityOut, final String typeContentDescription, + final String description, final boolean isWide, final int subId) { post(new Runnable() { @Override public void run() { for (SignalCallback signalCluster : mSignalCallbacks) { - signalCluster.setMobileDataIndicators(statusIcon, qsIcon, darkStatusIcon, - statusType, qsType, activityIn, activityOut, typeContentDescription, - description, isWide, subId); + signalCluster.setMobileDataIndicators(statusIcon, qsIcon, statusType, qsType, + activityIn, activityOut, typeContentDescription, description, isWide, + subId); } } }); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java index 0d59953..cfc95bf 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java @@ -117,7 +117,7 @@ public class MobileSignalController extends SignalController< public void setCarrierNetworkChangeMode(boolean carrierNetworkChangeMode) { mCurrentState.carrierNetworkChangeMode = carrierNetworkChangeMode; - notifyListenersIfNecessary(); + updateTelephony(); } /** @@ -220,13 +220,9 @@ public class MobileSignalController extends SignalController< && mCurrentState.activityOut; showDataIcon &= mCurrentState.isDefault; int typeIcon = showDataIcon ? icons.mDataType : 0; - mCallbackHandler.setMobileDataIndicators(statusIcon, qsIcon, getCurrentDarkIconId(), - typeIcon, qsTypeIcon, activityIn, activityOut, dataContentDescription, description, - icons.mIsWide, mSubscriptionInfo.getSubscriptionId()); - } - - private int getCurrentDarkIconId() { - return getCurrentIconId(false /* light */); + mCallbackHandler.setMobileDataIndicators(statusIcon, qsIcon, typeIcon, qsTypeIcon, + activityIn, activityOut, dataContentDescription, description, icons.mIsWide, + mSubscriptionInfo.getSubscriptionId()); } @Override @@ -478,17 +474,8 @@ public class MobileSignalController extends SignalController< int sbNullState, int qsNullState, int sbDiscState, int qsDiscState, int discContentDesc, int dataContentDesc, int dataType, boolean isWide, int qsDataType) { - this(name, sbIcons, sbIcons, qsIcons, contentDesc, sbNullState, qsNullState, - sbDiscState, sbDiscState, qsDiscState, discContentDesc, dataContentDesc, - dataType, isWide, qsDataType); - } - - public MobileIconGroup(String name, int[][] sbIcons, int[][] sbDarkIcons, int[][] qsIcons, - int[] contentDesc, int sbNullState, int qsNullState, int sbDiscState, - int sbDarkDiscState, int qsDiscState, int discContentDesc, int dataContentDesc, - int dataType, boolean isWide, int qsDataType) { - super(name, sbIcons, sbDarkIcons, qsIcons, contentDesc, sbNullState, qsNullState, - sbDiscState, sbDarkDiscState, qsDiscState, discContentDesc); + super(name, sbIcons, qsIcons, contentDesc, sbNullState, qsNullState, sbDiscState, + qsDiscState, discContentDesc); mDataContentDescription = dataContentDesc; mDataType = dataType; mIsWide = isWide; diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java index 070ca63..38656ee 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkController.java @@ -38,9 +38,9 @@ public interface NetworkController { void setWifiIndicators(boolean enabled, IconState statusIcon, IconState qsIcon, boolean activityIn, boolean activityOut, String description); - void setMobileDataIndicators(IconState statusIcon, IconState qsIcon, int darkStatusIcon, - int statusType, int qsType, boolean activityIn, boolean activityOut, - String typeContentDescription, String description, boolean isWide, int subId); + void setMobileDataIndicators(IconState statusIcon, IconState qsIcon, int statusType, + int qsType, boolean activityIn, boolean activityOut, String typeContentDescription, + String description, boolean isWide, int subId); void setSubs(List<SubscriptionInfo> subs); void setNoSims(boolean show); diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/SignalCallbackAdapter.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/SignalCallbackAdapter.java index 83a7d3d..dce889f 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/SignalCallbackAdapter.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/SignalCallbackAdapter.java @@ -35,10 +35,9 @@ public class SignalCallbackAdapter implements SignalCallback { } @Override - public void setMobileDataIndicators(IconState statusIcon, IconState qsIcon, - int darkStatusIcon, int statusType, int qsType, boolean activityIn, - boolean activityOut, String typeContentDescription, String description, - boolean isWide, int subId) { + public void setMobileDataIndicators(IconState statusIcon, IconState qsIcon, int statusType, + int qsType, boolean activityIn, boolean activityOut, String typeContentDescription, + String description, boolean isWide, int subId) { } @Override diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/SignalController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/SignalController.java index e6ca646..5e9447e 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/SignalController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/SignalController.java @@ -133,22 +133,10 @@ public abstract class SignalController<T extends SignalController.State, * Gets the signal icon for SB based on current state of connected, enabled, and level. */ public int getCurrentIconId() { - return getCurrentIconId(true /* light */); - } - - protected int getCurrentIconId(boolean light) { if (mCurrentState.connected) { - if (light) { - return getIcons().mSbIcons[mCurrentState.inetCondition][mCurrentState.level]; - } else { - return getIcons().mSbDarkIcons[mCurrentState.inetCondition][mCurrentState.level]; - } + return getIcons().mSbIcons[mCurrentState.inetCondition][mCurrentState.level]; } else if (mCurrentState.enabled) { - if (light) { - return getIcons().mSbDiscState; - } else { - return getIcons().mSbDarkDiscState; - } + return getIcons().mSbDiscState; } else { return getIcons().mSbNullState; } @@ -229,13 +217,11 @@ public abstract class SignalController<T extends SignalController.State, */ static class IconGroup { final int[][] mSbIcons; - final int[][] mSbDarkIcons; final int[][] mQsIcons; final int[] mContentDesc; final int mSbNullState; final int mQsNullState; final int mSbDiscState; - final int mSbDarkDiscState; final int mQsDiscState; final int mDiscContentDesc; // For logging. @@ -244,22 +230,13 @@ public abstract class SignalController<T extends SignalController.State, public IconGroup(String name, int[][] sbIcons, int[][] qsIcons, int[] contentDesc, int sbNullState, int qsNullState, int sbDiscState, int qsDiscState, int discContentDesc) { - this(name, sbIcons, sbIcons, qsIcons, contentDesc, sbNullState, qsNullState, - sbDiscState, sbDiscState, qsDiscState, discContentDesc); - } - - public IconGroup(String name, int[][] sbIcons, int[][] sbDarkIcons, int[][] qsIcons, - int[] contentDesc, int sbNullState, int qsNullState, int sbDiscState, - int sbDarkDiscState, int qsDiscState, int discContentDesc) { mName = name; mSbIcons = sbIcons; - mSbDarkIcons = sbDarkIcons; mQsIcons = qsIcons; mContentDesc = contentDesc; mSbNullState = sbNullState; mQsNullState = qsNullState; mSbDiscState = sbDiscState; - mSbDarkDiscState = sbDarkDiscState; mQsDiscState = qsDiscState; mDiscContentDesc = discContentDesc; } diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/TelephonyIcons.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/TelephonyIcons.java index fa4d464..8a27653 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/TelephonyIcons.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/TelephonyIcons.java @@ -73,24 +73,15 @@ class TelephonyIcons { { R.drawable.stat_sys_signal_carrier_network_change_animation, R.drawable.stat_sys_signal_carrier_network_change_animation, R.drawable.stat_sys_signal_carrier_network_change_animation, + R.drawable.stat_sys_signal_carrier_network_change_animation, R.drawable.stat_sys_signal_carrier_network_change_animation }, { R.drawable.stat_sys_signal_carrier_network_change_animation, R.drawable.stat_sys_signal_carrier_network_change_animation, R.drawable.stat_sys_signal_carrier_network_change_animation, + R.drawable.stat_sys_signal_carrier_network_change_animation, R.drawable.stat_sys_signal_carrier_network_change_animation } }; - static final int[][] TELEPHONY_CARRIER_NETWORK_CHANGE_DARK = { - { R.drawable.stat_sys_signal_dark_carrier_network_change_animation, - R.drawable.stat_sys_signal_dark_carrier_network_change_animation, - R.drawable.stat_sys_signal_dark_carrier_network_change_animation, - R.drawable.stat_sys_signal_dark_carrier_network_change_animation }, - { R.drawable.stat_sys_signal_dark_carrier_network_change_animation, - R.drawable.stat_sys_signal_dark_carrier_network_change_animation, - R.drawable.stat_sys_signal_dark_carrier_network_change_animation, - R.drawable.stat_sys_signal_dark_carrier_network_change_animation } - }; - static final int[][] QS_TELEPHONY_CARRIER_NETWORK_CHANGE = { { R.drawable.ic_qs_signal_carrier_network_change_animation, R.drawable.ic_qs_signal_carrier_network_change_animation, @@ -216,8 +207,6 @@ class TelephonyIcons { static final int ICON_1X = R.drawable.stat_sys_data_fully_connected_1x; static final int ICON_CARRIER_NETWORK_CHANGE = R.drawable.stat_sys_signal_carrier_network_change_animation; - static final int ICON_CARRIER_NETWORK_CHANGE_DARK = - R.drawable.stat_sys_signal_dark_carrier_network_change_animation; static final int QS_ICON_LTE = R.drawable.ic_qs_signal_lte; static final int QS_ICON_3G = R.drawable.ic_qs_signal_3g; @@ -229,12 +218,10 @@ class TelephonyIcons { static final MobileIconGroup CARRIER_NETWORK_CHANGE = new MobileIconGroup( "CARRIER_NETWORK_CHANGE", TelephonyIcons.TELEPHONY_CARRIER_NETWORK_CHANGE, - TelephonyIcons.TELEPHONY_CARRIER_NETWORK_CHANGE_DARK, TelephonyIcons.QS_TELEPHONY_CARRIER_NETWORK_CHANGE, AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH, 0, 0, TelephonyIcons.ICON_CARRIER_NETWORK_CHANGE, - TelephonyIcons.ICON_CARRIER_NETWORK_CHANGE_DARK, TelephonyIcons.QS_ICON_CARRIER_NETWORK_CHANGE, AccessibilityContentDescriptions.PHONE_SIGNAL_STRENGTH[0], R.string.accessibility_carrier_network_change_mode, diff --git a/packages/SystemUI/src/com/android/systemui/tuner/QsTuner.java b/packages/SystemUI/src/com/android/systemui/tuner/QsTuner.java index 5cf0813..90c1897 100644 --- a/packages/SystemUI/src/com/android/systemui/tuner/QsTuner.java +++ b/packages/SystemUI/src/com/android/systemui/tuner/QsTuner.java @@ -160,7 +160,7 @@ public class QsTuner extends Fragment implements Callback { else if (spec.equals("bt")) return R.string.quick_settings_bluetooth_label; else if (spec.equals("inversion")) return R.string.quick_settings_inversion_label; else if (spec.equals("cell")) return R.string.quick_settings_cellular_detail_title; - else if (spec.equals("airplane")) return R.string.quick_settings_airplane_mode_label; + else if (spec.equals("airplane")) return R.string.airplane_mode; else if (spec.equals("dnd")) return R.string.quick_settings_dnd_label; else if (spec.equals("rotation")) return R.string.quick_settings_rotation_locked_label; else if (spec.equals("flashlight")) return R.string.quick_settings_flashlight_label; diff --git a/packages/SystemUI/src/com/android/systemui/tuner/TunerFragment.java b/packages/SystemUI/src/com/android/systemui/tuner/TunerFragment.java index 457bade..b40adaf 100644 --- a/packages/SystemUI/src/com/android/systemui/tuner/TunerFragment.java +++ b/packages/SystemUI/src/com/android/systemui/tuner/TunerFragment.java @@ -15,11 +15,19 @@ */ package com.android.systemui.tuner; +import static com.android.systemui.BatteryMeterView.SHOW_PERCENT_SETTING; + import android.app.FragmentTransaction; +import android.database.ContentObserver; +import android.net.Uri; import android.os.Bundle; +import android.os.Handler; import android.preference.Preference; +import android.preference.Preference.OnPreferenceChangeListener; import android.preference.Preference.OnPreferenceClickListener; import android.preference.PreferenceFragment; +import android.preference.SwitchPreference; +import android.provider.Settings.System; import android.view.MenuItem; import com.android.systemui.R; @@ -27,6 +35,11 @@ import com.android.systemui.R; public class TunerFragment extends PreferenceFragment { private static final String KEY_QS_TUNER = "qs_tuner"; + private static final String KEY_BATTERY_PCT = "battery_pct"; + + private final SettingObserver mSettingObserver = new SettingObserver(); + + private SwitchPreference mBatteryPct; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); @@ -45,6 +58,21 @@ public class TunerFragment extends PreferenceFragment { return false; } }); + mBatteryPct = (SwitchPreference) findPreference(KEY_BATTERY_PCT); + } + + @Override + public void onResume() { + super.onResume(); + updateBatteryPct(); + getContext().getContentResolver().registerContentObserver( + System.getUriFor(SHOW_PERCENT_SETTING), false, mSettingObserver); + } + + @Override + public void onPause() { + super.onPause(); + getContext().getContentResolver().unregisterContentObserver(mSettingObserver); } @Override @@ -57,4 +85,31 @@ public class TunerFragment extends PreferenceFragment { return super.onOptionsItemSelected(item); } + private void updateBatteryPct() { + mBatteryPct.setOnPreferenceChangeListener(null); + mBatteryPct.setChecked(System.getInt(getContext().getContentResolver(), + SHOW_PERCENT_SETTING, 0) != 0); + mBatteryPct.setOnPreferenceChangeListener(mBatteryPctChange); + } + + private final class SettingObserver extends ContentObserver { + public SettingObserver() { + super(new Handler()); + } + + @Override + public void onChange(boolean selfChange, Uri uri, int userId) { + super.onChange(selfChange, uri, userId); + updateBatteryPct(); + } + } + + private final OnPreferenceChangeListener mBatteryPctChange = new OnPreferenceChangeListener() { + @Override + public boolean onPreferenceChange(Preference preference, Object newValue) { + final boolean v = (Boolean) newValue; + System.putInt(getContext().getContentResolver(), SHOW_PERCENT_SETTING, v ? 1 : 0); + return true; + } + }; } diff --git a/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java b/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java index ec24d75..027d637 100644 --- a/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java +++ b/packages/SystemUI/src/com/android/systemui/volume/ZenModePanel.java @@ -35,6 +35,7 @@ import android.service.notification.Condition; import android.service.notification.ZenModeConfig; import android.service.notification.ZenModeConfig.ZenRule; import android.text.TextUtils; +import android.text.format.DateFormat; import android.util.ArraySet; import android.util.AttributeSet; import android.util.Log; @@ -57,6 +58,7 @@ import com.android.systemui.statusbar.policy.ZenModeController; import java.io.FileDescriptor; import java.io.PrintWriter; import java.util.Arrays; +import java.util.Locale; import java.util.Objects; public class ZenModePanel extends LinearLayout { @@ -96,6 +98,7 @@ public class ZenModePanel extends LinearLayout { private View mZenIntroductionConfirm; private View mZenIntroductionCustomize; private LinearLayout mZenConditions; + private TextView mZenAlarmWarning; private Callback mCallback; private ZenModeController mController; @@ -176,6 +179,7 @@ public class ZenModePanel extends LinearLayout { }); mZenConditions = (LinearLayout) findViewById(R.id.zen_conditions); + mZenAlarmWarning = (TextView) findViewById(R.id.zen_alarm_warning); } @Override @@ -436,6 +440,40 @@ public class ZenModePanel extends LinearLayout { : R.string.zen_silence_introduction); mZenIntroductionCustomize.setVisibility(zenImportant ? VISIBLE : GONE); } + final String warning = computeAlarmWarningText(zenNone); + mZenAlarmWarning.setVisibility(warning != null ? VISIBLE : GONE); + mZenAlarmWarning.setText(warning); + } + + private String computeAlarmWarningText(boolean zenNone) { + if (!zenNone) { + return null; + } + final long now = System.currentTimeMillis(); + final long nextAlarm = mController.getNextAlarm(); + if (nextAlarm < now) { + return null; + } + int warningRes = 0; + if (mSessionExitCondition == null || isForever(mSessionExitCondition)) { + warningRes = R.string.zen_alarm_warning_indef; + } else { + final long time = ZenModeConfig.tryParseCountdownConditionId(mSessionExitCondition.id); + if (time > now && nextAlarm < time) { + warningRes = R.string.zen_alarm_warning; + } + } + if (warningRes == 0) { + return null; + } + final boolean soon = (nextAlarm - now) < 24 * 60 * 60 * 1000; + final boolean is24 = DateFormat.is24HourFormat(mContext, ActivityManager.getCurrentUser()); + final String skeleton = soon ? (is24 ? "Hm" : "hma") : (is24 ? "EEEHm" : "EEEhma"); + final String pattern = DateFormat.getBestDateTimePattern(Locale.getDefault(), skeleton); + final CharSequence formattedTime = DateFormat.format(pattern, nextAlarm); + final int templateRes = soon ? R.string.alarm_template : R.string.alarm_template_far; + final String template = getResources().getString(templateRes, formattedTime); + return getResources().getString(warningRes, template); } private static Condition parseExistingTimeCondition(Context context, Condition condition) { diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/CallbackHandlerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/CallbackHandlerTest.java index c14d06f..5055bfe 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/CallbackHandlerTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/CallbackHandlerTest.java @@ -94,7 +94,6 @@ public class CallbackHandlerTest extends AndroidTestCase { public void testSignalCallback_setMobileDataIndicators() { IconState status = new IconState(true, 0, ""); IconState qs = new IconState(true, 1, ""); - int dark = 2; boolean in = true; boolean out = true; String typeDescription = "Test 1"; @@ -103,13 +102,12 @@ public class CallbackHandlerTest extends AndroidTestCase { int qsType = R.drawable.ic_qs_signal_1x; boolean wide = true; int subId = 5; - mHandler.setMobileDataIndicators(status, qs, dark, type, qsType, in, out, typeDescription, + mHandler.setMobileDataIndicators(status, qs, type, qsType, in, out, typeDescription, description, wide, subId); waitForCallbacks(); ArgumentCaptor<IconState> statusArg = ArgumentCaptor.forClass(IconState.class); ArgumentCaptor<IconState> qsArg = ArgumentCaptor.forClass(IconState.class); - ArgumentCaptor<Integer> darkStrengthArg = ArgumentCaptor.forClass(Integer.class); ArgumentCaptor<Integer> typeIconArg = ArgumentCaptor.forClass(Integer.class); ArgumentCaptor<Integer> qsTypeIconArg = ArgumentCaptor.forClass(Integer.class); ArgumentCaptor<Boolean> inArg = ArgumentCaptor.forClass(Boolean.class); @@ -118,13 +116,12 @@ public class CallbackHandlerTest extends AndroidTestCase { ArgumentCaptor<String> descArg = ArgumentCaptor.forClass(String.class); ArgumentCaptor<Boolean> wideArg = ArgumentCaptor.forClass(Boolean.class); ArgumentCaptor<Integer> subIdArg = ArgumentCaptor.forClass(Integer.class); - Mockito.verify(mSignalCallback).setMobileDataIndicators(statusArg.capture(), qsArg.capture(), - darkStrengthArg.capture(), typeIconArg.capture(), qsTypeIconArg.capture(), - inArg.capture(), outArg.capture(), typeContentArg.capture(), descArg.capture(), - wideArg.capture(), subIdArg.capture()); + Mockito.verify(mSignalCallback).setMobileDataIndicators(statusArg.capture(), + qsArg.capture(), typeIconArg.capture(), qsTypeIconArg.capture(), inArg.capture(), + outArg.capture(), typeContentArg.capture(), descArg.capture(), wideArg.capture(), + subIdArg.capture()); assertEquals(status, statusArg.getValue()); assertEquals(qs, qsArg.getValue()); - assertEquals(dark, (int) darkStrengthArg.getValue()); assertEquals(type, (int) typeIconArg.getValue()); assertEquals(qsType, (int) qsTypeIconArg.getValue()); assertEquals(in, (boolean) inArg.getValue()); diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java index 2d6bb68..441bb16 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerBaseTest.java @@ -258,7 +258,6 @@ public class NetworkControllerBaseTest extends SysuiTestCase { ArgumentCaptor.forClass(IconState.class).capture(), iconArg.capture(), ArgumentCaptor.forClass(Integer.class).capture(), - ArgumentCaptor.forClass(Integer.class).capture(), typeIconArg.capture(), dataInArg.capture(), dataOutArg.capture(), ArgumentCaptor.forClass(String.class).capture(), ArgumentCaptor.forClass(String.class).capture(), @@ -275,20 +274,14 @@ public class NetworkControllerBaseTest extends SysuiTestCase { } protected void verifyLastMobileDataIndicators(boolean visible, int icon, int typeIcon) { - verifyLastMobileDataIndicators(visible, icon, icon, typeIcon); - } - - protected void verifyLastMobileDataIndicators(boolean visible, int strengthIcon, - int darkStrengthIcon, int typeIcon) { ArgumentCaptor<IconState> iconArg = ArgumentCaptor.forClass(IconState.class); - ArgumentCaptor<Integer> darkStrengthIconArg = ArgumentCaptor.forClass(Integer.class); ArgumentCaptor<Integer> typeIconArg = ArgumentCaptor.forClass(Integer.class); // TODO: Verify all fields. Mockito.verify(mCallbackHandler, Mockito.atLeastOnce()).setMobileDataIndicators( iconArg.capture(), ArgumentCaptor.forClass(IconState.class).capture(), - darkStrengthIconArg.capture(), typeIconArg.capture(), + typeIconArg.capture(), ArgumentCaptor.forClass(Integer.class).capture(), ArgumentCaptor.forClass(Boolean.class).capture(), ArgumentCaptor.forClass(Boolean.class).capture(), @@ -298,9 +291,6 @@ public class NetworkControllerBaseTest extends SysuiTestCase { ArgumentCaptor.forClass(Integer.class).capture()); IconState iconState = iconArg.getValue(); - assertEquals("Signal strength icon in status bar", strengthIcon, iconState.icon); - assertEquals("Signal strength icon (dark mode) in status bar", darkStrengthIcon, - (int) darkStrengthIconArg.getValue()); assertEquals("Data icon in status bar", typeIcon, (int) typeIconArg.getValue()); assertEquals("Visibility in status bar", visible, iconState.visible); } diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerSignalTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerSignalTest.java index 874fdf9..dd6f272 100644 --- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerSignalTest.java +++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerSignalTest.java @@ -438,7 +438,6 @@ public class NetworkControllerSignalTest extends NetworkControllerBaseTest { // Out of service and carrier network change is true, show special indicator verifyLastMobileDataIndicators(true /* visible */, TelephonyIcons.TELEPHONY_CARRIER_NETWORK_CHANGE[0][0] /* strengthIcon */, - TelephonyIcons.TELEPHONY_CARRIER_NETWORK_CHANGE_DARK[0][0] /* darkStrengthIcon */, 0 /* typeIcon */); // Revert back diff --git a/packages/VpnDialogs/res/values-az-rAZ/strings.xml b/packages/VpnDialogs/res/values-az-rAZ/strings.xml index fdeb06f..c568e94 100644 --- a/packages/VpnDialogs/res/values-az-rAZ/strings.xml +++ b/packages/VpnDialogs/res/values-az-rAZ/strings.xml @@ -16,9 +16,8 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> - <string name="prompt" msgid="8359175999006833462">"VPN bağlantısı yaratmaq üçün <xliff:g id="APP">%s</xliff:g> cəhdləri."</string> - <string name="warning" msgid="5470743576660160079">"Bunu həyata keçirməklə, siz tətbiqə bütün şəbəkə hərəkətinə qarışmağa icazə verirsiniz. "<b>" Tətbiqə güvənmirsizsə qəbul etməyin. "</b>" Əks halda, datanızın təhlükəli proqramlar tərəfindən ələ keçirilmə riskini alırsınız."</string> - <string name="accept" msgid="2889226408765810173">"Bu tətbiqə güvənirəm."</string> + <string name="prompt" msgid="3183836924226407828">"Bağlantı Sorğusu"</string> + <string name="warning" msgid="809658604548412033">"<xliff:g id="APP">%s</xliff:g> VPN bağlantı yaratmaq istəyir ki, bu da şəbəkə trafikini izləyə bilər. Yalnız mənbəyə güvəndiyiniz halda qəbul edin. VPN aktiv olan zaman <br /> <br /> <img src=vpn_icon /> ekranın yuxarısında görünür."</string> <string name="legacy_title" msgid="192936250066580964">"VPN qoşuludur"</string> <string name="configure" msgid="4905518375574791375">"Konfiqurasiya edin"</string> <string name="disconnect" msgid="971412338304200056">"Əlaqəni kəs"</string> diff --git a/packages/VpnDialogs/res/values-sk/strings.xml b/packages/VpnDialogs/res/values-sk/strings.xml index 7a06554..b7ce966 100644 --- a/packages/VpnDialogs/res/values-sk/strings.xml +++ b/packages/VpnDialogs/res/values-sk/strings.xml @@ -17,7 +17,7 @@ <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2"> <string name="prompt" msgid="3183836924226407828">"Žiadosť o pripojenie"</string> - <string name="warning" msgid="809658604548412033">"Aplikácia <xliff:g id="APP">%s</xliff:g> žiada o nastavenie pripojenia VPN, pomocou ktorého bude môcť sledovať návštevnosť siete. Povoľte iba v prípade, že zdroju dôverujete. <br /> <br /> <img src=vpn_icon /> – keď je sieť VPN aktívna, zobrazuje sa v hornej časti obrazovky."</string> + <string name="warning" msgid="809658604548412033">"<xliff:g id="APP">%s</xliff:g> žiada o nastavenie pripojenia VPN, pomocou ktorého bude môcť sledovať sieťové prenosy. Povoľte iba v prípade, že zdroju dôverujete. <br /> <br /> <img src=vpn_icon /> sa zobrazuje v hornej časti obrazovky, keď je pripojenie VPN aktívne."</string> <string name="legacy_title" msgid="192936250066580964">"Sieť VPN je pripojená"</string> <string name="configure" msgid="4905518375574791375">"Konfigurovať"</string> <string name="disconnect" msgid="971412338304200056">"Odpojiť"</string> diff --git a/rs/java/android/renderscript/Allocation.java b/rs/java/android/renderscript/Allocation.java index 70a5821..bea138e 100644 --- a/rs/java/android/renderscript/Allocation.java +++ b/rs/java/android/renderscript/Allocation.java @@ -1052,6 +1052,7 @@ public class Allocation extends BaseObj { mSelectedLOD, mSelectedFace.mID, count, 1, data.getID(mRS), dataOff, 0, data.mSelectedLOD, data.mSelectedFace.mID); + Trace.traceEnd(RenderScript.TRACE_TAG); } private void validate2DRange(int xoff, int yoff, int w, int h) { @@ -1213,19 +1214,22 @@ public class Allocation extends BaseObj { * @param data the Bitmap to be copied */ public void copy2DRangeFrom(int xoff, int yoff, Bitmap data) { - Trace.traceBegin(RenderScript.TRACE_TAG, "copy2DRangeFrom"); - mRS.validate(); - if (data.getConfig() == null) { - Bitmap newBitmap = Bitmap.createBitmap(data.getWidth(), data.getHeight(), Bitmap.Config.ARGB_8888); - Canvas c = new Canvas(newBitmap); - c.drawBitmap(data, 0, 0, null); - copy2DRangeFrom(xoff, yoff, newBitmap); - return; + try { + Trace.traceBegin(RenderScript.TRACE_TAG, "copy2DRangeFrom"); + mRS.validate(); + if (data.getConfig() == null) { + Bitmap newBitmap = Bitmap.createBitmap(data.getWidth(), data.getHeight(), Bitmap.Config.ARGB_8888); + Canvas c = new Canvas(newBitmap); + c.drawBitmap(data, 0, 0, null); + copy2DRangeFrom(xoff, yoff, newBitmap); + return; + } + validateBitmapFormat(data); + validate2DRange(xoff, yoff, data.getWidth(), data.getHeight()); + mRS.nAllocationData2D(getIDSafe(), xoff, yoff, mSelectedLOD, mSelectedFace.mID, data); + } finally { + Trace.traceEnd(RenderScript.TRACE_TAG); } - validateBitmapFormat(data); - validate2DRange(xoff, yoff, data.getWidth(), data.getHeight()); - mRS.nAllocationData2D(getIDSafe(), xoff, yoff, mSelectedLOD, mSelectedFace.mID, data); - Trace.traceEnd(RenderScript.TRACE_TAG); } private void validate3DRange(int xoff, int yoff, int zoff, int w, int h, int d) { diff --git a/services/backup/java/com/android/server/backup/KeyValueBackupJob.java b/services/backup/java/com/android/server/backup/KeyValueBackupJob.java index a4489c1..e3ff5ce 100644 --- a/services/backup/java/com/android/server/backup/KeyValueBackupJob.java +++ b/services/backup/java/com/android/server/backup/KeyValueBackupJob.java @@ -38,16 +38,17 @@ public class KeyValueBackupJob extends JobService { new ComponentName("android", KeyValueBackupJob.class.getName()); private static final int JOB_ID = 0x5039; - // Once someone asks for a backup, this is how long we hold off, batching - // up additional requests, before running the actual backup pass. Privileged - // callers can always trigger an immediate pass via BackupManager.backupNow(). + // Minimum wait time between backups even while we're on charger static final long BATCH_INTERVAL = 4 * AlarmManager.INTERVAL_HOUR; // Random variation in next-backup scheduling time to avoid server load spikes private static final int FUZZ_MILLIS = 10 * 60 * 1000; - // Don't let the job scheduler defer forever; give it a (lenient) deadline - private static final long MAX_DEFERRAL = 1 * AlarmManager.INTERVAL_HOUR; + // Once someone asks for a backup, this is how long we hold off until we find + // an on-charging opportunity. If we hit this max latency we will run the operation + // regardless. Privileged callers can always trigger an immediate pass via + // BackupManager.backupNow(). + private static final long MAX_DEFERRAL = AlarmManager.INTERVAL_DAY; private static boolean sScheduled = false; private static long sNextScheduled = 0; @@ -70,7 +71,8 @@ public class KeyValueBackupJob extends JobService { JobInfo.Builder builder = new JobInfo.Builder(JOB_ID, sKeyValueJobService) .setMinimumLatency(delay) .setRequiredNetworkType(JobInfo.NETWORK_TYPE_ANY) - .setOverrideDeadline(delay + MAX_DEFERRAL); + .setRequiresCharging(true) + .setOverrideDeadline(MAX_DEFERRAL); js.schedule(builder.build()); sNextScheduled = System.currentTimeMillis() + delay; diff --git a/services/core/java/com/android/server/AlarmManagerService.java b/services/core/java/com/android/server/AlarmManagerService.java index ad671c6..742f570 100644 --- a/services/core/java/com/android/server/AlarmManagerService.java +++ b/services/core/java/com/android/server/AlarmManagerService.java @@ -64,6 +64,7 @@ import java.util.LinkedList; import java.util.Locale; import java.util.Random; import java.util.TimeZone; +import java.util.TreeSet; import static android.app.AlarmManager.RTC_WAKEUP; import static android.app.AlarmManager.RTC; @@ -1055,6 +1056,28 @@ class AlarmManagerService extends SystemService { pw.print(" = "); pw.println(sdf.format(new Date(nextWakeupRTC))); pw.print("Num time change events: "); pw.println(mNumTimeChanged); + pw.println(); + pw.println("Next alarm clock information: "); + final TreeSet<Integer> users = new TreeSet<>(); + for (int i = 0; i < mNextAlarmClockForUser.size(); i++) { + users.add(mNextAlarmClockForUser.keyAt(i)); + } + for (int i = 0; i < mPendingSendNextAlarmClockChangedForUser.size(); i++) { + users.add(mPendingSendNextAlarmClockChangedForUser.keyAt(i)); + } + for (int user : users) { + final AlarmManager.AlarmClockInfo next = mNextAlarmClockForUser.get(user); + final long time = next != null ? next.getTriggerTime() : 0; + final boolean pendingSend = mPendingSendNextAlarmClockChangedForUser.get(user); + pw.print(" user:"); pw.print(user); + pw.print(" pendingSend:"); pw.print(pendingSend); + pw.print(" time:"); pw.print(time); + if (time > 0) { + pw.print(" = "); pw.print(sdf.format(new Date(time))); + pw.print(" = "); TimeUtils.formatDuration(time, nowRTC, pw); + } + pw.println(); + } if (mAlarmBatches.size() > 0) { pw.println(); pw.print("Pending alarm batches: "); @@ -1706,8 +1729,8 @@ class AlarmManagerService extends SystemService { */ public static class IncreasingTimeOrder implements Comparator<Alarm> { public int compare(Alarm a1, Alarm a2) { - long when1 = a1.when; - long when2 = a2.when; + long when1 = a1.whenElapsed; + long when2 = a2.whenElapsed; if (when1 - when2 > 0) { return 1; } diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index edca4b8..e544112 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -4603,27 +4603,36 @@ public class ConnectivityService extends IConnectivityManager.Stub @Override public void factoryReset() { enforceConnectivityInternalPermission(); + + if (mUserManager.hasUserRestriction(UserManager.DISALLOW_NETWORK_RESET)) { + return; + } + final int userId = UserHandle.getCallingUserId(); // Turn airplane mode off setAirplaneMode(false); - // Untether - for (String tether : getTetheredIfaces()) { - untether(tether); + if (!mUserManager.hasUserRestriction(UserManager.DISALLOW_CONFIG_TETHERING)) { + // Untether + for (String tether : getTetheredIfaces()) { + untether(tether); + } } - // Turn VPN off - VpnConfig vpnConfig = getVpnConfig(userId); - if (vpnConfig != null) { - if (vpnConfig.legacy) { - prepareVpn(VpnConfig.LEGACY_VPN, VpnConfig.LEGACY_VPN, userId); - } else { - // Prevent this app (packagename = vpnConfig.user) from initiating VPN connections - // in the future without user intervention. - setVpnPackageAuthorization(vpnConfig.user, userId, false); + if (!mUserManager.hasUserRestriction(UserManager.DISALLOW_CONFIG_VPN)) { + // Turn VPN off + VpnConfig vpnConfig = getVpnConfig(userId); + if (vpnConfig != null) { + if (vpnConfig.legacy) { + prepareVpn(VpnConfig.LEGACY_VPN, VpnConfig.LEGACY_VPN, userId); + } else { + // Prevent this app (packagename = vpnConfig.user) from initiating VPN connections + // in the future without user intervention. + setVpnPackageAuthorization(vpnConfig.user, userId, false); - prepareVpn(vpnConfig.user, VpnConfig.LEGACY_VPN, userId); + prepareVpn(vpnConfig.user, VpnConfig.LEGACY_VPN, userId); + } } } } diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index 2b6f8e1..81b8457 100644 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -39,6 +39,8 @@ import static org.xmlpull.v1.XmlPullParser.START_TAG; import android.Manifest; import android.app.AppOpsManager; import android.app.ApplicationThreadNative; +import android.app.AssistContent; +import android.app.AssistStructure; import android.app.IActivityContainer; import android.app.IActivityContainerCallback; import android.app.IAppTask; @@ -55,6 +57,7 @@ import android.graphics.Rect; import android.os.BatteryStats; import android.os.PersistableBundle; import android.os.PowerManager; +import android.os.Trace; import android.os.TransactionTooLargeException; import android.os.WorkSource; import android.os.storage.IMountService; @@ -359,6 +362,10 @@ public final class ActivityManagerService extends ActivityManagerNative // to respond with the result. static final int PENDING_ASSIST_EXTRAS_TIMEOUT = 500; + // How long top wait when going through the modern assist (which doesn't need to block + // on getting this result before starting to launch its UI). + static final int PENDING_ASSIST_EXTRAS_LONG_TIMEOUT = 2000; + // Maximum number of persisted Uri grants a package is allowed static final int MAX_PERSISTED_URI_GRANTS = 128; @@ -476,6 +483,8 @@ public final class ActivityManagerService extends ActivityManagerNative public final int userHandle; public boolean haveResult = false; public Bundle result = null; + public AssistStructure structure = null; + public AssistContent content = null; public PendingAssistExtras(ActivityRecord _activity, Bundle _extras, Intent _intent, String _hint, IResultReceiver _receiver, int _userHandle) { activity = _activity; @@ -3284,12 +3293,15 @@ public final class ActivityManagerService extends ActivityManagerNative // the PID of the new process, or else throw a RuntimeException. boolean isActivityProcess = (entryPoint == null); if (entryPoint == null) entryPoint = "android.app.ActivityThread"; + Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "Start proc: " + + app.processName); checkTime(startTime, "startProcess: asking zygote to start proc"); Process.ProcessStartResult startResult = Process.start(entryPoint, app.processName, uid, uid, gids, debugFlags, mountExternal, app.info.targetSdkVersion, app.info.seinfo, requiredAbi, instructionSet, app.info.dataDir, entryPointArgs); checkTime(startTime, "startProcess: returned from zygote!"); + Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER); if (app.isolated) { mBatteryStatsService.addIsolatedUid(app.uid, app.info.uid); @@ -8525,13 +8537,16 @@ public final class ActivityManagerService extends ActivityManagerNative return; } + // Find any running services associated with this app and stop if needed. + mServices.cleanUpRemovedTaskLocked(tr, component, new Intent(tr.getBaseIntent())); + if (!killProcess) { return; } // Determine if the process(es) for this task should be killed. final String pkg = component.getPackageName(); - ArrayList<ProcessRecord> procsToKill = new ArrayList<ProcessRecord>(); + ArrayList<ProcessRecord> procsToKill = new ArrayList<>(); ArrayMap<String, SparseArray<ProcessRecord>> pmap = mProcessNames.getMap(); for (int i = 0; i < pmap.size(); i++) { @@ -8560,20 +8575,24 @@ public final class ActivityManagerService extends ActivityManagerNative } } + if (proc.foregroundServices) { + // Don't kill process(es) with foreground service. + return; + } + // Add process to kill list. procsToKill.add(proc); } } - // Find any running services associated with this app and stop if needed. - mServices.cleanUpRemovedTaskLocked(tr, component, new Intent(tr.getBaseIntent())); - // Kill the running processes. for (int i = 0; i < procsToKill.size(); i++) { ProcessRecord pr = procsToKill.get(i); - if (pr.setSchedGroup == Process.THREAD_GROUP_BG_NONINTERACTIVE) { + if (pr.setSchedGroup == Process.THREAD_GROUP_BG_NONINTERACTIVE + && pr.curReceiver == null) { pr.kill("remove task", true); } else { + // We delay killing processes that are not in the background or running a receiver. pr.waitingToKill = "remove task"; } } @@ -9009,11 +9028,22 @@ public final class ActivityManagerService extends ActivityManagerNative // Our work here is done. return; } + + final int callingUid = Binder.getCallingUid(); + final int lockTaskUid = lockTask.mLockTaskUid; // Ensure the same caller for startLockTaskMode and stopLockTaskMode. + // It is possible lockTaskMode was started by the system process because + // android:lockTaskMode is set to a locking value in the application manifest instead of + // the app calling startLockTaskMode. In this case {@link TaskRecord.mLockTaskUid} will + // be 0, so we compare the callingUid to the {@link TaskRecord.effectiveUid} instead. if (getLockTaskModeState() == ActivityManager.LOCK_TASK_MODE_LOCKED && - Binder.getCallingUid() != lockTask.mLockTaskUid) { - throw new SecurityException("Invalid uid, expected " + lockTask.mLockTaskUid); + callingUid != lockTaskUid + && (lockTaskUid != 0 + || (lockTaskUid == 0 && callingUid != lockTask.effectiveUid))) { + throw new SecurityException("Invalid uid, expected " + lockTaskUid + + " callingUid=" + callingUid + " effectiveUid=" + lockTask.effectiveUid); } + long ident = Binder.clearCallingIdentity(); try { Log.d(TAG, "stopLockTaskMode"); @@ -10613,7 +10643,7 @@ public final class ActivityManagerService extends ActivityManagerNative @Override public Bundle getAssistContextExtras(int requestType) { PendingAssistExtras pae = enqueueAssistContext(requestType, null, null, null, - UserHandle.getCallingUserId()); + UserHandle.getCallingUserId(), PENDING_ASSIST_EXTRAS_TIMEOUT); if (pae == null) { return null; } @@ -10635,11 +10665,12 @@ public final class ActivityManagerService extends ActivityManagerNative @Override public void requestAssistContextExtras(int requestType, IResultReceiver receiver) { - enqueueAssistContext(requestType, null, null, receiver, UserHandle.getCallingUserId()); + enqueueAssistContext(requestType, null, null, receiver, UserHandle.getCallingUserId(), + PENDING_ASSIST_EXTRAS_LONG_TIMEOUT); } private PendingAssistExtras enqueueAssistContext(int requestType, Intent intent, String hint, - IResultReceiver receiver, int userHandle) { + IResultReceiver receiver, int userHandle, long timeout) { enforceCallingPermission(android.Manifest.permission.GET_TOP_ACTIVITY_INFO, "enqueueAssistContext()"); synchronized (this) { @@ -10665,7 +10696,7 @@ public final class ActivityManagerService extends ActivityManagerNative activity.app.thread.requestAssistContextExtras(activity.appToken, pae, requestType); mPendingAssistExtras.add(pae); - mHandler.postDelayed(pae, PENDING_ASSIST_EXTRAS_TIMEOUT); + mHandler.postDelayed(pae, timeout); } catch (RemoteException e) { Slog.w(TAG, "getAssistContextExtras failed: crash calling " + activity); return null; @@ -10694,10 +10725,13 @@ public final class ActivityManagerService extends ActivityManagerNative } } - public void reportAssistContextExtras(IBinder token, Bundle extras) { + public void reportAssistContextExtras(IBinder token, Bundle extras, AssistStructure structure, + AssistContent content) { PendingAssistExtras pae = (PendingAssistExtras)token; synchronized (pae) { pae.result = extras; + pae.structure = structure; + pae.content = content; pae.haveResult = true; pae.notifyAll(); if (pae.intent == null && pae.receiver == null) { @@ -10717,8 +10751,12 @@ public final class ActivityManagerService extends ActivityManagerNative } if (pae.receiver != null) { // Caller wants result sent back to them. + Bundle topBundle = new Bundle(); + topBundle.putBundle("data", pae.extras); + topBundle.putParcelable("structure", pae.structure); + topBundle.putParcelable("content", pae.content); try { - pae.receiver.send(0, pae.extras); + pae.receiver.send(0, topBundle); } catch (RemoteException e) { } return; @@ -10737,7 +10775,8 @@ public final class ActivityManagerService extends ActivityManagerNative } public boolean launchAssistIntent(Intent intent, int requestType, String hint, int userHandle) { - return enqueueAssistContext(requestType, intent, hint, null, userHandle) != null; + return enqueueAssistContext(requestType, intent, hint, null, userHandle, + PENDING_ASSIST_EXTRAS_TIMEOUT) != null; } public void registerProcessObserver(IProcessObserver observer) { @@ -18323,8 +18362,7 @@ public final class ActivityManagerService extends ActivityManagerNative } } - private final boolean applyOomAdjLocked(ProcessRecord app, - ProcessRecord TOP_APP, boolean doingAll, long now) { + private final boolean applyOomAdjLocked(ProcessRecord app, boolean doingAll, long now) { boolean success = true; if (app.curRawAdj != app.setRawAdj) { @@ -18346,8 +18384,8 @@ public final class ActivityManagerService extends ActivityManagerNative if (DEBUG_SWITCH || DEBUG_OOM_ADJ) Slog.v(TAG_OOM_ADJ, "Setting process group of " + app.processName + " to " + app.curSchedGroup); - if (app.waitingToKill != null && - app.setSchedGroup == Process.THREAD_GROUP_BG_NONINTERACTIVE) { + if (app.waitingToKill != null && app.curReceiver == null + && app.setSchedGroup == Process.THREAD_GROUP_BG_NONINTERACTIVE) { app.kill(app.waitingToKill, true); success = false; } else { @@ -18577,7 +18615,7 @@ public final class ActivityManagerService extends ActivityManagerNative computeOomAdjLocked(app, cachedAdj, TOP_APP, doingAll, now); - return applyOomAdjLocked(app, TOP_APP, doingAll, now); + return applyOomAdjLocked(app, doingAll, now); } final void updateProcessForegroundLocked(ProcessRecord proc, boolean isForeground, @@ -18795,7 +18833,7 @@ public final class ActivityManagerService extends ActivityManagerNative } } - applyOomAdjLocked(app, TOP_APP, true, now); + applyOomAdjLocked(app, true, now); // Count the number of process types. switch (app.curProcState) { diff --git a/services/core/java/com/android/server/location/LocationBasedCountryDetector.java b/services/core/java/com/android/server/location/LocationBasedCountryDetector.java index 03db621..6527899 100644 --- a/services/core/java/com/android/server/location/LocationBasedCountryDetector.java +++ b/services/core/java/com/android/server/location/LocationBasedCountryDetector.java @@ -23,6 +23,7 @@ import android.location.Geocoder; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; +import android.os.Binder; import android.os.Bundle; import android.util.Slog; @@ -95,33 +96,48 @@ public class LocationBasedCountryDetector extends CountryDetectorBase { * Register a listener with a provider name */ protected void registerListener(String provider, LocationListener listener) { - mLocationManager.requestLocationUpdates(provider, 0, 0, listener); + final long bid = Binder.clearCallingIdentity(); + try { + mLocationManager.requestLocationUpdates(provider, 0, 0, listener); + } finally { + Binder.restoreCallingIdentity(bid); + } } /** * Unregister an already registered listener */ protected void unregisterListener(LocationListener listener) { - mLocationManager.removeUpdates(listener); + final long bid = Binder.clearCallingIdentity(); + try { + mLocationManager.removeUpdates(listener); + } finally { + Binder.restoreCallingIdentity(bid); + } } /** * @return the last known location from all providers */ protected Location getLastKnownLocation() { - List<String> providers = mLocationManager.getAllProviders(); - Location bestLocation = null; - for (String provider : providers) { - Location lastKnownLocation = mLocationManager.getLastKnownLocation(provider); - if (lastKnownLocation != null) { - if (bestLocation == null || - bestLocation.getElapsedRealtimeNanos() < - lastKnownLocation.getElapsedRealtimeNanos()) { - bestLocation = lastKnownLocation; + final long bid = Binder.clearCallingIdentity(); + try { + List<String> providers = mLocationManager.getAllProviders(); + Location bestLocation = null; + for (String provider : providers) { + Location lastKnownLocation = mLocationManager.getLastKnownLocation(provider); + if (lastKnownLocation != null) { + if (bestLocation == null || + bestLocation.getElapsedRealtimeNanos() < + lastKnownLocation.getElapsedRealtimeNanos()) { + bestLocation = lastKnownLocation; + } } } + return bestLocation; + } finally { + Binder.restoreCallingIdentity(bid); } - return bestLocation; } /** diff --git a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java index 1a79568..792d4ba 100644 --- a/services/core/java/com/android/server/net/NetworkPolicyManagerService.java +++ b/services/core/java/com/android/server/net/NetworkPolicyManagerService.java @@ -253,6 +253,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub private final INetworkManagementService mNetworkManager; private UsageStatsManagerInternal mUsageStats; private final TrustedTime mTime; + private final UserManager mUserManager; private IConnectivityManager mConnManager; private INotificationManager mNotifManager; @@ -336,6 +337,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub mDeviceIdleController = IDeviceIdleController.Stub.asInterface(ServiceManager.getService( DeviceIdleController.SERVICE_NAME)); mTime = checkNotNull(time, "missing TrustedTime"); + mUserManager = (UserManager) mContext.getSystemService(Context.USER_SERVICE); HandlerThread thread = new HandlerThread(TAG); thread.start(); @@ -1986,7 +1988,6 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub */ void updateRulesForGlobalChangeLocked(boolean restrictedNetworksChanged) { final PackageManager pm = mContext.getPackageManager(); - final UserManager um = (UserManager) mContext.getSystemService(Context.USER_SERVICE); // If we are in restrict power mode, we allow all important apps // to have data access. Otherwise, we restrict data access to only @@ -1996,7 +1997,7 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub : ActivityManager.PROCESS_STATE_TOP; // update rules for all installed applications - final List<UserInfo> users = um.getUsers(); + final List<UserInfo> users = mUserManager.getUsers(); final List<ApplicationInfo> apps = pm.getInstalledApplications( PackageManager.GET_UNINSTALLED_PACKAGES | PackageManager.GET_DISABLED_COMPONENTS); @@ -2353,6 +2354,10 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub public void factoryReset(String subscriber) { mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG); + if (mUserManager.hasUserRestriction(UserManager.DISALLOW_NETWORK_RESET)) { + return; + } + // Turn mobile data limit off NetworkPolicy[] policies = getNetworkPolicies(mContext.getOpPackageName()); NetworkTemplate template = NetworkTemplate.buildTemplateMobileAll(subscriber); @@ -2368,9 +2373,11 @@ public class NetworkPolicyManagerService extends INetworkPolicyManager.Stub // Turn restrict background data off setRestrictBackground(false); - // Remove app's "restrict background data" flag - for (int uid : getUidsWithPolicy(POLICY_REJECT_METERED_BACKGROUND)) { - setUidPolicy(uid, POLICY_NONE); + if (!mUserManager.hasUserRestriction(UserManager.DISALLOW_APPS_CONTROL)) { + // Remove app's "restrict background data" flag + for (int uid : getUidsWithPolicy(POLICY_REJECT_METERED_BACKGROUND)) { + setUidPolicy(uid, POLICY_NONE); + } } } } diff --git a/services/core/java/com/android/server/notification/CalendarTracker.java b/services/core/java/com/android/server/notification/CalendarTracker.java index de321fe..783b16f 100644 --- a/services/core/java/com/android/server/notification/CalendarTracker.java +++ b/services/core/java/com/android/server/notification/CalendarTracker.java @@ -16,8 +16,6 @@ package com.android.server.notification; -import static android.service.notification.ZenModeConfig.EventInfo.ANY_CALENDAR; - import android.content.ContentResolver; import android.content.ContentUris; import android.content.Context; @@ -183,7 +181,7 @@ public class CalendarTracker { calendarPrimary)); final boolean meetsTime = time >= begin && time < end; final boolean meetsCalendar = calendarVisible && calendarPrimary - && (filter.calendar == ANY_CALENDAR || filter.calendar == calendarId); + && (filter.calendar == null || Objects.equals(filter.calendar, owner)); final boolean meetsAvailability = availability != Instances.AVAILABILITY_FREE; if (meetsCalendar && meetsAvailability) { if (DEBUG) Log.d(TAG, " MEETS CALENDAR & AVAILABILITY"); diff --git a/services/core/java/com/android/server/notification/ConditionProviders.java b/services/core/java/com/android/server/notification/ConditionProviders.java index 33c666a..40956c1 100644 --- a/services/core/java/com/android/server/notification/ConditionProviders.java +++ b/services/core/java/com/android/server/notification/ConditionProviders.java @@ -262,6 +262,14 @@ public class ConditionProviders extends ManagedServices { return null; } + public Condition findCondition(ComponentName component, Uri conditionId) { + if (component == null || conditionId == null) return null; + synchronized (mMutex) { + final ConditionRecord r = getRecordLocked(conditionId, component, false /*create*/); + return r != null ? r.condition : null; + } + } + public void ensureRecordExists(ComponentName component, Uri conditionId, IConditionProvider provider) { // constructed by convention, make sure the record exists... diff --git a/services/core/java/com/android/server/notification/EventConditionProvider.java b/services/core/java/com/android/server/notification/EventConditionProvider.java index 46cc47b..88ef366 100644 --- a/services/core/java/com/android/server/notification/EventConditionProvider.java +++ b/services/core/java/com/android/server/notification/EventConditionProvider.java @@ -211,7 +211,7 @@ public class EventConditionProvider extends SystemConditionProviderService { continue; } CheckEventResult result = null; - if (event.calendar == EventInfo.ANY_CALENDAR) { + if (event.calendar == null) { // any calendar // event could exist on any tracker for (int i = 0; i < mTrackers.size(); i++) { final CalendarTracker tracker = mTrackers.valueAt(i); diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java index c8ab10a..2d15d13 100644 --- a/services/core/java/com/android/server/notification/NotificationManagerService.java +++ b/services/core/java/com/android/server/notification/NotificationManagerService.java @@ -36,6 +36,7 @@ import android.app.NotificationManager; import android.app.NotificationManager.Policy; import android.app.PendingIntent; import android.app.StatusBarManager; +import android.app.backup.BackupManager; import android.app.usage.UsageEvents; import android.app.usage.UsageStatsManagerInternal; import android.content.BroadcastReceiver; @@ -113,12 +114,16 @@ import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; import org.xmlpull.v1.XmlSerializer; +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileDescriptor; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; import java.io.PrintWriter; import java.nio.charset.StandardCharsets; import java.util.ArrayDeque; @@ -126,7 +131,6 @@ import java.util.ArrayList; import java.util.HashSet; import java.util.Iterator; import java.util.Map.Entry; -import java.util.NoSuchElementException; import java.util.Objects; /** {@hide} */ @@ -244,15 +248,18 @@ public class NotificationManagerService extends SystemService { private Archive mArchive; - // Notification control database. For now just contains disabled packages. + // Persistent storage for notification policy private AtomicFile mPolicyFile; + + // Temporary holder for <blocked-packages> config coming from old policy files. private HashSet<String> mBlockedPackages = new HashSet<String>(); private static final int DB_VERSION = 1; - private static final String TAG_BODY = "notification-policy"; + private static final String TAG_NOTIFICATION_POLICY = "notification-policy"; private static final String ATTR_VERSION = "version"; + // Obsolete: converted if present, but not resaved to disk. private static final String TAG_BLOCKED_PKGS = "blocked-packages"; private static final String TAG_PACKAGE = "package"; private static final String ATTR_NAME = "name"; @@ -310,53 +317,9 @@ public class NotificationManagerService extends SystemService { mBuffer.addLast(nr.cloneLight()); } - public void clear() { - mBuffer.clear(); - } - public Iterator<StatusBarNotification> descendingIterator() { return mBuffer.descendingIterator(); } - public Iterator<StatusBarNotification> ascendingIterator() { - return mBuffer.iterator(); - } - public Iterator<StatusBarNotification> filter( - final Iterator<StatusBarNotification> iter, final String pkg, final int userId) { - return new Iterator<StatusBarNotification>() { - StatusBarNotification mNext = findNext(); - - private StatusBarNotification findNext() { - while (iter.hasNext()) { - StatusBarNotification nr = iter.next(); - if ((pkg == null || nr.getPackageName() == pkg) - && (userId == UserHandle.USER_ALL || nr.getUserId() == userId)) { - return nr; - } - } - return null; - } - - @Override - public boolean hasNext() { - return mNext == null; - } - - @Override - public StatusBarNotification next() { - StatusBarNotification next = mNext; - if (next == null) { - throw new NoSuchElementException(); - } - mNext = findNext(); - return next; - } - - @Override - public void remove() { - iter.remove(); - } - }; - } public StatusBarNotification[] getArray(int count) { if (count == 0) count = mBufferSize; @@ -370,54 +333,48 @@ public class NotificationManagerService extends SystemService { return a; } - public StatusBarNotification[] getArray(int count, String pkg, int userId) { - if (count == 0) count = mBufferSize; - final StatusBarNotification[] a - = new StatusBarNotification[Math.min(count, mBuffer.size())]; - Iterator<StatusBarNotification> iter = filter(descendingIterator(), pkg, userId); - int i=0; - while (iter.hasNext() && i < count) { - a[i++] = iter.next(); + } + + private void readPolicyXml(InputStream stream, boolean forRestore) + throws XmlPullParserException, NumberFormatException, IOException { + final XmlPullParser parser = Xml.newPullParser(); + parser.setInput(stream, StandardCharsets.UTF_8.name()); + + int type; + String tag; + int version = DB_VERSION; + while ((type = parser.next()) != END_DOCUMENT) { + tag = parser.getName(); + if (type == START_TAG) { + if (TAG_NOTIFICATION_POLICY.equals(tag)) { + version = Integer.parseInt( + parser.getAttributeValue(null, ATTR_VERSION)); + } else if (TAG_BLOCKED_PKGS.equals(tag)) { + while ((type = parser.next()) != END_DOCUMENT) { + tag = parser.getName(); + if (TAG_PACKAGE.equals(tag)) { + mBlockedPackages.add( + parser.getAttributeValue(null, ATTR_NAME)); + } else if (TAG_BLOCKED_PKGS.equals(tag) && type == END_TAG) { + break; + } + } + } } - return a; + mZenModeHelper.readXml(parser, forRestore); + mRankingHelper.readXml(parser, forRestore); } - } private void loadPolicyFile() { + if (DBG) Slog.d(TAG, "loadPolicyFile"); synchronized(mPolicyFile) { mBlockedPackages.clear(); FileInputStream infile = null; try { infile = mPolicyFile.openRead(); - final XmlPullParser parser = Xml.newPullParser(); - parser.setInput(infile, StandardCharsets.UTF_8.name()); - - int type; - String tag; - int version = DB_VERSION; - while ((type = parser.next()) != END_DOCUMENT) { - tag = parser.getName(); - if (type == START_TAG) { - if (TAG_BODY.equals(tag)) { - version = Integer.parseInt( - parser.getAttributeValue(null, ATTR_VERSION)); - } else if (TAG_BLOCKED_PKGS.equals(tag)) { - while ((type = parser.next()) != END_DOCUMENT) { - tag = parser.getName(); - if (TAG_PACKAGE.equals(tag)) { - mBlockedPackages.add( - parser.getAttributeValue(null, ATTR_NAME)); - } else if (TAG_BLOCKED_PKGS.equals(tag) && type == END_TAG) { - break; - } - } - } - } - mZenModeHelper.readXml(parser); - mRankingHelper.readXml(parser); - } + readPolicyXml(infile, false /*forRestore*/); } catch (FileNotFoundException e) { // No data yet } catch (IOException e) { @@ -438,7 +395,7 @@ public class NotificationManagerService extends SystemService { } private void handleSavePolicyFile() { - Slog.d(TAG, "handleSavePolicyFile"); + if (DBG) Slog.d(TAG, "handleSavePolicyFile"); synchronized (mPolicyFile) { final FileOutputStream stream; try { @@ -449,21 +406,26 @@ public class NotificationManagerService extends SystemService { } try { - final XmlSerializer out = new FastXmlSerializer(); - out.setOutput(stream, StandardCharsets.UTF_8.name()); - out.startDocument(null, true); - out.startTag(null, TAG_BODY); - out.attribute(null, ATTR_VERSION, Integer.toString(DB_VERSION)); - mZenModeHelper.writeXml(out); - mRankingHelper.writeXml(out); - out.endTag(null, TAG_BODY); - out.endDocument(); + writePolicyXml(stream, false /*forBackup*/); mPolicyFile.finishWrite(stream); } catch (IOException e) { Slog.w(TAG, "Failed to save policy file, restoring backup", e); mPolicyFile.failWrite(stream); } } + BackupManager.dataChanged(getContext().getPackageName()); + } + + private void writePolicyXml(OutputStream stream, boolean forBackup) throws IOException { + final XmlSerializer out = new FastXmlSerializer(); + out.setOutput(stream, StandardCharsets.UTF_8.name()); + out.startDocument(null, true); + out.startTag(null, TAG_NOTIFICATION_POLICY); + out.attribute(null, ATTR_VERSION, Integer.toString(DB_VERSION)); + mZenModeHelper.writeXml(out, forBackup); + mRankingHelper.writeXml(out, forBackup); + out.endTag(null, TAG_NOTIFICATION_POLICY); + out.endDocument(); } /** Use this when you actually want to post a notification or toast. @@ -775,6 +737,7 @@ public class NotificationManagerService extends SystemService { } mListeners.onPackagesChanged(queryReplace, pkgList); mConditionProviders.onPackagesChanged(queryReplace, pkgList); + mRankingHelper.onPackagesChanged(queryReplace, pkgList); } } }; @@ -814,8 +777,12 @@ public class NotificationManagerService extends SystemService { // Refresh managed services mConditionProviders.onUserSwitched(user); mListeners.onUserSwitched(user); + mZenModeHelper.onUserSwitched(user); } else if (action.equals(Intent.ACTION_USER_ADDED)) { mUserProfiles.updateCache(context); + } else if (action.equals(Intent.ACTION_USER_REMOVED)) { + final int user = intent.getIntExtra(Intent.EXTRA_USER_HANDLE, UserHandle.USER_NULL); + mZenModeHelper.onUserRemoved(user); } } }; @@ -976,6 +943,7 @@ public class NotificationManagerService extends SystemService { filter.addAction(Intent.ACTION_USER_STOPPED); filter.addAction(Intent.ACTION_USER_SWITCHED); filter.addAction(Intent.ACTION_USER_ADDED); + filter.addAction(Intent.ACTION_USER_REMOVED); getContext().registerReceiver(mIntentReceiver, filter); IntentFilter pkgFilter = new IntentFilter(); @@ -1426,8 +1394,6 @@ public class NotificationManagerService extends SystemService { @Override public void setNotificationsShownFromListener(INotificationListener token, String[] keys) { - final int callingUid = Binder.getCallingUid(); - final int callingPid = Binder.getCallingPid(); long identity = Binder.clearCallingIdentity(); try { synchronized (mNotificationList) { @@ -1721,13 +1687,40 @@ public class NotificationManagerService extends SystemService { // Backup/restore interface @Override public byte[] getBackupPayload(int user) { - // TODO: build a payload of whatever is appropriate + if (DBG) Slog.d(TAG, "getBackupPayload u=" + user); + if (user != UserHandle.USER_OWNER) { + Slog.w(TAG, "getBackupPayload: cannot backup policy for user " + user); + return null; + } + final ByteArrayOutputStream baos = new ByteArrayOutputStream(); + try { + writePolicyXml(baos, true /*forBackup*/); + return baos.toByteArray(); + } catch (IOException e) { + Slog.w(TAG, "getBackupPayload: error writing payload for user " + user, e); + } return null; } @Override public void applyRestore(byte[] payload, int user) { - // TODO: apply the restored payload as new current state + if (DBG) Slog.d(TAG, "applyRestore u=" + user + " payload=" + + (payload != null ? new String(payload, StandardCharsets.UTF_8) : null)); + if (payload == null) { + Slog.w(TAG, "applyRestore: no payload to restore for user " + user); + return; + } + if (user != UserHandle.USER_OWNER) { + Slog.w(TAG, "applyRestore: cannot restore policy for user " + user); + return; + } + final ByteArrayInputStream bais = new ByteArrayInputStream(payload); + try { + readPolicyXml(bais, true /*forRestore*/); + savePolicyFile(); + } catch (NumberFormatException | XmlPullParserException | IOException e) { + Slog.w(TAG, "applyRestore: error reading payload", e); + } } @Override diff --git a/services/core/java/com/android/server/notification/RankingHelper.java b/services/core/java/com/android/server/notification/RankingHelper.java index 88055ba..e503ac8 100644 --- a/services/core/java/com/android/server/notification/RankingHelper.java +++ b/services/core/java/com/android/server/notification/RankingHelper.java @@ -17,6 +17,8 @@ package com.android.server.notification; import android.app.Notification; import android.content.Context; +import android.content.pm.PackageManager; +import android.content.pm.PackageManager.NameNotFoundException; import android.os.Handler; import android.os.Message; import android.os.UserHandle; @@ -61,6 +63,7 @@ public class RankingHelper implements RankingConfig { private final ArrayMap<String, Record> mRecords = new ArrayMap<>(); // pkg|uid => Record private final ArrayMap<String, NotificationRecord> mProxyByGroupTmp = new ArrayMap<>(); + private final ArrayMap<String, Record> mRestoredWithoutUids = new ArrayMap<>(); // pkg => Record private final Context mContext; private final Handler mRankingHandler; @@ -119,12 +122,15 @@ public class RankingHelper implements RankingConfig { } } - public void readXml(XmlPullParser parser) throws XmlPullParserException, IOException { + public void readXml(XmlPullParser parser, boolean forRestore) + throws XmlPullParserException, IOException { + final PackageManager pm = mContext.getPackageManager(); int type = parser.getEventType(); if (type != XmlPullParser.START_TAG) return; String tag = parser.getName(); if (!TAG_RANKING.equals(tag)) return; mRecords.clear(); + mRestoredWithoutUids.clear(); while ((type = parser.next()) != XmlPullParser.END_DOCUMENT) { tag = parser.getName(); if (type == XmlPullParser.END_TAG && TAG_RANKING.equals(tag)) { @@ -132,21 +138,38 @@ public class RankingHelper implements RankingConfig { } if (type == XmlPullParser.START_TAG) { if (TAG_PACKAGE.equals(tag)) { - int uid = safeInt(parser, ATT_UID, UserHandle.USER_ALL); + int uid = safeInt(parser, ATT_UID, Record.UNKNOWN_UID); int priority = safeInt(parser, ATT_PRIORITY, DEFAULT_PRIORITY); boolean peekable = safeBool(parser, ATT_PEEKABLE, DEFAULT_PEEKABLE); int vis = safeInt(parser, ATT_VISIBILITY, DEFAULT_VISIBILITY); String name = parser.getAttributeValue(null, ATT_NAME); if (!TextUtils.isEmpty(name)) { + if (forRestore) { + try { + uid = pm.getPackageUid(name, UserHandle.USER_OWNER); + } catch (NameNotFoundException e) { + // noop + } + } + Record r = null; + if (uid == Record.UNKNOWN_UID) { + r = mRestoredWithoutUids.get(name); + if (r == null) { + r = new Record(); + mRestoredWithoutUids.put(name, r); + } + } else { + r = getOrCreateRecord(name, uid); + } if (priority != DEFAULT_PRIORITY) { - getOrCreateRecord(name, uid).priority = priority; + r.priority = priority; } if (peekable != DEFAULT_PEEKABLE) { - getOrCreateRecord(name, uid).peekable = peekable; + r.peekable = peekable; } if (vis != DEFAULT_VISIBILITY) { - getOrCreateRecord(name, uid).visibility = vis; + r.visibility = vis; } } } @@ -182,13 +205,16 @@ public class RankingHelper implements RankingConfig { } } - public void writeXml(XmlSerializer out) throws IOException { + public void writeXml(XmlSerializer out, boolean forBackup) throws IOException { out.startTag(null, TAG_RANKING); out.attribute(null, ATT_VERSION, Integer.toString(XML_VERSION)); final int N = mRecords.size(); for (int i = 0; i < N; i++) { final Record r = mRecords.valueAt(i); + if (forBackup && UserHandle.getUserId(r.uid) != UserHandle.USER_OWNER) { + continue; + } out.startTag(null, TAG_PACKAGE); out.attribute(null, ATT_NAME, r.pkg); if (r.priority != DEFAULT_PRIORITY) { @@ -200,7 +226,9 @@ public class RankingHelper implements RankingConfig { if (r.visibility != DEFAULT_VISIBILITY) { out.attribute(null, ATT_VISIBILITY, Integer.toString(r.visibility)); } - out.attribute(null, ATT_UID, Integer.toString(r.uid)); + if (!forBackup) { + out.attribute(null, ATT_UID, Integer.toString(r.uid)); + } out.endTag(null, TAG_PACKAGE); } out.endTag(null, TAG_RANKING); @@ -364,15 +392,21 @@ public class RankingHelper implements RankingConfig { pw.print(prefix); pw.println("per-package config:"); } - final int N = mRecords.size(); + dumpRecords(pw, prefix, filter, mRecords); + dumpRecords(pw, prefix, filter, mRestoredWithoutUids); + } + + private static void dumpRecords(PrintWriter pw, String prefix, + NotificationManagerService.DumpFilter filter, ArrayMap<String, Record> records) { + final int N = records.size(); for (int i = 0; i < N; i++) { - final Record r = mRecords.valueAt(i); + final Record r = records.valueAt(i); if (filter == null || filter.matches(r.pkg)) { pw.print(prefix); pw.print(" "); pw.print(r.pkg); pw.print(" ("); - pw.print(r.uid); + pw.print(r.uid == Record.UNKNOWN_UID ? "UNKNOWN_UID" : Integer.toString(r.uid)); pw.print(')'); if (r.priority != DEFAULT_PRIORITY) { pw.print(" priority="); @@ -391,11 +425,39 @@ public class RankingHelper implements RankingConfig { } } + public void onPackagesChanged(boolean queryReplace, String[] pkgList) { + if (queryReplace || pkgList == null || pkgList.length == 0 + || mRestoredWithoutUids.isEmpty()) { + return; // nothing to do + } + final PackageManager pm = mContext.getPackageManager(); + boolean updated = false; + for (String pkg : pkgList) { + final Record r = mRestoredWithoutUids.get(pkg); + if (r != null) { + try { + r.uid = pm.getPackageUid(r.pkg, UserHandle.USER_OWNER); + mRestoredWithoutUids.remove(pkg); + mRecords.put(recordKey(r.pkg, r.uid), r); + updated = true; + } catch (NameNotFoundException e) { + // noop + } + } + } + if (updated) { + updateConfig(); + } + } + private static class Record { + static int UNKNOWN_UID = UserHandle.USER_NULL; + String pkg; - int uid; + int uid = UNKNOWN_UID; int priority = DEFAULT_PRIORITY; boolean peekable = DEFAULT_PEEKABLE; int visibility = DEFAULT_VISIBILITY; } + } diff --git a/services/core/java/com/android/server/notification/ZenLog.java b/services/core/java/com/android/server/notification/ZenLog.java index 44fbd2d..c45071b 100644 --- a/services/core/java/com/android/server/notification/ZenLog.java +++ b/services/core/java/com/android/server/notification/ZenLog.java @@ -115,8 +115,11 @@ public class ZenLog { append(TYPE_UNSUBSCRIBE, uri + "," + subscribeResult(provider, e)); } - public static void traceConfig(String reason, ZenModeConfig newConfig) { - append(TYPE_CONFIG, reason + "," + (newConfig != null ? newConfig.toString() : null)); + public static void traceConfig(String reason, ZenModeConfig oldConfig, + ZenModeConfig newConfig) { + append(TYPE_CONFIG, reason + + "," + (newConfig != null ? newConfig.toString() : null) + + "," + ZenModeConfig.diff(oldConfig, newConfig)); } public static void traceDisableEffects(NotificationRecord record, String reason) { diff --git a/services/core/java/com/android/server/notification/ZenModeConditions.java b/services/core/java/com/android/server/notification/ZenModeConditions.java index d6b7f2f..b89a654 100644 --- a/services/core/java/com/android/server/notification/ZenModeConditions.java +++ b/services/core/java/com/android/server/notification/ZenModeConditions.java @@ -63,7 +63,7 @@ public class ZenModeConditions implements ConditionProviders.Callback { mConditionProviders.requestConditions(callback, relevance); } - public void evaluateConfig(ZenModeConfig config, boolean processSubscriptione) { + public void evaluateConfig(ZenModeConfig config, boolean processSubscriptions) { if (config == null) return; if (config.manualRule != null && config.manualRule.condition != null && !config.manualRule.isTrueOrUnknown()) { @@ -71,16 +71,16 @@ public class ZenModeConditions implements ConditionProviders.Callback { config.manualRule = null; } final ArraySet<Uri> current = new ArraySet<>(); - evaluateRule(config.manualRule, current, processSubscriptione); + evaluateRule(config.manualRule, current, processSubscriptions); for (ZenRule automaticRule : config.automaticRules.values()) { - evaluateRule(automaticRule, current, processSubscriptione); + evaluateRule(automaticRule, current, processSubscriptions); updateSnoozing(automaticRule); } final int N = mSubscriptions.size(); for (int i = N - 1; i >= 0; i--) { final Uri id = mSubscriptions.keyAt(i); final ComponentName component = mSubscriptions.valueAt(i); - if (processSubscriptione) { + if (processSubscriptions) { if (!current.contains(id)) { mConditionProviders.unsubscribeIfNecessary(component, id); mSubscriptions.removeAt(i); @@ -157,6 +157,11 @@ public class ZenModeConditions implements ConditionProviders.Callback { if (DEBUG) Log.d(TAG, "zmc failed to subscribe"); } } + if (rule.condition == null) { + rule.condition = mConditionProviders.findCondition(rule.component, rule.conditionId); + if (rule.condition != null && DEBUG) Log.d(TAG, "Found existing condition for: " + + rule.conditionId); + } } private boolean isAutomaticActive(ComponentName component) { diff --git a/services/core/java/com/android/server/notification/ZenModeHelper.java b/services/core/java/com/android/server/notification/ZenModeHelper.java index 1860673..eafcae4 100644 --- a/services/core/java/com/android/server/notification/ZenModeHelper.java +++ b/services/core/java/com/android/server/notification/ZenModeHelper.java @@ -37,6 +37,7 @@ import android.os.Bundle; import android.os.Handler; import android.os.Looper; import android.os.Message; +import android.os.SystemClock; import android.os.UserHandle; import android.provider.Settings.Global; import android.service.notification.IConditionListener; @@ -46,7 +47,9 @@ import android.service.notification.ZenModeConfig.ScheduleInfo; import android.service.notification.ZenModeConfig.ZenRule; import android.util.ArraySet; import android.util.Log; +import android.util.SparseArray; +import com.android.internal.logging.MetricsLogger; import com.android.internal.R; import com.android.server.LocalServices; @@ -77,8 +80,11 @@ public class ZenModeHelper { private final ZenModeFiltering mFiltering; private final RingerModeDelegate mRingerModeDelegate = new RingerModeDelegate(); private final ZenModeConditions mConditions; + private final SparseArray<ZenModeConfig> mConfigs = new SparseArray<>(); + private final Metrics mMetrics = new Metrics(); private int mZenMode; + private int mUser = UserHandle.USER_OWNER; private ZenModeConfig mConfig; private AudioManagerInternal mAudioManager; private int mPreviousRingerMode = -1; @@ -87,11 +93,13 @@ public class ZenModeHelper { public ZenModeHelper(Context context, Looper looper, ConditionProviders conditionProviders) { mContext = context; mHandler = new H(looper); + addCallback(mMetrics); mAppOps = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE); mDefaultConfig = readDefaultConfig(context.getResources()); appendDefaultScheduleRules(mDefaultConfig); appendDefaultEventRules(mDefaultConfig); mConfig = mDefaultConfig; + mConfigs.put(UserHandle.USER_OWNER, mConfig); mSettingsObserver = new SettingsObserver(mHandler); mSettingsObserver.observe(); mFiltering = new ZenModeFiltering(mContext); @@ -140,6 +148,26 @@ public class ZenModeHelper { if (mAudioManager != null) { mAudioManager.setRingerModeDelegate(mRingerModeDelegate); } + mHandler.postMetricsTimer(); + } + + public void onUserSwitched(int user) { + if (mUser == user || user < UserHandle.USER_OWNER) return; + mUser = user; + if (DEBUG) Log.d(TAG, "onUserSwitched u=" + user); + ZenModeConfig config = mConfigs.get(user); + if (config == null) { + if (DEBUG) Log.d(TAG, "onUserSwitched: generating default config for user " + user); + config = mDefaultConfig.copy(); + config.user = user; + } + setConfig(config, "onUserSwitched"); + } + + public void onUserRemoved(int user) { + if (user < UserHandle.USER_OWNER) return; + if (DEBUG) Log.d(TAG, "onUserRemoved u=" + user); + mConfigs.remove(user); } public void requestZenModeConditions(IConditionListener callback, int relevance) { @@ -200,8 +228,13 @@ public class ZenModeHelper { public void dump(PrintWriter pw, String prefix) { pw.print(prefix); pw.print("mZenMode="); pw.println(Global.zenModeToString(mZenMode)); - dump(pw, prefix, "mConfig", mConfig); dump(pw, prefix, "mDefaultConfig", mDefaultConfig); + final int N = mConfigs.size(); + for (int i = 0; i < N; i++) { + dump(pw, prefix, "mConfigs[u=" + mConfigs.keyAt(i) + "]", mConfigs.valueAt(i)); + } + pw.print(prefix); pw.print("mUser="); pw.println(mUser); + dump(pw, prefix, "mConfig", mConfig); pw.print(prefix); pw.print("mPreviousRingerMode="); pw.println(mPreviousRingerMode); pw.print(prefix); pw.print("mEffectsSuppressed="); pw.println(mEffectsSuppressed); mFiltering.dump(pw, prefix); @@ -228,16 +261,36 @@ public class ZenModeHelper { } } - public void readXml(XmlPullParser parser) throws XmlPullParserException, IOException { + public void readXml(XmlPullParser parser, boolean forRestore) + throws XmlPullParserException, IOException { final ZenModeConfig config = ZenModeConfig.readXml(parser, mConfigMigration); if (config != null) { + if (forRestore) { + if (config.user != UserHandle.USER_OWNER) { + return; + } + config.manualRule = null; // don't restore the manual rule + if (config.automaticRules != null) { + for (ZenModeConfig.ZenRule automaticRule : config.automaticRules.values()) { + // don't restore transient state from restored automatic rules + automaticRule.snoozing = false; + automaticRule.condition = null; + } + } + } if (DEBUG) Log.d(TAG, "readXml"); setConfig(config, "readXml"); } } - public void writeXml(XmlSerializer out) throws IOException { - mConfig.writeXml(out); + public void writeXml(XmlSerializer out, boolean forBackup) throws IOException { + final int N = mConfigs.size(); + for (int i = 0; i < N; i++) { + if (forBackup && mConfigs.keyAt(i) != UserHandle.USER_OWNER) { + continue; + } + mConfigs.valueAt(i).writeXml(out); + } } public Policy getNotificationPolicy() { @@ -268,10 +321,17 @@ public class ZenModeHelper { Log.w(TAG, "Invalid config in setConfig; " + config); return false; } + if (config.user != mUser) { + // simply store away for background users + mConfigs.put(config.user, config); + if (DEBUG) Log.d(TAG, "setConfig: store config for user " + config.user); + return true; + } mConditions.evaluateConfig(config, false /*processSubscriptions*/); // may modify config + mConfigs.put(config.user, config); if (config.equals(mConfig)) return true; if (DEBUG) Log.d(TAG, "setConfig reason=" + reason, new Throwable()); - ZenLog.traceConfig(reason, config); + ZenLog.traceConfig(reason, mConfig, config); final boolean policyChanged = !Objects.equals(getNotificationPolicy(mConfig), getNotificationPolicy(config)); mConfig = config; @@ -450,7 +510,7 @@ public class ZenModeHelper { if (config == null) return; final EventInfo events = new EventInfo(); - events.calendar = EventInfo.ANY_CALENDAR; + events.calendar = null; // any calendar events.reply = EventInfo.REPLY_YES_OR_MAYBE; final ZenRule rule = new ZenRule(); rule.enabled = false; @@ -641,8 +701,37 @@ public class ZenModeHelper { } } + private final class Metrics extends Callback { + private static final String COUNTER_PREFIX = "dnd_mode_"; + private static final long MINIMUM_LOG_PERIOD_MS = 60 * 1000; + + private int mPreviousZenMode = -1; + private long mBeginningMs = 0L; + + @Override + void onZenModeChanged() { + emit(); + } + + private void emit() { + mHandler.postMetricsTimer(); + final long now = SystemClock.elapsedRealtime(); + final long since = (now - mBeginningMs); + if (mPreviousZenMode != mZenMode || since > MINIMUM_LOG_PERIOD_MS) { + if (mPreviousZenMode != -1) { + MetricsLogger.count(mContext, COUNTER_PREFIX + mPreviousZenMode, (int) since); + } + mPreviousZenMode = mZenMode; + mBeginningMs = now; + } + } + } + private final class H extends Handler { private static final int MSG_DISPATCH = 1; + private static final int MSG_METRICS = 2; + + private static final long METRICS_PERIOD_MS = 6 * 60 * 60 * 1000; private H(Looper looper) { super(looper); @@ -653,12 +742,20 @@ public class ZenModeHelper { sendEmptyMessage(MSG_DISPATCH); } + private void postMetricsTimer() { + removeMessages(MSG_METRICS); + sendEmptyMessageDelayed(MSG_METRICS, METRICS_PERIOD_MS); + } + @Override public void handleMessage(Message msg) { switch (msg.what) { case MSG_DISPATCH: dispatchOnZenModeChanged(); break; + case MSG_METRICS: + mMetrics.emit(); + break; } } } diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java index 3531796..f9bfe72 100644 --- a/services/core/java/com/android/server/pm/PackageManagerService.java +++ b/services/core/java/com/android/server/pm/PackageManagerService.java @@ -303,6 +303,7 @@ public class PackageManagerService extends IPackageManager.Stub { static final int SCAN_TRUSTED_OVERLAY = 1<<9; static final int SCAN_DELETE_DATA_ON_FAILURES = 1<<10; static final int SCAN_REQUIRE_KNOWN = 1<<12; + static final int SCAN_MOVE = 1<<13; static final int REMOVE_CHATTY = 1<<16; @@ -6347,16 +6348,19 @@ public class PackageManagerService extends IPackageManager.Stub { if ((scanFlags & SCAN_NEW_INSTALL) == 0) { deriveNonSystemPackageAbi(pkg, scanFile, cpuAbiOverride, true /* extract libs */); } else { - // TODO: We need this second call to derive in two cases : - // - // - To update the native library paths based on the final install location. - // - We don't call dexopt when moving packages, and so we have to scan again. - // - // We can simplify this and avoid having to scan the package again by letting - // scanPackageLI know if the current install was a move (and deriving things only - // in that case) and by "reparenting" the native lib directory in the case of - // a normal (non-move) install. - deriveNonSystemPackageAbi(pkg, scanFile, cpuAbiOverride, false /* extract libs */); + if ((scanFlags & SCAN_MOVE) != 0) { + // We haven't run dex-opt for this move (since we've moved the compiled output too) + // but we already have this packages package info in the PackageSetting. We just + // use that and derive the native library path based on the new codepath. + pkg.applicationInfo.primaryCpuAbi = pkgSetting.primaryCpuAbiString; + pkg.applicationInfo.secondaryCpuAbi = pkgSetting.secondaryCpuAbiString; + } + + // Set native library paths again. For moves, the path will be updated based on the + // ABIs we've determined above. For non-moves, the path will be updated based on the + // ABIs we determined during compilation, but the path will depend on the final + // package path (after the rename away from the stage path). + setNativeLibraryPaths(pkg); } if (DEBUG_INSTALL) Slog.i(TAG, "Linking native library dir for " + path); @@ -11645,6 +11649,7 @@ public class PackageManagerService extends IPackageManager.Stub { if (args.move != null) { // We did an in-place move, so dex is ready to roll scanFlags |= SCAN_NO_DEX; + scanFlags |= SCAN_MOVE; } else if (!forwardLocked && !pkg.applicationInfo.isExternalAsec()) { // Enable SCAN_NO_DEX flag to skip dexopt at a later stage scanFlags |= SCAN_NO_DEX; diff --git a/services/core/java/com/android/server/pm/Settings.java b/services/core/java/com/android/server/pm/Settings.java index d2a135c..8f2db30 100644 --- a/services/core/java/com/android/server/pm/Settings.java +++ b/services/core/java/com/android/server/pm/Settings.java @@ -4386,7 +4386,7 @@ final class Settings { FileInputStream in; try { - in = new FileInputStream(permissionsFile); + in = new AtomicFile(permissionsFile).openRead(); } catch (FileNotFoundException fnfe) { Slog.i(PackageManagerService.TAG, "No permissions state"); return; diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java index 15d1535..08d386b 100644 --- a/services/core/java/com/android/server/pm/UserManagerService.java +++ b/services/core/java/com/android/server/pm/UserManagerService.java @@ -950,6 +950,7 @@ public class UserManagerService extends IUserManager.Stub { writeBoolean(serializer, restrictions, UserManager.DISALLOW_DEBUGGING_FEATURES); writeBoolean(serializer, restrictions, UserManager.DISALLOW_CONFIG_VPN); writeBoolean(serializer, restrictions, UserManager.DISALLOW_CONFIG_TETHERING); + writeBoolean(serializer, restrictions, UserManager.DISALLOW_NETWORK_RESET); writeBoolean(serializer, restrictions, UserManager.DISALLOW_FACTORY_RESET); writeBoolean(serializer, restrictions, UserManager.DISALLOW_ADD_USER); writeBoolean(serializer, restrictions, UserManager.ENSURE_VERIFY_APPS); @@ -1078,6 +1079,7 @@ public class UserManagerService extends IUserManager.Stub { readBoolean(parser, restrictions, UserManager.DISALLOW_DEBUGGING_FEATURES); readBoolean(parser, restrictions, UserManager.DISALLOW_CONFIG_VPN); readBoolean(parser, restrictions, UserManager.DISALLOW_CONFIG_TETHERING); + readBoolean(parser, restrictions, UserManager.DISALLOW_NETWORK_RESET); readBoolean(parser, restrictions, UserManager.DISALLOW_FACTORY_RESET); readBoolean(parser, restrictions, UserManager.DISALLOW_ADD_USER); readBoolean(parser, restrictions, UserManager.ENSURE_VERIFY_APPS); diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java index 671c44e..7bd5b78 100644 --- a/services/core/java/com/android/server/policy/PhoneWindowManager.java +++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java @@ -108,6 +108,7 @@ import android.view.animation.AnimationSet; import android.view.animation.AnimationUtils; import com.android.internal.R; import com.android.internal.statusbar.IStatusBarService; +import com.android.internal.util.ScreenShapeHelper; import com.android.internal.widget.PointerLocationView; import com.android.server.LocalServices; import com.android.server.policy.keyguard.KeyguardServiceDelegate; @@ -472,6 +473,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { static final Rect mTmpDecorFrame = new Rect(); static final Rect mTmpStableFrame = new Rect(); static final Rect mTmpNavigationFrame = new Rect(); + static final Rect mTmpOutsetFrame = new Rect(); WindowState mTopFullscreenOpaqueWindowState; WindowState mTopFullscreenOpaqueOrDimmingWindowState; @@ -1455,7 +1457,8 @@ public class PhoneWindowManager implements WindowManagerPolicy { // Match current screen state. if (!mPowerManager.isInteractive()) { - goingToSleep(WindowManagerPolicy.OFF_BECAUSE_OF_USER); + startedGoingToSleep(WindowManagerPolicy.OFF_BECAUSE_OF_USER); + finishedGoingToSleep(WindowManagerPolicy.OFF_BECAUSE_OF_USER); } mWindowManagerInternal.registerAppTransitionListener( @@ -3362,6 +3365,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { final Rect of = mTmpOverscanFrame; final Rect vf = mTmpVisibleFrame; final Rect dcf = mTmpDecorFrame; + final Rect osf = mTmpOutsetFrame; pf.left = df.left = of.left = vf.left = mDockLeft; pf.top = df.top = of.top = vf.top = mDockTop; pf.right = df.right = of.right = vf.right = mDockRight; @@ -3471,7 +3475,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { // And compute the final frame. mNavigationBar.computeFrameLw(mTmpNavigationFrame, mTmpNavigationFrame, mTmpNavigationFrame, mTmpNavigationFrame, mTmpNavigationFrame, dcf, - mTmpNavigationFrame); + mTmpNavigationFrame, mTmpNavigationFrame); if (DEBUG_LAYOUT) Slog.i(TAG, "mNavigationBar frame: " + mTmpNavigationFrame); if (mNavigationBarController.checkHiddenLw()) { updateSysUiVisibility = true; @@ -3496,7 +3500,9 @@ public class PhoneWindowManager implements WindowManagerPolicy { mStatusBarLayer = mStatusBar.getSurfaceLayer(); // Let the status bar determine its size. - mStatusBar.computeFrameLw(pf, df, vf, vf, vf, dcf, vf); + mStatusBar.computeFrameLw(pf /* parentFrame */, df /* displayFrame */, + vf /* overlayFrame */, vf /* contentFrame */, vf /* visibleFrame */, + dcf /* decorFrame */, vf /* stableFrame */, vf /* outsetFrame */); // For layout, the status bar is always at the top with our fixed height. mStableTop = mUnrestrictedScreenTop + mStatusBarHeight; @@ -3679,6 +3685,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { final Rect vf = mTmpVisibleFrame; final Rect dcf = mTmpDecorFrame; final Rect sf = mTmpStableFrame; + Rect osf = null; dcf.setEmpty(); final boolean hasNavBar = (isDefaultDisplay && mHasNavigationBar @@ -4072,6 +4079,32 @@ public class PhoneWindowManager implements WindowManagerPolicy { } } + // If the device has a chin (e.g. some watches), a dead area at the bottom of the screen we + // need to provide information to the clients that want to pretend that you can draw there. + if (isDefaultDisplay && (fl & WindowManager.LayoutParams.FLAG_FULLSCREEN) != 0) { + osf = mTmpOutsetFrame; + osf.set(cf.left, cf.top, cf.right, cf.bottom); + int outset = ScreenShapeHelper.getWindowOutsetBottomPx(mContext.getResources()); + if (outset > 0) { + int rotation = Surface.ROTATION_0; + try { + rotation = mWindowManager.getRotation(); + } catch (RemoteException e) { + } + if (rotation == Surface.ROTATION_0) { + osf.bottom += outset; + } else if (rotation == Surface.ROTATION_90) { + osf.right += outset; + } else if (rotation == Surface.ROTATION_180) { + osf.top -= outset; + } else if (rotation == Surface.ROTATION_270) { + osf.left -= outset; + } + if (DEBUG_LAYOUT) Slog.v(TAG, "applying bottom outset of " + outset + + " with rotation " + rotation + ", result: " + osf); + } + } + if (DEBUG_LAYOUT) Slog.v(TAG, "Compute frame " + attrs.getTitle() + ": sim=#" + Integer.toHexString(sim) + " attach=" + attached + " type=" + attrs.type @@ -4080,9 +4113,10 @@ public class PhoneWindowManager implements WindowManagerPolicy { + " of=" + of.toShortString() + " cf=" + cf.toShortString() + " vf=" + vf.toShortString() + " dcf=" + dcf.toShortString() - + " sf=" + sf.toShortString()); + + " sf=" + sf.toShortString() + + " osf=" + (osf == null ? "null" : osf.toShortString())); - win.computeFrameLw(pf, df, of, cf, vf, dcf, sf); + win.computeFrameLw(pf, df, of, cf, vf, dcf, sf, osf); // Dock windows carve out the bottom of the screen, so normal windows // can't appear underneath them. @@ -4264,7 +4298,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { // that is being hidden in an animation - keep the // keyguard hidden until the new window shows up and // we know whether to show the keyguard or not. - if (win.isAnimatingLw() && appWindow && showWhenLocked) { + if (win.isAnimatingLw() && appWindow && showWhenLocked && mKeyguardHidden) { mHideLockScreen = true; mWinShowWhenLocked = win; } @@ -5233,9 +5267,18 @@ public class PhoneWindowManager implements WindowManagerPolicy { // Called on the PowerManager's Notifier thread. @Override - public void goingToSleep(int why) { + public void startedGoingToSleep(int why) { + if (DEBUG_WAKEUP) Slog.i(TAG, "Started going to sleep... (why=" + why + ")"); + if (mKeyguardDelegate != null) { + mKeyguardDelegate.onStartedGoingToSleep(why); + } + } + + // Called on the PowerManager's Notifier thread. + @Override + public void finishedGoingToSleep(int why) { EventLog.writeEvent(70000, 0); - if (DEBUG_WAKEUP) Slog.i(TAG, "Going to sleep..."); + if (DEBUG_WAKEUP) Slog.i(TAG, "Finished going to sleep... (why=" + why + ")"); // We must get this work done here because the power manager will drop // the wake lock and let the system suspend once this function returns. @@ -5246,30 +5289,16 @@ public class PhoneWindowManager implements WindowManagerPolicy { updateOrientationListenerLp(); updateLockScreenTimeout(); } - if (mKeyguardDelegate != null) { - mKeyguardDelegate.onScreenTurnedOff(why); - } - } - - private void wakeUpFromPowerKey(long eventTime) { - wakeUp(eventTime, mAllowTheaterModeWakeFromPowerKey); - } - - private boolean wakeUp(long wakeTime, boolean wakeInTheaterMode) { - if (!wakeInTheaterMode && isTheaterModeEnabled()) { - return false; + mKeyguardDelegate.onFinishedGoingToSleep(why); } - - mPowerManager.wakeUp(wakeTime); - return true; } // Called on the PowerManager's Notifier thread. @Override - public void wakingUp() { + public void startedWakingUp() { EventLog.writeEvent(70000, 1); - if (DEBUG_WAKEUP) Slog.i(TAG, "Waking up..."); + if (DEBUG_WAKEUP) Slog.i(TAG, "Started waking up..."); // Since goToSleep performs these functions synchronously, we must // do the same here. We cannot post this work to a handler because @@ -5289,7 +5318,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { } if (mKeyguardDelegate != null) { - mKeyguardDelegate.onScreenTurnedOn(mKeyguardDelegateCallback); + mKeyguardDelegate.onStartedWakingUp(mKeyguardDelegateCallback); // ... eventually calls finishKeyguardDrawn } else { if (DEBUG_WAKEUP) Slog.d(TAG, "null mKeyguardDelegate: setting mKeyguardDrawComplete."); @@ -5297,6 +5326,25 @@ public class PhoneWindowManager implements WindowManagerPolicy { } } + // Called on the PowerManager's Notifier thread. + @Override + public void finishedWakingUp() { + if (DEBUG_WAKEUP) Slog.i(TAG, "Finished waking up..."); + } + + private void wakeUpFromPowerKey(long eventTime) { + wakeUp(eventTime, mAllowTheaterModeWakeFromPowerKey); + } + + private boolean wakeUp(long wakeTime, boolean wakeInTheaterMode) { + if (!wakeInTheaterMode && isTheaterModeEnabled()) { + return false; + } + + mPowerManager.wakeUp(wakeTime); + return true; + } + private void finishKeyguardDrawn() { synchronized (mLock) { if (!mAwake || mKeyguardDrawComplete) { @@ -5789,7 +5837,7 @@ public class PhoneWindowManager implements WindowManagerPolicy { synchronized (mLock) { mSystemBooted = true; } - wakingUp(); + startedWakingUp(); screenTurningOn(null); } diff --git a/services/core/java/com/android/server/policy/keyguard/KeyguardServiceDelegate.java b/services/core/java/com/android/server/policy/keyguard/KeyguardServiceDelegate.java index 1a52933..b9f132b 100644 --- a/services/core/java/com/android/server/policy/keyguard/KeyguardServiceDelegate.java +++ b/services/core/java/com/android/server/policy/keyguard/KeyguardServiceDelegate.java @@ -56,10 +56,8 @@ public class KeyguardServiceDelegate { boolean systemIsReady; boolean deviceHasKeyguard; public boolean enabled; - public boolean dismissable; public int offReason; public int currentUser; - public boolean screenIsOn; public boolean bootCompleted; }; @@ -138,7 +136,7 @@ public class KeyguardServiceDelegate { // If the system is ready, it means keyguard crashed and restarted. mKeyguardService.onSystemReady(); // This is used to hide the scrim once keyguard displays. - mKeyguardService.onScreenTurnedOn(new KeyguardShowDelegate( + mKeyguardService.onStartedWakingUp(new KeyguardShowDelegate( mShowListenerWhenConnect)); mShowListenerWhenConnect = null; } @@ -218,10 +216,10 @@ public class KeyguardServiceDelegate { mKeyguardState.dreaming = false; } - public void onScreenTurnedOn(final ShowListener showListener) { + public void onStartedWakingUp(final ShowListener showListener) { if (mKeyguardService != null) { if (DEBUG) Log.v(TAG, "onScreenTurnedOn(showListener = " + showListener + ")"); - mKeyguardService.onScreenTurnedOn(new KeyguardShowDelegate(showListener)); + mKeyguardService.onStartedWakingUp(new KeyguardShowDelegate(showListener)); } else { // try again when we establish a connection Slog.w(TAG, "onScreenTurnedOn(): no keyguard service!"); @@ -230,15 +228,19 @@ public class KeyguardServiceDelegate { mShowListenerWhenConnect = showListener; showScrim(); } - mKeyguardState.screenIsOn = true; } - public void onScreenTurnedOff(int why) { + public void onStartedGoingToSleep(int why) { if (mKeyguardService != null) { - mKeyguardService.onScreenTurnedOff(why); + mKeyguardService.onStartedGoingToSleep(why); } mKeyguardState.offReason = why; - mKeyguardState.screenIsOn = false; + } + + public void onFinishedGoingToSleep(int why) { + if (mKeyguardService != null) { + mKeyguardService.onFinishedGoingToSleep(why); + } } public void setKeyguardEnabled(boolean enabled) { diff --git a/services/core/java/com/android/server/policy/keyguard/KeyguardServiceWrapper.java b/services/core/java/com/android/server/policy/keyguard/KeyguardServiceWrapper.java index 2dc685b..51d59fa 100644 --- a/services/core/java/com/android/server/policy/keyguard/KeyguardServiceWrapper.java +++ b/services/core/java/com/android/server/policy/keyguard/KeyguardServiceWrapper.java @@ -105,19 +105,28 @@ public class KeyguardServiceWrapper implements IKeyguardService { } } - @Override // Binder interface - public void onScreenTurnedOff(int reason) { + @Override + public void onStartedGoingToSleep(int reason) { try { - mService.onScreenTurnedOff(reason); + mService.onStartedGoingToSleep(reason); } catch (RemoteException e) { Slog.w(TAG , "Remote Exception", e); } } - @Override // Binder interface - public void onScreenTurnedOn(IKeyguardShowCallback result) { + @Override + public void onFinishedGoingToSleep(int reason) { + try { + mService.onFinishedGoingToSleep(reason); + } catch (RemoteException e) { + Slog.w(TAG , "Remote Exception", e); + } + } + + @Override + public void onStartedWakingUp(IKeyguardShowCallback callback) { try { - mService.onScreenTurnedOn(result); + mService.onStartedWakingUp(callback); } catch (RemoteException e) { Slog.w(TAG , "Remote Exception", e); } diff --git a/services/core/java/com/android/server/power/Notifier.java b/services/core/java/com/android/server/power/Notifier.java index fd98010..5a391f4 100644 --- a/services/core/java/com/android/server/power/Notifier.java +++ b/services/core/java/com/android/server/power/Notifier.java @@ -95,11 +95,19 @@ final class Notifier { private final Intent mScreenOffIntent; private final Intent mScreenBrightnessBoostIntent; - // The current interactive state. - private int mActualInteractiveState; - private int mLastReason; - - // True if there is a pending transition that needs to be reported. + // The current interactive state. This is set as soon as an interactive state + // transition begins so as to capture the reason that it happened. At some point + // this state will propagate to the pending state then eventually to the + // broadcasted state over the course of reporting the transition asynchronously. + private boolean mInteractive = true; + private int mInteractiveChangeReason; + private boolean mInteractiveChanging; + + // The pending interactive state that we will eventually want to broadcast. + // This is designed so that we can collapse redundant sequences of awake/sleep + // transition pairs while still guaranteeing that at least one transition is observed + // whenever this happens. + private int mPendingInteractiveState; private boolean mPendingWakeUpBroadcast; private boolean mPendingGoToSleepBroadcast; @@ -244,113 +252,152 @@ final class Notifier { /** * Notifies that the device is changing wakefulness. + * This function may be called even if the previous change hasn't finished in + * which case it will assume that the state did not fully converge before the + * next transition began and will recover accordingly. */ - public void onWakefulnessChangeStarted(int wakefulness, int reason) { + public void onWakefulnessChangeStarted(final int wakefulness, int reason) { + final boolean interactive = PowerManagerInternal.isInteractive(wakefulness); if (DEBUG) { Slog.d(TAG, "onWakefulnessChangeStarted: wakefulness=" + wakefulness - + ", reason=" + reason); + + ", reason=" + reason + ", interactive=" + interactive); } - // We handle interactive state changes once they start so that the system can - // set everything up or the user to begin interacting with applications. - final boolean interactive = PowerManagerInternal.isInteractive(wakefulness); - if (interactive) { - handleWakefulnessChange(wakefulness, interactive, reason); - } else { - mLastReason = reason; - } + // Tell the activity manager about changes in wakefulness, not just interactivity. + // It needs more granularity than other components. + mHandler.post(new Runnable() { + @Override + public void run() { + mActivityManagerInternal.onWakefulnessChanged(wakefulness); + } + }); + + // Handle any early interactive state changes. + // Finish pending incomplete ones from a previous cycle. + if (mInteractive != interactive) { + // Finish up late behaviors if needed. + if (mInteractiveChanging) { + handleLateInteractiveChange(); + } - // Start input as soon as we start waking up or going to sleep. - mInputManagerInternal.setInteractive(interactive); + // Start input as soon as we start waking up or going to sleep. + mInputManagerInternal.setInteractive(interactive); + + // Notify battery stats. + try { + mBatteryStats.noteInteractive(interactive); + } catch (RemoteException ex) { } + + // Handle early behaviors. + mInteractive = interactive; + mInteractiveChangeReason = reason; + mInteractiveChanging = true; + handleEarlyInteractiveChange(); + } } /** * Notifies that the device has finished changing wakefulness. */ - public void onWakefulnessChangeFinished(int wakefulness) { + public void onWakefulnessChangeFinished() { if (DEBUG) { - Slog.d(TAG, "onWakefulnessChangeFinished: wakefulness=" + wakefulness); + Slog.d(TAG, "onWakefulnessChangeFinished"); } - // Handle interactive state changes once they are finished so that the system can - // finish pending transitions (such as turning the screen off) before causing - // applications to change state visibly. - final boolean interactive = PowerManagerInternal.isInteractive(wakefulness); - if (!interactive) { - handleWakefulnessChange(wakefulness, interactive, mLastReason); + if (mInteractiveChanging) { + mInteractiveChanging = false; + handleLateInteractiveChange(); } } - private void handleWakefulnessChange(final int wakefulness, boolean interactive, - final int reason) { - // Tell the activity manager about changes in wakefulness, not just interactivity. - // It needs more granularity than other components. - mHandler.post(new Runnable() { - @Override - public void run() { - mActivityManagerInternal.onWakefulnessChanged(wakefulness); - } - }); - - // Handle changes in the overall interactive state. - boolean interactiveChanged = false; + /** + * Handle early interactive state changes such as getting applications or the lock + * screen running and ready for the user to see (such as when turning on the screen). + */ + private void handleEarlyInteractiveChange() { synchronized (mLock) { - // Broadcast interactive state changes. - if (interactive) { + if (mInteractive) { // Waking up... - interactiveChanged = (mActualInteractiveState != INTERACTIVE_STATE_AWAKE); - if (interactiveChanged) { - mActualInteractiveState = INTERACTIVE_STATE_AWAKE; - mPendingWakeUpBroadcast = true; - mHandler.post(new Runnable() { - @Override - public void run() { - EventLog.writeEvent(EventLogTags.POWER_SCREEN_STATE, 1, 0, 0, 0); - mPolicy.wakingUp(); - } - }); - updatePendingBroadcastLocked(); - } + mHandler.post(new Runnable() { + @Override + public void run() { + EventLog.writeEvent(EventLogTags.POWER_SCREEN_STATE, 1, 0, 0, 0); + mPolicy.startedWakingUp(); + } + }); + + // Send interactive broadcast. + mPendingInteractiveState = INTERACTIVE_STATE_AWAKE; + mPendingWakeUpBroadcast = true; + updatePendingBroadcastLocked(); } else { // Going to sleep... + // Tell the policy that we started going to sleep. + final int why = translateOffReason(mInteractiveChangeReason); + mHandler.post(new Runnable() { + @Override + public void run() { + mPolicy.startedGoingToSleep(why); + } + }); + } + } + } + + /** + * Handle late interactive state changes once they are finished so that the system can + * finish pending transitions (such as turning the screen off) before causing + * applications to change state visibly. + */ + private void handleLateInteractiveChange() { + synchronized (mLock) { + if (mInteractive) { + // Finished waking up... + mHandler.post(new Runnable() { + @Override + public void run() { + mPolicy.finishedWakingUp(); + } + }); + } else { + // Finished going to sleep... // This is a good time to make transitions that we don't want the user to see, - // such as bringing the key guard to focus. There's no guarantee for this, + // such as bringing the key guard to focus. There's no guarantee for this // however because the user could turn the device on again at any time. // Some things may need to be protected by other mechanisms that defer screen on. - interactiveChanged = (mActualInteractiveState != INTERACTIVE_STATE_ASLEEP); - if (interactiveChanged) { - mActualInteractiveState = INTERACTIVE_STATE_ASLEEP; - mPendingGoToSleepBroadcast = true; - if (mUserActivityPending) { - mUserActivityPending = false; - mHandler.removeMessages(MSG_USER_ACTIVITY); - } - mHandler.post(new Runnable() { - @Override - public void run() { - int why = WindowManagerPolicy.OFF_BECAUSE_OF_USER; - switch (reason) { - case PowerManager.GO_TO_SLEEP_REASON_DEVICE_ADMIN: - why = WindowManagerPolicy.OFF_BECAUSE_OF_ADMIN; - break; - case PowerManager.GO_TO_SLEEP_REASON_TIMEOUT: - why = WindowManagerPolicy.OFF_BECAUSE_OF_TIMEOUT; - break; - } - EventLog.writeEvent(EventLogTags.POWER_SCREEN_STATE, 0, why, 0, 0); - mPolicy.goingToSleep(why); - } - }); - updatePendingBroadcastLocked(); + + // Cancel pending user activity. + if (mUserActivityPending) { + mUserActivityPending = false; + mHandler.removeMessages(MSG_USER_ACTIVITY); } + + // Tell the policy we finished going to sleep. + final int why = translateOffReason(mInteractiveChangeReason); + mHandler.post(new Runnable() { + @Override + public void run() { + EventLog.writeEvent(EventLogTags.POWER_SCREEN_STATE, 0, why, 0, 0); + mPolicy.finishedGoingToSleep(why); + } + }); + + // Send non-interactive broadcast. + mPendingInteractiveState = INTERACTIVE_STATE_ASLEEP; + mPendingGoToSleepBroadcast = true; + updatePendingBroadcastLocked(); } } + } - // Notify battery stats. - if (interactiveChanged) { - try { - mBatteryStats.noteInteractive(interactive); - } catch (RemoteException ex) { } + private static int translateOffReason(int reason) { + switch (reason) { + case PowerManager.GO_TO_SLEEP_REASON_DEVICE_ADMIN: + return WindowManagerPolicy.OFF_BECAUSE_OF_ADMIN; + case PowerManager.GO_TO_SLEEP_REASON_TIMEOUT: + return WindowManagerPolicy.OFF_BECAUSE_OF_TIMEOUT; + default: + return WindowManagerPolicy.OFF_BECAUSE_OF_USER; } } @@ -367,6 +414,7 @@ final class Notifier { msg.setAsynchronous(true); mHandler.sendMessage(msg); } + /** * Called when there has been user activity. */ @@ -407,9 +455,9 @@ final class Notifier { private void updatePendingBroadcastLocked() { if (!mBroadcastInProgress - && mActualInteractiveState != INTERACTIVE_STATE_UNKNOWN + && mPendingInteractiveState != INTERACTIVE_STATE_UNKNOWN && (mPendingWakeUpBroadcast || mPendingGoToSleepBroadcast - || mActualInteractiveState != mBroadcastedInteractiveState)) { + || mPendingInteractiveState != mBroadcastedInteractiveState)) { mBroadcastInProgress = true; mSuspendBlocker.acquire(); Message msg = mHandler.obtainMessage(MSG_BROADCAST); @@ -444,7 +492,7 @@ final class Notifier { } else if (mBroadcastedInteractiveState == INTERACTIVE_STATE_AWAKE) { // Broadcasted power state is awake. Send asleep if needed. if (mPendingWakeUpBroadcast || mPendingGoToSleepBroadcast - || mActualInteractiveState == INTERACTIVE_STATE_ASLEEP) { + || mPendingInteractiveState == INTERACTIVE_STATE_ASLEEP) { mPendingGoToSleepBroadcast = false; mBroadcastedInteractiveState = INTERACTIVE_STATE_ASLEEP; } else { @@ -454,7 +502,7 @@ final class Notifier { } else { // Broadcasted power state is asleep. Send awake if needed. if (mPendingWakeUpBroadcast || mPendingGoToSleepBroadcast - || mActualInteractiveState == INTERACTIVE_STATE_AWAKE) { + || mPendingInteractiveState == INTERACTIVE_STATE_AWAKE) { mPendingWakeUpBroadcast = false; mBroadcastedInteractiveState = INTERACTIVE_STATE_AWAKE; } else { diff --git a/services/core/java/com/android/server/power/PowerManagerService.java b/services/core/java/com/android/server/power/PowerManagerService.java index 5aea746..c1fe984 100644 --- a/services/core/java/com/android/server/power/PowerManagerService.java +++ b/services/core/java/com/android/server/power/PowerManagerService.java @@ -1217,8 +1217,6 @@ public final class PowerManagerService extends SystemService private void setWakefulnessLocked(int wakefulness, int reason) { if (mWakefulness != wakefulness) { - finishWakefulnessChangeLocked(); - mWakefulness = wakefulness; mWakefulnessChanging = true; mDirty |= DIRTY_WAKEFULNESS; @@ -1226,10 +1224,14 @@ public final class PowerManagerService extends SystemService } } - private void finishWakefulnessChangeLocked() { - if (mWakefulnessChanging) { - mNotifier.onWakefulnessChangeFinished(mWakefulness); + private void finishWakefulnessChangeIfNeededLocked() { + if (mWakefulnessChanging && mDisplayReady) { + if (mWakefulness == WAKEFULNESS_DOZING + && (mWakeLockSummary & WAKE_LOCK_DOZE) == 0) { + return; // wait until dream has enabled dozing + } mWakefulnessChanging = false; + mNotifier.onWakefulnessChangeFinished(); } } @@ -1280,9 +1282,7 @@ public final class PowerManagerService extends SystemService updateDreamLocked(dirtyPhase2, displayBecameReady); // Phase 4: Send notifications, if needed. - if (mDisplayReady) { - finishWakefulnessChangeLocked(); - } + finishWakefulnessChangeIfNeededLocked(); // Phase 5: Update suspend blocker. // Because we might release the last suspend blocker here, we need to make sure @@ -2518,8 +2518,7 @@ public final class PowerManagerService extends SystemService /** * Low-level function to reboot the device. On success, this * function doesn't return. If more than 20 seconds passes from - * the time a reboot is requested (120 seconds for reboot to - * recovery), this method returns. + * the time a reboot is requested, this method returns. * * @param reason code to pass to the kernel (e.g. "recovery"), or null. */ @@ -2527,27 +2526,21 @@ public final class PowerManagerService extends SystemService if (reason == null) { reason = ""; } - long duration; if (reason.equals(PowerManager.REBOOT_RECOVERY)) { // If we are rebooting to go into recovery, instead of // setting sys.powerctl directly we'll start the // pre-recovery service which will do some preparation for // recovery and then reboot for us. - // - // This preparation can take more than 20 seconds if - // there's a very large update package, so lengthen the - // timeout. We have seen 750MB packages take 3-4 minutes SystemProperties.set("ctl.start", "pre-recovery"); - duration = 300 * 1000L; } else { SystemProperties.set("sys.powerctl", "reboot," + reason); - duration = 20 * 1000L; } try { - Thread.sleep(duration); + Thread.sleep(20 * 1000L); } catch (InterruptedException e) { Thread.currentThread().interrupt(); } + Slog.wtf(TAG, "Unexpected return from lowLevelReboot!"); } @Override // Watchdog.Monitor implementation diff --git a/services/core/java/com/android/server/power/ShutdownThread.java b/services/core/java/com/android/server/power/ShutdownThread.java index 84eab42..e5981fb 100644 --- a/services/core/java/com/android/server/power/ShutdownThread.java +++ b/services/core/java/com/android/server/power/ShutdownThread.java @@ -14,7 +14,7 @@ * limitations under the License. */ - + package com.android.server.power; import android.app.ActivityManagerNative; @@ -44,6 +44,8 @@ import android.os.Vibrator; import android.os.SystemVibrator; import android.os.storage.IMountService; import android.os.storage.IMountShutdownObserver; +import android.system.ErrnoException; +import android.system.Os; import com.android.internal.telephony.ITelephony; import com.android.server.pm.PackageManagerService; @@ -51,6 +53,11 @@ import com.android.server.pm.PackageManagerService; import android.util.Log; import android.view.WindowManager; +import java.io.BufferedReader; +import java.io.File; +import java.io.FileReader; +import java.io.IOException; + public final class ShutdownThread extends Thread { // constants private static final String TAG = "ShutdownThread"; @@ -59,14 +66,18 @@ public final class ShutdownThread extends Thread { private static final int MAX_BROADCAST_TIME = 10*1000; private static final int MAX_SHUTDOWN_WAIT_TIME = 20*1000; private static final int MAX_RADIO_WAIT_TIME = 12*1000; + private static final int MAX_UNCRYPT_WAIT_TIME = 15*60*1000; // length of vibration before shutting down private static final int SHUTDOWN_VIBRATE_MS = 500; - + // state tracking private static Object sIsStartedGuard = new Object(); private static boolean sIsStarted = false; - + + // uncrypt status file + private static final String UNCRYPT_STATUS_FILE = "/cache/recovery/uncrypt_status"; + private static boolean mReboot; private static boolean mRebootSafeMode; private static String mRebootReason; @@ -94,10 +105,11 @@ public final class ShutdownThread extends Thread { private Handler mHandler; private static AlertDialog sConfirmDialog; - + private ProgressDialog mProgressDialog; + private ShutdownThread() { } - + /** * Request a clean shutdown, waiting for subsystems to clean up their * state etc. Must be called from a Looper thread in which its UI @@ -226,7 +238,11 @@ public final class ShutdownThread extends Thread { // throw up an indeterminate system dialog to indicate radio is // shutting down. ProgressDialog pd = new ProgressDialog(context); - pd.setTitle(context.getText(com.android.internal.R.string.power_off)); + if (PowerManager.REBOOT_RECOVERY.equals(mRebootReason)) { + pd.setTitle(context.getText(com.android.internal.R.string.reboot_to_recovery_title)); + } else { + pd.setTitle(context.getText(com.android.internal.R.string.power_off)); + } pd.setMessage(context.getText(com.android.internal.R.string.shutdown_progress)); pd.setIndeterminate(true); pd.setCancelable(false); @@ -234,6 +250,7 @@ public final class ShutdownThread extends Thread { pd.show(); + sInstance.mProgressDialog = pd; sInstance.mContext = context; sInstance.mPowerManager = (PowerManager)context.getSystemService(Context.POWER_SERVICE); @@ -307,14 +324,14 @@ public final class ShutdownThread extends Thread { } Log.i(TAG, "Sending shutdown broadcast..."); - + // First send the high-level shut down broadcast. mActionDone = false; Intent intent = new Intent(Intent.ACTION_SHUTDOWN); intent.addFlags(Intent.FLAG_RECEIVER_FOREGROUND); mContext.sendOrderedBroadcastAsUser(intent, UserHandle.ALL, null, br, mHandler, 0, null, null); - + final long endTime = SystemClock.elapsedRealtime() + MAX_BROADCAST_TIME; synchronized (mActionDoneSync) { while (!mActionDone) { @@ -329,9 +346,9 @@ public final class ShutdownThread extends Thread { } } } - + Log.i(TAG, "Shutting down activity manager..."); - + final IActivityManager am = ActivityManagerNative.asInterface(ServiceManager.checkService("activity")); if (am != null) { @@ -390,9 +407,55 @@ public final class ShutdownThread extends Thread { } } + // If it's to reboot into recovery, invoke uncrypt via init service. + if (mRebootReason.equals(PowerManager.REBOOT_RECOVERY)) { + uncrypt(); + } + rebootOrShutdown(mContext, mReboot, mRebootReason); } + private void prepareUncryptProgress() { + // Reset the dialog message to show the decrypt process. + mHandler.post(new Runnable() { + @Override + public void run() { + if (mProgressDialog != null) { + mProgressDialog.dismiss(); + } + // It doesn't work to change the style of the existing + // one. Have to create a new one. + ProgressDialog pd = new ProgressDialog(mContext); + + pd.setTitle(mContext.getText( + com.android.internal.R.string.reboot_to_recovery_title)); + pd.setMessage(mContext.getText( + com.android.internal.R.string.reboot_to_recovery_progress)); + pd.setIndeterminate(false); + pd.setMax(100); + pd.setCancelable(false); + pd.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG); + pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); + pd.setProgressNumberFormat(null); + pd.setProgress(0); + + mProgressDialog = pd; + mProgressDialog.show(); + } + }); + } + + private void setUncryptProgress(final int progress) { + mHandler.post(new Runnable() { + @Override + public void run() { + if (mProgressDialog != null) { + mProgressDialog.setProgress(progress); + } + } + }); + } + private void shutdownRadios(int timeout) { // If a radio is wedged, disabling it may hang so we do this work in another thread, // just in case. @@ -537,4 +600,78 @@ public final class ShutdownThread extends Thread { Log.i(TAG, "Performing low-level shutdown..."); PowerManagerService.lowLevelShutdown(); } + + private void uncrypt() { + Log.i(TAG, "Calling uncrypt and monitoring the progress..."); + + // Update the ProcessDialog message and style. + sInstance.prepareUncryptProgress(); + + final boolean[] done = new boolean[1]; + done[0] = false; + Thread t = new Thread() { + @Override + public void run() { + // Create the status pipe file to communicate with /system/bin/uncrypt. + new File(UNCRYPT_STATUS_FILE).delete(); + try { + Os.mkfifo(UNCRYPT_STATUS_FILE, 0600); + } catch (ErrnoException e) { + Log.w(TAG, "ErrnoException when creating named pipe \"" + UNCRYPT_STATUS_FILE + + "\": " + e.getMessage()); + } + + SystemProperties.set("ctl.start", "uncrypt"); + + // Read the status from the pipe. + try (BufferedReader reader = new BufferedReader( + new FileReader(UNCRYPT_STATUS_FILE))) { + + int last_status = Integer.MIN_VALUE; + while (true) { + String str = reader.readLine(); + try { + int status = Integer.parseInt(str); + + // Avoid flooding the log with the same message. + if (status == last_status && last_status != Integer.MIN_VALUE) { + continue; + } + last_status = status; + + if (status >= 0 && status < 100) { + // Update status + Log.d(TAG, "uncrypt read status: " + status); + sInstance.setUncryptProgress(status); + } else if (status == 100) { + Log.d(TAG, "uncrypt successfully finished."); + sInstance.setUncryptProgress(status); + break; + } else { + // Error in /system/bin/uncrypt. Or it's rebooting to recovery + // to perform other operations (e.g. factory reset). + Log.d(TAG, "uncrypt failed with status: " + status); + break; + } + } catch (NumberFormatException unused) { + Log.d(TAG, "uncrypt invalid status received: " + str); + break; + } + } + } catch (IOException unused) { + Log.w(TAG, "IOException when reading \"" + UNCRYPT_STATUS_FILE + "\"."); + } + done[0] = true; + } + }; + t.start(); + + try { + t.join(MAX_UNCRYPT_WAIT_TIME); + } catch (InterruptedException unused) { + } + if (!done[0]) { + Log.w(TAG, "Timed out waiting for uncrypt."); + } + } } diff --git a/services/core/java/com/android/server/wm/Session.java b/services/core/java/com/android/server/wm/Session.java index 487483e..e9c5ac7 100644 --- a/services/core/java/com/android/server/wm/Session.java +++ b/services/core/java/com/android/server/wm/Session.java @@ -190,14 +190,15 @@ final class Session extends IWindowSession.Stub public int relayout(IWindow window, int seq, WindowManager.LayoutParams attrs, int requestedWidth, int requestedHeight, int viewFlags, int flags, Rect outFrame, Rect outOverscanInsets, Rect outContentInsets, - Rect outVisibleInsets, Rect outStableInsets, Configuration outConfig, + Rect outVisibleInsets, Rect outStableInsets, Rect outsets, Configuration + outConfig, Surface outSurface) { if (false) Slog.d(WindowManagerService.TAG, ">>>>>> ENTERED relayout from " + Binder.getCallingPid()); int res = mService.relayoutWindow(this, window, seq, attrs, requestedWidth, requestedHeight, viewFlags, flags, outFrame, outOverscanInsets, outContentInsets, outVisibleInsets, - outStableInsets, outConfig, outSurface); + outStableInsets, outsets, outConfig, outSurface); if (false) Slog.d(WindowManagerService.TAG, "<<<<<< EXITING relayout to " + Binder.getCallingPid()); return res; @@ -522,4 +523,4 @@ final class Session extends IWindowSession.Stub public String toString() { return mStringName; } -}
\ No newline at end of file +} diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java index 5d8979f..5c9f87e 100644 --- a/services/core/java/com/android/server/wm/WindowManagerService.java +++ b/services/core/java/com/android/server/wm/WindowManagerService.java @@ -466,6 +466,8 @@ public class WindowManagerService extends IWindowManager.Stub boolean mShowingBootMessages = false; boolean mBootAnimationStopped = false; + /** Dump of the windows and app tokens at the time of the last ANR. Cleared after + * LAST_ANR_LIFETIME_DURATION_MSECS */ String mLastANRState; /** All DisplayContents in the world, kept here */ @@ -739,8 +741,7 @@ public class WindowManagerService extends IWindowManager.Stub final float newX = motionEvent.getRawX(); final float newY = motionEvent.getRawY(); final boolean isStylusButtonDown = - (motionEvent.getToolType(0) == MotionEvent.TOOL_TYPE_STYLUS) - && (motionEvent.getButtonState() & MotionEvent.BUTTON_SECONDARY) != 0; + (motionEvent.getButtonState() & MotionEvent.BUTTON_STYLUS_PRIMARY) != 0; if (mIsStartEvent) { if (isStylusButtonDown) { @@ -1025,7 +1026,7 @@ public class WindowManagerService extends IWindowManager.Stub private void placeWindowAfter(WindowState pos, WindowState window) { final WindowList windows = pos.getWindowList(); final int i = windows.indexOf(pos); - if (true || DEBUG_FOCUS || DEBUG_WINDOW_MOVEMENT || DEBUG_ADD_REMOVE) Slog.v( + if (DEBUG_FOCUS || DEBUG_WINDOW_MOVEMENT || DEBUG_ADD_REMOVE) Slog.v( TAG, "Adding window " + window + " at " + (i+1) + " of " + windows.size() + " (after " + pos + ")"); windows.add(i+1, window); @@ -1035,7 +1036,7 @@ public class WindowManagerService extends IWindowManager.Stub private void placeWindowBefore(WindowState pos, WindowState window) { final WindowList windows = pos.getWindowList(); int i = windows.indexOf(pos); - if (true || DEBUG_FOCUS || DEBUG_WINDOW_MOVEMENT || DEBUG_ADD_REMOVE) Slog.v( + if (DEBUG_FOCUS || DEBUG_WINDOW_MOVEMENT || DEBUG_ADD_REMOVE) Slog.v( TAG, "Adding window " + window + " at " + i + " of " + windows.size() + " (before " + pos + ")"); if (i < 0) { @@ -1133,7 +1134,7 @@ public class WindowManagerService extends IWindowManager.Stub //apptoken note that the window could be a floating window //that was created later or a window at the top of the list of //windows associated with this token. - if (true || DEBUG_FOCUS_LIGHT || DEBUG_WINDOW_MOVEMENT || DEBUG_ADD_REMOVE) Slog.v(TAG, + if (DEBUG_FOCUS_LIGHT || DEBUG_WINDOW_MOVEMENT || DEBUG_ADD_REMOVE) Slog.v(TAG, "not Base app: Adding window " + win + " at " + (newIdx + 1) + " of " + N); windows.add(newIdx + 1, win); @@ -1255,7 +1256,7 @@ public class WindowManagerService extends IWindowManager.Stub break; } } - if (true || DEBUG_FOCUS_LIGHT || DEBUG_WINDOW_MOVEMENT || DEBUG_ADD_REMOVE) Slog.v(TAG, + if (DEBUG_FOCUS_LIGHT || DEBUG_WINDOW_MOVEMENT || DEBUG_ADD_REMOVE) Slog.v(TAG, "Based on layer: Adding window " + win + " at " + (i + 1) + " of " + N); windows.add(i + 1, win); mWindowsChanged = true; @@ -3050,7 +3051,7 @@ public class WindowManagerService extends IWindowManager.Stub WindowManager.LayoutParams attrs, int requestedWidth, int requestedHeight, int viewVisibility, int flags, Rect outFrame, Rect outOverscanInsets, Rect outContentInsets, - Rect outVisibleInsets, Rect outStableInsets, Configuration outConfig, + Rect outVisibleInsets, Rect outStableInsets, Rect outOutsets, Configuration outConfig, Surface outSurface) { boolean toBeDisplayed = false; boolean inTouchMode; @@ -3338,6 +3339,7 @@ public class WindowManagerService extends IWindowManager.Stub outContentInsets.set(win.mContentInsets); outVisibleInsets.set(win.mVisibleInsets); outStableInsets.set(win.mStableInsets); + outOutsets.set(win.mOutsets); if (localLOGV) Slog.v( TAG, "Relayout given client " + client.asBinder() + ", requestedWidth=" + requestedWidth @@ -3720,7 +3722,7 @@ public class WindowManagerService extends IWindowManager.Stub atoken.layoutConfigChanges = (configChanges & (ActivityInfo.CONFIG_SCREEN_SIZE | ActivityInfo.CONFIG_ORIENTATION)) != 0; atoken.mLaunchTaskBehind = launchTaskBehind; - if (true || DEBUG_TOKEN_MOVEMENT || DEBUG_ADD_REMOVE) Slog.v(TAG, "addAppToken: " + atoken + if (DEBUG_TOKEN_MOVEMENT || DEBUG_ADD_REMOVE) Slog.v(TAG, "addAppToken: " + atoken + " to stack=" + stackId + " task=" + taskId + " at " + addPos); Task task = mTaskIdToTask.get(taskId); @@ -9611,6 +9613,7 @@ public class WindowManagerService extends IWindowManager.Stub w.mLastContentInsets.set(w.mContentInsets); w.mLastVisibleInsets.set(w.mVisibleInsets); w.mLastStableInsets.set(w.mStableInsets); + w.mLastOutsets.set(w.mOutsets); makeWindowFreezingScreenIfNeededLocked(w); // If the orientation is changing, then we need to // hold off on unfreezing the display until this diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java index 193d812..b8b243c 100644 --- a/services/core/java/com/android/server/wm/WindowState.java +++ b/services/core/java/com/android/server/wm/WindowState.java @@ -180,6 +180,14 @@ final class WindowState implements WindowManagerPolicy.WindowState { boolean mStableInsetsChanged; /** + * Outsets determine the area outside of the surface where we want to pretend that it's possible + * to draw anyway. + */ + final Rect mOutsets = new Rect(); + final Rect mLastOutsets = new Rect(); + boolean mOutsetsChanged = false; + + /** * Set to true if we are waiting for this window to receive its * given internal insets before laying out other windows based on it. */ @@ -261,6 +269,10 @@ final class WindowState implements WindowManagerPolicy.WindowState { // displays hint text. final Rect mVisibleFrame = new Rect(); + // Frame that includes dead area outside of the surface but where we want to pretend that it's + // possible to draw. + final Rect mOutsetFrame = new Rect(); + boolean mContentChanged; // If a window showing a wallpaper: the requested offset for the @@ -519,7 +531,8 @@ final class WindowState implements WindowManagerPolicy.WindowState { } @Override - public void computeFrameLw(Rect pf, Rect df, Rect of, Rect cf, Rect vf, Rect dcf, Rect sf) { + public void computeFrameLw(Rect pf, Rect df, Rect of, Rect cf, Rect vf, Rect dcf, Rect sf, + Rect osf) { mHaveFrame = true; final TaskStack stack = mAppToken != null ? getStack() : null; @@ -594,6 +607,10 @@ final class WindowState implements WindowManagerPolicy.WindowState { mVisibleFrame.set(vf); mDecorFrame.set(dcf); mStableFrame.set(sf); + final boolean hasOutsets = osf != null; + if (hasOutsets) { + mOutsetFrame.set(osf); + } final int fw = mFrame.width(); final int fh = mFrame.height(); @@ -658,6 +675,16 @@ final class WindowState implements WindowManagerPolicy.WindowState { Math.max(mFrame.right - mStableFrame.right, 0), Math.max(mFrame.bottom - mStableFrame.bottom, 0)); + if (hasOutsets) { + // We need to calculate outsets + mOutsets.set(Math.max(mContentFrame.left - mOutsetFrame.left, 0), + Math.max(mContentFrame.top - mOutsetFrame.top, 0), + Math.max(mOutsetFrame.right - mContentFrame.right, 0), + Math.max(mOutsetFrame.bottom - mContentFrame.bottom, 0)); + } else { + mOutsets.set(0, 0, 0, 0); + } + mCompatFrame.set(mFrame); if (mEnforceSizeCompat) { // If there is a size compatibility scale being applied to the @@ -667,6 +694,7 @@ final class WindowState implements WindowManagerPolicy.WindowState { mContentInsets.scale(mInvGlobalScale); mVisibleInsets.scale(mInvGlobalScale); mStableInsets.scale(mInvGlobalScale); + mOutsets.scale(mInvGlobalScale); // Also the scaled frame that we report to the app needs to be // adjusted to be in its coordinate space. @@ -689,7 +717,8 @@ final class WindowState implements WindowManagerPolicy.WindowState { + "): frame=" + mFrame.toShortString() + " ci=" + mContentInsets.toShortString() + " vi=" + mVisibleInsets.toShortString() - + " vi=" + mStableInsets.toShortString()); + + " vi=" + mStableInsets.toShortString() + + " of=" + mOutsets.toShortString()); } @Override @@ -804,7 +833,9 @@ final class WindowState implements WindowManagerPolicy.WindowState { mContentInsetsChanged |= !mLastContentInsets.equals(mContentInsets); mVisibleInsetsChanged |= !mLastVisibleInsets.equals(mVisibleInsets); mStableInsetsChanged |= !mLastStableInsets.equals(mStableInsets); - return mOverscanInsetsChanged || mContentInsetsChanged || mVisibleInsetsChanged; + mOutsetsChanged |= !mLastOutsets.equals(mOutsets); + return mOverscanInsetsChanged || mContentInsetsChanged || mVisibleInsetsChanged + || mOutsetsChanged; } public DisplayContent getDisplayContent() { @@ -1472,6 +1503,7 @@ final class WindowState implements WindowManagerPolicy.WindowState { final Rect contentInsets = mLastContentInsets; final Rect visibleInsets = mLastVisibleInsets; final Rect stableInsets = mLastStableInsets; + final Rect outsets = mLastOutsets; final boolean reportDraw = mWinAnimator.mDrawState == WindowStateAnimator.DRAW_PENDING; final Configuration newConfig = configChanged ? mConfiguration : null; if (mAttrs.type != WindowManager.LayoutParams.TYPE_APPLICATION_STARTING @@ -1482,7 +1514,7 @@ final class WindowState implements WindowManagerPolicy.WindowState { public void run() { try { mClient.resized(frame, overscanInsets, contentInsets, - visibleInsets, stableInsets, reportDraw, newConfig); + visibleInsets, stableInsets, outsets, reportDraw, newConfig); } catch (RemoteException e) { // Not a remote call, RemoteException won't be raised. } @@ -1490,7 +1522,7 @@ final class WindowState implements WindowManagerPolicy.WindowState { }); } else { mClient.resized(frame, overscanInsets, contentInsets, visibleInsets, stableInsets, - reportDraw, newConfig); + outsets, reportDraw, newConfig); } //TODO (multidisplay): Accessibility supported only for the default display. @@ -1503,6 +1535,7 @@ final class WindowState implements WindowManagerPolicy.WindowState { mContentInsetsChanged = false; mVisibleInsetsChanged = false; mStableInsetsChanged = false; + mOutsetsChanged = false; mWinAnimator.mSurfaceResized = false; } catch (RemoteException e) { mOrientationChanging = false; @@ -1664,17 +1697,22 @@ final class WindowState implements WindowManagerPolicy.WindowState { pw.println(); pw.print(prefix); pw.print(" decor="); mDecorFrame.printShortString(pw); pw.println(); + pw.print(prefix); pw.print(" outset="); mOutsetFrame.printShortString(pw); + pw.println(); pw.print(prefix); pw.print("Cur insets: overscan="); mOverscanInsets.printShortString(pw); pw.print(" content="); mContentInsets.printShortString(pw); pw.print(" visible="); mVisibleInsets.printShortString(pw); pw.print(" stable="); mStableInsets.printShortString(pw); + pw.print(" outsets="); mOutsets.printShortString(pw); pw.println(); pw.print(prefix); pw.print("Lst insets: overscan="); mLastOverscanInsets.printShortString(pw); pw.print(" content="); mLastContentInsets.printShortString(pw); pw.print(" visible="); mLastVisibleInsets.printShortString(pw); pw.print(" stable="); mLastStableInsets.printShortString(pw); + pw.print(" physical="); mLastOutsets.printShortString(pw); + pw.print(" outset="); mLastOutsets.printShortString(pw); pw.println(); } pw.print(prefix); pw.print(mWinAnimator); pw.println(":"); diff --git a/services/core/jni/com_android_server_location_GpsLocationProvider.cpp b/services/core/jni/com_android_server_location_GpsLocationProvider.cpp index 3804e1d..5c27b1f 100644 --- a/services/core/jni/com_android_server_location_GpsLocationProvider.cpp +++ b/services/core/jni/com_android_server_location_GpsLocationProvider.cpp @@ -220,9 +220,9 @@ static void agps_status_callback(AGpsStatus* agps_status) case AF_INET: { struct sockaddr_in *in = (struct sockaddr_in*)&(agps_status->addr); - uint32_t *pAddr = (uint32_t*)&(in->sin_addr); - byteArray = convert_to_ipv4(*pAddr, true /* net_order */); - if (byteArray != NULL) { + uint32_t ipAddr = *(uint32_t*)&(in->sin_addr); + byteArray = convert_to_ipv4(ipAddr, true /* net_order */); + if (ipAddr == INADDR_NONE || byteArray != NULL) { isSupported = true; } IF_ALOGD() { diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java index d807b0b..ff748f2 100644 --- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java @@ -202,6 +202,7 @@ public class DevicePolicyManagerService extends IDevicePolicyManager.Stub { DEVICE_OWNER_USER_RESTRICTIONS = new HashSet(); DEVICE_OWNER_USER_RESTRICTIONS.add(UserManager.DISALLOW_USB_FILE_TRANSFER); DEVICE_OWNER_USER_RESTRICTIONS.add(UserManager.DISALLOW_CONFIG_TETHERING); + DEVICE_OWNER_USER_RESTRICTIONS.add(UserManager.DISALLOW_NETWORK_RESET); DEVICE_OWNER_USER_RESTRICTIONS.add(UserManager.DISALLOW_FACTORY_RESET); DEVICE_OWNER_USER_RESTRICTIONS.add(UserManager.DISALLOW_ADD_USER); DEVICE_OWNER_USER_RESTRICTIONS.add(UserManager.DISALLOW_CONFIG_CELL_BROADCASTS); diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionSessionConnection.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionSessionConnection.java index 03abfba..1117373 100644 --- a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionSessionConnection.java +++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionSessionConnection.java @@ -20,6 +20,7 @@ import android.app.ActivityManager; import android.app.ActivityManagerNative; import android.app.AppOpsManager; import android.app.AssistContent; +import android.app.AssistStructure; import android.app.IActivityManager; import android.content.ClipData; import android.content.ComponentName; @@ -291,33 +292,37 @@ final class VoiceInteractionSessionConnection implements ServiceConnection { return; } if (mHaveAssistData) { + Bundle assistData; + AssistStructure structure; + AssistContent content; if (mAssistData != null) { + assistData = mAssistData.getBundle("data"); + structure = mAssistData.getParcelable("structure"); + content = mAssistData.getParcelable("content"); int uid = mAssistData.getInt(Intent.EXTRA_ASSIST_UID, -1); - if (uid >= 0) { - Bundle assistContext = mAssistData.getBundle(Intent.EXTRA_ASSIST_CONTEXT); - if (assistContext != null) { - AssistContent content = AssistContent.getAssistContent(assistContext); - if (content != null) { - Intent intent = content.getIntent(); - if (intent != null) { - ClipData data = intent.getClipData(); - if (data != null && Intent.isAccessUriMode(intent.getFlags())) { - grantClipDataPermissions(data, intent.getFlags(), uid, - mCallingUid, mSessionComponentName.getPackageName()); - } - } - ClipData data = content.getClipData(); - if (data != null) { - grantClipDataPermissions(data, - Intent.FLAG_GRANT_READ_URI_PERMISSION, - uid, mCallingUid, mSessionComponentName.getPackageName()); - } + if (uid >= 0 && content != null) { + Intent intent = content.getIntent(); + if (intent != null) { + ClipData data = intent.getClipData(); + if (data != null && Intent.isAccessUriMode(intent.getFlags())) { + grantClipDataPermissions(data, intent.getFlags(), uid, + mCallingUid, mSessionComponentName.getPackageName()); } } + ClipData data = content.getClipData(); + if (data != null) { + grantClipDataPermissions(data, + Intent.FLAG_GRANT_READ_URI_PERMISSION, + uid, mCallingUid, mSessionComponentName.getPackageName()); + } } + } else { + assistData = null; + structure = null; + content = null; } try { - mSession.handleAssist(mAssistData); + mSession.handleAssist(assistData, structure, content); } catch (RemoteException e) { } mAssistData = null; diff --git a/telecomm/java/android/telecom/Call.java b/telecomm/java/android/telecom/Call.java index d74c61c..a2e0706 100644 --- a/telecomm/java/android/telecom/Call.java +++ b/telecomm/java/android/telecom/Call.java @@ -253,6 +253,7 @@ public final class Call { private final int mVideoState; private final StatusHints mStatusHints; private final Bundle mExtras; + private final Bundle mIntentExtras; /** * Whether the supplied capabilities supports the specified capability. @@ -480,12 +481,19 @@ public final class Call { } /** - * @return A bundle extras to pass with the call + * @return The extras associated with this call. */ public Bundle getExtras() { return mExtras; } + /** + * @return The extras used with the original intent to place this call. + */ + public Bundle getIntentExtras() { + return mIntentExtras; + } + @Override public boolean equals(Object o) { if (o instanceof Details) { @@ -504,7 +512,8 @@ public final class Call { Objects.equals(mGatewayInfo, d.mGatewayInfo) && Objects.equals(mVideoState, d.mVideoState) && Objects.equals(mStatusHints, d.mStatusHints) && - Objects.equals(mExtras, d.mExtras); + Objects.equals(mExtras, d.mExtras) && + Objects.equals(mIntentExtras, d.mIntentExtras); } return false; } @@ -524,7 +533,8 @@ public final class Call { Objects.hashCode(mGatewayInfo) + Objects.hashCode(mVideoState) + Objects.hashCode(mStatusHints) + - Objects.hashCode(mExtras); + Objects.hashCode(mExtras) + + Objects.hashCode(mIntentExtras); } /** {@hide} */ @@ -541,7 +551,8 @@ public final class Call { GatewayInfo gatewayInfo, int videoState, StatusHints statusHints, - Bundle extras) { + Bundle extras, + Bundle intentExtras) { mHandle = handle; mHandlePresentation = handlePresentation; mCallerDisplayName = callerDisplayName; @@ -555,6 +566,7 @@ public final class Call { mVideoState = videoState; mStatusHints = statusHints; mExtras = extras; + mIntentExtras = intentExtras; } } @@ -986,7 +998,8 @@ public final class Call { parcelableCall.getGatewayInfo(), parcelableCall.getVideoState(), parcelableCall.getStatusHints(), - parcelableCall.getExtras()); + parcelableCall.getExtras(), + parcelableCall.getIntentExtras()); boolean detailsChanged = !Objects.equals(mDetails, details); if (detailsChanged) { mDetails = details; diff --git a/telecomm/java/android/telecom/Conference.java b/telecomm/java/android/telecom/Conference.java index dfbb67a..9db0b92 100644 --- a/telecomm/java/android/telecom/Conference.java +++ b/telecomm/java/android/telecom/Conference.java @@ -16,7 +16,9 @@ package android.telecom; +import android.annotation.Nullable; import android.annotation.SystemApi; +import android.os.Bundle; import android.telecom.Connection.VideoProvider; import java.util.ArrayList; @@ -52,6 +54,7 @@ public abstract class Conference extends Conferenceable { public void onVideoStateChanged(Conference c, int videoState) { } public void onVideoProviderChanged(Conference c, Connection.VideoProvider videoProvider) {} public void onStatusHintsChanged(Conference conference, StatusHints statusHints) {} + public void onExtrasChanged(Conference conference, Bundle extras) {} } private final Set<Listener> mListeners = new CopyOnWriteArraySet<>(); @@ -70,6 +73,7 @@ public abstract class Conference extends Conferenceable { private String mDisconnectMessage; private long mConnectTimeMillis = CONNECT_TIME_NOT_SPECIFIED; private StatusHints mStatusHints; + private Bundle mExtras; private final Connection.Listener mConnectionDeathListener = new Connection.Listener() { @Override @@ -600,4 +604,25 @@ public abstract class Conference extends Conferenceable { public final StatusHints getStatusHints() { return mStatusHints; } + + /** + * Set some extras that can be associated with this {@code Conference}. No assumptions should + * be made as to how an In-Call UI or service will handle these extras. + * Keys should be fully qualified (e.g., com.example.MY_EXTRA) to avoid conflicts. + * + * @param extras The extras associated with this {@code Connection}. + */ + public final void setExtras(@Nullable Bundle extras) { + mExtras = extras; + for (Listener l : mListeners) { + l.onExtrasChanged(this, extras); + } + } + + /** + * @return The extras associated with this conference. + */ + public final Bundle getExtras() { + return mExtras; + } } diff --git a/telecomm/java/android/telecom/Connection.java b/telecomm/java/android/telecom/Connection.java index fba4e6a..f9e48b6 100644 --- a/telecomm/java/android/telecom/Connection.java +++ b/telecomm/java/android/telecom/Connection.java @@ -20,8 +20,10 @@ import com.android.internal.os.SomeArgs; import com.android.internal.telecom.IVideoCallback; import com.android.internal.telecom.IVideoProvider; +import android.annotation.Nullable; import android.annotation.SystemApi; import android.net.Uri; +import android.os.Bundle; import android.os.Handler; import android.os.IBinder; import android.os.Message; @@ -334,6 +336,7 @@ public abstract class Connection extends Conferenceable { List<ConferenceParticipant> participants) {} public void onConferenceStarted() {} public void onConferenceMergeFailed(Connection c) {} + public void onExtrasChanged(Connection c, Bundle extras) {} } public static abstract class VideoProvider { @@ -832,6 +835,7 @@ public abstract class Connection extends Conferenceable { private DisconnectCause mDisconnectCause; private Conference mConference; private ConnectionService mConnectionService; + private Bundle mExtras; /** * Create a new Connection. @@ -942,6 +946,13 @@ public abstract class Connection extends Conferenceable { } /** + * @return The extras associated with this connection. + */ + public final Bundle getExtras() { + return mExtras; + } + + /** * Assign a listener to be notified of state changes. * * @param l A listener. @@ -1371,6 +1382,21 @@ public abstract class Connection extends Conferenceable { } /** + * Set some extras that can be associated with this {@code Connection}. No assumptions should + * be made as to how an In-Call UI or service will handle these extras. + * Keys should be fully qualified (e.g., com.example.MY_EXTRA) to avoid conflicts. + * + * @param extras The extras associated with this {@code Connection}. + */ + public final void setExtras(@Nullable Bundle extras) { + checkImmutable(); + mExtras = extras; + for (Listener l : mListeners) { + l.onExtrasChanged(this, extras); + } + } + + /** * Notifies this Connection that the {@link #getAudioState()} property has a new value. * * @param state The new connection audio state. diff --git a/telecomm/java/android/telecom/ConnectionService.java b/telecomm/java/android/telecom/ConnectionService.java index 199100b..1e8ae88 100644 --- a/telecomm/java/android/telecom/ConnectionService.java +++ b/telecomm/java/android/telecom/ConnectionService.java @@ -21,6 +21,7 @@ import android.app.Service; import android.content.ComponentName; import android.content.Intent; import android.net.Uri; +import android.os.Bundle; import android.os.Handler; import android.os.IBinder; import android.os.Looper; @@ -432,6 +433,12 @@ public abstract class ConnectionService extends Service { String id = mIdByConference.get(conference); mAdapter.setStatusHints(id, statusHints); } + + @Override + public void onExtrasChanged(Conference conference, Bundle extras) { + String id = mIdByConference.get(conference); + mAdapter.setExtras(id, extras); + } }; private final Connection.Listener mConnectionListener = new Connection.Listener() { @@ -569,6 +576,14 @@ public abstract class ConnectionService extends Service { mAdapter.onConferenceMergeFailed(id); } } + + @Override + public void onExtrasChanged(Connection connection, Bundle extras) { + String id = mIdByConnection.get(connection); + if (id != null) { + mAdapter.setExtras(id, extras); + } + } }; /** {@inheritDoc} */ @@ -638,7 +653,8 @@ public abstract class ConnectionService extends Service { connection.getAudioModeIsVoip(), connection.getStatusHints(), connection.getDisconnectCause(), - createIdList(connection.getConferenceables()))); + createIdList(connection.getConferenceables()), + connection.getExtras())); } private void abort(String callId) { @@ -919,7 +935,8 @@ public abstract class ConnectionService extends Service { null : conference.getVideoProvider().getInterface(), conference.getVideoState(), conference.getConnectTimeMillis(), - conference.getStatusHints()); + conference.getStatusHints(), + conference.getExtras()); mAdapter.addConferenceCall(id, parcelableConference); mAdapter.setVideoProvider(id, conference.getVideoProvider()); @@ -964,7 +981,8 @@ public abstract class ConnectionService extends Service { connection.getAudioModeIsVoip(), connection.getStatusHints(), connection.getDisconnectCause(), - emptyList); + emptyList, + connection.getExtras()); mAdapter.addExistingConnection(id, parcelableConnection); } } diff --git a/telecomm/java/android/telecom/ConnectionServiceAdapter.java b/telecomm/java/android/telecom/ConnectionServiceAdapter.java index a87dbe7..1cb042c 100644 --- a/telecomm/java/android/telecom/ConnectionServiceAdapter.java +++ b/telecomm/java/android/telecom/ConnectionServiceAdapter.java @@ -17,6 +17,7 @@ package android.telecom; import android.net.Uri; +import android.os.Bundle; import android.os.IBinder.DeathRecipient; import android.os.RemoteException; @@ -384,4 +385,20 @@ final class ConnectionServiceAdapter implements DeathRecipient { } } } + + /** + * Sets extras associated with a connection. + * + * @param callId The unique ID of the call. + * @param extras The extras to associate with this call. + */ + void setExtras(String callId, Bundle extras) { + Log.v(this, "setExtras: %s", extras); + for (IConnectionServiceAdapter adapter : mAdapters) { + try { + adapter.setExtras(callId, extras); + } catch (RemoteException ignored) { + } + } + } } diff --git a/telecomm/java/android/telecom/ConnectionServiceAdapterServant.java b/telecomm/java/android/telecom/ConnectionServiceAdapterServant.java index db815ba..293dc11 100644 --- a/telecomm/java/android/telecom/ConnectionServiceAdapterServant.java +++ b/telecomm/java/android/telecom/ConnectionServiceAdapterServant.java @@ -17,6 +17,7 @@ package android.telecom; import android.net.Uri; +import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.os.RemoteException; @@ -60,6 +61,7 @@ final class ConnectionServiceAdapterServant { private static final int MSG_ADD_EXISTING_CONNECTION = 21; private static final int MSG_ON_POST_DIAL_CHAR = 22; private static final int MSG_SET_CONFERENCE_MERGE_FAILED = 23; + private static final int MSG_SET_EXTRAS = 24; private final IConnectionServiceAdapter mDelegate; @@ -230,6 +232,14 @@ final class ConnectionServiceAdapterServant { } break; } + case MSG_SET_EXTRAS: { + SomeArgs args = (SomeArgs) msg.obj; + try { + mDelegate.setExtras((String) args.arg1, (Bundle) args.arg2); + } finally { + args.recycle(); + } + } } } }; @@ -401,6 +411,14 @@ final class ConnectionServiceAdapterServant { args.arg2 = connection; mHandler.obtainMessage(MSG_ADD_EXISTING_CONNECTION, args).sendToTarget(); } + + @Override + public final void setExtras(String connectionId, Bundle extras) { + SomeArgs args = SomeArgs.obtain(); + args.arg1 = connectionId; + args.arg2 = extras; + mHandler.obtainMessage(MSG_SET_EXTRAS, args).sendToTarget(); + } }; public ConnectionServiceAdapterServant(IConnectionServiceAdapter delegate) { diff --git a/telecomm/java/android/telecom/ParcelableCall.java b/telecomm/java/android/telecom/ParcelableCall.java index bb65ce9..8cf4aeb 100644 --- a/telecomm/java/android/telecom/ParcelableCall.java +++ b/telecomm/java/android/telecom/ParcelableCall.java @@ -54,6 +54,7 @@ public final class ParcelableCall implements Parcelable { private final StatusHints mStatusHints; private final int mVideoState; private final List<String> mConferenceableCallIds; + private final Bundle mIntentExtras; private final Bundle mExtras; public ParcelableCall( @@ -77,6 +78,7 @@ public final class ParcelableCall implements Parcelable { StatusHints statusHints, int videoState, List<String> conferenceableCallIds, + Bundle intentExtras, Bundle extras) { mId = id; mState = state; @@ -98,6 +100,7 @@ public final class ParcelableCall implements Parcelable { mStatusHints = statusHints; mVideoState = videoState; mConferenceableCallIds = Collections.unmodifiableList(conferenceableCallIds); + mIntentExtras = intentExtras; mExtras = extras; } @@ -227,7 +230,7 @@ public final class ParcelableCall implements Parcelable { } /** - * Any extras to pass with the call + * Any extras associated with this call. * * @return a bundle of extras */ @@ -236,6 +239,15 @@ public final class ParcelableCall implements Parcelable { } /** + * Extras passed in as part of the original call intent. + * + * @return The intent extras. + */ + public Bundle getIntentExtras() { + return mIntentExtras; + } + + /** * Indicates to the receiver of the {@link ParcelableCall} whether a change has occurred in the * {@link android.telecom.InCallService.VideoCall} associated with this call. Since * {@link #getVideoCall()} creates a new {@link VideoCallImpl}, it is useful to know whether @@ -277,7 +289,8 @@ public final class ParcelableCall implements Parcelable { int videoState = source.readInt(); List<String> conferenceableCallIds = new ArrayList<>(); source.readList(conferenceableCallIds, classLoader); - Bundle extras = source.readParcelable(classLoader); + Bundle intentExtras = source.readBundle(classLoader); + Bundle extras = source.readBundle(classLoader); return new ParcelableCall( id, state, @@ -299,6 +312,7 @@ public final class ParcelableCall implements Parcelable { statusHints, videoState, conferenceableCallIds, + intentExtras, extras); } @@ -338,7 +352,8 @@ public final class ParcelableCall implements Parcelable { destination.writeParcelable(mStatusHints, 0); destination.writeInt(mVideoState); destination.writeList(mConferenceableCallIds); - destination.writeParcelable(mExtras, 0); + destination.writeBundle(mIntentExtras); + destination.writeBundle(mExtras); } @Override diff --git a/telecomm/java/android/telecom/ParcelableConference.java b/telecomm/java/android/telecom/ParcelableConference.java index 3d0c558..870f5ee 100644 --- a/telecomm/java/android/telecom/ParcelableConference.java +++ b/telecomm/java/android/telecom/ParcelableConference.java @@ -16,6 +16,7 @@ package android.telecom; +import android.os.Bundle; import android.os.Parcel; import android.os.Parcelable; @@ -38,6 +39,7 @@ public final class ParcelableConference implements Parcelable { private final IVideoProvider mVideoProvider; private final int mVideoState; private StatusHints mStatusHints; + private Bundle mExtras; public ParcelableConference( PhoneAccountHandle phoneAccount, @@ -47,7 +49,8 @@ public final class ParcelableConference implements Parcelable { IVideoProvider videoProvider, int videoState, long connectTimeMillis, - StatusHints statusHints) { + StatusHints statusHints, + Bundle extras) { mPhoneAccount = phoneAccount; mState = state; mConnectionCapabilities = connectionCapabilities; @@ -57,6 +60,7 @@ public final class ParcelableConference implements Parcelable { mVideoState = videoState; mConnectTimeMillis = connectTimeMillis; mStatusHints = statusHints; + mExtras = extras; } @Override @@ -110,6 +114,10 @@ public final class ParcelableConference implements Parcelable { return mStatusHints; } + public Bundle getExtras() { + return mExtras; + } + public static final Parcelable.Creator<ParcelableConference> CREATOR = new Parcelable.Creator<ParcelableConference> () { @Override @@ -125,9 +133,10 @@ public final class ParcelableConference implements Parcelable { IVideoProvider.Stub.asInterface(source.readStrongBinder()); int videoState = source.readInt(); StatusHints statusHints = source.readParcelable(classLoader); + Bundle extras = source.readBundle(classLoader); return new ParcelableConference(phoneAccount, state, capabilities, connectionIds, - videoCallProvider, videoState, connectTimeMillis, statusHints); + videoCallProvider, videoState, connectTimeMillis, statusHints, extras); } @Override @@ -154,5 +163,6 @@ public final class ParcelableConference implements Parcelable { mVideoProvider != null ? mVideoProvider.asBinder() : null); destination.writeInt(mVideoState); destination.writeParcelable(mStatusHints, 0); + destination.writeBundle(mExtras); } } diff --git a/telecomm/java/android/telecom/ParcelableConnection.java b/telecomm/java/android/telecom/ParcelableConnection.java index 552e250..683ab6a 100644 --- a/telecomm/java/android/telecom/ParcelableConnection.java +++ b/telecomm/java/android/telecom/ParcelableConnection.java @@ -17,6 +17,7 @@ package android.telecom; import android.net.Uri; +import android.os.Bundle; import android.os.Parcel; import android.os.Parcelable; @@ -46,6 +47,7 @@ public final class ParcelableConnection implements Parcelable { private final StatusHints mStatusHints; private final DisconnectCause mDisconnectCause; private final List<String> mConferenceableConnectionIds; + private final Bundle mExtras; /** @hide */ public ParcelableConnection( @@ -62,7 +64,8 @@ public final class ParcelableConnection implements Parcelable { boolean isVoipAudioMode, StatusHints statusHints, DisconnectCause disconnectCause, - List<String> conferenceableConnectionIds) { + List<String> conferenceableConnectionIds, + Bundle extras) { mPhoneAccount = phoneAccount; mState = state; mConnectionCapabilities = capabilities; @@ -76,7 +79,8 @@ public final class ParcelableConnection implements Parcelable { mIsVoipAudioMode = isVoipAudioMode; mStatusHints = statusHints; mDisconnectCause = disconnectCause; - this.mConferenceableConnectionIds = conferenceableConnectionIds; + mConferenceableConnectionIds = conferenceableConnectionIds; + mExtras = extras; } public PhoneAccountHandle getPhoneAccount() { @@ -136,15 +140,21 @@ public final class ParcelableConnection implements Parcelable { return mConferenceableConnectionIds; } + public final Bundle getExtras() { + return mExtras; + } + @Override public String toString() { return new StringBuilder() .append("ParcelableConnection [act:") .append(mPhoneAccount) - .append(", state:") + .append("], state:") .append(mState) .append(", capabilities:") .append(Connection.capabilitiesToString(mConnectionCapabilities)) + .append(", extras:") + .append(mExtras) .toString(); } @@ -170,6 +180,7 @@ public final class ParcelableConnection implements Parcelable { DisconnectCause disconnectCause = source.readParcelable(classLoader); List<String> conferenceableConnectionIds = new ArrayList<>(); source.readStringList(conferenceableConnectionIds); + Bundle extras = source.readBundle(classLoader); return new ParcelableConnection( phoneAccount, @@ -185,7 +196,8 @@ public final class ParcelableConnection implements Parcelable { audioModeIsVoip, statusHints, disconnectCause, - conferenceableConnectionIds); + conferenceableConnectionIds, + extras); } @Override @@ -218,5 +230,6 @@ public final class ParcelableConnection implements Parcelable { destination.writeParcelable(mStatusHints, 0); destination.writeParcelable(mDisconnectCause, 0); destination.writeStringList(mConferenceableConnectionIds); + destination.writeBundle(mExtras); } } diff --git a/telecomm/java/android/telecom/RemoteConference.java b/telecomm/java/android/telecom/RemoteConference.java index 095a88f..c2261c3 100644 --- a/telecomm/java/android/telecom/RemoteConference.java +++ b/telecomm/java/android/telecom/RemoteConference.java @@ -18,7 +18,9 @@ package android.telecom; import com.android.internal.telecom.IConnectionService; +import android.annotation.Nullable; import android.annotation.SystemApi; +import android.os.Bundle; import android.os.Handler; import android.os.RemoteException; @@ -49,6 +51,7 @@ public final class RemoteConference { RemoteConference conference, List<RemoteConnection> conferenceableConnections) {} public void onDestroyed(RemoteConference conference) {} + public void onExtrasChanged(RemoteConference conference, @Nullable Bundle extras) {} } private final String mId; @@ -65,6 +68,7 @@ public final class RemoteConference { private int mState = Connection.STATE_NEW; private DisconnectCause mDisconnectCause; private int mConnectionCapabilities; + private Bundle mExtras; /** @hide */ RemoteConference(String id, IConnectionService connectionService) { @@ -209,6 +213,21 @@ public final class RemoteConference { } } + /** @hide */ + void setExtras(final Bundle extras) { + mExtras = extras; + for (CallbackRecord<Callback> record : mCallbackRecords) { + final RemoteConference conference = this; + final Callback callback = record.getCallback(); + record.getHandler().post(new Runnable() { + @Override + public void run() { + callback.onExtrasChanged(conference, extras); + } + }); + } + } + /** * Returns the list of {@link RemoteConnection}s contained in this conference. * @@ -238,6 +257,15 @@ public final class RemoteConference { } /** + * Obtain the extras associated with this {@code RemoteConnection}. + * + * @return The extras for this connection. + */ + public final Bundle getExtras() { + return mExtras; + } + + /** * Disconnects the conference call as well as the child {@link RemoteConnection}s. */ public void disconnect() { diff --git a/telecomm/java/android/telecom/RemoteConnection.java b/telecomm/java/android/telecom/RemoteConnection.java index 1d6e15c..2feb380 100644 --- a/telecomm/java/android/telecom/RemoteConnection.java +++ b/telecomm/java/android/telecom/RemoteConnection.java @@ -20,8 +20,10 @@ import com.android.internal.telecom.IConnectionService; import com.android.internal.telecom.IVideoCallback; import com.android.internal.telecom.IVideoProvider; +import android.annotation.Nullable; import android.annotation.SystemApi; import android.net.Uri; +import android.os.Bundle; import android.os.Handler; import android.os.IBinder; import android.os.RemoteException; @@ -150,7 +152,6 @@ public final class RemoteConnection { * * @param connection The {@code RemoteConnection} invoking this method. * @param videoState The new video state of the {@code RemoteConnection}. - * @hide */ public void onVideoStateChanged(RemoteConnection connection, int videoState) {} @@ -181,7 +182,6 @@ public final class RemoteConnection { * @param connection The {@code RemoteConnection} invoking this method. * @param videoProvider The new {@code VideoProvider} associated with this * {@code RemoteConnection}. - * @hide */ public void onVideoProviderChanged( RemoteConnection connection, VideoProvider videoProvider) {} @@ -197,23 +197,30 @@ public final class RemoteConnection { public void onConferenceChanged( RemoteConnection connection, RemoteConference conference) {} + + /** + * Handles changes to the {@code RemoteConference} extras. + * + * @param connection The {@code RemoteConnection} invoking this method. + * @param extras The extras containing other information associated with the connection. + */ + public void onExtrasChanged(RemoteConnection connection, @Nullable Bundle extras) {} } - /** {@hide} */ public static class VideoProvider { - public abstract static class Listener { - public void onReceiveSessionModifyRequest( + public abstract static class Callback { + public void onSessionModifyRequestReceived( VideoProvider videoProvider, VideoProfile videoProfile) {} - public void onReceiveSessionModifyResponse( + public void onSessionModifyResponseReceived( VideoProvider videoProvider, int status, VideoProfile requestedProfile, VideoProfile responseProfile) {} - public void onHandleCallSessionEvent(VideoProvider videoProvider, int event) {} + public void onCallSessionEvent(VideoProvider videoProvider, int event) {} public void onPeerDimensionsChanged(VideoProvider videoProvider, int width, int height) {} @@ -229,16 +236,16 @@ public final class RemoteConnection { private final IVideoCallback mVideoCallbackDelegate = new IVideoCallback() { @Override public void receiveSessionModifyRequest(VideoProfile videoProfile) { - for (Listener l : mListeners) { - l.onReceiveSessionModifyRequest(VideoProvider.this, videoProfile); + for (Callback l : mCallbacks) { + l.onSessionModifyRequestReceived(VideoProvider.this, videoProfile); } } @Override public void receiveSessionModifyResponse(int status, VideoProfile requestedProfile, VideoProfile responseProfile) { - for (Listener l : mListeners) { - l.onReceiveSessionModifyResponse( + for (Callback l : mCallbacks) { + l.onSessionModifyResponseReceived( VideoProvider.this, status, requestedProfile, @@ -248,21 +255,21 @@ public final class RemoteConnection { @Override public void handleCallSessionEvent(int event) { - for (Listener l : mListeners) { - l.onHandleCallSessionEvent(VideoProvider.this, event); + for (Callback l : mCallbacks) { + l.onCallSessionEvent(VideoProvider.this, event); } } @Override public void changePeerDimensions(int width, int height) { - for (Listener l : mListeners) { + for (Callback l : mCallbacks) { l.onPeerDimensionsChanged(VideoProvider.this, width, height); } } @Override public void changeCallDataUsage(long dataUsage) { - for (Listener l : mListeners) { + for (Callback l : mCallbacks) { l.onCallDataUsageChanged(VideoProvider.this, dataUsage); } } @@ -270,14 +277,14 @@ public final class RemoteConnection { @Override public void changeCameraCapabilities( VideoProfile.CameraCapabilities cameraCapabilities) { - for (Listener l : mListeners) { + for (Callback l : mCallbacks) { l.onCameraCapabilitiesChanged(VideoProvider.this, cameraCapabilities); } } @Override public void changeVideoQuality(int videoQuality) { - for (Listener l : mListeners) { + for (Callback l : mCallbacks) { l.onVideoQualityChanged(VideoProvider.this, videoQuality); } } @@ -298,10 +305,10 @@ public final class RemoteConnection { * load factor before resizing, 1 means we only expect a single thread to * access the map so make only a single shard */ - private final Set<Listener> mListeners = Collections.newSetFromMap( - new ConcurrentHashMap<Listener, Boolean>(8, 0.9f, 1)); + private final Set<Callback> mCallbacks = Collections.newSetFromMap( + new ConcurrentHashMap<Callback, Boolean>(8, 0.9f, 1)); - public VideoProvider(IVideoProvider videoProviderBinder) { + VideoProvider(IVideoProvider videoProviderBinder) { mVideoProviderBinder = videoProviderBinder; try { mVideoProviderBinder.addVideoCallback(mVideoCallbackServant.getStub().asBinder()); @@ -309,12 +316,12 @@ public final class RemoteConnection { } } - public void addListener(Listener l) { - mListeners.add(l); + public void registerCallback(Callback l) { + mCallbacks.add(l); } - public void removeListener(Listener l) { - mListeners.remove(l); + public void unregisterCallback(Callback l) { + mCallbacks.remove(l); } public void setCamera(String cameraId) { @@ -415,6 +422,7 @@ public final class RemoteConnection { private String mCallerDisplayName; private int mCallerDisplayNamePresentation; private RemoteConference mConference; + private Bundle mExtras; /** * @hide @@ -598,7 +606,6 @@ public final class RemoteConnection { * Obtains the video state of this {@code RemoteConnection}. * * @return The video state of the {@code RemoteConnection}. See {@link VideoProfile.VideoState}. - * @hide */ public int getVideoState() { return mVideoState; @@ -607,13 +614,21 @@ public final class RemoteConnection { /** * Obtains the video provider of this {@code RemoteConnection}. * @return The video provider associated with this {@code RemoteConnection}. - * @hide */ public final VideoProvider getVideoProvider() { return mVideoProvider; } /** + * Obtain the extras associated with this {@code RemoteConnection}. + * + * @return The extras for this connection. + */ + public final Bundle getExtras() { + return mExtras; + } + + /** * Determines whether this {@code RemoteConnection} is requesting ringback. * * @return Whether the {@code RemoteConnection} is requesting that the framework play a @@ -1097,6 +1112,21 @@ public final class RemoteConnection { } } + /** @hide */ + void setExtras(final Bundle extras) { + mExtras = extras; + for (CallbackRecord record : mCallbackRecords) { + final RemoteConnection connection = this; + final Callback callback = record.getCallback(); + record.getHandler().post(new Runnable() { + @Override + public void run() { + callback.onExtrasChanged(connection, extras); + } + }); + } + } + /** * Create a RemoteConnection represents a failure, and which will be in * {@link Connection#STATE_DISCONNECTED}. Attempting to use it for anything will almost diff --git a/telecomm/java/android/telecom/RemoteConnectionService.java b/telecomm/java/android/telecom/RemoteConnectionService.java index 0208744..dc0de0c 100644 --- a/telecomm/java/android/telecom/RemoteConnectionService.java +++ b/telecomm/java/android/telecom/RemoteConnectionService.java @@ -17,6 +17,7 @@ package android.telecom; import android.net.Uri; +import android.os.Bundle; import android.os.IBinder; import android.os.IBinder.DeathRecipient; import android.os.RemoteException; @@ -318,6 +319,17 @@ final class RemoteConnectionService { mOurConnectionServiceImpl.addRemoteExistingConnection(remoteConnction); } + + @Override + public void setExtras(String callId, Bundle extras) { + if (mConnectionById.containsKey(callId)) { + findConnectionForAction(callId, "setExtras") + .setExtras(extras); + } else { + findConferenceForAction(callId, "setExtras") + .setExtras(extras); + } + } }; private final ConnectionServiceAdapterServant mServant = diff --git a/telecomm/java/android/telecom/TelecomManager.java b/telecomm/java/android/telecom/TelecomManager.java index 145c993..07176b3 100644 --- a/telecomm/java/android/telecom/TelecomManager.java +++ b/telecomm/java/android/telecom/TelecomManager.java @@ -69,9 +69,7 @@ public class TelecomManager { /** * The {@link android.content.Intent} action used to configure a * {@link android.telecom.ConnectionService}. - * @hide */ - @SystemApi public static final String ACTION_CONNECTION_SERVICE_CONFIGURE = "android.telecom.action.CONNECTION_SERVICE_CONFIGURE"; @@ -126,6 +124,16 @@ public class TelecomManager { "android.telecom.action.CHANGE_DEFAULT_DIALER"; /** + * Privileged version of {@link #ACTION_CHANGE_DEFAULT_DIALER} that doesn't require + * confirmation from the user via the dialog. + * + * Requires permission: {@link android.Manifest.permission#MODIFY_PHONE_STATE} + * @hide + */ + public static final String ACTION_CHANGE_DEFAULT_DIALER_PRIVILEGED = + "android.telecom.action.CHANGE_DEFAULT_DIALER_PRIVILEGED"; + + /** * Activity action: Opens the settings screen where a user can enable and disable which * {@link PhoneAccount}s are allows to make and receive calls. Because a user must * explicitly enable an account before the system will use it, an app may want to send the diff --git a/telecomm/java/com/android/internal/telecom/IConnectionServiceAdapter.aidl b/telecomm/java/com/android/internal/telecom/IConnectionServiceAdapter.aidl index 67e2edb..7647444 100644 --- a/telecomm/java/com/android/internal/telecom/IConnectionServiceAdapter.aidl +++ b/telecomm/java/com/android/internal/telecom/IConnectionServiceAdapter.aidl @@ -18,6 +18,7 @@ package com.android.internal.telecom; import android.app.PendingIntent; import android.net.Uri; +import android.os.Bundle; import android.telecom.ConnectionRequest; import android.telecom.DisconnectCause; import android.telecom.ParcelableConnection; @@ -83,4 +84,6 @@ oneway interface IConnectionServiceAdapter { void setConferenceableConnections(String callId, in List<String> conferenceableCallIds); void addExistingConnection(String callId, in ParcelableConnection connection); + + void setExtras(String callId, in Bundle extras); } diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java index 9232040..76da13f 100644 --- a/telephony/java/android/telephony/CarrierConfigManager.java +++ b/telephony/java/android/telephony/CarrierConfigManager.java @@ -216,7 +216,8 @@ public class CarrierConfigManager { public static final String INT_VVM_PORT_NUMBER = "int_vvm_port_number"; /** - * The type of visual voicemail protocol the carrier adheres to (see below). + * The type of visual voicemail protocol the carrier adheres to. See {@link TelephonyManager} + * for possible values. For example {@link TelephonyManager#VVM_TYPE_OMTP}. * * @hide */ diff --git a/telephony/java/android/telephony/PhoneNumberUtils.java b/telephony/java/android/telephony/PhoneNumberUtils.java index aae3ff6..a41875f 100644 --- a/telephony/java/android/telephony/PhoneNumberUtils.java +++ b/telephony/java/android/telephony/PhoneNumberUtils.java @@ -2351,12 +2351,12 @@ public class PhoneNumberUtils * * @param s A {@code Spannable} to annotate. * @param start The starting character position of the phone number in {@code s}. - * @param end The ending character position of the phone number in {@code s}. + * @param endExclusive The position after the ending character in the phone number {@code s}. */ - public static void addPhoneTtsSpan(Spannable s, int start, int end) { - s.setSpan(getPhoneTtsSpan(s.subSequence(start, end).toString()), + public static void addPhoneTtsSpan(Spannable s, int start, int endExclusive) { + s.setSpan(getPhoneTtsSpan(s.subSequence(start, endExclusive).toString()), start, - end, + endExclusive, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); } diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java index fbc70de..f29a6ed 100644 --- a/telephony/java/android/telephony/TelephonyManager.java +++ b/telephony/java/android/telephony/TelephonyManager.java @@ -1644,7 +1644,6 @@ public class TelephonyManager { return SIM_STATE_UNKNOWN; } int simState = SubscriptionManager.getSimStateForSubscriber(subId[0]); - Rlog.d(TAG, "getSimState: simState=" + simState + " slotIdx=" + slotIdx); return simState; } @@ -1695,7 +1694,6 @@ public class TelephonyManager { } } } - Rlog.d(TAG, "getSimOperatorNumeric(): default subId=" + subId); return getSimOperatorNumericForSubscription(subId); } @@ -3237,8 +3235,6 @@ public class TelephonyManager { propVal = values[phoneId]; } } - Rlog.d(TAG, "getTelephonyProperty: return propVal='" + propVal + "' phoneId=" + phoneId - + " property='" + property + "' defaultVal='" + defaultVal + "' prop=" + prop); return propVal == null ? defaultVal : propVal; } @@ -4580,4 +4576,18 @@ public class TelephonyManager { } catch (RemoteException e) { } } + + + /** @hide */ + public String getLocaleFromDefaultSim() { + try { + final ITelephony telephony = getITelephony(); + if (telephony != null) { + return telephony.getLocaleFromDefaultSim(); + } + } catch (RemoteException ex) { + } + + return null; + } } diff --git a/telephony/java/com/android/internal/telephony/ITelephony.aidl b/telephony/java/com/android/internal/telephony/ITelephony.aidl index 25fe97c..11d0ea6 100644 --- a/telephony/java/com/android/internal/telephony/ITelephony.aidl +++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl @@ -945,4 +945,12 @@ interface ITelephony { int getSubIdForPhoneAccount(in PhoneAccount phoneAccount); void factoryReset(int subId); + + /** + * An estimate of the users's current locale based on the default SIM. + * + * The returned string will be a well formed BCP-47 language tag, or {@code null} + * if no locale could be derived. + */ + String getLocaleFromDefaultSim(); } diff --git a/tests/Compatibility/src/com/android/compatibilitytest/AppCompatibility.java b/tests/Compatibility/src/com/android/compatibilitytest/AppCompatibility.java index eaff6c7..f81b001 100644 --- a/tests/Compatibility/src/com/android/compatibilitytest/AppCompatibility.java +++ b/tests/Compatibility/src/com/android/compatibilitytest/AppCompatibility.java @@ -17,6 +17,7 @@ package com.android.compatibilitytest; import android.app.ActivityManager; +import android.app.UiAutomation; import android.app.UiModeManager; import android.app.ActivityManager.ProcessErrorStateInfo; import android.app.ActivityManager.RunningTaskInfo; @@ -82,10 +83,12 @@ public class AppCompatibility extends InstrumentationTestCase { if (workspaceLaunchTimeoutMsecs != null) { mWorkspaceLaunchTimeout = Integer.parseInt(workspaceLaunchTimeoutMsecs); } + getInstrumentation().getUiAutomation().setRotation(UiAutomation.ROTATION_FREEZE_0); } @Override protected void tearDown() throws Exception { + getInstrumentation().getUiAutomation().setRotation(UiAutomation.ROTATION_UNFREEZE); super.tearDown(); } diff --git a/tests/HwAccelerationTest/AndroidManifest.xml b/tests/HwAccelerationTest/AndroidManifest.xml index 8531944..10cf5c1 100644 --- a/tests/HwAccelerationTest/AndroidManifest.xml +++ b/tests/HwAccelerationTest/AndroidManifest.xml @@ -24,11 +24,11 @@ <uses-feature android:name="android.hardware.camera" /> <uses-feature android:name="android.hardware.camera.autofocus" /> - <uses-sdk android:minSdkVersion="11" /> - + <uses-sdk android:minSdkVersion="21" /> + <application android:label="HwUi" - android:hardwareAccelerated="true"> + android:theme="@android:style/Theme.Material.Light"> <activity android:name="HwTests" @@ -42,8 +42,7 @@ <activity android:name="PathOpsActivity" - android:label="Path/Ops" - android:theme="@android:style/Theme.Holo.Light"> + android:label="Path/Ops"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="com.android.test.hwui.TEST" /> @@ -52,8 +51,7 @@ <activity android:name="AssetsAtlasActivity" - android:label="Atlas/Framework" - android:theme="@android:style/Theme.Holo.Light"> + android:label="Atlas/Framework"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="com.android.test.hwui.TEST" /> @@ -62,8 +60,7 @@ <activity android:name="ScaledTextActivity" - android:label="Text/Scaled" - android:theme="@android:style/Theme.Holo.Light"> + android:label="Text/Scaled"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="com.android.test.hwui.TEST" /> @@ -72,8 +69,7 @@ <activity android:name="Rotate3dTextActivity" - android:label="Text/3D Rotation" - android:theme="@android:style/Theme.Holo.Light"> + android:label="Text/3D Rotation"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="com.android.test.hwui.TEST" /> diff --git a/tests/VectorDrawableTest/res/anim/blink.xml b/tests/VectorDrawableTest/res/anim/blink.xml index 2af0b48..714f491 100644 --- a/tests/VectorDrawableTest/res/anim/blink.xml +++ b/tests/VectorDrawableTest/res/anim/blink.xml @@ -22,7 +22,7 @@ <propertyValuesHolder android:propertyName="fillColor" android:valueType="colorType" - android:valueFrom="#ff3838" - android:valueTo="?attr/color1" /> + android:valueFrom="?attr/color1" + android:valueTo="@android:color/white" /> </objectAnimator> diff --git a/tests/VoiceInteraction/src/com/android/test/voiceinteraction/MainInteractionSession.java b/tests/VoiceInteraction/src/com/android/test/voiceinteraction/MainInteractionSession.java index 3c5c201..70a6336 100644 --- a/tests/VoiceInteraction/src/com/android/test/voiceinteraction/MainInteractionSession.java +++ b/tests/VoiceInteraction/src/com/android/test/voiceinteraction/MainInteractionSession.java @@ -119,11 +119,16 @@ public class MainInteractionSession extends VoiceInteractionSession } @Override - public void onHandleAssist(Bundle assistBundle) { - if (assistBundle != null) { - parseAssistData(assistBundle); - } else { - Log.i(TAG, "onHandleAssist: NO ASSIST BUNDLE"); + public void onHandleAssist(Bundle data, AssistStructure structure, AssistContent content) { + mAssistStructure = structure; + if (mAssistStructure != null) { + if (mAssistVisualizer != null) { + mAssistVisualizer.setAssistStructure(mAssistStructure); + } + } + if (content != null) { + Log.i(TAG, "Assist intent: " + content.getIntent()); + Log.i(TAG, "Assist clipdata: " + content.getClipData()); } } @@ -139,29 +144,6 @@ public class MainInteractionSession extends VoiceInteractionSession } } - void parseAssistData(Bundle assistBundle) { - if (assistBundle != null) { - Bundle assistContext = assistBundle.getBundle(Intent.EXTRA_ASSIST_CONTEXT); - if (assistContext != null) { - mAssistStructure = AssistStructure.getAssistStructure(assistContext); - if (mAssistStructure != null) { - if (mAssistVisualizer != null) { - mAssistVisualizer.setAssistStructure(mAssistStructure); - } - } - AssistContent content = AssistContent.getAssistContent(assistContext); - if (content != null) { - Log.i(TAG, "Assist intent: " + content.getIntent()); - Log.i(TAG, "Assist clipdata: " + content.getClipData()); - } - return; - } - } - if (mAssistVisualizer != null) { - mAssistVisualizer.clearAssistData(); - } - } - void updateState() { if (mState == STATE_IDLE) { mTopContent.setVisibility(View.VISIBLE); diff --git a/tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java b/tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java index 76019bf..2e515fb 100644 --- a/tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java +++ b/tools/layoutlib/bridge/src/android/content/res/BridgeTypedArray.java @@ -45,7 +45,24 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Map; -import static com.android.ide.common.rendering.api.RenderResources.*; +import static android.util.TypedValue.TYPE_ATTRIBUTE; +import static android.util.TypedValue.TYPE_DIMENSION; +import static android.util.TypedValue.TYPE_FLOAT; +import static android.util.TypedValue.TYPE_INT_BOOLEAN; +import static android.util.TypedValue.TYPE_INT_COLOR_ARGB4; +import static android.util.TypedValue.TYPE_INT_COLOR_ARGB8; +import static android.util.TypedValue.TYPE_INT_COLOR_RGB4; +import static android.util.TypedValue.TYPE_INT_COLOR_RGB8; +import static android.util.TypedValue.TYPE_INT_DEC; +import static android.util.TypedValue.TYPE_INT_HEX; +import static android.util.TypedValue.TYPE_NULL; +import static android.util.TypedValue.TYPE_REFERENCE; +import static android.util.TypedValue.TYPE_STRING; +import static com.android.SdkConstants.PREFIX_RESOURCE_REF; +import static com.android.SdkConstants.PREFIX_THEME_REF; +import static com.android.ide.common.rendering.api.RenderResources.REFERENCE_EMPTY; +import static com.android.ide.common.rendering.api.RenderResources.REFERENCE_NULL; +import static com.android.ide.common.rendering.api.RenderResources.REFERENCE_UNDEFINED; /** * Custom implementation of TypedArray to handle non compiled resources. @@ -223,7 +240,7 @@ public final class BridgeTypedArray extends TypedArray { String s = getString(index); try { if (s != null) { - return XmlUtils.convertValueToInt(s, defValue); + return convertValueToInt(s, defValue); } } catch (NumberFormatException e) { Bridge.getLog().warning(LayoutLog.TAG_RESOURCES_FORMAT, @@ -764,14 +781,57 @@ public final class BridgeTypedArray extends TypedArray { } @Override + @SuppressWarnings("ResultOfMethodCallIgnored") public int getType(int index) { - if (!hasValue(index)) { - return TypedValue.TYPE_NULL; + String value = getString(index); + if (value == null) { + return TYPE_NULL; } - ResourceValue value = mResourceData[index]; - ResourceType resourceType = value.getResourceType(); - return 0; - // TODO: fixme. + if (value.startsWith(PREFIX_RESOURCE_REF)) { + return TYPE_REFERENCE; + } + if (value.startsWith(PREFIX_THEME_REF)) { + return TYPE_ATTRIBUTE; + } + try { + // Don't care about the value. Only called to check if an exception is thrown. + convertValueToInt(value, 0); + if (value.startsWith("0x") || value.startsWith("0X")) { + return TYPE_INT_HEX; + } + // is it a color? + if (value.startsWith("#")) { + int length = value.length() - 1; + if (length == 3) { // rgb + return TYPE_INT_COLOR_RGB4; + } + if (length == 4) { // argb + return TYPE_INT_COLOR_ARGB4; + } + if (length == 6) { // rrggbb + return TYPE_INT_COLOR_RGB8; + } + if (length == 8) { // aarrggbb + return TYPE_INT_COLOR_ARGB8; + } + } + if (value.equalsIgnoreCase("true") || value.equalsIgnoreCase("false")) { + return TYPE_INT_BOOLEAN; + } + return TYPE_INT_DEC; + } catch (NumberFormatException ignored) { + try { + Float.parseFloat(value); + return TYPE_FLOAT; + } catch (NumberFormatException ignore) { + } + // Might be a dimension. + if (ResourceHelper.parseFloatAttribute(null, value, new TypedValue(), false)) { + return TYPE_DIMENSION; + } + } + // TODO: handle fractions. + return TYPE_STRING; } /** @@ -883,6 +943,52 @@ public final class BridgeTypedArray extends TypedArray { return null; } + /** + * Copied from {@link XmlUtils#convertValueToInt(CharSequence, int)}, but adapted to account + * for aapt, and the fact that host Java VM's Integer.parseInt("XXXXXXXX", 16) cannot handle + * "XXXXXXXX" > 80000000. + */ + private static int convertValueToInt(@Nullable String charSeq, int defValue) { + if (null == charSeq) + return defValue; + + int sign = 1; + int index = 0; + int len = charSeq.length(); + int base = 10; + + if ('-' == charSeq.charAt(0)) { + sign = -1; + index++; + } + + if ('0' == charSeq.charAt(index)) { + // Quick check for a zero by itself + if (index == (len - 1)) + return 0; + + char c = charSeq.charAt(index + 1); + + if ('x' == c || 'X' == c) { + index += 2; + base = 16; + } else { + index++; + // Leave the base as 10. aapt removes the preceding zero, and thus when framework + // sees the value, it only gets the decimal value. + } + } else if ('#' == charSeq.charAt(index)) { + return ResourceHelper.getColor(charSeq) * sign; + } else if ("true".equals(charSeq) || "TRUE".equals(charSeq)) { + return -1; + } else if ("false".equals(charSeq) || "FALSE".equals(charSeq)) { + return 0; + } + + // Use Long, since we want to handle hex ints > 80000000. + return ((int)Long.parseLong(charSeq.substring(index), base)) * sign; + } + static TypedArray obtain(Resources res, int len) { return res instanceof BridgeResources ? new BridgeTypedArray(((BridgeResources) res), null, len, true) : null; diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeContext.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeContext.java index 9d2b884..f03ec58 100644 --- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeContext.java +++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeContext.java @@ -130,6 +130,7 @@ public final class BridgeContext extends Context { new IdentityHashMap<Object, Map<String,String>>(); // maps for dynamically generated id representing style objects (StyleResourceValue) + @Nullable private Map<Integer, StyleResourceValue> mDynamicIdToStyleMap; private Map<StyleResourceValue, Integer> mStyleToDynamicIdMap; private int mDynamicIdGenerator = 0x02030000; // Base id for R.style in custom namespace @@ -727,7 +728,7 @@ public final class BridgeContext extends Context { } } } else if (defStyleRes != 0) { - StyleResourceValue item = mDynamicIdToStyleMap.get(defStyleRes); + StyleResourceValue item = getStyleByDynamicId(defStyleRes); if (item != null) { defStyleValues = item; } else { diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindow.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindow.java index 66092fc..771c3c8 100644 --- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindow.java +++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindow.java @@ -47,8 +47,8 @@ public final class BridgeWindow implements IWindow { } @Override - public void resized(Rect rect, Rect rect2, Rect rect3, Rect rect4, Rect rect5, boolean b, - Configuration configuration) throws RemoteException { + public void resized(Rect rect, Rect rect2, Rect rect3, Rect rect4, Rect rect5, Rect rect6, + boolean b, Configuration configuration) throws RemoteException { // pass for now. } diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java index 4289689..c92df6d 100644 --- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java +++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgeWindowSession.java @@ -89,7 +89,7 @@ public final class BridgeWindowSession implements IWindowSession { @Override public int relayout(IWindow iWindow, int i, LayoutParams layoutParams, int i2, int i3, int i4, int i5, Rect rect, Rect rect2, Rect rect3, Rect rect4, Rect rect5, - Configuration configuration, Surface surface) throws RemoteException { + Rect rect6, Configuration configuration, Surface surface) throws RemoteException { // pass for now. return 0; } diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/RenderAction.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/RenderAction.java index f3a0d58..de77d57 100644 --- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/RenderAction.java +++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/impl/RenderAction.java @@ -99,9 +99,6 @@ public abstract class RenderAction<T extends RenderParams> extends FrameworkReso return result; } - // setup the ParserFactory - ParserFactory.setParserFactory(mParams.getLayoutlibCallback().getParserFactory()); - HardwareConfig hardwareConfig = mParams.getHardwareConfig(); // setup the display Metrics. @@ -230,6 +227,9 @@ public abstract class RenderAction<T extends RenderParams> extends FrameworkReso * The counterpart is {@link #tearDown()}. */ private void setUp() { + // setup the ParserFactory + ParserFactory.setParserFactory(mParams.getLayoutlibCallback().getParserFactory()); + // make sure the Resources object references the context (and other objects) for this // scene mContext.initResources(); |